feat(i18n): 覆盖支持扩展到 19 语言(de/fr/pt/ko/ar/hi/id/tr/vi/th/ru/it/nl/sv/pl/zh-HK/zh-TW/zh-MO)
This commit is contained in:
@@ -0,0 +1,346 @@
|
||||
/**
|
||||
* 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: 'الملفات',
|
||||
explorer: 'المستكشف',
|
||||
git: 'إدارة المصدر',
|
||||
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: 'إغلاق التبويبات على اليمين',
|
||||
collapse: 'طي الشريط الجانبي',
|
||||
expand: 'توسيع الشريط الجانبي',
|
||||
collapseBottomPanel: 'طي اللوحة السفلية',
|
||||
expandBottomPanel: 'توسيع اللوحة السفلية',
|
||||
terminalError: 'فشل اتصال الطرفية',
|
||||
terminalConnectFailed: 'فشل اتصال الطرفية عدة مرات',
|
||||
terminalRetry: 'إعادة المحاولة',
|
||||
terminalDepsFailed: 'فشل تحميل تبعية الطرفية node-pty',
|
||||
terminalDepsHint: 'شغّل الأمر التالي في طرفية أو cmd على جهاز DSH للإصلاح، ثم أعد المحاولة (يبقى node-pty متزامناً مع إصدار نواة DSH):',
|
||||
terminalDepsProfile: ' (الملف الشخصي المكتشف: {profile})',
|
||||
preview: 'معاينة',
|
||||
edit: 'تحرير',
|
||||
mermaidError: 'فشل رسم Mermaid',
|
||||
mermaidZoomIn: 'تكبير',
|
||||
mermaidZoomOut: 'تصغير',
|
||||
mermaidZoomReset: 'إعادة تعيين',
|
||||
mermaidZoomHint: 'العجلة للتقريب · السحب للتحريك · Esc للإغلاق',
|
||||
refresh: 'تحديث',
|
||||
save: 'حفظ',
|
||||
saved: 'تم الحفظ',
|
||||
unsaved: 'غير محفوظ',
|
||||
saveFailed: 'فشل الحفظ',
|
||||
truncation: 'الملف كبير جداً — عرض أول 512KB',
|
||||
binary: 'ملف ثنائي، المعاينة غير متاحة',
|
||||
loading: 'جارٍ التحميل…',
|
||||
error: 'فشل التحميل',
|
||||
retry: 'إعادة المحاولة',
|
||||
splitLeft: 'تقسيم يساراً',
|
||||
splitRight: 'تقسيم يميناً',
|
||||
splitUp: 'تقسيم لأعلى',
|
||||
splitDown: 'تقسيم لأسفل',
|
||||
notRepo: 'هذا الدليل ليس مستودع git',
|
||||
noChanges: 'لا تغييرات',
|
||||
stage: 'إدراج',
|
||||
unstage: 'إلغاء الإدراج',
|
||||
stageAll: 'إدراج الكل',
|
||||
unstageAll: 'إلغاء إدراج الكل',
|
||||
commitPlaceholder: 'رسالة التثبيت (Ctrl+Enter)',
|
||||
commit: 'تثبيت',
|
||||
commitError: 'فشل التثبيت',
|
||||
branch: 'الفرع',
|
||||
checkoutError: 'فشل تبديل الفرع',
|
||||
history: 'السجل',
|
||||
changes: 'التغييرات',
|
||||
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: 'فتح روابط الملفات في المحادثة (صفوف الأدوات، الملفات الناتجة، الإشارات) في محرّر الشريط الجانبي بدلاً من التطبيق الافتراضي للنظام',
|
||||
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_* الثمانية (معطّل افتراضياً)',
|
||||
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 ترفض التضمين، لذا فالمتصفح الافتراضي للنظام هو الخيار الأنسب',
|
||||
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}',
|
||||
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 للوكيل',
|
||||
pluginGitRemotesDesc: 'تبويب Git Remotes: فرع/أصل/أمام-خلف، fetch (مع prune اختياري)، ff-only pull، والدفع فقط بعد تأكيد داخل التبويب. لا يستبدل تبويب Git المدمج للإدراج/التثبيت، ولا يقدّم force-push أو أداة دفع آلي للنموذج',
|
||||
pluginSentinelDesc: 'نظام إيقاظ وكيل يحرّكه تحقّق الشروط: مستشعرات ملف/عملية/منفذ/HTTP/أمر/webhook توقظ الجلسات الخاملة عند تحقّق الشرط؛ يُسجِّل تبويب «Sentinel» مع جدول مراقبة شامل للخادم',
|
||||
pluginSidebarQaDesc: 'حدِّد واسأل: تحديد نص المحادثة ← السؤال في اللوحة اليمنى ← جلسة متابعات مخصّصة في نفس مساحة العمل (❓ متابعة · موضوع): نموذج سريع بلا تفكير يضغط سياق المحادثة الرئيسي ويحقنه مع الاقتباس دون مقاطعة المحادثة الرئيسية؛ المتابعات تتداخل وتستمر وتُؤرشف',
|
||||
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)',
|
||||
}
|
||||
Reference in New Issue
Block a user