reigncode-app 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (300) hide show
  1. package/AGENTS.md +30 -0
  2. package/Dockerfile +21 -0
  3. package/README.md +51 -0
  4. package/bunfig.toml +3 -0
  5. package/create-effect-simplification-spec.md +515 -0
  6. package/e2e/AGENTS.md +226 -0
  7. package/e2e/actions.ts +1018 -0
  8. package/e2e/app/home.spec.ts +24 -0
  9. package/e2e/app/navigation.spec.ts +10 -0
  10. package/e2e/app/palette.spec.ts +20 -0
  11. package/e2e/app/server-default.spec.ts +58 -0
  12. package/e2e/app/session.spec.ts +16 -0
  13. package/e2e/app/titlebar-history.spec.ts +120 -0
  14. package/e2e/commands/input-focus.spec.ts +15 -0
  15. package/e2e/commands/panels.spec.ts +33 -0
  16. package/e2e/commands/tab-close.spec.ts +32 -0
  17. package/e2e/files/file-open.spec.ts +31 -0
  18. package/e2e/files/file-tree.spec.ts +56 -0
  19. package/e2e/files/file-viewer.spec.ts +156 -0
  20. package/e2e/fixtures.ts +154 -0
  21. package/e2e/models/model-picker.spec.ts +48 -0
  22. package/e2e/models/models-visibility.spec.ts +61 -0
  23. package/e2e/projects/project-edit.spec.ts +43 -0
  24. package/e2e/projects/projects-close.spec.ts +54 -0
  25. package/e2e/projects/projects-switch.spec.ts +116 -0
  26. package/e2e/projects/workspace-new-session.spec.ts +94 -0
  27. package/e2e/projects/workspaces.spec.ts +375 -0
  28. package/e2e/prompt/context.spec.ts +95 -0
  29. package/e2e/prompt/prompt-async.spec.ts +76 -0
  30. package/e2e/prompt/prompt-drop-file-uri.spec.ts +22 -0
  31. package/e2e/prompt/prompt-drop-file.spec.ts +30 -0
  32. package/e2e/prompt/prompt-history.spec.ts +184 -0
  33. package/e2e/prompt/prompt-mention.spec.ts +26 -0
  34. package/e2e/prompt/prompt-multiline.spec.ts +24 -0
  35. package/e2e/prompt/prompt-shell.spec.ts +62 -0
  36. package/e2e/prompt/prompt-slash-open.spec.ts +22 -0
  37. package/e2e/prompt/prompt-slash-share.spec.ts +64 -0
  38. package/e2e/prompt/prompt-slash-terminal.spec.ts +18 -0
  39. package/e2e/prompt/prompt.spec.ts +55 -0
  40. package/e2e/selectors.ts +75 -0
  41. package/e2e/session/session-child-navigation.spec.ts +37 -0
  42. package/e2e/session/session-composer-dock.spec.ts +530 -0
  43. package/e2e/session/session-model-persistence.spec.ts +359 -0
  44. package/e2e/session/session-review.spec.ts +426 -0
  45. package/e2e/session/session-undo-redo.spec.ts +233 -0
  46. package/e2e/session/session.spec.ts +174 -0
  47. package/e2e/settings/settings-keybinds.spec.ts +389 -0
  48. package/e2e/settings/settings-models.spec.ts +122 -0
  49. package/e2e/settings/settings-providers.spec.ts +136 -0
  50. package/e2e/settings/settings.spec.ts +519 -0
  51. package/e2e/sidebar/sidebar-popover-actions.spec.ts +118 -0
  52. package/e2e/sidebar/sidebar-session-links.spec.ts +30 -0
  53. package/e2e/sidebar/sidebar.spec.ts +40 -0
  54. package/e2e/status/status-popover.spec.ts +94 -0
  55. package/e2e/terminal/terminal-init.spec.ts +28 -0
  56. package/e2e/terminal/terminal-reconnect.spec.ts +46 -0
  57. package/e2e/terminal/terminal-tabs.spec.ts +168 -0
  58. package/e2e/terminal/terminal.spec.ts +18 -0
  59. package/e2e/thinking-level.spec.ts +25 -0
  60. package/e2e/tsconfig.json +9 -0
  61. package/e2e/utils.ts +63 -0
  62. package/happydom.ts +75 -0
  63. package/index.html +23 -0
  64. package/package.json +77 -0
  65. package/playwright.config.ts +45 -0
  66. package/public/_headers +17 -0
  67. package/public/oc-theme-preload.js +35 -0
  68. package/script/e2e-local.ts +180 -0
  69. package/src/addons/serialize.test.ts +319 -0
  70. package/src/addons/serialize.ts +634 -0
  71. package/src/app.tsx +308 -0
  72. package/src/components/debug-bar.tsx +443 -0
  73. package/src/components/dialog-connect-provider.tsx +617 -0
  74. package/src/components/dialog-custom-provider-form.ts +158 -0
  75. package/src/components/dialog-custom-provider.test.ts +80 -0
  76. package/src/components/dialog-custom-provider.tsx +329 -0
  77. package/src/components/dialog-edit-project.tsx +255 -0
  78. package/src/components/dialog-fork.tsx +108 -0
  79. package/src/components/dialog-manage-models.tsx +101 -0
  80. package/src/components/dialog-release-notes.tsx +144 -0
  81. package/src/components/dialog-select-directory.tsx +392 -0
  82. package/src/components/dialog-select-file.tsx +466 -0
  83. package/src/components/dialog-select-mcp.tsx +107 -0
  84. package/src/components/dialog-select-model-unpaid.tsx +137 -0
  85. package/src/components/dialog-select-model.tsx +220 -0
  86. package/src/components/dialog-select-provider.tsx +86 -0
  87. package/src/components/dialog-select-server.tsx +649 -0
  88. package/src/components/dialog-settings.tsx +73 -0
  89. package/src/components/file-tree.test.ts +78 -0
  90. package/src/components/file-tree.tsx +507 -0
  91. package/src/components/link.tsx +26 -0
  92. package/src/components/model-tooltip.tsx +91 -0
  93. package/src/components/prompt-input/attachments.test.ts +44 -0
  94. package/src/components/prompt-input/attachments.ts +201 -0
  95. package/src/components/prompt-input/build-request-parts.test.ts +312 -0
  96. package/src/components/prompt-input/build-request-parts.ts +175 -0
  97. package/src/components/prompt-input/context-items.tsx +88 -0
  98. package/src/components/prompt-input/drag-overlay.tsx +25 -0
  99. package/src/components/prompt-input/editor-dom.test.ts +99 -0
  100. package/src/components/prompt-input/editor-dom.ts +148 -0
  101. package/src/components/prompt-input/files.ts +66 -0
  102. package/src/components/prompt-input/history.test.ts +153 -0
  103. package/src/components/prompt-input/history.ts +256 -0
  104. package/src/components/prompt-input/image-attachments.tsx +58 -0
  105. package/src/components/prompt-input/paste.ts +24 -0
  106. package/src/components/prompt-input/placeholder.test.ts +48 -0
  107. package/src/components/prompt-input/placeholder.ts +15 -0
  108. package/src/components/prompt-input/slash-popover.tsx +141 -0
  109. package/src/components/prompt-input/submit.test.ts +346 -0
  110. package/src/components/prompt-input/submit.ts +579 -0
  111. package/src/components/prompt-input.tsx +1595 -0
  112. package/src/components/server/server-row.tsx +130 -0
  113. package/src/components/session/index.ts +5 -0
  114. package/src/components/session/session-context-breakdown.test.ts +61 -0
  115. package/src/components/session/session-context-breakdown.ts +132 -0
  116. package/src/components/session/session-context-format.ts +20 -0
  117. package/src/components/session/session-context-metrics.test.ts +101 -0
  118. package/src/components/session/session-context-metrics.ts +82 -0
  119. package/src/components/session/session-context-tab.tsx +339 -0
  120. package/src/components/session/session-header.tsx +486 -0
  121. package/src/components/session/session-new-view.tsx +91 -0
  122. package/src/components/session/session-sortable-tab.tsx +70 -0
  123. package/src/components/session/session-sortable-terminal-tab.tsx +193 -0
  124. package/src/components/session-context-usage.tsx +122 -0
  125. package/src/components/settings-general.tsx +585 -0
  126. package/src/components/settings-keybinds.tsx +453 -0
  127. package/src/components/settings-list.tsx +5 -0
  128. package/src/components/settings-models.tsx +137 -0
  129. package/src/components/settings-providers.tsx +251 -0
  130. package/src/components/status-popover.tsx +419 -0
  131. package/src/components/terminal.tsx +653 -0
  132. package/src/components/titlebar-history.test.ts +63 -0
  133. package/src/components/titlebar-history.ts +57 -0
  134. package/src/components/titlebar.tsx +312 -0
  135. package/src/constants/file-picker.ts +89 -0
  136. package/src/context/command-keybind.test.ts +69 -0
  137. package/src/context/command.test.ts +25 -0
  138. package/src/context/command.tsx +437 -0
  139. package/src/context/comments.test.ts +186 -0
  140. package/src/context/comments.tsx +243 -0
  141. package/src/context/file/content-cache.ts +88 -0
  142. package/src/context/file/path.test.ts +360 -0
  143. package/src/context/file/path.ts +151 -0
  144. package/src/context/file/tree-store.ts +170 -0
  145. package/src/context/file/types.ts +41 -0
  146. package/src/context/file/view-cache.ts +146 -0
  147. package/src/context/file/watcher.test.ts +149 -0
  148. package/src/context/file/watcher.ts +53 -0
  149. package/src/context/file-content-eviction-accounting.test.ts +65 -0
  150. package/src/context/file.tsx +280 -0
  151. package/src/context/global-sdk.tsx +232 -0
  152. package/src/context/global-sync/bootstrap.ts +206 -0
  153. package/src/context/global-sync/child-store.test.ts +38 -0
  154. package/src/context/global-sync/child-store.ts +281 -0
  155. package/src/context/global-sync/event-reducer.test.ts +552 -0
  156. package/src/context/global-sync/event-reducer.ts +359 -0
  157. package/src/context/global-sync/eviction.ts +28 -0
  158. package/src/context/global-sync/queue.ts +83 -0
  159. package/src/context/global-sync/session-cache.test.ts +102 -0
  160. package/src/context/global-sync/session-cache.ts +62 -0
  161. package/src/context/global-sync/session-load.ts +25 -0
  162. package/src/context/global-sync/session-prefetch.test.ts +96 -0
  163. package/src/context/global-sync/session-prefetch.ts +100 -0
  164. package/src/context/global-sync/session-trim.test.ts +59 -0
  165. package/src/context/global-sync/session-trim.ts +56 -0
  166. package/src/context/global-sync/types.ts +133 -0
  167. package/src/context/global-sync/utils.ts +25 -0
  168. package/src/context/global-sync.test.ts +122 -0
  169. package/src/context/global-sync.tsx +408 -0
  170. package/src/context/highlights.tsx +233 -0
  171. package/src/context/language.tsx +248 -0
  172. package/src/context/layout-scroll.test.ts +64 -0
  173. package/src/context/layout-scroll.ts +126 -0
  174. package/src/context/layout.test.ts +69 -0
  175. package/src/context/layout.tsx +937 -0
  176. package/src/context/local.tsx +422 -0
  177. package/src/context/model-variant.test.ts +86 -0
  178. package/src/context/model-variant.ts +52 -0
  179. package/src/context/models.tsx +163 -0
  180. package/src/context/notification.tsx +373 -0
  181. package/src/context/permission-auto-respond.test.ts +102 -0
  182. package/src/context/permission-auto-respond.ts +51 -0
  183. package/src/context/permission.tsx +277 -0
  184. package/src/context/platform.tsx +99 -0
  185. package/src/context/prompt.tsx +297 -0
  186. package/src/context/sdk.tsx +49 -0
  187. package/src/context/server.tsx +295 -0
  188. package/src/context/settings.tsx +241 -0
  189. package/src/context/sync-optimistic.test.ts +123 -0
  190. package/src/context/sync.tsx +618 -0
  191. package/src/context/terminal-title.ts +51 -0
  192. package/src/context/terminal.test.ts +82 -0
  193. package/src/context/terminal.tsx +437 -0
  194. package/src/entry.tsx +144 -0
  195. package/src/env.d.ts +18 -0
  196. package/src/hooks/use-providers.ts +44 -0
  197. package/src/i18n/ar.ts +855 -0
  198. package/src/i18n/br.ts +867 -0
  199. package/src/i18n/bs.ts +943 -0
  200. package/src/i18n/da.ts +937 -0
  201. package/src/i18n/de.ts +879 -0
  202. package/src/i18n/en.ts +948 -0
  203. package/src/i18n/es.ts +950 -0
  204. package/src/i18n/fr.ts +878 -0
  205. package/src/i18n/ja.ts +861 -0
  206. package/src/i18n/ko.ts +860 -0
  207. package/src/i18n/no.ts +944 -0
  208. package/src/i18n/parity.test.ts +32 -0
  209. package/src/i18n/pl.ts +865 -0
  210. package/src/i18n/ru.ts +946 -0
  211. package/src/i18n/th.ts +933 -0
  212. package/src/i18n/tr.ts +952 -0
  213. package/src/i18n/zh.ts +930 -0
  214. package/src/i18n/zht.ts +925 -0
  215. package/src/index.css +29 -0
  216. package/src/index.ts +6 -0
  217. package/src/pages/directory-layout.tsx +88 -0
  218. package/src/pages/error.tsx +327 -0
  219. package/src/pages/home.tsx +131 -0
  220. package/src/pages/layout/deep-links.ts +50 -0
  221. package/src/pages/layout/helpers.test.ts +211 -0
  222. package/src/pages/layout/helpers.ts +98 -0
  223. package/src/pages/layout/inline-editor.tsx +126 -0
  224. package/src/pages/layout/sidebar-items.tsx +437 -0
  225. package/src/pages/layout/sidebar-project.tsx +384 -0
  226. package/src/pages/layout/sidebar-shell.tsx +125 -0
  227. package/src/pages/layout/sidebar-workspace.tsx +504 -0
  228. package/src/pages/layout.tsx +2509 -0
  229. package/src/pages/session/composer/index.ts +2 -0
  230. package/src/pages/session/composer/session-composer-region.tsx +255 -0
  231. package/src/pages/session/composer/session-composer-state.test.ts +128 -0
  232. package/src/pages/session/composer/session-composer-state.ts +249 -0
  233. package/src/pages/session/composer/session-followup-dock.tsx +109 -0
  234. package/src/pages/session/composer/session-permission-dock.tsx +74 -0
  235. package/src/pages/session/composer/session-question-dock.tsx +449 -0
  236. package/src/pages/session/composer/session-request-tree.ts +52 -0
  237. package/src/pages/session/composer/session-revert-dock.tsx +99 -0
  238. package/src/pages/session/composer/session-todo-dock.tsx +330 -0
  239. package/src/pages/session/file-tab-scroll.test.ts +40 -0
  240. package/src/pages/session/file-tab-scroll.ts +67 -0
  241. package/src/pages/session/file-tabs.tsx +456 -0
  242. package/src/pages/session/handoff.ts +36 -0
  243. package/src/pages/session/helpers.test.ts +181 -0
  244. package/src/pages/session/helpers.ts +198 -0
  245. package/src/pages/session/message-gesture.test.ts +62 -0
  246. package/src/pages/session/message-gesture.ts +21 -0
  247. package/src/pages/session/message-id-from-hash.ts +6 -0
  248. package/src/pages/session/message-timeline.tsx +1013 -0
  249. package/src/pages/session/review-tab.tsx +170 -0
  250. package/src/pages/session/session-layout.ts +20 -0
  251. package/src/pages/session/session-model-helpers.test.ts +51 -0
  252. package/src/pages/session/session-model-helpers.ts +16 -0
  253. package/src/pages/session/session-side-panel.tsx +453 -0
  254. package/src/pages/session/terminal-label.ts +16 -0
  255. package/src/pages/session/terminal-panel.test.ts +25 -0
  256. package/src/pages/session/terminal-panel.tsx +326 -0
  257. package/src/pages/session/use-session-commands.tsx +495 -0
  258. package/src/pages/session/use-session-hash-scroll.test.ts +16 -0
  259. package/src/pages/session/use-session-hash-scroll.ts +197 -0
  260. package/src/pages/session.tsx +1841 -0
  261. package/src/sst-env.d.ts +12 -0
  262. package/src/testing/model-selection.ts +80 -0
  263. package/src/testing/prompt.ts +56 -0
  264. package/src/testing/session-composer.ts +84 -0
  265. package/src/testing/terminal.ts +118 -0
  266. package/src/theme-preload.test.ts +46 -0
  267. package/src/utils/agent.ts +23 -0
  268. package/src/utils/aim.ts +138 -0
  269. package/src/utils/base64.ts +10 -0
  270. package/src/utils/comment-note.ts +88 -0
  271. package/src/utils/id.ts +99 -0
  272. package/src/utils/notification-click.test.ts +27 -0
  273. package/src/utils/notification-click.ts +13 -0
  274. package/src/utils/persist.test.ts +115 -0
  275. package/src/utils/persist.ts +476 -0
  276. package/src/utils/prompt.test.ts +44 -0
  277. package/src/utils/prompt.ts +203 -0
  278. package/src/utils/runtime-adapters.test.ts +62 -0
  279. package/src/utils/runtime-adapters.ts +39 -0
  280. package/src/utils/same.ts +6 -0
  281. package/src/utils/scoped-cache.test.ts +69 -0
  282. package/src/utils/scoped-cache.ts +104 -0
  283. package/src/utils/server-errors.test.ts +131 -0
  284. package/src/utils/server-errors.ts +80 -0
  285. package/src/utils/server-health.test.ts +123 -0
  286. package/src/utils/server-health.ts +91 -0
  287. package/src/utils/server.ts +22 -0
  288. package/src/utils/solid-dnd.tsx +49 -0
  289. package/src/utils/sound.ts +117 -0
  290. package/src/utils/terminal-writer.test.ts +64 -0
  291. package/src/utils/terminal-writer.ts +65 -0
  292. package/src/utils/time.ts +22 -0
  293. package/src/utils/uuid.test.ts +78 -0
  294. package/src/utils/uuid.ts +12 -0
  295. package/src/utils/worktree.test.ts +46 -0
  296. package/src/utils/worktree.ts +73 -0
  297. package/sst-env.d.ts +10 -0
  298. package/tsconfig.json +26 -0
  299. package/vite.config.ts +15 -0
  300. package/vite.js +26 -0
