-
Notifications
You must be signed in to change notification settings - Fork 292
Expand file tree
/
Copy pathlocales-ar.ts
More file actions
445 lines (444 loc) · 39.2 KB
/
Copy pathlocales-ar.ts
File metadata and controls
445 lines (444 loc) · 39.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
/**
* The ar (Arabic) dictionary for the betterSidebar namespace.
*
* Mirrors the key set of `zh` in `locales.ts`. The sidebar's `t()`
* consults this dict when `attachBetterLocale(store)` has been called
* with an active better-locale store whose `active` is `'ar'`; absent
* that, the existing zh/en chain runs unchanged.
*
* Translation conventions:
* - Modern Standard Arabic (فصحى); UI text is RTL-ready (the framework
* handles direction).
* - Git vocabulary follows standard Arabic localizations (إدراج، تثبيت، فرع).
* - Placeholders keep `{name}` verbatim (interpolation runs after lookup).
* - English brand names (VS Code, Cursor, Zed, SSH, Git, HTML, PDF, Markdown)
* stay as-is.
*/
/** The ar dictionary (key-set-equal to zh, enforced by the type annotation in locales.ts). */
export const ar: Record<string, string> = {
files: 'الملفات',
changesSessionEmpty: 'لا توجد عمليات ملفات في هذه الجلسة بعد',
changesRead: 'قراءة',
changesWrite: 'كتابة',
changesEdit: 'تحرير',
changesRunning: 'قيد التنفيذ',
changesError: 'خطأ',
changesFold: '{count} أسطر… انقر للتوسيع',
changesContext: 'سياق',
changesPriorUnknown: 'المحتوى السابق خارج النافذة؛ يُعرض كما لو أُضيف بالكامل',
explorer: 'المستكشف',
terminal: 'الطرفية',
editor: 'المحرّر',
editorExplorer: 'سلوك فتح الملفات',
editorExplorerDesc: 'يتحكّم في كيفية فتح الملفات',
editorExplorerMerged: 'مدمج',
editorExplorerMergedDesc: 'الملفات تتبدّل في مكانها داخل نفس النافذة؛ النوافذ الجديدة تبدأ بالشجرة مفتوحة',
editorExplorerSplit: 'منفصل',
editorExplorerSplitDesc: 'النوافذ بلا مسار هي المستكشف المستقل (شجرة فقط)؛ كل ملف يفتح نافذته الخاصة (الشجرة مرساة، مغلقة افتراضياً)',
editorTreeToggle: 'لوحة شجرة الملفات',
editorPathPlaceholder: 'مسار الملف (نسبي لدليل الجلسة أو مطلق)، Enter للفتح',
editorSearchPlaceholder: 'البحث في الملفات بالاسم…',
editorSearchNoResults: 'لا ملفات مطابقة',
editorSearchTruncated: 'نتائج كثيرة جداً — عرض قائمة جزئية',
editorEmptyHint: 'اختر ملفاً من لوحة الشجرة أو من حقل المسار بالأعلى لبدء المعاينة',
openFileNewTab: 'فتح في تبويب جديد',
openFileSide: 'فتح إلى الجانب',
openWithMenu: 'فتح بواسطة',
openWithSshSuffix: ' (SSH)',
pinOpenWith: 'تثبيت في القائمة',
unpinOpenWith: 'إلغاء التثبيت',
openWithExplorer: 'مدير الملفات',
openWithVscode: 'VS Code',
openWithCursor: 'Cursor',
openWithZed: 'Zed',
openWithSettingsSshTitle: 'مضيف SSH البعيد',
openWithSettingsSshDesc: 'فارغ = مساحة عمل محلية؛ مع user@host أو اسم مستعار SSH، تتحوّل فواتح عائلة VSCode إلى بروتوكول vscode-remote/ssh-remote ويُخفى مدير الملفات وZed والمحرّرات المخصّصة غير التابعة لعائلة VSCode من القائمة',
openWithSettingsSshPlaceholder: 'user@host أو اسم مستعار SSH',
openWithSettingsCustomTitle: 'محرّرات مخصّصة',
openWithSettingsCustomDesc: 'اسم + قالب URL (عنصر نائب {path}) + علامة عائلة VSCode؛ في الوضع البعيد، يمكن فقط لمحرّرات عائلة VSCode فتح مسار بعيد',
openWithSettingsAdd: 'إضافة',
openWithSettingsName: 'الاسم',
openWithSettingsTemplate: 'مثل cursor://file/{path}',
openWithSettingsFamily: 'عائلة VSCode',
openWithSettingsFamilyDesc: 'يتحدّث هذا المحرّر لهجة URL لـ VSCode (يدعم الفتح عبر SSH البعيد)',
openWithSettingsRemove: 'إزالة',
openWithSettingsInvalidHint: 'لن تظهر المحرّرات التي تفتقر إلى الاسم أو القالب (يلزم أن يحتوي على {path} ويبدأ بـ scheme://) في القائمة',
newTab: 'تبويب جديد',
openExplorer: 'المستكشف',
brokenSymlink: 'رابط رمزي معطوب',
openGit: 'لوحة Git',
newTerminal: 'طرفية جديدة',
terminalLimit: 'تم بلوغ حد الطرفيات (3)',
close: 'إغلاق',
closeOtherTabs: 'إغلاق التبويبات الأخرى',
closeLeftTabs: 'إغلاق التبويبات على اليسار',
closeRightTabs: 'إغلاق التبويبات على اليمين',
moveToFreeWindow: 'النقل إلى نافذة حرة',
floatDropHint: 'حرّك للفتح في نافذة حرة',
dockToSidebar: 'العودة إلى الشريط الجانبي',
pinTerminal: 'تثبيت الطرفية',
pinAgentTerminal: 'تثبيت طرفية Agent',
pinToWorkspace: 'تثبيت إلى مساحة العمل',
pinToGlobal: 'تثبيت عام',
unpinTerminal: 'إلغاء التثبيت',
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
pinnedTerminalKindUi: 'واجهة طرفية',
pinnedTerminalKindAgent: 'طرفية Agent',
pinnedTerminalScopeWorkspace: 'مثبتة في مساحة العمل',
pinnedTerminalScopeGlobal: 'مثبتة عام',
pinnedRailLabel: 'الطرفيات المثبتة',
closePinnedTerminal: 'إغلاق الطرفية',
collapse: 'طي الشريط الجانبي',
expand: 'توسيع الشريط الجانبي',
collapseBottomPanel: 'طي اللوحة السفلية',
expandBottomPanel: 'توسيع اللوحة السفلية',
terminalError: 'فشل اتصال الطرفية',
terminalConnectFailed: 'فشل اتصال الطرفية عدة مرات',
terminalRetry: 'إعادة المحاولة',
terminalDepsFailed: 'فشل تحميل تبعية الطرفية node-pty',
terminalDepsHint: 'شغّل الأمر التالي في طرفية أو cmd على جهاز DSH للإصلاح، ثم أعد المحاولة (يبقى node-pty متزامناً مع إصدار نواة DSH):',
terminalDepsProfile: ' (الملف الشخصي المكتشف: {profile})',
preview: 'معاينة',
toc: 'الفهرس',
edit: 'تحرير',
mermaidError: 'فشل رسم Mermaid',
mermaidZoomIn: 'تكبير',
mermaidZoomOut: 'تصغير',
mermaidZoomReset: 'إعادة تعيين',
mermaidZoomHint: 'العجلة للتقريب · السحب للتحريك · Esc للإغلاق',
refresh: 'تحديث',
showInFolder: 'إظهار في المجلد',
refreshUnsavedConfirm: 'تغيّر الملف على القرص. سيؤدي التحديث إلى فقدان التعديلات غير المحفوظة. متابعة؟',
save: 'حفظ',
saved: 'تم الحفظ',
unsaved: 'غير محفوظ',
saveFailed: 'فشل الحفظ',
truncation: 'الملف كبير جداً — عرض أول 512KB',
binary: 'ملف ثنائي، المعاينة غير متاحة',
loading: 'جارٍ التحميل…',
error: 'فشل التحميل',
retry: 'إعادة المحاولة',
splitLeft: 'تقسيم يساراً',
splitRight: 'تقسيم يميناً',
splitUp: 'تقسيم لأعلى',
splitDown: 'تقسيم لأسفل',
notRepo: 'هذا الدليل ليس مستودع git',
noChanges: 'لا تغييرات',
statusTruncated: 'التغييرات كثيرة جدًا؛ يتم عرض أول 2000 إدخال فقط',
stage: 'إدراج',
unstage: 'إلغاء الإدراج',
stageAll: 'إدراج الكل',
unstageAll: 'إلغاء إدراج الكل',
commitPlaceholder: 'رسالة التثبيت (Ctrl+Enter)',
commit: 'تثبيت',
commitError: 'فشل التثبيت',
branch: 'الفرع',
worktree: 'شجرة العمل',
checkoutError: 'فشل تبديل الفرع',
history: 'السجل',
changes: 'تغييرات الملفات',
changesGitLens: 'Git',
changesSessionLens: 'الجلسة',
changesFilterAll: 'الكل',
changesFilterEmpty: 'لا توجد عمليات من هذا النوع',
changesOpenDiffTab: 'فتح في تبويب diff منفصل',
changesClosePreview: 'إغلاق المعاينة',
changesResizePreview: 'تغيير حجم المعاينة',
changesDiffOpenTitle: 'يفتح الفرق كـ',
changesDiffOpenDesc: 'أين يضع إجراء «التوسيع إلى تبويب diff» الفرق',
changesDiffOpenFloat: 'نافذة عائمة',
changesDiffOpenFloatDesc: 'نافذة عائمة في وسط الشاشة — سحب وتحجيم وتثبيت فوق',
changesDiffOpenPane: 'لوحة',
changesDiffOpenPaneDesc: 'مثبتة أسفل اللوحة المصدر (تقسيم diff بنمط VSCode)',
changesLoadError: 'سجلات ملفات الجلسة غير متاحة الآن',
staged: 'مُدرج',
unstaged: 'غير مُدرج',
cancel: 'إلغاء',
diffEmpty: 'لا تغييرات نصية',
diffLoadError: 'فشل تحميل الفرق',
diffBinary: 'ثنائي',
diffAdded: 'مُضاف',
diffDeleted: 'محذوف',
diffRenamed: 'إعادة تسمية',
diffExpand: 'إظهار {count} صفوف أخرى',
diffCollapse: 'طي',
discard: 'تجاهل التغييرات',
discardTitle: 'تجاهل التغييرات',
discardDesc: 'هذا يتجاهل تغييرات مساحة العمل في "{path}" (غير قابل للاستعادة).',
viewCommitDiff: 'عرض فرق التثبيت',
copyShortHash: 'نسخ الهاش القصير',
copyFullHash: 'نسخ الهاش الكامل',
copySubject: 'نسخ موضوع التثبيت',
revertCommit: 'عكس التثبيت',
revertTitle: 'عكس التثبيت',
revertDesc: 'ينشئ تثبيتاً جديداً على الفرع الحالي يعكس "{subject}".',
cherryPickCommit: 'اقتطاف التثبيت',
cherryPickTitle: 'اقتطاف التثبيت',
cherryPickDesc: 'يطبّق تغييرات "{subject}" على الفرع الحالي.',
timeJustNow: 'الآن',
timeMinutesAgo: 'منذ {n} دقيقة',
timeHoursAgo: 'منذ {n} ساعة',
timeYesterday: 'أمس',
loadMore: 'تحميل المزيد',
historyLoadError: 'فشل تحميل المزيد من السجل',
produced: 'النواتج',
producedOpen: 'فتح في الشريط الجانبي',
disconnected: 'انقطع اتصال الطرفية، جارٍ إعادة الاتصال…',
exited: 'خرجت عملية الطرفية',
noSession: 'اختر محادثة لاستخدام الشريط الجانبي',
pluginNotLoaded: 'الإضافة غير محمّلة؛ التبويب غير متاح:',
hiddenFiles: 'ملفات مخفية',
parent: 'الدليل الأصل',
copied: 'تم النسخ',
copy: 'نسخ',
newFile: 'ملف جديد',
openEditor: 'فتح المحرّر',
gitDetail: 'عرض تفاصيل التغيير',
referenceFile: '@ملف',
addToConversation: 'إضافة إلى المحادثة',
copyRelative: 'نسخ المسار النسبي',
copyAbsolute: 'نسخ المسار المطلق',
download: 'تنزيل',
uploadFiles: 'رفع ملفات',
uploadFolder: 'رفع مجلد',
uploadHere: 'ارفع هنا',
uploadDropHint: 'أسقط الملفات/المجلدات هنا للرفع',
uploadDropChat: 'الإسقاط على منطقة المحادثة: إضافة صور إلى المحادثة',
uploadTo: 'رفع إلى {dir}',
uploadingTo: 'جارٍ الرفع إلى {dir}…',
uploadProgress: 'جارٍ الرفع {done}/{total}: {name}',
uploadDone: 'تم رفع {count} ملف',
uploadFailed: 'فشل الرفع: {error}',
uploadFailedUnknown: 'خطأ غير معروف',
uploadTooLarge: 'الملف كبير جداً (يتجاوز حد الرفع)',
uploadCancelled: 'تم إلغاء الرفع',
settingsNav: 'البطاقة الجانبية',
settingsIntro: 'إدارة ما تعرضه البطاقة الجانبية وكيف تتصرف',
settingsPopupDesc: 'تكوين خيارات ذات صلة بـ {feature}',
settingsDone: 'تم',
settingsOpenTitle: 'فتح افتراضياً للمحادثات الجديدة',
settingsOpenDesc: 'توسيع البطاقة الجانبية تلقائياً للمحادثات الجديدة تماماً؛ المحادثات الموجودة تحتفظ بتخطيطاتها',
settingsWidthTitle: 'الحصة الافتراضية للعرض',
settingsWidthDesc: 'الحصة الافتراضية للبطاقة الجانبية من عرض النافذة للمحادثات الجديدة (20–60)',
settingsWidthSuffix: '%',
settingsOpenPathTitle: 'فتح ملفات المحادثة في الشريط الجانبي',
settingsOpenPathDesc: 'فتح روابط الملفات في المحادثة (صفوف الأدوات، الملفات الناتجة، الإشارات) في محرّر الشريط الجانبي بدلاً من التطبيق الافتراضي للنظام',
settingsOpenToolsTitle: 'حقن أداة فتح الشريط الجانبي للنموذج',
settingsOpenToolsDesc: 'عند التفعيل، يمكن للنموذج فتح الملفات والمجلدات وصفحات HTTP(S) في الشريط الجانبي عبر أداة sidebar_open (معطّل افتراضياً)',
settingsTitleBarTitle: 'وضع توافق الموضع',
settingsTitleBarDesc: 'اختر نظام توافق الشريط العلوي: كشف تلقائي (افتراضي، محافظ) / ويب DSH الرسمي / أغلفة سطح المكتب المعروفة / مخصّص (مسافة الإزاحة + CSS مخصّص)',
settingsTitleBarStripTitle: 'مسافة الإزاحة',
settingsTitleBarStripDesc: 'ارتفاع شريط الشريط العلوي: كم بكسل تتحرك به أزرار الشريط الجانبي والمحتوى للأسفل (0–120، افتراضي 40؛ يسري تحت النظام المخصّص)',
settingsSchemeAutoTitle: 'كشف تلقائي',
settingsSchemeAutoDesc: 'محافظ: يساهم فقط معيار Window Controls Overlay API (ارتفاع التسمية التوضيحية الحقيقي)؛ بيئات الويب العادية لا تعدّل شيئاً',
settingsSchemeWebTitle: 'ويب DSH الرسمي',
settingsSchemeWebDesc: 'صراحة: الإعلان عن تشغيل في واجهة الويب الرسمية: لا أي تكيّف (حتى هندسة WCO القياسية لا تطبّق)',
settingsSchemeCustomTitle: 'مخصّص',
settingsSchemeCustomDesc: 'تحكّم كامل: حقن CSS مخصّص (يمكن أن يلغي الأنماط المدمجة) وتحديد مسافة إزاحة الشريط العلوي',
settingsSchemeDetectedSuffix: 'تم الكشف',
settingsCustomCssTitle: 'CSS مخصّص',
settingsCustomCssDesc: 'أنماط تُضاف في نهاية الصفحة (المكتوب لاحقاً يكسر التعادل في نفس الأولوية؛ استخدم !important لتلغي المتغيرات المكتوبة بواسطة JS)',
settingsCustomCssPlaceholder: '/* مثال: حجز 36px لغلاف له شريط علوي مرسوم ذاتياً */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
settingsSaveFailed: 'فشل الحفظ',
settingsConflict: 'تغيّر الإعداد في نافذة أخرى — يُرجى إعادة المحاولة',
binaryNoPreview: 'لا يمكن معاينة هذا النوع من الملفات',
downloadToView: 'تنزيل للعرض',
settingsSubagentTitle: 'تفعيل صفحة المهام تلقائياً عند ظهور وكيل فرعي',
settingsSubagentDesc: 'تُفعَّل صفحة المهام عندما تُنشئ المحادثة الحالية وكيلاً فرعياً جديداً؛ في الشاشات العريضة تُوسَّع البطاقة الجانبية أيضاً، أما في الشاشات الضيقة فلا يُفرض فتح الدرج بملء الشاشة؛ عند إيقاف الخيار يصبح الفتح يدوياً',
settingsJobsTitle: 'تفعيل صفحة المهام تلقائياً عند ظهور مهمة خلفية جديدة',
settingsJobsDesc: 'تُفعَّل صفحة المهام كلما ظهرت مهمة خلفية جديدة للمحادثة الحالية (كل مهمة جديدة تُطلق التفعيل)؛ في الشاشات العريضة تُوسَّع البطاقة الجانبية أيضاً، أما في الشاشات الضيقة فلا يُفرض فتح الدرج بملء الشاشة؛ عند إيقاف الخيار يصبح الفتح يدوياً',
settingsToolsTitle: 'حقن أدوات الطرفية للنموذج',
settingsToolsDesc: 'عند التفعيل، يمكن للنموذج إنشاء وتشغيل طرفيات الشريط الجانبي عبر أدوات terminal_* الثمانية (معطّل افتراضياً)',
settingsFenceTitle: 'فحص مسارات مساحة العمل',
settingsFenceDesc: 'عند التفعيل، تصل وظائف الملفات في الشريط الجانبي إلى مسارات داخل مساحة عمل الجلسة فقط (الافتراضي)؛ عند الإيقاف تصبح ملفات المضيف كلها متاحة — وتحصل سكربتات الصفحة على النفاذ نفسه طوال ذلك',
fenceErrorReason: 'هذا المسار خارج مساحة عمل الجلسة وقد حجبه الفحص',
fenceDisableAction: 'إيقاف فحص مساحة العمل',
settingsBottomTerminalTitle: 'فتح طرفية تلقائياً عند أول توسيع للوحة السفلية',
settingsBottomTerminalDesc: 'عند توسيع اللوحة السفلية لأول مرة في الجلسة، حاول فتح تبويب طرفية جديد هناك (حصة الطرفيات ما زالت تسري؛ مفعّل افتراضياً)',
settingsFontFamilyTitle: 'عائلة خط الطرفية',
settingsFontFamilyDesc: 'عائلة خط الطرفية المخصّصة (مكدس CSS font-family مثل "JetBrains Mono", monospace؛ اتركه فارغاً لاتّباع خط السمة أحادي المسافة)',
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
settingsFontSizeTitle: 'حجم خط الطرفية',
settingsFontSizeDesc: 'حجم خط الطرفية بالبكسل (9–32، افتراضي 13)',
settingsFontSizeSuffix: 'px',
settingsShellTitle: 'مسار الصدفة',
settingsShellDesc: 'الصدفة التي تُطلق لطرفيات الواجهة والنموذج (مسار مطلق أو اسم تنفيذي مجرّد). الفراغ يحافظ على الترتيب القائم: yaml config.shell ← $SHELL / صدفة الدخول / Windows powershell.exe. يسري على الطرفيات المفتوحة لاحقاً',
settingsShellPlaceholder: 'مثل /bin/zsh (فارغ = تلقائي)',
settingsShellArgsTitle: 'وسائط الصدفة',
settingsShellArgsDesc: 'وسائط صدفة صريحة، مفصولة بمسافات؛ عند عدم الفراغ تستبدل الافتراضيات بالكامل (نفس عقد yaml shellArgs)',
settingsShellArgsPlaceholder: 'مثل -l (فارغ = الافتراضيات)',
settingsTabsTitle: 'محتوى الشريط الجانبي',
settingsViewersTitle: 'عارضات الملفات',
settingsGeneralTitle: 'عام',
settingsPopup: 'إعدادات الميزة',
settingsViewerCatchAll: 'شامل: أي ملف',
viewerImage: 'صورة',
viewerPdf: 'PDF',
viewerMarkdown: 'Markdown',
viewerCode: 'كود',
viewerBinary: 'تنزيل ثنائي',
viewerHtml: 'HTML',
browser: 'المتصفح',
browserPlaceholder: 'أدخل عنوان URL، مثل example.com',
browserGo: 'اذهب',
browserBack: 'للخلف',
browserForward: 'للأمام',
browserStart: 'أدخل عنوان URL لبدء التصفح (وضع الحماية)',
browserBlockedScheme: 'محظور: يُسمح فقط بعناوين URL من نوع http/https',
browserBlockedLoopback: 'محظور: لا يمكن تصفّح العناوين المحلية والداخلية هنا',
browserInvalid: 'عنوان URL غير صالح',
browserNoSandboxWarning: 'الحماية معطّلة: الصفحة الحالية تعمل بكامل صلاحيات الواجهة (يمكن إعادة تفعيلها في الإعدادات)',
htmlNoSandboxWarning: 'الحماية معطّلة: يعمل هذا HTML بنفس أصل الواجهة — يمكنه قراءة ملفات الجلسة وواجهات API الداخلية (يمكن إعادة تفعيلها في الإعدادات)',
sandboxStatusOn: 'وضع الحماية: مفعّل · لا يمكن للصفحات الوصول إلى بيانات الواجهة أو الملفات المحلية؛ قد لا تعمل تسجيلات الدخول وملفات الارتباط التابعة لجهات خارجية',
sandboxUnlock: 'تعطيل مؤقت (غير آمن)',
sandboxRestore: 'استعادة الحماية',
settingsHtmlDefaultUnsafeTitle: 'فتح معاينات HTML بدون حماية افتراضياً (غير آمن)',
settingsHtmlDefaultUnsafeDesc: 'عند التفعيل، تبدأ كل معاينة HTML مفتوحة حديثاً في الحالة غير المحمية (نفس أصل الواجهة — يمكنها قراءة ملفات الجلسة وواجهات API الداخلية)؛ يوفر صف الحالة استعادة بلمسة واحدة',
settingsHtmlSandboxTitle: 'تعطيل حماية معاينة HTML (غير آمن)',
settingsHtmlSandboxDesc: 'مع تعطيل الحماية، يعمل HTML المعاين بنفس أصل الواجهة: يمكنه قراءة ملفات الجلسة والتخزين المحلي واستدعاء واجهات API الداخلية. فعّله فقط للملفات الموثوقة بالكامل',
settingsBrowserSandboxTitle: 'تعطيل حماية المتصفح (غير آمن)',
settingsBrowserSandboxDesc: 'مع تعطيل الحماية، يعمل أي موقع تزوره بنفس أصل الواجهة: يمكنه قراءة بيانات الجلسة وانتحال جلسة تسجيل الدخول الخاصة بك. فعّله فقط للمواقع الموثوقة بالكامل',
settingsBrowserLinksTitle: 'فتح الروابط الخارجية للمحادثة في الشريط الجانبي',
settingsBrowserLinksDesc: 'عند التفعيل، النقر على رابط خارجي في المحادثة أو الواجهة يفتح الشريط الجانبي بدلاً من نافذة جديدة؛ يتحكّم في HTTP وHTTPS بشكل منفصل بالمبدلات بالأسفل؛ Ctrl/Cmd+نقر يتجاوز دائماً',
settingsBrowserHttpTitle: 'فتح صفحات HTTP في الشريط الجانبي',
settingsBrowserHttpDesc: 'عند التفعيل، النقر على رابط HTTP خارجي في المحادثة أو الواجهة يفتح الشريط الجانبي (صفحات الإضافات المعرّفة عن urlTarget تفوز)؛ Ctrl/Cmd+نقر يتجاوز دائماً',
settingsBrowserHttpsTitle: 'فتح صفحات HTTPS في الشريط الجانبي',
settingsBrowserHttpsDesc: 'عند التفعيل، النقر على رابط HTTPS خارجي في المحادثة أو الواجهة يفتح الشريط الجانبي. معطّل افتراضياً: معظم مواقع HTTPS ترفض التضمين، لذا فالمتصفح الافتراضي للنظام هو الخيار الأنسب',
settingsBrowserLoopbackTitle: 'العناوين المحلية المسموح بها',
settingsBrowserLoopbackDesc: 'قائمة بيضاء مفصولة بفواصل لعناوين الاسترجاع المحلي (مثل localhost:5174 أو 127.0.0.1:8080) يمكن للمتصفح الجانبي زيارتها؛ فارغة افتراضيًا تمنع جميع العناوين المحلية. تظل صندوق الحماية سارية — لا يمكن للصفحات قراءة بيانات الواجهة',
settingsBrowserLoopbackPlaceholder: 'مثال localhost:5174, 127.0.0.1:8080',
browserOpenExternal: 'فتح في المتصفح',
browserEmbedBlocked: 'رفض {host} التضمين',
browserEmbedBlockedDesc: 'يحظر الموقع عرضه داخل صفحات أخرى (X-Frame-Options / frame-ancestors)، لذا لا يمكن تحميله في الشريط الجانبي. افتحه مباشرة في متصفحك بدلاً من ذلك.',
browserEmbedAnyway: 'تحميل على أي حال',
subagent: 'المهام',
openSubagent: 'المهام',
subagentMainAgent: 'الوكيل الرئيسي',
subagentEmpty: 'لا وكلاء فرعيون',
subagentEmptyDesc: 'الوكلاء الفرعيون المُنتَجون تحت الوكيل الرئيسي سيظهرون هنا',
subagentRunning: 'قيد التشغيل',
subagentInactive: 'خامل',
subagentModeOneShot: 'مرة واحدة',
subagentModeContinuable: 'قابل للاستئناف',
subagentCount: '{count} وكلاء فرعيون',
subagentCountRunning: '{count} وكلاء فرعيون · {running} قيد التشغيل',
subagentDiagCorrupt: 'تالف',
subagentDiagUnsupported: 'غير مدعوم',
subagentDiagUnavailable: 'غير متاح',
subagentThinking: 'جارٍ التفكير…',
sideChat: 'محادثة جانبية (تجريبية)',
sideChatNew: 'خيط جديد',
sideChatUntitled: 'خيط جديد',
sideChatEmpty: 'لا محادثات جانبية',
sideChatEmptyDesc: 'كل محادثة جانبية هي تبويب مستقل في شريط التبويبات — ترث سياق الجلسة الحالية ولا تدخل المحادثة الرئيسية',
sideChatCreating: 'جارٍ إنشاء محادثة جانبية…',
sideChatRetry: 'إعادة المحاولة',
sideChatThreads: 'تبديل خيط / جديد',
sideChatSave: 'حفظ كجلسة جديدة',
sideChatSaveTitle: 'ترقية هذا الخيط إلى جلسة عالية المستوى في قائمة الجلسات الرئيسية',
sideChatSaved: 'تم الحفظ كجلسة جديدة',
sideChatNoTurn: 'الحفظ متاح بعد أول دور مكتمل',
sideChatPendingDrop: 'لن يُضمَّ آخر متابعة لم يُجَب عنها في الجلسة المحفوظة',
sideChatFirstPlaceholder: 'اطرح السؤال الأول — السياق موروث…',
sideChatComposerPlaceholder: 'متابعة…',
sideChatThinking: 'جارٍ التعمّق…',
sideChatThink: 'التفكير',
sideChatInjection: 'تم حقن السياق',
sideChatSend: 'إرسال',
sideChatCancel: 'إيقاف',
sideChatCancelTitle: 'إلغاء الدور الجاري (يُحتفظ بالعمل في قائمة الانتظار)',
sideChatClose: 'إغلاق الخيط',
sideChatCloseTitle: 'تحرير وكيل الخيط (يُحتفظ بالسجل)',
sideChatError: 'خطأ في المحادثة الجانبية: {message}',
sideChatTurnUsage: 'إدخال {input} توكن · إخراج {output} توكن',
sideChatBlockCollapse: 'طي',
sideChatBlockCollapseAria: 'طي',
sideChatBlockExpand: 'توسيع {hidden} أسطر',
sideChatBlockExpandAria: 'توسيع {hidden} أسطر إضافية',
sideChatBlockSignal: 'أُنهي بالإشارة: {signal}',
sideChatBlockExitCode: 'رمز الخروج {code}',
sideChatBlockRunning: 'قيد التشغيل',
sideChatBlockFailed: 'فشل',
sideChatBlockDone: 'اكتمل',
sideChatBlockNoOutput: '(لا يوجد إخراج)',
sideChatBlockFiles: '{count} ملفات',
sideChatBlockWindow: '{shown} من {total} سطرًا',
sideChatConnDisconnected: 'انقطع الاتصال',
sideChatConnReconnect: 'إعادة الاتصال',
sideChatConnConnecting: 'جارٍ إعادة الاتصال…',
sideChatConnRecovered: 'تم استعادة الاتصال',
sideChatConnReconnectAction: 'إعادة الاتصال الآن',
sideChatConnRestartAction: 'بدء الاتصال من جديد',
jobs: 'المهام الخلفية',
jobsCount: '{count} مهمة خلفية',
jobsCountRunning: '{count} مهمة خلفية · {running} قيد التشغيل',
jobStatusRunning: 'قيد التشغيل',
jobStatusStopping: 'جارٍ الإيقاف',
jobStatusCompleted: 'اكتمل',
jobStatusKilled: 'تم الإنهاء',
jobStatusFailed: 'فشل',
jobDurationSeconds: '{seconds}ث',
jobDurationMinutes: '{minutes}د {seconds}ث',
jobDurationHours: '{hours}س {minutes}د',
jobViewOutput: 'عرض الإخراج',
jobHideOutput: 'إخفاء الإخراج',
jobNoOutput: 'لا إخراج بعد',
jobNotReadYet: 'في انتظار قراءة النموذج لإخراج هذه المهمة؛ سيظهر الإخراج هنا بمجرد أن يشغّل النموذج job_output',
jobOutputTruncated: 'الإخراج مقطوع',
jobOutputError: 'فشل قراءة الإخراج',
jobKill: 'إنهاء',
jobKillConfirm: 'انقر مجدداً للتأكيد على الإنهاء',
jobKillError: 'فشل الإنهاء',
addPluginsTabCard: 'إضافة إضافات تبويب',
addPluginsTabCardDesc: 'تسجيل صفحة شريط جانبي جديدة',
addPluginsViewerCard: 'إضافة إضافات معاينة',
addPluginsViewerCardDesc: 'تسجيل معاينة نوع ملف',
addPluginsTabDesc: 'يمكن توسيع صفحات الشريط الجانبي (التبويبات) بواسطة الإضافات. تُسجَّل الإضافات عبر خدمة ctx.betterSidebar؛ النقر على «تثبيت» ينسخ أمر التثبيت — الصقه في طرفية حيث يقيم ملف DSH الشخصي وشغّله.',
addPluginsViewerDesc: 'يمكن توسيع عارضات الملفات بواسطة الإضافات. تُسجَّل الإضافات عبر خدمة ctx.betterSidebar؛ النقر على «تثبيت» ينسخ أمر التثبيت — الصقه في طرفية حيث يقيم ملف DSH الشخصي وشغّله.',
addPluginsBrowseMore: 'تصفّح المزيد من الإضافات على GitHub (topic: dsh-better-sidebar)',
addPluginsSearch: 'البحث باسم الإضافة / الوصف…',
addPluginsNoMatch: 'لا إضافات مطابقة',
addPluginsRecommended: 'إضافات موصى بها',
addPluginsEmpty: 'لا إضافات منسّقة بعد — انشر إضافتك تحت موضوع GitHub',
openPlugin: 'فتح',
copyInstall: 'نسخ أمر التثبيت',
pluginOfficeDesc: 'معاينة حزمة Office (.docx / .xlsx / .pptx) لمحرّر better-sidebar، مع إبقاء مكتبات عرض Office الثقيلة خارج الحزمة الأساسية، تُثبَّت عند الطلب',
pluginFlowglassDesc: 'مخطط تدفق جلسة حيّ بثلاثة مسارات للمستخدم والمساعد واستدعاءات الأدوات، مع مجموعات متوازية وفروع وكلاء فرعيين وتعمّق تدريجي وحالة حيّة؛ يُسجِّل تبويب Flowglass الأصلي عند تثبيت better-sidebar ويحتفظ بدرجه المستقل كاحتياط',
pluginGitForgeDesc: 'تبويب Git Forge: مكتبة حسابات GitHub/Gitea (وغيرها من Forges) + منح لكل مشروع + سياسة دفع صارمة؛ تبقى الرموز في الأسرار المحلية (لا تدخل سياق النموذج)؛ أداة GitForge للقراءة فقط ومساعد بيانات اعتماد HTTPS للوكيل',
pluginGithubWorkbenchDesc: 'تبويب GitHub Workbench: شجرة المستودع البعيد + Issues / Pull requests / Actions مع دعم كامل للكتابة — إنشاء Issue/PR، والتعليق، والتعديل، والإغلاق/إعادة الفتح، والدمج عبر squash·merge·rebase (بتأكيد قوي)، وإعادة تشغيل CI أو إلغائها؛ يعرض مبدّل المستودعات تلقائيًا المستودعات المتاحة ويتيح البحث في المستودعات العامة؛ وبدون better-sidebar يتحول تلقائيًا إلى لوحة جانبية مستقلة على اليمين',
pluginMdExportDesc: 'يضيف زر «تصدير» إلى شريط أدوات Markdown في better-sidebar: يعرض ملف .md الحالي بنقرة واحدة كملف HTML مستقل (الجداول/كتل الأكواد/مخططات Mermaid مدمجة، والتخطيط يتبع سمة المعاينة) ويحفظه بجوار الملف، أو يصدّره PDF عبر نافذة الطباعة',
pluginCodeNavDesc: 'تنقل معاينة الكود: يكتشف اللغة تلقائياً من نوع الملف ويبرز الصياغة، مخطط الرموز (تصفية الفئات/الطرق/المتغيرات + قفزة بنقرة واحدة)، والبحث داخل الملف (إبراز كل التطابقات، السابق/التالي، مطابقة حالة الأحرف) — يتولى معاينة ملفات الكود في محرر better-sidebar',
pluginSuhuangScrollDesc: 'يربط بيئة Suhuang Scroll المحلية بإعدادات DSH وbetter-sidebar لإعداد النموذج واختبار الاتصال والتحكم في التصحيح المتواصل؛ يتطلب Suhuang Scroll Runtime وdsh-better-sidebar',
pluginBetterOverleafDesc: 'تبويب Overleaf لـ better-sidebar: تسجيل دخول مباشر عبر متصفح CDP (يدعم Chromium من جهات أخرى)، قائمة المشاريع/التبديل، نسخ git محلية ضمن <workspace>/overleaf/، مزامنة git ثنائية الاتجاه مع تراجع إلى API للقراءة فقط، ومعاينة الملفات عبر مساحة عمل الشريط الجانبي',
pluginGitRemotesDesc: 'تبويب Git Remotes: فرع/أصل/أمام-خلف، fetch (مع prune اختياري)، ff-only pull، والدفع فقط بعد تأكيد داخل التبويب. لا يستبدل تبويب Git المدمج للإدراج/التثبيت، ولا يقدّم force-push أو أداة دفع آلي للنموذج',
pluginSentinelDesc: 'نظام إيقاظ وكيل يحرّكه تحقّق الشروط: مستشعرات ملف/عملية/منفذ/HTTP/أمر/webhook توقظ الجلسات الخاملة عند تحقّق الشرط؛ يُسجِّل تبويب «Sentinel» مع جدول مراقبة شامل للخادم',
pluginServerDeckDesc: 'لوحة بطاقات الخوادم: بطاقة لكل خادم تعرض حالة الاتصال ونظام التشغيل ومدة التشغيل واستخدام المعالج/الذاكرة/القرص وزمن الاستجابة؛ انقر على البطاقة لفتح طرفية xterm.js تفاعلية؛ استيراد ~/.ssh/config بنقرة واحدة (يتم تجاهل أسماء مواقع Git المستعارة تلقائياً). يسجّل تبويب «الخوادم» الأصلي عند تثبيت better-sidebar ويحافظ على الدرج الجانبي المستقل كبديل',
pluginSidebarQaDesc: 'حدِّد واسأل: تحديد نص المحادثة ← السؤال في اللوحة اليمنى ← جلسة متابعات مخصّصة في نفس مساحة العمل (❓ متابعة · موضوع): نموذج سريع بلا تفكير يضغط سياق المحادثة الرئيسي ويحقنه مع الاقتباس دون مقاطعة المحادثة الرئيسية؛ المتابعات تتداخل وتستمر وتُؤرشف',
pluginSidenoteDesc: 'محادثة جانبية بأسلوب Codex + تعليقات على التحديد: أنشئ fork للجلسة الحالية في لوحة جانبية دائمة (تُؤرشف فتُخفى من قائمة الجلسات، تعمل نسخ متعددة معًا، أمر /side، تبقى بعد إعادة التحميل، والنموذج يتبع الجلسة الرئيسية)؛ حدِّد نص الـ assistant ← شارة مرقّمة + محرّر ملاحظات ← chip "N تعليقات" يُرفق برسالتك التالية، أو اسأل مباشرةً في محادثة جانبية',
pluginSshTunnelDesc: 'تبويب «SSH Tunnel»: قائمة مضيفين متعددين + منح لكل مشروع + أسرار محلية؛ أداة SSHManager للنموذج (exec/SFTP/استراتيجيات الجلسة)؛ طرفية تفاعلية مركزية وSFTP ذو عمودين',
pluginTurnReviewDesc: 'بوابة بشرية على فرق «الدور المنتهي للتو»: Approve / Request changes لكل مسار مع تعليق اختياري؛ المسارات مجمّعة حسب الجلسة الرئيسية / الوكيل الفرعي / غير منسوب؛ فرق snapshot-vs-now مضمّن قبل القرار. لا تفريع، لا /rewind',
pluginVideoPreviewDesc: 'معاينة فيديو مضمّنة (.mp4/.webm/.mov/.mkv/.avi إلخ) في محرّر better-sidebar، مدعومة بمسار /video مخصّص يدعم HTTP Range (206) — التحكم بالتشغيل يعمل والملفات غير مقيدة بحد mediaLimit البالغ 20MB',
pluginDocsPanelDesc: '«وثائق عامة» في شريط DSH الجانبي: ملاحظات Markdown عامة، قابلة للقراءة من أي مساحة عمل — قائمة ملفات، مخطط تفصيلي، فتح في Chrome / VS Code، وأزرار نسخ؛ دليل الوثائق قابل للتكوين (الافتراضي ~/.dsh/docs)',
pluginEgoBrowserDesc: 'متصفح الوكيل لـ DeepSeek Harness: 32 أداة ego_* تقود متصفح Chromium حقيقي، مع تبويب «متصفح ego» أصلي في الشريط الجانبي يعرض مباشرة كل صفحة يزورها الوكيل — يمكنك النقر والسحب والكتابة لتولي التحكم. يسجّل التبويب تلقائيًا عند وجود better-sidebar، وإلا يظهر كفقاعة عائمة',
pluginBilingualReaderDesc: 'اقرأ ملفات PDF في الشريط الجانبي لـ DSH: عرض PDF أصلي، حدد نصًا لترجمته بواسطة النموذج اللغوي مع السياق، معزولًا تمامًا عن المحادثة الرئيسية',
pluginSentinelName: 'dsh-sentinel نظام الاستيقاظ',
pluginEgoBrowserName: 'ego-browser متصفح الوكيل',
pluginBetterOverleafName: 'dsh-better-overleaf تبويب Overleaf',
pluginDocsPanelName: 'dsh-docs-panel مستندات عامة',
pluginFlowglassName: 'dsh-flowglass Flowglass',
pluginGitForgeName: 'dsh-git-forge بيانات اعتماد Git',
pluginGitRemotesName: 'dsh-git-remotes أجهزة Git البعيدة',
pluginGithubWorkbenchName: 'dsh-github-workbench منصة GitHub',
pluginSidebarQaName: 'dsh-sidebar-qa تحديد وسؤال',
pluginSidenoteName: 'dsh-sidenote محادثة جانبية',
pluginServerDeckName: 'dsh-server-deck لوحة الخوادم',
pluginSuhuangScrollName: 'dsh-suhuang-scroll Suhuang Scroll',
pluginSshTunnelName: 'dsh-ssh-tunnel نفق SSH',
pluginTurnReviewName: 'dsh-turn-review مراجعة الجولة',
pluginBilingualReaderName: 'dsh-bilingual-reader قارئ ثنائي اللغة',
pluginOfficeName: 'معاينة Office',
pluginMdExportName: 'تصدير Markdown',
pluginCodeNavName: 'مستكشف معاينة الكود',
pluginVideoPreviewName: 'معاينة الفيديو',
presetDshDesktopDesc: 'وضع Electron المتقدم (بلا إطار): يحجز macOS شريطًا علويًا بمقدار 20px، ويحجز Windows بمقدار 32px لشريط العنوان عند غياب WCO',
}