package/src/i18n/ar.ts ADDED
@@ -0,0 +1,855 @@
1
+ export const dict = {
2
+ "command.category.suggested": "مقترح",
3
+ "command.category.view": "عرض",
4
+ "command.category.project": "مشروع",
5
+ "command.category.provider": "موفر",
6
+ "command.category.server": "خادم",
7
+ "command.category.session": "جلسة",
8
+ "command.category.theme": "سمة",
9
+ "command.category.language": "لغة",
10
+ "command.category.file": "ملف",
11
+ "command.category.context": "سياق",
12
+ "command.category.terminal": "محطة طرفية",
13
+ "command.category.model": "نموذج",
14
+ "command.category.mcp": "MCP",
15
+ "command.category.agent": "وكيل",
16
+ "command.category.permissions": "أذونات",
17
+ "command.category.workspace": "مساحة عمل",
18
+ "command.category.settings": "إعدادات",
19
+ "theme.scheme.system": "نظام",
20
+ "theme.scheme.light": "فاتح",
21
+ "theme.scheme.dark": "داكن",
22
+ "command.sidebar.toggle": "تبديل الشريط الجانبي",
23
+ "command.project.open": "فتح مشروع",
24
+ "command.provider.connect": "اتصال بموفر",
25
+ "command.server.switch": "تبديل الخادم",
26
+ "command.settings.open": "فتح الإعدادات",
27
+ "command.session.previous": "الجلسة السابقة",
28
+ "command.session.next": "الجلسة التالية",
29
+ "command.session.previous.unseen": "الجلسة غير المقروءة السابقة",
30
+ "command.session.next.unseen": "الجلسة غير المقروءة التالية",
31
+ "command.session.archive": "أرشفة الجلسة",
32
+ "command.palette": "لوحة الأوامر",
33
+ "command.theme.cycle": "تغيير السمة",
34
+ "command.theme.set": "استخدام السمة: {{theme}}",
35
+ "command.theme.scheme.cycle": "تغيير مخطط الألوان",
36
+ "command.theme.scheme.set": "استخدام مخطط الألوان: {{scheme}}",
37
+ "command.language.cycle": "تغيير اللغة",
38
+ "command.language.set": "استخدام اللغة: {{language}}",
39
+ "command.session.new": "جلسة جديدة",
40
+ "command.file.open": "فتح ملف",
41
+ "command.tab.close": "إغلاق علامة التبويب",
42
+ "command.context.addSelection": "إضافة التحديد إلى السياق",
43
+ "command.context.addSelection.description": "إضافة الأسطر المحددة من الملف الحالي",
44
+ "command.input.focus": "التركيز على حقل الإدخال",
45
+ "command.terminal.toggle": "تبديل المحطة الطرفية",
46
+ "command.fileTree.toggle": "تبديل شجرة الملفات",
47
+ "command.review.toggle": "تبديل المراجعة",
48
+ "command.terminal.new": "محطة طرفية جديدة",
49
+ "command.terminal.new.description": "إنشاء علامة تبويب جديدة للمحطة الطرفية",
50
+ "command.steps.toggle": "تبديل الخطوات",
51
+ "command.steps.toggle.description": "إظهار أو إخفاء خطوات الرسالة الحالية",
52
+ "command.message.previous": "الرسالة السابقة",
53
+ "command.message.previous.description": "انتقل إلى رسالة المستخدم السابقة",
54
+ "command.message.next": "الرسالة التالية",
55
+ "command.message.next.description": "انتقل إلى رسالة المستخدم التالية",
56
+ "command.model.choose": "اختيار نموذج",
57
+ "command.model.choose.description": "حدد نموذجًا مختلفًا",
58
+ "command.mcp.toggle": "تبديل MCPs",
59
+ "command.mcp.toggle.description": "تبديل MCPs",
60
+ "command.agent.cycle": "تغيير الوكيل",
61
+ "command.agent.cycle.description": "التبديل إلى الوكيل التالي",
62
+ "command.agent.cycle.reverse": "تغيير الوكيل للخلف",
63
+ "command.agent.cycle.reverse.description": "التبديل إلى الوكيل السابق",
64
+ "command.model.variant.cycle": "تغيير جهد التفكير",
65
+ "command.model.variant.cycle.description": "التبديل إلى مستوى الجهد التالي",
66
+ "command.prompt.mode.shell": "Shell",
67
+ "command.prompt.mode.normal": "Prompt",
68
+ "command.permissions.autoaccept.enable": "قبول الأذونات تلقائيًا",
69
+ "command.permissions.autoaccept.disable": "إيقاف قبول الأذونات تلقائيًا",
70
+ "command.workspace.toggle": "تبديل مساحات العمل",
71
+ "command.workspace.toggle.description": "تمكين أو تعطيل مساحات العمل المتعددة في الشريط الجانبي",
72
+ "command.session.undo": "تراجع",
73
+ "command.session.undo.description": "تراجع عن الرسالة الأخيرة",
74
+ "command.session.redo": "إعادة",
75
+ "command.session.redo.description": "إعادة الرسالة التي تم التراجع عنها",
76
+ "command.session.compact": "ضغط الجلسة",
77
+ "command.session.compact.description": "تلخيص الجلسة لتقليل حجم السياق",
78
+ "command.session.fork": "تشعب من الرسالة",
79
+ "command.session.fork.description": "إنشاء جلسة جديدة من رسالة سابقة",
80
+ "command.session.share": "مشاركة الجلسة",
81
+ "command.session.share.description": "مشاركة هذه الجلسة ونسخ الرابط إلى الحافظة",
82
+ "command.session.unshare": "إلغاء مشاركة الجلسة",
83
+ "command.session.unshare.description": "إيقاف مشاركة هذه الجلسة",
84
+ "palette.search.placeholder": "البحث في الملفات والأوامر والجلسات",
85
+ "palette.empty": "لا توجد نتائج",
86
+ "palette.group.commands": "الأوامر",
87
+ "palette.group.files": "الملفات",
88
+ "dialog.provider.search.placeholder": "البحث عن موفرين",
89
+ "dialog.provider.empty": "لم يتم العثور على موفرين",
90
+ "dialog.provider.group.popular": "شائع",
91
+ "dialog.provider.group.other": "آخر",
92
+ "dialog.provider.tag.recommended": "موصى به",
93
+ "dialog.provider.opencode.note": "نماذج مختارة تتضمن Claude و GPT و Gemini والمزيد",
94
+ "dialog.provider.opencode.tagline": "نماذج موثوقة ومحسنة",
95
+ "dialog.provider.opencodeGo.tagline": "اشتراك منخفض التكلفة للجميع",
96
+ "dialog.provider.anthropic.note": "اتصل باستخدام Claude Pro/Max أو مفتاح API",
97
+ "dialog.provider.copilot.note": "اتصل باستخدام Copilot أو مفتاح API",
98
+ "dialog.provider.openai.note": "اتصل باستخدام ChatGPT Pro/Plus أو مفتاح API",
99
+ "dialog.provider.google.note": "نماذج Gemini لاستجابات سريعة ومنظمة",
100
+ "dialog.provider.openrouter.note": "الوصول إلى جميع النماذج المدعومة من موفر واحد",
101
+ "dialog.provider.vercel.note": "وصول موحد إلى نماذج الذكاء الاصطناعي مع توجيه ذكي",
102
+ "dialog.model.select.title": "تحديد نموذج",
103
+ "dialog.model.search.placeholder": "البحث عن نماذج",
104
+ "dialog.model.empty": "لا توجد نتائج للنماذج",
105
+ "dialog.model.manage": "إدارة النماذج",
106
+ "dialog.model.manage.description": "تخصيص النماذج التي تظهر في محدد النماذج.",
107
+ "dialog.model.manage.provider.toggle": "تبديل جميع نماذج {{provider}}",
108
+ "dialog.model.unpaid.freeModels.title": "نماذج مجانية مقدمة من OpenCode",
109
+ "dialog.model.unpaid.addMore.title": "إضافة المزيد من النماذج من موفرين مشهورين",
110
+ "dialog.provider.viewAll": "عرض المزيد من الموفرين",
111
+ "provider.connect.title": "اتصال {{provider}}",
112
+ "provider.connect.title.anthropicProMax": "تسجيل الدخول باستخدام Claude Pro/Max",
113
+ "provider.connect.selectMethod": "حدد طريقة تسجيل الدخول لـ {{provider}}.",
114
+ "provider.connect.method.apiKey": "مفتاح API",
115
+ "provider.connect.status.inProgress": "جارٍ التفويض...",
116
+ "provider.connect.status.waiting": "في انتظار التفويض...",
117
+ "provider.connect.status.failed": "فشل التفويض: {{error}}",
118
+ "provider.connect.apiKey.description":
119
+ "أدخل مفتاح واجهة برمجة تطبيقات {{provider}} الخاص بك لتوصيل حسابك واستخدام نماذج {{provider}} في OpenCode.",
120
+ "provider.connect.apiKey.label": "مفتاح واجهة برمجة تطبيقات {{provider}}",
121
+ "provider.connect.apiKey.placeholder": "مفتاح API",
122
+ "provider.connect.apiKey.required": "مفتاح API مطلوب",
123
+ "provider.connect.opencodeZen.line1":
124
+ "يمنحك OpenCode Zen الوصول إلى مجموعة مختارة من النماذج الموثوقة والمحسنة لوكلاء البرمجة.",
125
+ "provider.connect.opencodeZen.line2":
126
+ "باستخدام مفتاح API واحد، ستحصل على إمكانية الوصول إلى نماذج مثل Claude و GPT و Gemini و GLM والمزيد.",
127
+ "provider.connect.opencodeZen.visit.prefix": "قم بزيارة ",
128
+ "provider.connect.opencodeZen.visit.link": "code.reign-labs.com/zen",
129
+ "provider.connect.opencodeZen.visit.suffix": " للحصول على مفتاح API الخاص بك.",
130
+ "provider.connect.oauth.code.visit.prefix": "قم بزيارة ",
131
+ "provider.connect.oauth.code.visit.link": "هذا الرابط",
132
+ "provider.connect.oauth.code.visit.suffix":
133
+ " للحصول على رمز التفويض الخاص بك لتوصيل حسابك واستخدام نماذج {{provider}} في OpenCode.",
134
+ "provider.connect.oauth.code.label": "رمز تفويض {{method}}",
135
+ "provider.connect.oauth.code.placeholder": "رمز التفويض",
136
+ "provider.connect.oauth.code.required": "رمز التفويض مطلوب",
137
+ "provider.connect.oauth.code.invalid": "رمز التفويض غير صالح",
138
+ "provider.connect.oauth.auto.visit.prefix": "قم بزيارة ",
139
+ "provider.connect.oauth.auto.visit.link": "هذا الرابط",
140
+ "provider.connect.oauth.auto.visit.suffix":
141
+ " وأدخل الرمز أدناه لتوصيل حسابك واستخدام نماذج {{provider}} في OpenCode.",
142
+ "provider.connect.oauth.auto.confirmationCode": "رمز التأكيد",
143
+ "provider.connect.toast.connected.title": "تم توصيل {{provider}}",
144
+ "provider.connect.toast.connected.description": "نماذج {{provider}} متاحة الآن للاستخدام.",
145
+ "provider.custom.title": "موفر مخصص",
146
+ "provider.custom.description.prefix": "تكوين موفر متوافق مع OpenAI. راجع ",
147
+ "provider.custom.description.link": "وثائق تكوين الموفر",
148
+ "provider.custom.description.suffix": ".",
149
+ "provider.custom.field.providerID.label": "معرف الموفر",
150
+ "provider.custom.field.providerID.placeholder": "myprovider",
151
+ "provider.custom.field.providerID.description": "أحرف صغيرة، أرقام، شرطات، أو شرطات سفلية",
152
+ "provider.custom.field.name.label": "اسم العرض",
153
+ "provider.custom.field.name.placeholder": "موفر الذكاء الاصطناعي الخاص بي",
154
+ "provider.custom.field.baseURL.label": "عنوان URL الأساسي",
155
+ "provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1",
156
+ "provider.custom.field.apiKey.label": "مفتاح API",
157
+ "provider.custom.field.apiKey.placeholder": "مفتاح API",
158
+ "provider.custom.field.apiKey.description": "اختياري. اتركه فارغًا إذا كنت تدير المصادقة عبر الترويسات.",
159
+ "provider.custom.models.label": "النماذج",
160
+ "provider.custom.models.id.label": "المعرف",
161
+ "provider.custom.models.id.placeholder": "model-id",
162
+ "provider.custom.models.name.label": "الاسم",
163
+ "provider.custom.models.name.placeholder": "اسم العرض",
164
+ "provider.custom.models.remove": "إزالة النموذج",
165
+ "provider.custom.models.add": "إضافة نموذج",
166
+ "provider.custom.headers.label": "الترويسات (اختياري)",
167
+ "provider.custom.headers.key.label": "ترويسة",
168
+ "provider.custom.headers.key.placeholder": "Header-Name",
169
+ "provider.custom.headers.value.label": "القيمة",
170
+ "provider.custom.headers.value.placeholder": "قيمة",
171
+ "provider.custom.headers.remove": "إزالة الترويسة",
172
+ "provider.custom.headers.add": "إضافة ترويسة",
173
+ "provider.custom.error.providerID.required": "معرف الموفر مطلوب",
174
+ "provider.custom.error.providerID.format": "استخدم أحرفًا صغيرة، أرقامًا، شرطات، أو شرطات سفلية",
175
+ "provider.custom.error.providerID.exists": "معرف الموفر هذا موجود بالفعل",
176
+ "provider.custom.error.name.required": "اسم العرض مطلوب",
177
+ "provider.custom.error.baseURL.required": "عنوان URL الأساسي مطلوب",
178
+ "provider.custom.error.baseURL.format": "يجب أن يبدأ بـ http:// أو https://",
179
+ "provider.custom.error.required": "مطلوب",
180
+ "provider.custom.error.duplicate": "مكرر",
181
+ "provider.disconnect.toast.disconnected.title": "تم فصل {{provider}}",
182
+ "provider.disconnect.toast.disconnected.description": "لم تعد نماذج {{provider}} متاحة.",
183
+ "model.tag.free": "مجاني",
184
+ "model.tag.latest": "الأحدث",
185
+ "model.provider.anthropic": "Anthropic",
186
+ "model.provider.openai": "OpenAI",
187
+ "model.provider.google": "Google",
188
+ "model.provider.xai": "xAI",
189
+ "model.provider.meta": "Meta",
190
+ "model.input.text": "نص",
191
+ "model.input.image": "صورة",
192
+ "model.input.audio": "صوت",
193
+ "model.input.video": "فيديو",
194
+ "model.input.pdf": "pdf",
195
+ "model.tooltip.allows": "يسمح: {{inputs}}",
196
+ "model.tooltip.reasoning.allowed": "يسمح بالاستنتاج",
197
+ "model.tooltip.reasoning.none": "بدون استنتاج",
198
+ "model.tooltip.context": "حد السياق {{limit}}",
199
+ "common.search.placeholder": "بحث",
200
+ "common.goBack": "رجوع",
201
+ "common.goForward": "انتقل للأمام",
202
+ "common.loading": "جارٍ التحميل",
203
+ "common.loading.ellipsis": "...",
204
+ "common.cancel": "إلغاء",
205
+ "common.connect": "اتصال",
206
+ "common.disconnect": "قطع الاتصال",
207
+ "common.continue": "إرسال",
208
+ "common.submit": "إرسال",
209
+ "common.save": "حفظ",
210
+ "common.saving": "جارٍ الحفظ...",
211
+ "common.default": "افتراضي",
212
+ "common.attachment": "مرفق",
213
+ "prompt.placeholder.shell": "أدخل أمر shell...",
214
+ "prompt.placeholder.normal": 'اسأل أي شيء... "{{example}}"',
215
+ "prompt.placeholder.simple": "اسأل أي شيء...",
216
+ "prompt.placeholder.summarizeComments": "لخّص التعليقات…",
217
+ "prompt.placeholder.summarizeComment": "لخّص التعليق…",
218
+ "prompt.mode.shell": "Shell",
219
+ "prompt.mode.normal": "Prompt",
220
+ "prompt.mode.shell.exit": "esc للخروج",
221
+ "prompt.example.1": "إصلاح TODO في قاعدة التعليمات البرمجية",
222
+ "prompt.example.2": "ما هو المكدس التقني لهذا المشروع؟",
223
+ "prompt.example.3": "إصلاح الاختبارات المعطلة",
224
+ "prompt.example.4": "اشرح كيف تعمل المصادقة",
225
+ "prompt.example.5": "البحث عن وإصلاح الثغرات الأمنية",
226
+ "prompt.example.6": "إضافة اختبارات وحدة لخدمة المستخدم",
227
+ "prompt.example.7": "إعادة هيكلة هذه الدالة لتكون أكثر قابلية للقراءة",
228
+ "prompt.example.8": "ماذا يعني هذا الخطأ؟",
229
+ "prompt.example.9": "ساعدني في تصحيح هذه المشكلة",
230
+ "prompt.example.10": "توليد وثائق API",
231
+ "prompt.example.11": "تحسين استعلامات قاعدة البيانات",
232
+ "prompt.example.12": "إضافة التحقق من صحة الإدخال",
233
+ "prompt.example.13": "إنشاء مكون جديد لـ...",
234
+ "prompt.example.14": "كيف أقوم بنشر هذا المشروع؟",
235
+ "prompt.example.15": "مراجعة الكود الخاص بي لأفضل الممارسات",
236
+ "prompt.example.16": "إضافة معالجة الأخطاء لهذه الدالة",
237
+ "prompt.example.17": "اشرح نمط regex هذا",
238
+ "prompt.example.18": "تحويل هذا إلى TypeScript",
239
+ "prompt.example.19": "إضافة تسجيل الدخول (logging) في جميع أنحاء قاعدة التعليمات البرمجية",
240
+ "prompt.example.20": "ما هي التبعيات القديمة؟",
241
+ "prompt.example.21": "ساعدني في كتابة برنامج نصي للهجرة",
242
+ "prompt.example.22": "تنفيذ التخزين المؤقت لهذه النقطة النهائية",
243
+ "prompt.example.23": "إضافة ترقيم الصفحات إلى هذه القائمة",
244
+ "prompt.example.24": "إنشاء أمر CLI لـ...",
245
+ "prompt.example.25": "كيف تعمل متغيرات البيئة هنا؟",
246
+ "prompt.popover.emptyResults": "لا توجد نتائج مطابقة",
247
+ "prompt.popover.emptyCommands": "لا توجد أوامر مطابقة",
248
+ "prompt.dropzone.label": "أفلت الصور أو ملفات PDF أو الملفات النصية هنا",
249
+ "prompt.dropzone.file.label": "أفلت لإشارة @ للملف",
250
+ "prompt.slash.badge.custom": "مخصص",
251
+ "prompt.slash.badge.skill": "مهارة",
252
+ "prompt.slash.badge.mcp": "mcp",
253
+ "prompt.context.active": "نشط",
254
+ "prompt.context.includeActiveFile": "تضمين الملف النشط",
255
+ "prompt.context.removeActiveFile": "إزالة الملف النشط من السياق",
256
+ "prompt.context.removeFile": "إزالة الملف من السياق",
257
+ "prompt.action.attachFile": "إرفاق ملف",
258
+ "prompt.attachment.remove": "إزالة المرفق",
259
+ "prompt.action.send": "إرسال",
260
+ "prompt.action.stop": "توقف",
261
+ "prompt.toast.pasteUnsupported.title": "مرفق غير مدعوم",
262
+ "prompt.toast.pasteUnsupported.description": "يمكن إرفاق الصور أو ملفات PDF أو الملفات النصية فقط هنا.",
263
+ "prompt.toast.modelAgentRequired.title": "حدد وكيلاً ونموذجاً",
264
+ "prompt.toast.modelAgentRequired.description": "اختر وكيلاً ونموذجاً قبل إرسال الموجه.",
265
+ "prompt.toast.worktreeCreateFailed.title": "فشل إنشاء شجرة العمل",
266
+ "prompt.toast.sessionCreateFailed.title": "فشل إنشاء الجلسة",
267
+ "prompt.toast.shellSendFailed.title": "فشل إرسال أمر shell",
268
+ "prompt.toast.commandSendFailed.title": "فشل إرسال الأمر",
269
+ "prompt.toast.promptSendFailed.title": "فشل إرسال الموجه",
270
+ "prompt.toast.promptSendFailed.description": "تعذر استرداد الجلسة",
271
+ "dialog.mcp.title": "MCPs",
272
+ "dialog.mcp.description": "{{enabled}} من {{total}} مفعل",
273
+ "dialog.mcp.empty": "لم يتم تكوين MCPs",
274
+ "dialog.lsp.empty": "تم الكشف تلقائيًا عن LSPs من أنواع الملفات",
275
+ "dialog.plugins.empty": "الإضافات المكونة في reigncode.json",
276
+ "mcp.status.connected": "متصل",
277
+ "mcp.status.failed": "فشل",
278
+ "mcp.status.needs_auth": "يحتاج إلى مصادقة",
279
+ "mcp.status.disabled": "معطل",
280
+ "dialog.fork.empty": "لا توجد رسائل للتفرع منها",
281
+ "dialog.directory.search.placeholder": "البحث في المجلدات",
282
+ "dialog.directory.empty": "لم يتم العثور على مجلدات",
283
+ "dialog.server.title": "الخوادم",
284
+ "dialog.server.description": "تبديل خادم OpenCode الذي يتصل به هذا التطبيق.",
285
+ "dialog.server.search.placeholder": "البحث في الخوادم",
286
+ "dialog.server.empty": "لا توجد خوادم بعد",
287
+ "dialog.server.add.title": "إضافة خادم",
288
+ "dialog.server.add.url": "عنوان URL للخادم",
289
+ "dialog.server.add.placeholder": "http://localhost:4096",
290
+ "dialog.server.add.error": "تعذر الاتصال بالخادم",
291
+ "dialog.server.add.checking": "جارٍ التحقق...",
292
+ "dialog.server.add.button": "إضافة خادم",
293
+ "dialog.server.add.name": "اسم الخادم (اختياري)",
294
+ "dialog.server.add.namePlaceholder": "Localhost",
295
+ "dialog.server.add.username": "اسم المستخدم (اختياري)",
296
+ "dialog.server.add.password": "كلمة المرور (اختياري)",
297
+ "dialog.server.edit.title": "تحرير الخادم",
298
+ "dialog.server.default.title": "الخادم الافتراضي",
299
+ "dialog.server.default.description":
300
+ "الاتصال بهذا الخادم عند بدء تشغيل التطبيق بدلاً من بدء خادم محلي. يتطلب إعادة التشغيل.",
301
+ "dialog.server.default.none": "لم يتم تحديد خادم",
302
+ "dialog.server.default.set": "تعيين الخادم الحالي كافتراضي",
303
+ "dialog.server.default.clear": "مسح",
304
+ "dialog.server.action.remove": "إزالة الخادم",
305
+ "dialog.server.menu.edit": "تعديل",
306
+ "dialog.server.menu.default": "تعيين كافتراضي",
307
+ "dialog.server.menu.defaultRemove": "إزالة الافتراضي",
308
+ "dialog.server.menu.delete": "حذف",
309
+ "dialog.server.current": "الخادم الحالي",
310
+ "dialog.server.status.default": "افتراضي",
311
+ "dialog.project.edit.title": "تحرير المشروع",
312
+ "dialog.project.edit.name": "الاسم",
313
+ "dialog.project.edit.icon": "أيقونة",
314
+ "dialog.project.edit.icon.alt": "أيقونة المشروع",
315
+ "dialog.project.edit.icon.hint": "انقر أو اسحب صورة",
316
+ "dialog.project.edit.icon.recommended": "موصى به: 128x128px",
317
+ "dialog.project.edit.color": "لون",
318
+ "dialog.project.edit.color.select": "اختر لون {{color}}",
319
+ "dialog.project.edit.worktree.startup": "سكريبت بدء تشغيل مساحة العمل",
320
+ "dialog.project.edit.worktree.startup.description": "يتم تشغيله بعد إنشاء مساحة عمل جديدة (شجرة عمل).",
321
+ "dialog.project.edit.worktree.startup.placeholder": "مثال: bun install",
322
+ "context.breakdown.title": "تفصيل السياق",
323
+ "context.breakdown.note": 'تفصيل تقريبي لرموز الإدخال. يشمل "أخرى" تعريفات الأدوات والنفقات العامة.',
324
+ "context.breakdown.system": "النظام",
325
+ "context.breakdown.user": "المستخدم",
326
+ "context.breakdown.assistant": "المساعد",
327
+ "context.breakdown.tool": "استدعاءات الأداة",
328
+ "context.breakdown.other": "أخرى",
329
+ "context.systemPrompt.title": "موجه النظام",
330
+ "context.rawMessages.title": "الرسائل الخام",
331
+ "context.stats.session": "جلسة",
332
+ "context.stats.messages": "رسائل",
333
+ "context.stats.provider": "موفر",
334
+ "context.stats.model": "نموذج",
335
+ "context.stats.limit": "حد السياق",
336
+ "context.stats.totalTokens": "إجمالي الرموز",
337
+ "context.stats.usage": "استخدام",
338
+ "context.stats.inputTokens": "رموز الإدخال",
339
+ "context.stats.outputTokens": "رموز الإخراج",
340
+ "context.stats.reasoningTokens": "رموز الاستنتاج",
341
+ "context.stats.cacheTokens": "رموز التخزين المؤقت (قراءة/كتابة)",
342
+ "context.stats.userMessages": "رسائل المستخدم",
343
+ "context.stats.assistantMessages": "رسائل المساعد",
344
+ "context.stats.totalCost": "التكلفة الإجمالية",
345
+ "context.stats.sessionCreated": "تم إنشاء الجلسة",
346
+ "context.stats.lastActivity": "آخر نشاط",
347
+ "context.usage.tokens": "رموز",
348
+ "context.usage.usage": "استخدام",
349
+ "context.usage.cost": "تكلفة",
350
+ "context.usage.clickToView": "انقر لعرض السياق",
351
+ "context.usage.view": "عرض استخدام السياق",
352
+ "language.en": "English",
353
+ "language.zh": "简体中文",
354
+ "language.zht": "繁體中文",
355
+ "language.ko": "한국어",
356
+ "language.de": "Deutsch",
357
+ "language.es": "Español",
358
+ "language.fr": "Français",
359
+ "language.da": "Dansk",
360
+ "language.ja": "日本語",
361
+ "language.pl": "Polski",
362
+ "language.ru": "Русский",
363
+ "language.ar": "العربية",
364
+ "language.no": "Norsk",
365
+ "language.br": "Português (Brasil)",
366
+ "language.bs": "Bosanski",
367
+ "language.th": "ไทย",
368
+ "language.tr": "Türkçe",
369
+ "toast.language.title": "لغة",
370
+ "toast.language.description": "تم التبديل إلى {{language}}",
371
+ "toast.theme.title": "تم تبديل السمة",
372
+ "toast.scheme.title": "مخطط الألوان",
373
+ "toast.workspace.enabled.title": "تم تمكين مساحات العمل",
374
+ "toast.workspace.enabled.description": "الآن يتم عرض عدة worktrees في الشريط الجانبي",
375
+ "toast.workspace.disabled.title": "تم تعطيل مساحات العمل",
376
+ "toast.workspace.disabled.description": "يتم عرض worktree الرئيسي فقط في الشريط الجانبي",
377
+ "toast.permissions.autoaccept.on.title": "يتم قبول الأذونات تلقائيًا",
378
+ "toast.permissions.autoaccept.on.description": "ستتم الموافقة على طلبات الأذونات تلقائيًا",
379
+ "toast.permissions.autoaccept.off.title": "تم إيقاف قبول الأذونات تلقائيًا",
380
+ "toast.permissions.autoaccept.off.description": "ستتطلب طلبات الأذونات موافقة",
381
+ "toast.model.none.title": "لم يتم تحديد نموذج",
382
+ "toast.model.none.description": "قم بتوصيل موفر لتلخيص هذه الجلسة",
383
+ "toast.file.loadFailed.title": "فشل تحميل الملف",
384
+ "toast.file.listFailed.title": "فشل سرد الملفات",
385
+ "toast.context.noLineSelection.title": "لا يوجد تحديد للأسطر",
386
+ "toast.context.noLineSelection.description": "حدد نطاق أسطر في تبويب ملف أولاً.",
387
+ "toast.session.share.copyFailed.title": "فشل نسخ عنوان URL إلى الحافظة",
388
+ "toast.session.share.success.title": "تمت مشاركة الجلسة",
389
+ "toast.session.share.success.description": "تم نسخ عنوان URL للمشاركة إلى الحافظة!",
390
+ "toast.session.share.failed.title": "فشل مشاركة الجلسة",
391
+ "toast.session.share.failed.description": "حدث خطأ أثناء مشاركة الجلسة",
392
+ "toast.session.unshare.success.title": "تم إلغاء مشاركة الجلسة",
393
+ "toast.session.unshare.success.description": "تم إلغاء مشاركة الجلسة بنجاح!",
394
+ "toast.session.unshare.failed.title": "فشل إلغاء مشاركة الجلسة",
395
+ "toast.session.unshare.failed.description": "حدث خطأ أثناء إلغاء مشاركة الجلسة",
396
+ "toast.session.listFailed.title": "فشل تحميل الجلسات لـ {{project}}",
397
+ "toast.update.title": "تحديث متاح",
398
+ "toast.update.description": "نسخة جديدة من OpenCode ({{version}}) متاحة الآن للتثبيت.",
399
+ "toast.update.action.installRestart": "تثبيت وإعادة تشغيل",
400
+ "toast.update.action.notYet": "ليس الآن",
401
+ "error.page.title": "حدث خطأ ما",
402
+ "error.page.description": "حدث خطأ أثناء تحميل التطبيق.",
403
+ "error.page.details.label": "تفاصيل الخطأ",
404
+ "error.page.action.restart": "إعادة تشغيل",
405
+ "error.page.action.checking": "جارٍ التحقق...",
406
+ "error.page.action.checkUpdates": "التحقق من وجود تحديثات",
407
+ "error.page.action.updateTo": "تحديث إلى {{version}}",
408
+ "error.page.report.prefix": "يرجى الإبلاغ عن هذا الخطأ لفريق OpenCode",
409
+ "error.page.report.discord": "على Discord",
410
+ "error.page.version": "الإصدار: {{version}}",
411
+ "error.dev.rootNotFound":
412
+ "لم يتم العثور على العنصر الجذري. هل نسيت إضافته إلى index.html؟ أو ربما تمت كتابة سمة id بشكل خاطئ؟",
413
+ "error.globalSync.connectFailed": "تعذر الاتصال بالخادم. هل هناك خادم يعمل في `{{url}}`؟",
414
+ "directory.error.invalidUrl": "دليل غير صالح في عنوان URL.",
415
+ "error.chain.unknown": "خطأ غير معروف",
416
+ "error.chain.causedBy": "بسبب:",
417
+ "error.chain.apiError": "خطأ API",
418
+ "error.chain.status": "الحالة: {{status}}",
419
+ "error.chain.retryable": "قابل لإعادة المحاولة: {{retryable}}",
420
+ "error.chain.responseBody": "نص الاستجابة:\n{{body}}",
421
+ "error.chain.didYouMean": "هل كنت تعني: {{suggestions}}",
422
+ "error.chain.modelNotFound": "النموذج غير موجود: {{provider}}/{{model}}",
423
+ "error.chain.checkConfig": "تحقق من أسماء الموفر/النموذج في التكوين (reigncode.json)",
424
+ "error.chain.mcpFailed": 'فشل خادم MCP "{{name}}". لاحظ أن OpenCode لا يدعم مصادقة MCP بعد.',
425
+ "error.chain.providerAuthFailed": "فشلت مصادقة الموفر ({{provider}}): {{message}}",
426
+ "error.chain.providerInitFailed": 'فشل تهيئة الموفر "{{provider}}". تحقق من بيانات الاعتماد والتكوين.',
427
+ "error.chain.configJsonInvalid": "ملف التكوين في {{path}} ليس JSON(C) صالحًا",
428
+ "error.chain.configJsonInvalidWithMessage": "ملف التكوين في {{path}} ليس JSON(C) صالحًا: {{message}}",
429
+ "error.chain.configDirectoryTypo":
430
+ 'الدليل "{{dir}}" في {{path}} غير صالح. أعد تسمية الدليل إلى "{{suggestion}}" أو قم بإزالته. هذا خطأ مطبعي شائع.',
431
+ "error.chain.configFrontmatterError": "فشل تحليل frontmatter في {{path}}:\n{{message}}",
432
+ "error.chain.configInvalid": "ملف التكوين في {{path}} غير صالح",
433
+ "error.chain.configInvalidWithMessage": "ملف التكوين في {{path}} غير صالح: {{message}}",
434
+ "notification.permission.title": "مطلوب إذن",
435
+ "notification.permission.description": "{{sessionTitle}} في {{projectName}} يحتاج إلى إذن",
436
+ "notification.question.title": "سؤال",
437
+ "notification.question.description": "{{sessionTitle}} في {{projectName}} لديه سؤال",
438
+ "notification.action.goToSession": "انتقل إلى الجلسة",
439
+ "notification.session.responseReady.title": "الاستجابة جاهزة",
440
+ "notification.session.error.title": "خطأ في الجلسة",
441
+ "notification.session.error.fallbackDescription": "حدث خطأ",
442
+ "home.recentProjects": "المشاريع الحديثة",
443
+ "home.empty.title": "لا توجد مشاريع حديثة",
444
+ "home.empty.description": "ابدأ بفتح مشروع محلي",
445
+ "session.tab.session": "جلسة",
446
+ "session.tab.review": "مراجعة",
447
+ "session.tab.context": "سياق",
448
+ "session.panel.reviewAndFiles": "المراجعة والملفات",
449
+ "session.review.filesChanged": "تم تغيير {{count}} ملفات",
450
+ "session.review.change.one": "تغيير",
451
+ "session.review.change.other": "تغييرات",
452
+ "session.review.loadingChanges": "جارٍ تحميل التغييرات...",
453
+ "session.review.empty": "لا توجد تغييرات في هذه الجلسة بعد",
454
+ "session.review.noChanges": "لا توجد تغييرات",
455
+ "session.review.noVcs": "لم يتم اكتشاف نظام التحكم في الإصدار Git، لن يتم عرض التغييرات",
456
+ "session.review.noSnapshot": "تم تعطيل تتبع اللقطات في التكوين، لذا فإن تغييرات الجلسة غير متوفرة",
457
+ "session.files.selectToOpen": "اختر ملفًا لفتحه",
458
+ "session.files.all": "كل الملفات",
459
+ "session.files.empty": "لا توجد ملفات",
460
+ "session.files.binaryContent": "ملف ثنائي (لا يمكن عرض المحتوى)",
461
+ "session.messages.renderEarlier": "عرض الرسائل السابقة",
462
+ "session.messages.loadingEarlier": "جارٍ تحميل الرسائل السابقة...",
463
+ "session.messages.loadEarlier": "تحميل الرسائل السابقة",
464
+ "session.messages.loading": "جارٍ تحميل الرسائل...",
465
+ "session.messages.jumpToLatest": "الانتقال إلى الأحدث",
466
+ "session.context.addToContext": "إضافة {{selection}} إلى السياق",
467
+ "session.todo.title": "المهام",
468
+ "session.todo.collapse": "طي",
469
+ "session.todo.expand": "توسيع",
470
+ "session.followupDock.summary.one": "{{count}} رسالة في الانتظار",
471
+ "session.followupDock.summary.other": "{{count}} رسائل في الانتظار",
472
+ "session.followupDock.sendNow": "إرسال الآن",
473
+ "session.followupDock.edit": "تحرير",
474
+ "session.followupDock.collapse": "طي الرسائل المنتظرة",
475
+ "session.followupDock.expand": "توسيع الرسائل المنتظرة",
476
+ "session.revertDock.summary.one": "{{count}} رسالة تم التراجع عنها",
477
+ "session.revertDock.summary.other": "{{count}} رسائل تم التراجع عنها",
478
+ "session.revertDock.collapse": "طي الرسائل التي تم التراجع عنها",
479
+ "session.revertDock.expand": "توسيع الرسائل التي تم التراجع عنها",
480
+ "session.revertDock.restore": "استعادة الرسالة",
481
+ "session.new.title": "ابنِ أي شيء",
482
+ "session.new.worktree.main": "الفرع الرئيسي",
483
+ "session.new.worktree.mainWithBranch": "الفرع الرئيسي ({{branch}})",
484
+ "session.new.worktree.create": "إنشاء شجرة عمل جديدة",
485
+ "session.new.lastModified": "آخر تعديل",
486
+ "session.header.search.placeholder": "بحث {{project}}",
487
+ "session.header.searchFiles": "بحث عن الملفات",
488
+ "session.header.openIn": "فتح في",
489
+ "session.header.open.action": "فتح {{app}}",
490
+ "session.header.open.ariaLabel": "فتح في {{app}}",
491
+ "session.header.open.menu": "خيارات الفتح",
492
+ "session.header.open.copyPath": "نسخ المسار",
493
+ "status.popover.trigger": "الحالة",
494
+ "status.popover.ariaLabel": "إعدادات الخوادم",
495
+ "status.popover.tab.servers": "الخوادم",
496
+ "status.popover.tab.mcp": "MCP",
497
+ "status.popover.tab.lsp": "LSP",
498
+ "status.popover.tab.plugins": "الإضافات",
499
+ "status.popover.action.manageServers": "إدارة الخوادم",
500
+ "session.share.popover.title": "نشر على الويب",
501
+ "session.share.popover.description.shared": "هذه الجلسة عامة على الويب. يمكن لأي شخص لديه الرابط الوصول إليها.",
502
+ "session.share.popover.description.unshared": "شارك الجلسة علنًا على الويب. ستكون متاحة لأي شخص لديه الرابط.",
503
+ "session.share.action.share": "مشاركة",
504
+ "session.share.action.publish": "نشر",
505
+ "session.share.action.publishing": "جارٍ النشر...",
506
+ "session.share.action.unpublish": "إلغاء النشر",
507
+ "session.share.action.unpublishing": "جارٍ إلغاء النشر...",
508
+ "session.share.action.view": "عرض",
509
+ "session.share.copy.copied": "تم النسخ",
510
+ "session.share.copy.copyLink": "نسخ الرابط",
511
+ "lsp.tooltip.none": "لا توجد خوادم LSP",
512
+ "lsp.label.connected": "{{count}} LSP",
513
+ "prompt.loading": "جارٍ تحميل الموجه...",
514
+ "terminal.loading": "جارٍ تحميل المحطة الطرفية...",
515
+ "terminal.title": "محطة طرفية",
516
+ "terminal.title.numbered": "محطة طرفية {{number}}",
517
+ "terminal.close": "إغلاق المحطة الطرفية",
518
+ "terminal.connectionLost.title": "فقد الاتصال",
519
+ "terminal.connectionLost.description": "انقطع اتصال المحطة الطرفية. يمكن أن يحدث هذا عند إعادة تشغيل الخادم.",
520
+ "common.closeTab": "إغلاق علامة التبويب",
521
+ "common.dismiss": "رفض",
522
+ "common.requestFailed": "فشل الطلب",
523
+ "common.moreOptions": "مزيد من الخيارات",
524
+ "common.learnMore": "اعرف المزيد",
525
+ "common.rename": "إعادة تسمية",
526
+ "common.reset": "إعادة تعيين",
527
+ "common.archive": "أرشفة",
528
+ "common.delete": "حذف",
529
+ "common.close": "إغلاق",
530
+ "common.edit": "تحرير",
531
+ "common.loadMore": "تحميل المزيد",
532
+ "common.key.esc": "ESC",
533
+ "sidebar.menu.toggle": "تبديل القائمة",
534
+ "sidebar.nav.projectsAndSessions": "المشاريع والجلسات",
535
+ "sidebar.settings": "الإعدادات",
536
+ "sidebar.help": "مساعدة",
537
+ "sidebar.workspaces.enable": "تمكين مساحات العمل",
538
+ "sidebar.workspaces.disable": "تعطيل مساحات العمل",
539
+ "sidebar.gettingStarted.title": "البدء",
540
+ "sidebar.gettingStarted.line1": "يتضمن OpenCode نماذج مجانية حتى تتمكن من البدء فورًا.",
541
+ "sidebar.gettingStarted.line2": "قم بتوصيل أي موفر لاستخدام النماذج، بما في ذلك Claude و GPT و Gemini وما إلى ذلك.",
542
+ "sidebar.project.recentSessions": "الجلسات الحديثة",
543
+ "sidebar.project.viewAllSessions": "عرض جميع الجلسات",
544
+ "sidebar.project.clearNotifications": "مسح الإشعارات",
545
+ "app.name.desktop": "OpenCode Desktop",
546
+ "settings.section.desktop": "سطح المكتب",
547
+ "settings.section.server": "الخادم",
548
+ "settings.tab.general": "عام",
549
+ "settings.tab.shortcuts": "اختصارات",
550
+ "settings.desktop.section.wsl": "WSL",
551
+ "settings.desktop.wsl.title": "تكامل WSL",
552
+ "settings.desktop.wsl.description": "تشغيل خادم OpenCode داخل WSL على Windows.",
553
+ "settings.general.section.appearance": "المظهر",
554
+ "settings.general.section.notifications": "إشعارات النظام",
555
+ "settings.general.section.updates": "التحديثات",
556
+ "settings.general.section.sounds": "المؤثرات الصوتية",
557
+ "settings.general.section.feed": "الخلاصة",
558
+ "settings.general.section.display": "شاشة العرض",
559
+ "settings.general.row.language.title": "اللغة",
560
+ "settings.general.row.language.description": "تغيير لغة العرض لـ OpenCode",
561
+ "settings.general.row.appearance.title": "المظهر",
562
+ "settings.general.row.appearance.description": "تخصيص كيفية ظهور OpenCode على جهازك",
563
+ "settings.general.row.colorScheme.title": "مخطط الألوان",
564
+ "settings.general.row.colorScheme.description": "اختر ما إذا كان OpenCode يتبع سمة النظام أو الفاتح أو الداكن",
565
+ "settings.general.row.theme.title": "السمة",
566
+ "settings.general.row.theme.description": "تخصيص سمة OpenCode.",
567
+ "settings.general.row.font.title": "الخط",
568
+ "settings.general.row.font.description": "تخصيص الخط الأحادي المستخدم في كتل التعليمات البرمجية",
569
+ "settings.general.row.followup.title": "سلوك المتابعة",
570
+ "settings.general.row.followup.description": "اختر ما إذا كانت طلبات المتابعة توجه فورًا أو تنتظر في قائمة انتظار",
571
+ "settings.general.row.followup.option.queue": "قائمة انتظار",
572
+ "settings.general.row.followup.option.steer": "توجيه",
573
+ "settings.general.row.reasoningSummaries.title": "إظهار ملخصات الاستنتاج",
574
+ "settings.general.row.reasoningSummaries.description": "عرض ملخصات استنتاج النموذج في الشريط الزمني",
575
+ "settings.general.row.shellToolPartsExpanded.title": "توسيع أجزاء أداة shell",
576
+ "settings.general.row.shellToolPartsExpanded.description":
577
+ "إظهار أجزاء أداة shell موسعة بشكل افتراضي في الشريط الزمني",
578
+ "settings.general.row.editToolPartsExpanded.title": "توسيع أجزاء أداة edit",
579
+ "settings.general.row.editToolPartsExpanded.description":
580
+ "إظهار أجزاء أدوات edit و write و patch موسعة بشكل افتراضي في الشريط الزمني",
581
+ "settings.general.row.wayland.title": "استخدام Wayland الأصلي",
582
+ "settings.general.row.wayland.description": "تعطيل التراجع إلى X11 على Wayland. يتطلب إعادة التشغيل.",
583
+ "settings.general.row.wayland.tooltip":
584
+ "على Linux مع شاشات بمعدلات تحديث مختلطة، يمكن أن يكون Wayland الأصلي أكثر استقرارًا.",
585
+ "settings.general.row.releaseNotes.title": "ملاحظات الإصدار",
586
+ "settings.general.row.releaseNotes.description": 'عرض نوافذ "ما الجديد" المنبثقة بعد التحديثات',
587
+ "settings.updates.row.startup.title": "التحقق من التحديثات عند بدء التشغيل",
588
+ "settings.updates.row.startup.description": "التحقق تلقائيًا من التحديثات عند تشغيل OpenCode",
589
+ "settings.updates.row.check.title": "التحقق من التحديثات",
590
+ "settings.updates.row.check.description": "التحقق يدويًا من التحديثات وتثبيتها إذا كانت متاحة",
591
+ "settings.updates.action.checkNow": "تحقق الآن",
592
+ "settings.updates.action.checking": "جارٍ التحقق...",
593
+ "settings.updates.toast.latest.title": "أنت على آخر إصدار",
594
+ "settings.updates.toast.latest.description": "أنت تستخدم أحدث إصدار من OpenCode.",
595
+ "font.option.ibmPlexMono": "IBM Plex Mono",
596
+ "font.option.cascadiaCode": "Cascadia Code",
597
+ "font.option.firaCode": "Fira Code",
598
+ "font.option.hack": "Hack",
599
+ "font.option.inconsolata": "Inconsolata",
600
+ "font.option.intelOneMono": "Intel One Mono",
601
+ "font.option.iosevka": "Iosevka",
602
+ "font.option.jetbrainsMono": "JetBrains Mono",
603
+ "font.option.mesloLgs": "Meslo LGS",
604
+ "font.option.robotoMono": "Roboto Mono",
605
+ "font.option.sourceCodePro": "Source Code Pro",
606
+ "font.option.ubuntuMono": "Ubuntu Mono",
607
+ "font.option.geistMono": "Geist Mono",
608
+ "sound.option.none": "بلا",
609
+ "sound.option.alert01": "تنبيه 01",
610
+ "sound.option.alert02": "تنبيه 02",
611
+ "sound.option.alert03": "تنبيه 03",
612
+ "sound.option.alert04": "تنبيه 04",
613
+ "sound.option.alert05": "تنبيه 05",
614
+ "sound.option.alert06": "تنبيه 06",
615
+ "sound.option.alert07": "تنبيه 07",
616
+ "sound.option.alert08": "تنبيه 08",
617
+ "sound.option.alert09": "تنبيه 09",
618
+ "sound.option.alert10": "تنبيه 10",
619
+ "sound.option.bipbop01": "بيب بوب 01",
620
+ "sound.option.bipbop02": "بيب بوب 02",
621
+ "sound.option.bipbop03": "بيب بوب 03",
622
+ "sound.option.bipbop04": "بيب بوب 04",
623
+ "sound.option.bipbop05": "بيب بوب 05",
624
+ "sound.option.bipbop06": "بيب بوب 06",
625
+ "sound.option.bipbop07": "بيب بوب 07",
626
+ "sound.option.bipbop08": "بيب بوب 08",
627
+ "sound.option.bipbop09": "بيب بوب 09",
628
+ "sound.option.bipbop10": "بيب بوب 10",
629
+ "sound.option.staplebops01": "ستابل بوبس 01",
630
+ "sound.option.staplebops02": "ستابل بوبس 02",
631
+ "sound.option.staplebops03": "ستابل بوبس 03",
632
+ "sound.option.staplebops04": "ستابل بوبس 04",
633
+ "sound.option.staplebops05": "ستابل بوبس 05",
634
+ "sound.option.staplebops06": "ستابل بوبس 06",
635
+ "sound.option.staplebops07": "ستابل بوبس 07",
636
+ "sound.option.nope01": "كلا 01",
637
+ "sound.option.nope02": "كلا 02",
638
+ "sound.option.nope03": "كلا 03",
639
+ "sound.option.nope04": "كلا 04",
640
+ "sound.option.nope05": "كلا 05",
641
+ "sound.option.nope06": "كلا 06",
642
+ "sound.option.nope07": "كلا 07",
643
+ "sound.option.nope08": "كلا 08",
644
+ "sound.option.nope09": "كلا 09",
645
+ "sound.option.nope10": "كلا 10",
646
+ "sound.option.nope11": "كلا 11",
647
+ "sound.option.nope12": "كلا 12",
648
+ "sound.option.yup01": "نعم 01",
649
+ "sound.option.yup02": "نعم 02",
650
+ "sound.option.yup03": "نعم 03",
651
+ "sound.option.yup04": "نعم 04",
652
+ "sound.option.yup05": "نعم 05",
653
+ "sound.option.yup06": "نعم 06",
654
+ "settings.general.notifications.agent.title": "وكيل",
655
+ "settings.general.notifications.agent.description": "عرض إشعار النظام عندما يكتمل الوكيل أو يحتاج إلى اهتمام",
656
+ "settings.general.notifications.permissions.title": "أذونات",
657
+ "settings.general.notifications.permissions.description": "عرض إشعار النظام عند الحاجة إلى إذن",
658
+ "settings.general.notifications.errors.title": "أخطاء",
659
+ "settings.general.notifications.errors.description": "عرض إشعار النظام عند حدوث خطأ",
660
+ "settings.general.sounds.agent.title": "وكيل",
661
+ "settings.general.sounds.agent.description": "تشغيل صوت عندما يكتمل الوكيل أو يحتاج إلى اهتمام",
662
+ "settings.general.sounds.permissions.title": "أذونات",
663
+ "settings.general.sounds.permissions.description": "تشغيل صوت عند الحاجة إلى إذن",
664
+ "settings.general.sounds.errors.title": "أخطاء",
665
+ "settings.general.sounds.errors.description": "تشغيل صوت عند حدوث خطأ",
666
+ "settings.shortcuts.title": "اختصارات لوحة المفاتيح",
667
+ "settings.shortcuts.reset.button": "إعادة التعيين إلى الافتراضيات",
668
+ "settings.shortcuts.reset.toast.title": "تم إعادة تعيين الاختصارات",
669
+ "settings.shortcuts.reset.toast.description": "تم إعادة تعيين اختصارات لوحة المفاتيح إلى الافتراضيات.",
670
+ "settings.shortcuts.conflict.title": "الاختصار قيد الاستخدام بالفعل",
671
+ "settings.shortcuts.conflict.description": "{{keybind}} معين بالفعل لـ {{titles}}.",
672
+ "settings.shortcuts.unassigned": "غير معين",
673
+ "settings.shortcuts.pressKeys": "اضغط على المفاتيح",
674
+ "settings.shortcuts.search.placeholder": "البحث في الاختصارات",
675
+ "settings.shortcuts.search.empty": "لم يتم العثور على اختصارات",
676
+ "settings.shortcuts.group.general": "عام",
677
+ "settings.shortcuts.group.session": "جلسة",
678
+ "settings.shortcuts.group.navigation": "تصفح",
679
+ "settings.shortcuts.group.modelAndAgent": "النموذج والوكيل",
680
+ "settings.shortcuts.group.terminal": "المحطة الطرفية",
681
+ "settings.shortcuts.group.prompt": "موجه",
682
+ "settings.providers.title": "الموفرون",
683
+ "settings.providers.description": "ستكون إعدادات الموفر قابلة للتكوين هنا.",
684
+ "settings.providers.section.connected": "الموفرون المتصلون",
685
+ "settings.providers.connected.empty": "لا يوجد موفرون متصلون",
686
+ "settings.providers.section.popular": "الموفرون الشائعون",
687
+ "settings.providers.tag.environment": "البيئة",
688
+ "settings.providers.tag.config": "التكوين",
689
+ "settings.providers.tag.custom": "مخصص",
690
+ "settings.providers.tag.other": "أخرى",
691
+ "settings.models.title": "النماذج",
692
+ "settings.models.description": "ستكون إعدادات النموذج قابلة للتكوين هنا.",
693
+ "settings.agents.title": "الوكلاء",
694
+ "settings.agents.description": "ستكون إعدادات الوكيل قابلة للتكوين هنا.",
695
+ "settings.commands.title": "الأوامر",
696
+ "settings.commands.description": "ستكون إعدادات الأمر قابلة للتكوين هنا.",
697
+ "settings.mcp.title": "MCP",
698
+ "settings.mcp.description": "ستكون إعدادات MCP قابلة للتكوين هنا.",
699
+ "settings.permissions.title": "الأذونات",
700
+ "settings.permissions.description": "تحكم في الأدوات التي يمكن للخادم استخدامها بشكل افتراضي.",
701
+ "settings.permissions.section.tools": "الأدوات",
702
+ "settings.permissions.toast.updateFailed.title": "فشل تحديث الأذونات",
703
+ "settings.permissions.action.allow": "سماح",
704
+ "settings.permissions.action.ask": "سؤال",
705
+ "settings.permissions.action.deny": "رفض",
706
+ "settings.permissions.tool.read.title": "قراءة",
707
+ "settings.permissions.tool.read.description": "قراءة ملف (يطابق مسار الملف)",
708
+ "settings.permissions.tool.edit.title": "تحرير",
709
+ "settings.permissions.tool.edit.description":
710
+ "تعديل الملفات، بما في ذلك التحرير والكتابة والتصحيحات والتحرير المتعدد",
711
+ "settings.permissions.tool.glob.title": "Glob",
712
+ "settings.permissions.tool.glob.description": "مطابقة الملفات باستخدام أنماط glob",
713
+ "settings.permissions.tool.grep.title": "Grep",
714
+ "settings.permissions.tool.grep.description": "البحث في محتويات الملف باستخدام التعبيرات العادية",
715
+ "settings.permissions.tool.list.title": "قائمة",
716
+ "settings.permissions.tool.list.description": "سرد الملفات داخل دليل",
717
+ "settings.permissions.tool.bash.title": "Bash",
718
+ "settings.permissions.tool.bash.description": "تشغيل أوامر shell",
719
+ "settings.permissions.tool.task.title": "مهمة",
720
+ "settings.permissions.tool.task.description": "تشغيل الوكلاء الفرعيين",
721
+ "settings.permissions.tool.skill.title": "مهارة",
722
+ "settings.permissions.tool.skill.description": "تحميل مهارة بالاسم",
723
+ "settings.permissions.tool.lsp.title": "LSP",
724
+ "settings.permissions.tool.lsp.description": "تشغيل استعلامات خادم اللغة",
725
+ "settings.permissions.tool.todoread.title": "قراءة المهام",
726
+ "settings.permissions.tool.todoread.description": "قراءة قائمة المهام",
727
+ "settings.permissions.tool.todowrite.title": "كتابة المهام",
728
+ "settings.permissions.tool.todowrite.description": "تحديث قائمة المهام",
729
+ "settings.permissions.tool.webfetch.title": "جلب الويب",
730
+ "settings.permissions.tool.webfetch.description": "جلب محتوى من عنوان URL",
731
+ "settings.permissions.tool.websearch.title": "بحث الويب",
732
+ "settings.permissions.tool.websearch.description": "البحث في الويب",
733
+ "settings.permissions.tool.codesearch.title": "بحث الكود",
734
+ "settings.permissions.tool.codesearch.description": "البحث عن كود على الويب",
735
+ "settings.permissions.tool.external_directory.title": "دليل خارجي",
736
+ "settings.permissions.tool.external_directory.description": "الوصول إلى الملفات خارج دليل المشروع",
737
+ "settings.permissions.tool.doom_loop.title": "حلقة الموت",
738
+ "settings.permissions.tool.doom_loop.description": "اكتشاف استدعاءات الأدوات المتكررة بمدخلات متطابقة",
739
+ "session.delete.failed.title": "فشل حذف الجلسة",
740
+ "session.delete.title": "حذف الجلسة",
741
+ "session.delete.confirm": 'حذف الجلسة "{{name}}"؟',
742
+ "session.delete.button": "حذف الجلسة",
743
+ "workspace.new": "مساحة عمل جديدة",
744
+ "workspace.type.local": "محلي",
745
+ "workspace.type.sandbox": "صندوق رمل",
746
+ "workspace.create.failed.title": "فشل إنشاء مساحة العمل",
747
+ "workspace.delete.failed.title": "فشل حذف مساحة العمل",
748
+ "workspace.resetting.title": "إعادة تعيين مساحة العمل",
749
+ "workspace.resetting.description": "قد يستغرق هذا دقيقة.",
750
+ "workspace.reset.failed.title": "فشل إعادة تعيين مساحة العمل",
751
+ "workspace.reset.success.title": "تمت إعادة تعيين مساحة العمل",
752
+ "workspace.reset.success.description": "مساحة العمل تطابق الآن الفرع الافتراضي.",
753
+ "workspace.error.stillPreparing": "مساحة العمل لا تزال قيد الإعداد",
754
+ "workspace.status.checking": "التحقق من التغييرات غير المدمجة...",
755
+ "workspace.status.error": "تعذر التحقق من حالة git.",
756
+ "workspace.status.clean": "لم يتم اكتشاف تغييرات غير مدمجة.",
757
+ "workspace.status.dirty": "تم اكتشاف تغييرات غير مدمجة في مساحة العمل هذه.",
758
+ "workspace.delete.title": "حذف مساحة العمل",
759
+ "workspace.delete.confirm": 'حذف مساحة العمل "{{name}}"؟',
760
+ "workspace.delete.button": "حذف مساحة العمل",
761
+ "workspace.reset.title": "إعادة تعيين مساحة العمل",
762
+ "workspace.reset.confirm": 'إعادة تعيين مساحة العمل "{{name}}"؟',
763
+ "workspace.reset.button": "إعادة تعيين مساحة العمل",
764
+ "workspace.reset.archived.none": "لن تتم أرشفة أي جلسات نشطة.",
765
+ "workspace.reset.archived.one": "ستتم أرشفة جلسة واحدة.",
766
+ "workspace.reset.archived.many": "ستتم أرشفة {{count}} جلسات.",
767
+ "workspace.reset.note": "سيؤدي هذا إلى إعادة تعيين مساحة العمل لتتطابق مع الفرع الافتراضي.",
768
+ "common.open": "فتح",
769
+ "dialog.releaseNotes.action.getStarted": "البدء",
770
+ "dialog.releaseNotes.action.next": "التالي",
771
+ "dialog.releaseNotes.action.hideFuture": "عدم إظهار هذا في المستقبل",
772
+ "dialog.releaseNotes.media.alt": "معاينة الإصدار",
773
+ "toast.project.reloadFailed.title": "فشل في إعادة تحميل {{project}}",
774
+ "error.server.invalidConfiguration": "تكوين غير صالح",
775
+ "common.moreCountSuffix": " (+{{count}} إضافي)",
776
+ "common.time.justNow": "الآن",
777
+ "common.time.minutesAgo.short": "قبل {{count}} د",
778
+ "common.time.hoursAgo.short": "قبل {{count}} س",
779
+ "common.time.daysAgo.short": "قبل {{count}} ي",
780
+ "settings.providers.connected.environmentDescription": "متصل من متغيرات البيئة الخاصة بك",
781
+ "settings.providers.custom.description": "أضف مزود متوافق مع OpenAI بواسطة عنوان URL الأساسي.",
782
+
783
+ "app.server.unreachable": "تعذر الوصول إلى {{server}}",
784
+ "app.server.retrying": "جاري إعادة المحاولة تلقائيًا...",
785
+ "app.server.otherServers": "خوادم أخرى",
786
+ "dialog.server.add.usernamePlaceholder": "اسم المستخدم",
787
+ "dialog.server.add.passwordPlaceholder": "كلمة المرور",
788
+ "server.row.noUsername": "لا يوجد اسم مستخدم",
789
+ "session.review.noVcs.createGit.title": "إنشاء مستودع Git",
790
+ "session.review.noVcs.createGit.description": "تتبع ومراجعة والتراجع عن التغييرات في هذا المشروع",
791
+ "session.review.noVcs.createGit.actionLoading": "جاري إنشاء مستودع Git...",
792
+ "session.review.noVcs.createGit.action": "إنشاء مستودع Git",
793
+ "session.todo.progress": "تم إكمال {{done}} من {{total}} مهام",
794
+ "session.question.progress": "{{current}} من {{total}} أسئلة",
795
+ "session.header.open.finder": "Finder",
796
+ "session.header.open.fileExplorer": "مستكشف الملفات",
797
+ "session.header.open.fileManager": "مدير الملفات",
798
+ "session.header.open.app.vscode": "VS Code",
799
+ "session.header.open.app.cursor": "Cursor",
800
+ "session.header.open.app.zed": "Zed",
801
+ "session.header.open.app.textmate": "TextMate",
802
+ "session.header.open.app.antigravity": "Antigravity",
803
+ "session.header.open.app.terminal": "المحطة الطرفية",
804
+ "session.header.open.app.iterm2": "iTerm2",
805
+ "session.header.open.app.ghostty": "Ghostty",
806
+ "session.header.open.app.warp": "Warp",
807
+ "session.header.open.app.xcode": "Xcode",
808
+ "session.header.open.app.androidStudio": "Android Studio",
809
+ "session.header.open.app.powershell": "PowerShell",
810
+ "session.header.open.app.sublimeText": "Sublime Text",
811
+ "debugBar.ariaLabel": "تشخيص أداء التطوير",
812
+ "debugBar.na": "غير متاح",
813
+ "debugBar.nav.label": "NAV",
814
+ "debugBar.nav.tip": "آخر انتقال مكتمل للمسار يمس صفحة جلسة، مُقاسًا من بدء التوجيه حتى أول رسم بعد استقراره.",
815
+ "debugBar.fps.label": "FPS",
816
+ "debugBar.fps.tip": "الإطارات المتجددة في الثانية خلال آخر 5 ثوانٍ.",
817
+ "debugBar.frame.label": "FRAME",
818
+ "debugBar.frame.tip": "أسوأ وقت للإطار خلال آخر 5 ثوانٍ.",
819
+ "debugBar.jank.label": "JANK",
820
+ "debugBar.jank.tip": "الإطارات التي تزيد عن 32 مللي ثانية في آخر 5 ثوانٍ.",
821
+ "debugBar.long.label": "LONG",
822
+ "debugBar.long.tip": "الوقت المحظور وعدد المهام الطويلة في آخر 5 ثوانٍ. أقصى مهمة: {{max}}.",
823
+ "debugBar.delay.label": "DELAY",
824
+ "debugBar.delay.tip": "أسوأ تأخير إدخال تمت ملاحظته في آخر 5 ثوانٍ.",
825
+ "debugBar.inp.label": "INP",
826
+ "debugBar.inp.tip": "مدة التفاعل التقريبية خلال آخر 5 ثوانٍ. هذا يشبه INP، وليس Web Vitals INP الرسمي.",
827
+ "debugBar.cls.label": "CLS",
828
+ "debugBar.cls.tip": "التحول التخطيطي التراكمي لعمر التطبيق الحالي.",
829
+ "debugBar.mem.label": "MEM",
830
+ "debugBar.mem.tipUnavailable": "كومة JS المستخدمة مقابل حد الكومة. Chromium فقط.",
831
+ "debugBar.mem.tip": "كومة JS المستخدمة مقابل حد الكومة. {{used}} من {{limit}}.",
832
+ "common.key.ctrl": "Ctrl",
833
+ "common.key.alt": "Alt",
834
+ "common.key.shift": "Shift",
835
+ "common.key.meta": "Meta",
836
+ "common.key.space": "Space",
837
+ "common.key.backspace": "Backspace",
838
+ "common.key.enter": "Enter",
839
+ "common.key.tab": "Tab",
840
+ "common.key.delete": "Delete",
841
+ "common.key.home": "Home",
842
+ "common.key.end": "End",
843
+ "common.key.pageUp": "Page Up",
844
+ "common.key.pageDown": "Page Down",
845
+ "common.key.insert": "Insert",
846
+ "common.unknown": "غير معروف",
847
+ "error.page.circular": "[دائري]",
848
+ "error.globalSDK.noServerAvailable": "لا يوجد خادم متاح",
849
+ "error.globalSDK.serverNotAvailable": "الخادم غير متاح",
850
+ "error.childStore.persistedCacheCreateFailed": "فشل إنشاء ذاكرة التخزين المؤقت الدائمة",
851
+ "error.childStore.persistedProjectMetadataCreateFailed": "فشل إنشاء بيانات تعريف المشروع الدائمة",
852
+ "error.childStore.persistedProjectIconCreateFailed": "فشل إنشاء أيقونة المشروع الدائمة",
853
+ "error.childStore.storeCreateFailed": "فشل إنشاء المخزن",
854
+ "terminal.connectionLost.abnormalClose": "تم إغلاق WebSocket بشكل غير طبيعي: {{code}}",
855
+ }