mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-18 12:52:25 +03:00
sync-ui-keys --catalog=cli + blocking i18n:check-keys:cli gate; 65 CLI catalogs synced (52,000 strings, 0 __MISSING__, all 830 keys, placeholders verified). ⚠️ base-red inherited: #12732
1341 lines
68 KiB
JSON
1341 lines
68 KiB
JSON
{
|
||
"common": {
|
||
"error": "خطأ: {message}",
|
||
"serverOffline": "خادم OmniRoute غير متصل. ابدأ بالأمر: omniroute serve",
|
||
"authRequired": "المصادقة مطلوبة. عيّن OMNIROUTE_API_KEY أو شغّل: omniroute setup",
|
||
"rateLimited": "تم تجاوز حد الطلبات. أعد المحاولة بعد {seconds} ثانية.",
|
||
"timeout": "انتهت مهلة الطلب بعد {ms}ms.",
|
||
"success": "تم.",
|
||
"yes": "نعم",
|
||
"no": "لا",
|
||
"confirm": "هل أنت متأكد؟ (نعم/لا)",
|
||
"dryRun": "[محاكاة] سيتم: {action}",
|
||
"cancelled": "تم الإلغاء.",
|
||
"jsonOpt": "إخراج بتنسيق JSON",
|
||
"yesOpt": "تخطي رسالة التأكيد"
|
||
},
|
||
"setup": {
|
||
"title": "إعداد OmniRoute",
|
||
"passwordPrompt": "كلمة مرور المسؤول",
|
||
"providerPrompt": "المزوّد الافتراضي (اتركه فارغًا للتخطي)",
|
||
"done": "اكتمل الإعداد",
|
||
"passwordSet": "تم تكوين كلمة مرور المسؤول",
|
||
"providerSet": "تم تكوين المزوّد: {name}",
|
||
"testingProvider": "جارٍ اختبار الاتصال بالمزوّد: {name}",
|
||
"testPassed": "نجح اختبار المزوّد",
|
||
"testFailed": "فشل اختبار المزوّد: {error}",
|
||
"loginEnabled": "تسجيل الدخول: مفعّل (تم تحديث كلمة المرور)",
|
||
"loginDisabled": "تسجيل الدخول: معطّل",
|
||
"providerInfo": "المزوّد: {info}",
|
||
"opencode": "ثبّت وعيّن إعدادات @omniroute/opencode-plugin المضمّنة لـ OpenCode"
|
||
},
|
||
"doctor": {
|
||
"title": "أداة تشخيص OmniRoute",
|
||
"dbOk": "قاعدة البيانات: سليمة ({path})",
|
||
"dbMissing": "قاعدة البيانات: غير مهيأة — شغّل `omniroute setup`",
|
||
"portOk": "المنفذ {port}: متاح",
|
||
"portConflict": "المنفذ {port}: مستخدم بواسطة عملية أخرى",
|
||
"encryptionOk": "مفتاح التشفير: تم تكوينه",
|
||
"encryptionMissing": "مفتاح التشفير مفقود — شغّل `omniroute setup`",
|
||
"allGood": "نجحت جميع عمليات التحقق.",
|
||
"warnings": "{count} تحذير — انظر أعلاه."
|
||
},
|
||
"providers": {
|
||
"title": "المزوّدون",
|
||
"noProviders": "لم يتم تكوين أي مزوّدين. شغّل: omniroute setup",
|
||
"testing": "جارٍ اختبار {name}...",
|
||
"available": "عدد المزوّدين المتاحين: {count}",
|
||
"connected": "متصل",
|
||
"disconnected": "غير متصل",
|
||
"validationFailed": "فشل التحقق: {error}",
|
||
"metrics": {
|
||
"description": "اعرض مقاييس أداء المزوّد (زمن الاستجابة، معدل النجاح، التكلفة)",
|
||
"provider": "صفِّ حسب معرّف المزوّد",
|
||
"connection_id": "صفِّ حسب معرّف الاتصال",
|
||
"period": "الفترة الزمنية: 1h|6h|24h|7d|30d (الافتراضي: 24h)",
|
||
"metric": "ركّز على حقل مقياس محدد",
|
||
"sort": "رتّب حسب الحقل (تنازليًا)",
|
||
"limit": "الحد الأقصى للصفوف (الافتراضي: 50)",
|
||
"watch": "حدّث كل 5s (الوضع المباشر)",
|
||
"compare": "معرّفات المزوّدين المفصولة بفواصل للمقارنة جنبًا إلى جنب"
|
||
},
|
||
"metric_single": {
|
||
"description": "احصل على قيمة مقياس واحدة لاتصال محدد"
|
||
},
|
||
"rotate": {
|
||
"description": "استبدل مفتاح API الرئيسي لاتصال المزوّد",
|
||
"newKeyOpt": "قيمة مفتاح API الجديدة (تجنّب ذلك: يُفضّل استخدام --from-env)",
|
||
"fromEnvOpt": "قراءة المفتاح الجديد من متغير البيئة VAR",
|
||
"oauthOpt": "تشغيل تدفق إعادة المصادقة عبر OAuth بدلاً من ذلك",
|
||
"skipTestOpt": "تخطي اختبار الاتصال بعد التدوير",
|
||
"dryRunOpt": "عرض ما سيتغير دون كتابة",
|
||
"confirmPrompt": "استبدال مفتاح API للاتصال \"{name}\" ({id})؟ [y/N]",
|
||
"dryRunResult": "[dry-run] سيتم تدوير مفتاح \"{name}\" ({id}). لم تُجرَ أي تغييرات.",
|
||
"oauthHint": "اتصال OAuth — شغّل: omniroute oauth {provider}",
|
||
"envVarEmpty": "متغير البيئة {var} غير معيّن أو فارغ.",
|
||
"success": "تم تدوير مفتاح \"{name}\". شغّل `providers test {id}` للتحقق.",
|
||
"testPassed": "نجح اختبار ما بعد التدوير.",
|
||
"testFailed": "فشل اختبار ما بعد التدوير: {error}"
|
||
},
|
||
"status": {
|
||
"description": "عرض حالة المفاتيح لجميع اتصالات موفّري الخدمة (العمر، انتهاء الصلاحية، فترة الانتظار)",
|
||
"providerOpt": "التصفية حسب اسم موفّر الخدمة",
|
||
"header": "المعرّف موفّر الخدمة الاسم حالة الانتهاء حالة الاختبار انتهاء فترة الانتظار",
|
||
"noData": "لا تتوفر بيانات لاتصالات موفّري الخدمة.",
|
||
"requiresServer": "يتطلب providers status أن يكون خادم OmniRoute قيد التشغيل."
|
||
}
|
||
},
|
||
"keys": {
|
||
"title": "مفاتيح API",
|
||
"addDescription": "إضافة مفتاح API لموفّر خدمة أو تحديثه",
|
||
"listDescription": "عرض جميع مفاتيح API المهيّأة",
|
||
"removeDescription": "إزالة مفتاح API لموفّر خدمة",
|
||
"regenerateDescription": "إعادة إنشاء مفتاح API خاص بـ OmniRoute",
|
||
"revokeDescription": "إلغاء مفتاح API خاص بـ OmniRoute",
|
||
"revealDescription": "إظهار قيمة مفتاح API غير المحجوبة",
|
||
"usageDescription": "عرض الاستخدام الأخير لمفتاح API",
|
||
"usageLimitOpt": "عدد الطلبات الأخيرة",
|
||
"rotateDescription": "إنشاء مفتاح جديد وإبطال المفتاح القديم",
|
||
"graceOpt": "فترة السماح (ms) قبل إبطال المفتاح القديم",
|
||
"stdinOpt": "قراءة مفتاح API من stdin بدلاً من الوسيطة",
|
||
"added": "تمت إضافة المفتاح لـ {provider}.",
|
||
"removed": "تمت إزالة المفتاح.",
|
||
"listed": "{count} مفتاح/مفاتيح.",
|
||
"noKeys": "لا توجد مفاتيح مهيّأة.",
|
||
"noUsage": "لم يتم العثور على بيانات استخدام.",
|
||
"confirmRemove": "إزالة المفتاح {id}؟",
|
||
"confirmRegenerate": "إعادة إنشاء المفتاح {id}؟",
|
||
"confirmRevoke": "إلغاء المفتاح {id}؟",
|
||
"confirmRotate": "تدوير المفتاح {id}؟ (سيتم إبطال المفتاح القديم بعد فترة السماح)",
|
||
"regenerated": "تمت إعادة الإنشاء. المفتاح الجديد: {key}",
|
||
"revoked": "تم إلغاء المفتاح {id}.",
|
||
"rotated": "تم تدوير المفتاح {id}. معرّف المفتاح الجديد: {newId}",
|
||
"revealWarning": "⚠ سيؤدي هذا إلى عرض المفتاح كاملًا دون إخفاء. تأكد من أن شاشتك خاصة.",
|
||
"providerRequired": "المزوّد مطلوب.",
|
||
"keyRequired": "مفتاح API مطلوب.",
|
||
"stdinEmpty": "لم يتم توفير مفتاح API عبر stdin.",
|
||
"unknownProvider": "مزوّد غير معروف: {provider}",
|
||
"policy": {
|
||
"title": "سياسة المفتاح",
|
||
"showDescription": "عرض سياسة المعدّل/التكلفة لمفتاح",
|
||
"setDescription": "تعيين سياسة المعدّل/التكلفة لمفتاح",
|
||
"rateLimitOpt": "الحد الأقصى للطلبات في الدقيقة",
|
||
"maxCostOpt": "الحد الأقصى للتكلفة اليومية (USD)",
|
||
"allowedModelsOpt": "قائمة بالنماذج المسموح بها مفصولة بفواصل",
|
||
"nothingToSet": "لم يتم توفير أي حقول للسياسة. استخدم --rate-limit أو --max-cost أو --allowed-models.",
|
||
"updated": "تم تحديث السياسة."
|
||
},
|
||
"expiration": {
|
||
"title": "انتهاء صلاحية المفتاح",
|
||
"listDescription": "عرض المفاتيح التي ستنتهي صلاحيتها قريبًا",
|
||
"daysOpt": "عرض المفاتيح التي ستنتهي صلاحيتها خلال N يومًا",
|
||
"none": "لا توجد مفاتيح ستنتهي صلاحيتها خلال {days} يومًا.",
|
||
"listTitle": "المفاتيح التي ستنتهي صلاحيتها خلال {days} يومًا:"
|
||
}
|
||
},
|
||
"authExport": {
|
||
"description": "تصدير بيانات اعتماد المزوّد بعد فك تشفيرها (محلي فقط، ومخرجات بنص صريح)",
|
||
"idOpt": "تصدير الاتصال المطابق لهذا المعرّف/الاسم/المزوّد فقط",
|
||
"formatOpt": "تنسيق الإخراج: json أو env",
|
||
"outOpt": "كتابة المخرجات إلى ملف بدلًا من stdout (سيُكتب بأذونات 0600)",
|
||
"forceOpt": "أكّد أنك تدرك أن هذا يطبع/يكتب الأسرار بنص صريح",
|
||
"warning": "⚠ يؤدي هذا إلى طباعة/كتابة مفاتيح API ورموز OAuth بعد فك تشفيرها بنص صريح. تأكد من الحفاظ على خصوصية شاشتك وسجل الصدفة وأي ملف مخرجات.",
|
||
"confirmHeading": "⚠ تحذير: يؤدي هذا إلى تصدير بيانات اعتماد المزوّد بعد فك تشفيرها بنص صريح",
|
||
"confirmBody": "يفك هذا الأمر تشفير apiKey وaccessToken وrefreshToken و\nidToken ويطبعها/يكتبها للاتصال (أو الاتصالات) المحدد. تعامل مع المخرجات باعتبارها سرًا.",
|
||
"confirmFooter": "للتأكيد، شغّل:\n omniroute auth export --force",
|
||
"missingKey": "يلزم STORAGE_ENCRYPTION_KEY لتصدير بيانات الاعتماد.",
|
||
"notFound": "لم يتم العثور على الاتصال: {id}",
|
||
"invalidFormat": "تنسيق غير صالح: {format}. استخدم json أو env."
|
||
},
|
||
"stream": {
|
||
"description": "بث استجابة محادثة باستخدام أوضاع فحص SSE",
|
||
"file": "قراءة المطالبة من ملف",
|
||
"stdin": "قراءة المطالبة من stdin",
|
||
"model": "معرّف النموذج (الافتراضي: auto)",
|
||
"system": "مطالبة النظام",
|
||
"combo": "فرض مجموعة محددة بالاسم",
|
||
"max_tokens": "الحد الأقصى للرموز المميزة في الاستجابة",
|
||
"responses_api": "استخدام /v1/responses بدلًا من /v1/chat/completions",
|
||
"raw": "طباعة أسطر SSE الأولية كما تم استلامها",
|
||
"debug": "طباعة معلومات توقيت كل جزء إلى stderr",
|
||
"save": "حفظ جميع أحداث SSE في ملف .jsonl",
|
||
"error": {
|
||
"empty_prompt": "خطأ: نص المطالبة مطلوب (وسيطة موضعية، أو --file، أو --stdin)"
|
||
}
|
||
},
|
||
"usage": {
|
||
"description": "تحليلات الاستخدام والميزانيات والحصص والسجلات",
|
||
"analytics": {
|
||
"description": "عرض تحليلات الاستخدام المجمّعة",
|
||
"period": "النطاق الزمني: 1d|7d|30d|90d|ytd|all (الافتراضي: 30d)",
|
||
"provider": "التصفية حسب معرّف المزوّد"
|
||
},
|
||
"budget": {
|
||
"description": "إدارة ميزانيات التكلفة",
|
||
"set": {
|
||
"scope": "نطاق الميزانية (الافتراضي: global)",
|
||
"period": "فترة الميزانية: daily|weekly|monthly (الافتراضي: monthly)"
|
||
}
|
||
},
|
||
"quota": {
|
||
"description": "عرض استخدام حصة المزوّد",
|
||
"provider": "التصفية حسب معرّف المزوّد",
|
||
"check": "عرض ما إذا كانت الحصة متاحة لطلب جديد"
|
||
},
|
||
"logs": {
|
||
"description": "عرض سجلات استدعاءات الطلبات",
|
||
"limit": "عدد إدخالات السجل المطلوب إرجاعها (الافتراضي: 100)",
|
||
"search": "استعلام البحث لتصفية السجلات",
|
||
"since": "إرجاع السجلات منذ هذا الطابع الزمني",
|
||
"follow": "متابعة إدخالات السجل الجديدة باستمرار",
|
||
"api_key": "تصفية السجلات حسب مفتاح API"
|
||
},
|
||
"utilization": {
|
||
"description": "عرض مقاييس استخدام مفتاح API",
|
||
"api_key": "التصفية حسب مفتاح API"
|
||
},
|
||
"history": {
|
||
"description": "عرض سجل الطلبات",
|
||
"limit": "عدد إدخالات السجل التاريخي (الافتراضي: 100)"
|
||
},
|
||
"proxy_logs": {
|
||
"description": "عرض سجلات الطلبات على مستوى الوكيل",
|
||
"limit": "عدد إدخالات سجل الوكيل (الافتراضي: 100)"
|
||
}
|
||
},
|
||
"cost": {
|
||
"description": "عرض تقرير التكلفة مع تفصيل حسب المزوّد أو النموذج أو التركيبة أو مفتاح API",
|
||
"period": "النطاق الزمني: 1d|7d|30d|90d|ytd|all (الافتراضي: 30d)",
|
||
"since": "تاريخ البدء (بتنسيق ISO، مثل 2026-01-01) — يتجاوز --period",
|
||
"until": "تاريخ الانتهاء (بتنسيق ISO)",
|
||
"group_by": "تجميع النتائج حسب: provider|model|api-key|combo|day (الافتراضي: provider)",
|
||
"api_key_filter": "التصفية حسب مفتاح API محدد",
|
||
"limit": "الحد الأقصى لعدد الصفوف المعروضة (الافتراضي: 100)"
|
||
},
|
||
"simulate": {
|
||
"description": "محاكاة توجيه تجريبية — عرض المزوّدين الذين سيُحدَّدون دون استدعاء الجهة المنبع",
|
||
"file": "تحميل نص الطلب الكامل من ملف JSON",
|
||
"model": "معرّف النموذج (الافتراضي: auto)",
|
||
"combo": "فرض تركيبة محددة بالاسم",
|
||
"reasoning": "مستوى جهد الاستدلال (low|medium|high)",
|
||
"thinking": "ميزانية الرموز للتفكير الممتد",
|
||
"explain": "طباعة شجرة الخيارات الاحتياطية ونطاق التكلفة إلى stderr",
|
||
"noCombo": "لم يتم العثور على تركيبة مطابقة. اضبط واحدة باستخدام: omniroute combo create"
|
||
},
|
||
"chat": {
|
||
"description": "أرسل مطالبة دردشة لمرة واحدة إلى OmniRoute",
|
||
"file": "اقرأ المطالبة من ملف",
|
||
"stdin": "اقرأ المطالبة من stdin",
|
||
"system": "مطالبة النظام",
|
||
"model": "معرّف النموذج (الافتراضي: auto)",
|
||
"max_tokens": "الحد الأقصى لعدد الرموز في الاستجابة",
|
||
"temperature": "درجة حرارة أخذ العينات (0–2)",
|
||
"top_p": "أخذ عينات النواة Top-p",
|
||
"reasoning_effort": "مستوى جهد الاستدلال (low|medium|high)",
|
||
"thinking_budget": "ميزانية رموز التفكير الموسّع",
|
||
"combo": "فرض تركيبة محددة بالاسم",
|
||
"responses_api": "استخدم /v1/responses بدلاً من /v1/chat/completions",
|
||
"stream": "بث الاستجابة تدريجيًا",
|
||
"no_history": "عدم الحفظ في ~/.omniroute/cli-history.jsonl",
|
||
"error": {
|
||
"empty_prompt": "خطأ: المطالبة مطلوبة (وسيط موضعي، أو --file، أو --stdin)"
|
||
}
|
||
},
|
||
"serve": {
|
||
"description": "بدء تشغيل خادم OmniRoute (الإجراء الافتراضي)",
|
||
"starting": "جارٍ بدء تشغيل خادم OmniRoute على المنفذ {port}...",
|
||
"ready": "جاهز على http://localhost:{port}",
|
||
"stopping": "جارٍ إيقاف الخادم (PID {pid})...",
|
||
"stopped": "تم إيقاف الخادم.",
|
||
"notRunning": "الخادم غير قيد التشغيل.",
|
||
"port": "المنفذ الذي سيتم الاستماع عليه (الافتراضي: 20128)",
|
||
"no_open": "عدم فتح المتصفح تلقائيًا",
|
||
"daemon": "تشغيل الخادم كخدمة خلفية",
|
||
"log": "عرض سجلات الخادم مباشرةً",
|
||
"no_recovery": "تعطيل إعادة التشغيل التلقائي عند التعطل (وضع تصحيح الأخطاء)",
|
||
"max_restarts": "الحد الأقصى لإعادات التشغيل بعد التعطل خلال 30 ثانية قبل التوقف عن المحاولة (الافتراضي: 2)",
|
||
"tray": "البدء في علبة النظام (سطح المكتب فقط، باشتراك اختياري)",
|
||
"no_tray": "تعطيل أيقونة علبة النظام",
|
||
"ready_timeout": "مهلة فحص الجاهزية بالمللي ثانية (أيضًا OMNIROUTE_READY_TIMEOUT_MS، الافتراضي 60000)",
|
||
"tls_cert": "مسار شهادة TLS (PEM) لتقديم HTTPS (أيضًا OMNIROUTE_TLS_CERT)",
|
||
"tls_key": "مسار مفتاح TLS الخاص (PEM) لتقديم HTTPS (أيضًا OMNIROUTE_TLS_KEY)"
|
||
},
|
||
"backup": {
|
||
"title": "نسخة احتياطية",
|
||
"description": "إنشاء نسخة احتياطية من بيانات OmniRoute",
|
||
"creating": "جارٍ إنشاء النسخة الاحتياطية...",
|
||
"done": "حُفظت النسخة الاحتياطية في {path}",
|
||
"noFiles": "لا توجد ملفات لنسخها احتياطيًا (لم تتم تهيئة قاعدة البيانات)",
|
||
"failed": "فشل النسخ الاحتياطي: {error}",
|
||
"restoring": "جارٍ الاستعادة من {path}...",
|
||
"restored": "اكتملت الاستعادة.",
|
||
"restoreDescription": "الاستعادة من نسخة احتياطية",
|
||
"listTitle": "النسخ الاحتياطية المتاحة",
|
||
"noBackups": "لم يتم العثور على نسخ احتياطية.",
|
||
"notFound": "لم يتم العثور على النسخة الاحتياطية: {name}",
|
||
"confirmRestore": "هل تريد استبدال البيانات الحالية بالنسخة الاحتياطية المنشأة في {ts}؟",
|
||
"createDescription": "إنشاء نسخة احتياطية من بيانات OmniRoute",
|
||
"nameOpt": "اسم مخصص للنسخة الاحتياطية",
|
||
"cloudOpt": "رفع النسخة الاحتياطية إلى التخزين السحابي",
|
||
"encryptOpt": "تشفير النسخة الاحتياطية باستخدام AES-256-GCM",
|
||
"keyFileOpt": "مسار الملف الذي يحتوي على عبارة مرور التشفير",
|
||
"excludeOpt": "استبعاد ملف يطابق النمط (قابل للتكرار)",
|
||
"retentionOpt": "الاحتفاظ بآخر N نسخة احتياطية فقط",
|
||
"passphrasePrompt": "عبارة مرور التشفير:",
|
||
"noPassphrase": "عبارة المرور مطلوبة للنسخة الاحتياطية المشفرة.",
|
||
"cloudFailed": "تحذير: فشل الرفع إلى السحابة. تم حفظ النسخة الاحتياطية محليًا.",
|
||
"cloudUploaded": "تم رفع النسخة الاحتياطية إلى السحابة: {url}",
|
||
"auto": {
|
||
"title": "جدول النسخ الاحتياطي",
|
||
"enableDescription": "تمكين النسخ الاحتياطي التلقائي المجدول",
|
||
"disableDescription": "تعطيل النسخ الاحتياطي التلقائي المجدول",
|
||
"statusDescription": "عرض حالة جدول النسخ الاحتياطي الحالية",
|
||
"cronOpt": "تعبير Cron للجدولة (الافتراضي: يوميًا في الساعة 3 صباحًا)",
|
||
"enabled": "تم تمكين النسخ الاحتياطي التلقائي (Cron: {cron}).",
|
||
"hint": "تتم قراءة الجدول بواسطة omniroute serve عند بدء التشغيل.",
|
||
"disabled": "تم تعطيل النسخ الاحتياطي التلقائي.",
|
||
"notConfigured": "لم تتم تهيئة جدول للنسخ الاحتياطي."
|
||
}
|
||
},
|
||
"health": {
|
||
"description": "التحقق من سلامة الخادم وحالة المكونات",
|
||
"noServer": "الخادم لا يعمل. ابدأ تشغيله باستخدام: omniroute serve",
|
||
"title": "السلامة",
|
||
"status": "الحالة: {status}",
|
||
"uptime": "مدة التشغيل: {uptime}",
|
||
"requests": "الطلبات (24 ساعة): {count}",
|
||
"cost": "التكلفة (24 ساعة): ${cost}"
|
||
},
|
||
"quota": {
|
||
"description": "عرض استخدام الحصة لدى مزود الخدمة",
|
||
"noServer": "الخادم لا يعمل. ابدأ تشغيله باستخدام: omniroute serve",
|
||
"noData": "لا تتوفر معلومات عن الحصة."
|
||
},
|
||
"cache": {
|
||
"description": "إدارة ذاكرة التخزين المؤقت للاستجابات",
|
||
"noServer": "الخادم لا يعمل. ابدأ تشغيله باستخدام: omniroute serve",
|
||
"cleared": "تم مسح ذاكرة التخزين المؤقت.",
|
||
"clearFailed": "فشل مسح ذاكرة التخزين المؤقت."
|
||
},
|
||
"redis": {
|
||
"description": "تشغيل حاوية Redis محلية بضغطة واحدة (Podman أو Docker) لتخزين التخزين المؤقت وتتبع الحصة في OmniRoute"
|
||
},
|
||
"test": {
|
||
"description": "اختبار الاتصال بمزود الخدمة",
|
||
"noServer": "الخادم لا يعمل. شغّله باستخدام: omniroute serve",
|
||
"testing": "جارٍ اختبار {provider} / {model}...",
|
||
"passed": "تم الاتصال بنجاح!",
|
||
"failed": "فشل الاتصال: {error}",
|
||
"allProvidersOpt": "اختبار جميع المزوّدين الذين تم إعدادهم",
|
||
"latencyOpt": "عرض قياسات زمن الاستجابة (المتوسط/الحد الأدنى/الحد الأقصى بالمللي ثانية)",
|
||
"repeatOpt": "تكرار الاختبار N مرة وتجميع النتائج",
|
||
"compareOpt": "النماذج المراد مقارنتها مفصولة بفواصل (مثال: gpt-4o,claude-3-5-sonnet)",
|
||
"saveOpt": "حفظ النتائج في ملف JSON",
|
||
"saved": "تم حفظ النتائج في {path}",
|
||
"compareTitle": "مقارنة النماذج",
|
||
"compareMinTwo": "يلزم نموذجان على الأقل لاستخدام --compare (مفصولان بفواصل)",
|
||
"noProviders": "لم يتم إعداد أي مزوّدين. أضف مزوّدًا باستخدام: omniroute keys add"
|
||
},
|
||
"update": {
|
||
"checking": "جارٍ التحقق من وجود تحديثات...",
|
||
"upToDate": "أنت تستخدم أحدث إصدار بالفعل ({version}).",
|
||
"available": "يتوفر تحديث: {current} → {latest}",
|
||
"installing": "جارٍ تثبيت {latest}...",
|
||
"done": "تم التحديث إلى {latest}. أعد تشغيل الخادم لتطبيق التحديث."
|
||
},
|
||
"mcp": {
|
||
"title": "خادم MCP",
|
||
"running": "خادم MCP قيد التشغيل ({transport})",
|
||
"stopped": "تم إيقاف خادم MCP.",
|
||
"restarted": "تمت إعادة تشغيل خادم MCP.",
|
||
"stoppedHint": "شغّل `omniroute mcp enable` لتفعيله.",
|
||
"enabled": "تم تفعيل خادم MCP.",
|
||
"disabled": "تم تعطيل خادم MCP.",
|
||
"enable": {
|
||
"description": "تفعيل خادم MCP",
|
||
"transport": "وسيلة النقل المطلوب استخدامها: stdio|sse|streamable-http"
|
||
},
|
||
"disable": {
|
||
"description": "تعطيل خادم MCP"
|
||
},
|
||
"call": {
|
||
"description": "استدعاء أداة MCP مباشرةً",
|
||
"args": "كائن وسيطات JSON (مضمّن)",
|
||
"args_file": "مسار ملف وسيطات JSON",
|
||
"stream": "استخدام نقطة النهاية للبث (/api/mcp/stream)",
|
||
"scope": "النطاق المطلوب (قابل للتكرار، مثال: read:health)"
|
||
},
|
||
"scopes": {
|
||
"description": "عرض نطاقات MCP المتاحة",
|
||
"tool": "عرض النطاقات المطلوبة لأداة محددة"
|
||
},
|
||
"tools": {
|
||
"description": "فحص أدوات MCP",
|
||
"list": {
|
||
"description": "عرض جميع أدوات MCP",
|
||
"scope": "التصفية حسب النطاق"
|
||
},
|
||
"info": {
|
||
"description": "عرض البيانات الوصفية لأداة MCP"
|
||
},
|
||
"schema": {
|
||
"description": "عرض مخطط JSON للمدخلات/المخرجات الخاص بأداة MCP",
|
||
"io": "نوع المخطط: input|output (الافتراضي: input)"
|
||
}
|
||
},
|
||
"audit": {
|
||
"description": "سجل تدقيق MCP (اسم مستعار لـ audit --source mcp)"
|
||
}
|
||
},
|
||
"a2a": {
|
||
"skills": {
|
||
"description": "عرض مهارات A2A المتاحة من بطاقة الوكيل"
|
||
},
|
||
"invoke": {
|
||
"description": "استدعاء مهارة A2A وإرجاع معرّف المهمة",
|
||
"input": "كائن إدخال JSON",
|
||
"input_file": "المسار إلى ملف إدخال JSON",
|
||
"wait": "انتظار اكتمال المهمة قبل الإرجاع",
|
||
"timeout": "مهلة انتظار الاكتمال بالمللي ثانية (الافتراضي: 60000)"
|
||
},
|
||
"tasks": {
|
||
"description": "إدارة مهام A2A",
|
||
"list": {
|
||
"status": "التصفية حسب الحالة",
|
||
"skill": "التصفية حسب معرّف المهارة"
|
||
},
|
||
"watch": {
|
||
"description": "استطلاع حالة المهمة حتى اكتمالها"
|
||
},
|
||
"stream": {
|
||
"description": "بث أحداث تنفيذ المهمة عبر SSE"
|
||
},
|
||
"logs": {
|
||
"description": "عرض رسائل المهمة والعناصر الناتجة"
|
||
}
|
||
}
|
||
},
|
||
"policy": {
|
||
"description": "إدارة سياسات التخويل في OmniRoute",
|
||
"list": {
|
||
"description": "عرض السياسات",
|
||
"kind": "التصفية حسب النوع (allow|deny|rate-limit|cost-cap)",
|
||
"scope": "التصفية حسب النطاق (global|api-key|provider)"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل السياسة حسب المعرّف"
|
||
},
|
||
"create": {
|
||
"description": "إنشاء سياسة من ملف JSON",
|
||
"file": "المسار إلى ملف JSON للسياسة"
|
||
},
|
||
"update": {
|
||
"description": "تحديث سياسة من ملف JSON",
|
||
"file": "المسار إلى ملف JSON للسياسة"
|
||
},
|
||
"delete": {
|
||
"description": "حذف سياسة حسب المعرّف",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"evaluate": {
|
||
"description": "تقييم تجريبي للسياسة (رمز الخروج 0=مسموح، 4=مرفوض)",
|
||
"api_key": "مفتاح API المراد تقييمه",
|
||
"action": "الإجراء المراد التحقق منه (مثل chat وembed وadmin)",
|
||
"resource": "مسار المورد أو معرّفه",
|
||
"context": "سياق إضافي على هيئة كائن JSON"
|
||
},
|
||
"export": {
|
||
"description": "تصدير جميع السياسات إلى ملف JSON"
|
||
},
|
||
"import": {
|
||
"description": "استيراد السياسات من ملف JSON",
|
||
"overwrite": "الكتابة فوق السياسات الحالية التي تحمل المعرّف نفسه"
|
||
}
|
||
},
|
||
"compression": {
|
||
"description": "تهيئة مسار الضغط في OmniRoute وفحصه",
|
||
"status": {
|
||
"description": "عرض حالة الضغط وإعداداته الحالية"
|
||
},
|
||
"configure": {
|
||
"description": "تهيئة إعدادات الضغط",
|
||
"engine": "محرك الضغط (caveman|rtk|hybrid|none)",
|
||
"caveman_agg": "مستوى شدة Caveman من 0.0 إلى 1.0",
|
||
"rtk_budget": "ميزانية رموز RTK",
|
||
"language_pack": "حزمة اللغة المراد تفعيلها"
|
||
},
|
||
"engine": {
|
||
"description": "الحصول على محرك الضغط النشط أو تعيينه"
|
||
},
|
||
"combos": {
|
||
"description": "إدارة إحصاءات مجموعات الضغط"
|
||
},
|
||
"rules": {
|
||
"description": "إدارة قواعد الضغط",
|
||
"add": {
|
||
"pattern": "النمط المطلوب مطابقته (regex أو field:pattern)",
|
||
"action": "الإجراء: drop|shrink|replace"
|
||
}
|
||
},
|
||
"language_packs": {
|
||
"description": "عرض حزم لغات الضغط المتاحة"
|
||
},
|
||
"preview": {
|
||
"description": "معاينة تأثير الضغط على طلب",
|
||
"file": "مسار ملف JSON الخاص بالطلب"
|
||
}
|
||
},
|
||
"tunnel": {
|
||
"title": "الأنفاق",
|
||
"listDescription": "عرض الأنفاق النشطة",
|
||
"createDescription": "إنشاء نفق",
|
||
"created": "تم إنشاء النفق: {url}",
|
||
"stopped": "تم إيقاف النفق.",
|
||
"confirmStop": "هل تريد إيقاف النفق {id}؟",
|
||
"stopDescription": "إيقاف نفق",
|
||
"statusDescription": "عرض الحالة التفصيلية لنفق",
|
||
"logsDescription": "عرض سجلات نفق",
|
||
"infoDescription": "عرض تفاصيل إعدادات نفق",
|
||
"rotateDescription": "إنشاء عنوان URL جديد للنفق",
|
||
"tailOpt": "عدد أسطر السجل المطلوب عرضها",
|
||
"typeRequired": "نوع النفق مطلوب.",
|
||
"noLogs": "لا توجد سجلات متاحة.",
|
||
"notAvailable": "معلومات النفق غير متاحة.",
|
||
"noTunnels": "لا توجد أنفاق نشطة.",
|
||
"infoTitle": "معلومات النفق: {type}",
|
||
"rotated": "تم تبديل عنوان URL للنفق: {url}",
|
||
"confirmRotate": "هل تريد تبديل عنوان URL للنفق {type}؟ (سيتم إنشاء عنوان URL جديد)"
|
||
},
|
||
"stop": {
|
||
"description": "إيقاف خادم OmniRoute",
|
||
"stopping": "جارٍ إيقاف الخادم (PID {pid})...",
|
||
"stopped": "تم إيقاف الخادم.",
|
||
"notRunning": "لا يوجد خادم قيد التشغيل.",
|
||
"portFallback": "لم يتم العثور على ملف PID، جارٍ محاولة الإيقاف استنادًا إلى المنفذ..."
|
||
},
|
||
"restart": {
|
||
"description": "إعادة تشغيل خادم OmniRoute",
|
||
"restarting": "جارٍ إعادة تشغيل خادم OmniRoute..."
|
||
},
|
||
"dashboard": {
|
||
"description": "فتح لوحة معلومات OmniRoute في متصفح",
|
||
"opening": "جارٍ فتح لوحة المعلومات على {url}",
|
||
"urlOnly": "طباعة عنوان URL للوحة المعلومات دون فتح المتصفح",
|
||
"tui": "فتح لوحة معلومات TUI التفاعلية (واجهة طرفية، 7 علامات تبويب)"
|
||
},
|
||
"models": {
|
||
"description": "عرض النماذج المتاحة (يتطلب الخادم)",
|
||
"search": "تصفية النماذج حسب المعرّف أو الاسم أو المزوّد أو الوصف",
|
||
"noServer": "الخادم لا يعمل. ابدأ باستخدام: omniroute serve",
|
||
"noModels": "لم يتم العثور على نماذج."
|
||
},
|
||
"audit": {
|
||
"description": "الوصول إلى سجلات تدقيق الامتثال وMCP",
|
||
"source": "مصدر السجل: all|compliance|mcp (الافتراضي: all)",
|
||
"since": "إرجاع الإدخالات منذ هذا الطابع الزمني (ISO 8601)",
|
||
"until": "إرجاع الإدخالات حتى هذا الطابع الزمني (ISO 8601)",
|
||
"tail": {
|
||
"description": "عرض إدخالات سجل التدقيق الأخيرة",
|
||
"follow": "متابعة الإدخالات الجديدة باستمرار (استطلاع كل 2s)",
|
||
"limit": "الحد الأقصى للإدخالات المعروضة (الافتراضي: 100)"
|
||
},
|
||
"search": {
|
||
"description": "البحث في إدخالات سجل التدقيق حسب الكلمة المفتاحية",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 200)",
|
||
"actor": "التصفية حسب معرّف الجهة الفاعلة",
|
||
"action": "التصفية حسب اسم الإجراء"
|
||
},
|
||
"export": {
|
||
"description": "تصدير سجل التدقيق إلى ملف",
|
||
"format": "تنسيق الإخراج: jsonl|csv (الافتراضي: jsonl)"
|
||
},
|
||
"stats": {
|
||
"description": "عرض إحصاءات سجل التدقيق",
|
||
"period": "الفترة الزمنية: 1d|7d|30d (الافتراضي: 7d)"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على إدخال واحد من سجل التدقيق حسب المعرّف"
|
||
}
|
||
},
|
||
"skills": {
|
||
"description": "إدارة مهارات OmniRoute (sandbox، builtin، custom، hybrid، skillssh)",
|
||
"list": {
|
||
"description": "عرض قائمة المهارات المثبّتة",
|
||
"type": "التصفية حسب النوع (sandbox|custom|builtin|hybrid|skillssh)",
|
||
"enabled": "عرض المهارات المفعّلة فقط",
|
||
"disabled": "عرض المهارات المعطّلة فقط",
|
||
"api_key": "التصفية حسب مفتاح API"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل مهارة حسب المعرّف"
|
||
},
|
||
"install": {
|
||
"description": "تثبيت مهارة من ملف أو URL",
|
||
"from_file": "مسار ملف تعريف المهارة بصيغة JSON",
|
||
"from_url": "URL لتعريف المهارة البعيدة",
|
||
"type": "نوع المهارة (sandbox|custom|hybrid)",
|
||
"enable": "تفعيل المهارة بعد التثبيت"
|
||
},
|
||
"enable": {
|
||
"description": "تفعيل مهارة حسب المعرّف"
|
||
},
|
||
"disable": {
|
||
"description": "تعطيل مهارة حسب المعرّف",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"delete": {
|
||
"description": "حذف مهارة حسب المعرّف",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"execute": {
|
||
"description": "تنفيذ مهارة حسب المعرّف",
|
||
"input": "كائن إدخال JSON",
|
||
"input_file": "مسار ملف إدخال JSON",
|
||
"timeout": "مهلة التنفيذ بالمللي ثانية (الافتراضي: 30000)"
|
||
},
|
||
"executions": {
|
||
"description": "عرض سجل تنفيذ المهارات",
|
||
"skill": "تصفية حسب معرّف المهارة",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 50)",
|
||
"status": "تصفية حسب الحالة (running|completed|failed)"
|
||
},
|
||
"skillssh": {
|
||
"description": "إدارة المهارات المثبّتة عبر SSH"
|
||
},
|
||
"marketplace": {
|
||
"description": "تصفّح المهارات وتثبيتها من السوق"
|
||
},
|
||
"mp": {
|
||
"search": {
|
||
"description": "البحث في حزم السوق",
|
||
"category": "تصفية حسب الفئة",
|
||
"tag": "تصفية حسب الوسم",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 30)",
|
||
"sort": "الترتيب حسب: downloads|rating|recent"
|
||
},
|
||
"info": {
|
||
"description": "عرض تفاصيل الحزمة وملف readme"
|
||
},
|
||
"install": {
|
||
"description": "تثبيت حزمة من السوق",
|
||
"version": "إصدار الحزمة (الافتراضي: latest)",
|
||
"enable": "التفعيل بعد التثبيت",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"categories": {
|
||
"description": "عرض فئات السوق"
|
||
},
|
||
"featured": {
|
||
"description": "عرض حزم السوق المميزة"
|
||
}
|
||
}
|
||
},
|
||
"memory": {
|
||
"description": "إدارة الذاكرة الحوارية في OmniRoute (FTS5 + vector)",
|
||
"search": {
|
||
"description": "البحث في إدخالات الذاكرة باستخدام استعلام دلالي",
|
||
"type": "تصفية حسب نوع الذاكرة (user|feedback|project|reference)",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 20)",
|
||
"api_key": "تصفية حسب مفتاح API",
|
||
"token_budget": "تقييد إجمالي الرموز المميزة في النتائج"
|
||
},
|
||
"add": {
|
||
"description": "إضافة إدخال جديد إلى الذاكرة",
|
||
"content": "المحتوى النصي للذاكرة",
|
||
"file": "قراءة المحتوى من ملف",
|
||
"type": "نوع الذاكرة (الافتراضي: user)",
|
||
"metadata": "كائن بيانات وصفية بتنسيق JSON",
|
||
"api_key": "ربطه بمفتاح API"
|
||
},
|
||
"clear": {
|
||
"description": "حذف إدخالات الذاكرة المطابقة لعوامل التصفية",
|
||
"type": "تصفية حسب النوع",
|
||
"older": "حذف الإدخالات الأقدم من المدة المحددة (30d, 6m, 1y)",
|
||
"api_key": "تصفية حسب مفتاح API",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"list": {
|
||
"description": "عرض إدخالات الذاكرة دون ترتيب حسب صلة البحث",
|
||
"type": "تصفية حسب النوع",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 100)",
|
||
"api_key": "تصفية حسب مفتاح API"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على إدخال ذاكرة واحد حسب المعرّف"
|
||
},
|
||
"delete": {
|
||
"description": "حذف إدخال ذاكرة حسب المعرّف",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"health": {
|
||
"description": "عرض حالة النظام الفرعي للذاكرة (FTS5 + Qdrant)"
|
||
}
|
||
},
|
||
"oauth": {
|
||
"description": "إدارة اتصالات موفّري OAuth",
|
||
"providers": {
|
||
"description": "سرد الموفّرين الداعمين لـ OAuth وأنواع تدفقاتهم"
|
||
},
|
||
"start": {
|
||
"description": "بدء تدفق تفويض OAuth لموفّر",
|
||
"provider": "معرّف الموفّر (gemini, copilot, cursor, …)",
|
||
"no_browser": "طباعة عنوان URL فقط — دون فتح المتصفح",
|
||
"import_system": "استيراد بيانات الاعتماد تلقائيًا من إعدادات النظام المحلي",
|
||
"social": "موفّر تسجيل الدخول الاجتماعي (google|github) — مطلوب لـ kiro",
|
||
"timeout": "مهلة انتظار التفويض بالمللي ثانية (الافتراضي: 300000)"
|
||
},
|
||
"status": {
|
||
"description": "سرد اتصالات OAuth النشطة",
|
||
"provider": "التصفية حسب معرّف الموفّر"
|
||
},
|
||
"revoke": {
|
||
"description": "إلغاء اتصال OAuth",
|
||
"provider": "معرّف الموفّر المراد إلغاؤه",
|
||
"connection_id": "إلغاء اتصال محدد حسب المعرّف",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
}
|
||
},
|
||
"cloud": {
|
||
"description": "إدارة مهام وكلاء الذكاء الاصطناعي السحابيين (codex, devin, jules)",
|
||
"agents": {
|
||
"description": "سرد الوكلاء السحابيين المتاحين"
|
||
},
|
||
"agent": {
|
||
"description": "إدارة مهام الوكيل السحابي {agent}",
|
||
"auth": {
|
||
"description": "تفويض {agent} عبر OAuth"
|
||
}
|
||
},
|
||
"task": {
|
||
"description": "إدارة مهام الوكلاء السحابيين",
|
||
"create": {
|
||
"description": "إنشاء مهمة وكيل جديدة",
|
||
"title": "عنوان المهمة (يُضبط افتراضيًا على أول 80 حرفًا من المطالبة)",
|
||
"prompt": "نص مطالبة المهمة",
|
||
"prompt_file": "قراءة المطالبة من ملف",
|
||
"repo": "عنوان URL للمستودع المراد استنساخه للمهمة",
|
||
"branch": "اسم الفرع المراد استخدامه",
|
||
"metadata": "كائن بيانات وصفية بتنسيق JSON"
|
||
},
|
||
"list": {
|
||
"description": "سرد مهام الوكيل",
|
||
"status": "التصفية حسب الحالة (running|completed|failed|cancelled)",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 50)"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل المهمة حسب المعرّف"
|
||
},
|
||
"status": {
|
||
"description": "طباعة حالة المهمة (running|completed|failed|cancelled)"
|
||
},
|
||
"cancel": {
|
||
"description": "إلغاء مهمة قيد التشغيل",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"approve": {
|
||
"description": "الموافقة على خطة الوكيل لبدء التنفيذ"
|
||
},
|
||
"message": {
|
||
"description": "إرسال رسالة إلى مهمة قيد التشغيل"
|
||
}
|
||
},
|
||
"sources": {
|
||
"description": "سرد ملفات المصدر التي أنشأتها مهمة"
|
||
}
|
||
},
|
||
"eval": {
|
||
"description": "إدارة حزم التقييم وعمليات تشغيلها",
|
||
"suites": {
|
||
"description": "إدارة حزم التقييم",
|
||
"list": {
|
||
"description": "عرض مجموعات التقييم"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل مجموعة التقييم حسب المعرّف"
|
||
},
|
||
"create": {
|
||
"description": "إنشاء مجموعة تقييم من ملف JSON",
|
||
"file": "مسار ملف JSON لتعريف المجموعة"
|
||
}
|
||
},
|
||
"run": {
|
||
"description": "بدء تشغيل تقييم لمجموعة",
|
||
"model": "معرّف النموذج المراد تقييمه (الافتراضي: auto)",
|
||
"combo": "فرض تركيبة محددة بالاسم",
|
||
"concurrency": "عدد العينات المتزامنة (الافتراضي: 4)",
|
||
"tag": "إضافة وسم إلى هذا التشغيل لتصفيته لاحقًا",
|
||
"watch": "مراقبة تقدم التشغيل حتى اكتماله"
|
||
},
|
||
"list": {
|
||
"description": "عرض عمليات تشغيل التقييم",
|
||
"suite": "التصفية حسب معرّف المجموعة",
|
||
"status": "التصفية حسب الحالة",
|
||
"since": "إرجاع عمليات التشغيل منذ هذا الطابع الزمني",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 50)"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل تشغيل التقييم حسب المعرّف"
|
||
},
|
||
"results": {
|
||
"description": "عرض نتائج العينات لتشغيل تقييم",
|
||
"failed": "عرض العينات الفاشلة فقط"
|
||
},
|
||
"cancel": {
|
||
"description": "إلغاء تشغيل تقييم قيد التنفيذ",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"scorecard": {
|
||
"description": "عرض بطاقة النتائج لتشغيل تقييم مكتمل"
|
||
}
|
||
},
|
||
"webhooks": {
|
||
"description": "إدارة خطافات الويب في OmniRoute",
|
||
"events": {
|
||
"description": "عرض جميع أنواع أحداث خطافات الويب المتاحة"
|
||
},
|
||
"list": {
|
||
"description": "عرض خطافات الويب المُعدّة"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على تفاصيل خطاف الويب حسب المعرّف"
|
||
},
|
||
"add": {
|
||
"description": "تسجيل خطاف ويب جديد",
|
||
"url": "عنوان URL للوجهة",
|
||
"events": "قائمة أنواع الأحداث مفصولة بفواصل",
|
||
"secret": "سر توقيع HMAC",
|
||
"header": "ترويسة إضافية بتنسيق key=value (قابلة للتكرار)",
|
||
"no_enabled": "إنشاء خطاف الويب في حالة معطّلة"
|
||
},
|
||
"update": {
|
||
"description": "تحديث خطاف ويب موجود",
|
||
"enabled": "تعيين حالة التمكين (true|false)"
|
||
},
|
||
"remove": {
|
||
"description": "حذف خطاف ويب",
|
||
"yes": "تخطي مطالبة التأكيد"
|
||
},
|
||
"test": {
|
||
"description": "إرسال حدث اختباري إلى خطاف ويب",
|
||
"event": "نوع الحدث المراد محاكاته (الافتراضي: request.completed)"
|
||
}
|
||
},
|
||
"program": {
|
||
"description": "OmniRoute — جهاز توجيه الذكاء الاصطناعي مع التبديل التلقائي",
|
||
"version": "عرض الإصدار والخروج",
|
||
"output": "تنسيق الإخراج (table, json, jsonl, csv)",
|
||
"quiet": "إخفاء المخرجات غير الأساسية",
|
||
"no_color": "تعطيل الإخراج الملوّن",
|
||
"timeout": "مهلة طلب HTTP بالميلي ثانية",
|
||
"api_key": "مفتاح API لخادم OmniRoute",
|
||
"base_url": "عنوان URL الأساسي لخادم OmniRoute",
|
||
"context": "سياق/ملف تعريف الخادم المستخدم في هذا الأمر",
|
||
"lang": "تعيين لغة عرض CLI (يتجاوز OMNIROUTE_LANG)"
|
||
},
|
||
"files": {
|
||
"description": "إدارة الملفات (رفع، عرض، الحصول، تنزيل، حذف)",
|
||
"list": {
|
||
"purpose": "التصفية حسب الغرض",
|
||
"limit": "الحد الأقصى للنتائج"
|
||
},
|
||
"get": {
|
||
"description": "الحصول على بيانات الملف الوصفية"
|
||
},
|
||
"upload": {
|
||
"description": "رفع ملف",
|
||
"purpose": "الغرض من الملف (batch، assistants، fine-tune)"
|
||
},
|
||
"content": {
|
||
"description": "تنزيل محتوى الملف",
|
||
"out": "الحفظ في مسار (الافتراضي: stdout)"
|
||
},
|
||
"delete": {
|
||
"yes": "تخطي التأكيد"
|
||
}
|
||
},
|
||
"batches": {
|
||
"description": "إدارة مهام الدُفعات المتوافقة مع OpenAI",
|
||
"list": {
|
||
"status": "التصفية حسب الحالة",
|
||
"limit": "الحد الأقصى للنتائج"
|
||
},
|
||
"create": {
|
||
"description": "إنشاء مهمة دُفعة",
|
||
"inputFile": "معرّف ملف الإدخال",
|
||
"endpoint": "نقطة النهاية المستهدفة",
|
||
"window": "مهلة الإكمال",
|
||
"metadata": "إضافة بيانات وصفية key=value"
|
||
},
|
||
"submit": {
|
||
"description": "رفع ملف JSONL وإنشاء دُفعة",
|
||
"jsonl": "مسار ملف JSONL",
|
||
"endpoint": "نقطة النهاية المستهدفة",
|
||
"wait": "انتظار الإكمال"
|
||
},
|
||
"cancel": {
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"wait": {
|
||
"timeout": "المهلة بالمللي ثانية"
|
||
},
|
||
"output": {
|
||
"out": "حفظ المخرجات في مسار"
|
||
},
|
||
"errors": {
|
||
"out": "حفظ الأخطاء في مسار"
|
||
}
|
||
},
|
||
"translator": {
|
||
"description": "ترجمة نصوص الطلبات بين تنسيقات LLM",
|
||
"detect": {
|
||
"description": "اكتشاف تنسيق النص"
|
||
},
|
||
"translate": {
|
||
"description": "تحويل النص من تنسيق إلى آخر"
|
||
},
|
||
"send": {
|
||
"description": "الترجمة والإرسال إلى المصدر الرئيسي"
|
||
},
|
||
"stream": {
|
||
"description": "ترجمة نص الطلب المتدفق"
|
||
},
|
||
"from": "تنسيق المصدر (openai|anthropic|gemini|cohere)",
|
||
"to": "التنسيق المستهدف (openai|anthropic|gemini|cohere)",
|
||
"file": "مسار ملف JSON لنص الطلب",
|
||
"out": "حفظ المخرجات في ملف",
|
||
"model": "تجاوز النموذج",
|
||
"history": {
|
||
"limit": "الحد الأقصى للنتائج"
|
||
}
|
||
},
|
||
"pricing": {
|
||
"description": "إدارة بيانات تسعير النماذج",
|
||
"sync": {
|
||
"description": "مزامنة الأسعار من المصادر الرئيسية",
|
||
"provider": "التصفية حسب المزوّد",
|
||
"force": "فرض إعادة المزامنة"
|
||
},
|
||
"list": {
|
||
"provider": "التصفية حسب المزوّد",
|
||
"model": "التصفية حسب النموذج",
|
||
"limit": "الحد الأقصى للنتائج"
|
||
},
|
||
"defaults": {
|
||
"description": "إدارة التسعير الافتراضي",
|
||
"input": "تكلفة الإدخال لكل مليون رمز (USD)",
|
||
"output": "تكلفة الإخراج لكل مليون رمز (USD)",
|
||
"cacheRead": "تكلفة قراءة ذاكرة التخزين المؤقت لكل مليون رمز (USD)",
|
||
"cacheWrite": "تكلفة الكتابة إلى ذاكرة التخزين المؤقت لكل مليون رمز (USD)"
|
||
},
|
||
"diff": {
|
||
"description": "إظهار الاختلاف عن الأسعار الأصلية",
|
||
"model": "التصفية حسب النموذج"
|
||
}
|
||
},
|
||
"radar": {
|
||
"description": "فحص موجزات كتالوج Radar المحلية ومزامنتها",
|
||
"status": "إظهار إعدادات Radar المحلية وحالة ذاكرة التخزين المؤقت للموجزات",
|
||
"sync": "مزامنة الكتالوج والإحالات والعروض وIntel عبر الخادم المحلي"
|
||
},
|
||
"resilience": {
|
||
"description": "فحص آليات المرونة وإدارتها",
|
||
"status": {
|
||
"provider": "التصفية حسب المزوّد"
|
||
},
|
||
"breakers": {
|
||
"provider": "التصفية حسب المزوّد"
|
||
},
|
||
"cooldowns": {
|
||
"provider": "التصفية حسب المزوّد",
|
||
"connectionId": "التصفية حسب معرّف الاتصال"
|
||
},
|
||
"lockouts": {
|
||
"provider": "التصفية حسب المزوّد",
|
||
"model": "التصفية حسب النموذج"
|
||
},
|
||
"reset": {
|
||
"description": "إعادة تعيين حالة قاطع الدائرة/فترة الانتظار",
|
||
"provider": "المزوّد المطلوب إعادة تعيينه",
|
||
"connectionId": "معرّف الاتصال المطلوب إعادة تعيينه",
|
||
"model": "النموذج المطلوب إعادة تعيين حظره",
|
||
"allCooldowns": "إعادة تعيين جميع فترات الانتظار للمزوّد",
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"profile": {
|
||
"description": "إدارة ملف تعريف المرونة",
|
||
"name": "اسم ملف التعريف"
|
||
},
|
||
"config": {
|
||
"description": "إدارة إعدادات المرونة",
|
||
"threshold": "حد الإخفاقات",
|
||
"resetTimeout": "مهلة إعادة التعيين بالمللي ثانية",
|
||
"baseCooldown": "فترة الانتظار الأساسية بالمللي ثانية"
|
||
}
|
||
},
|
||
"nodes": {
|
||
"description": "إدارة عُقد المزوّدين (نقاط النهاية)",
|
||
"list": {
|
||
"provider": "التصفية حسب المزوّد",
|
||
"enabled": "إظهار العُقد المفعّلة فقط"
|
||
},
|
||
"add": {
|
||
"provider": "اسم المزوّد",
|
||
"baseUrl": "عنوان URL الأساسي للعقدة",
|
||
"name": "اسم العقدة",
|
||
"weight": "وزن موازنة الحمل",
|
||
"region": "وسم المنطقة",
|
||
"authHeader": "ترويسة مصادقة مخصصة (key=value)"
|
||
},
|
||
"update": {
|
||
"baseUrl": "عنوان URL الأساسي الجديد",
|
||
"name": "الاسم الجديد",
|
||
"weight": "وزن جديد",
|
||
"region": "منطقة جديدة",
|
||
"enabled": "تمكين أو تعطيل (true|false)"
|
||
},
|
||
"remove": {
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"validate": {
|
||
"baseUrl": "عنوان URL المراد التحقق منه",
|
||
"provider": "المزوّد الذي سيتم التحقق بالمقارنة معه"
|
||
},
|
||
"test": {
|
||
"description": "إرسال طلب اختباري إلى العقدة"
|
||
},
|
||
"metrics": {
|
||
"description": "عرض مقاييس العقدة",
|
||
"period": "الفترة الزمنية (مثلاً 24h، 7d)"
|
||
}
|
||
},
|
||
"context": {
|
||
"description": "تهيئة مسار هندسة السياق (Caveman، RTK)",
|
||
"analytics": {
|
||
"period": "الفترة الزمنية (مثلاً 7d، 30d)"
|
||
},
|
||
"caveman": {
|
||
"description": "إدارة ضاغط السياق Caveman",
|
||
"config": {
|
||
"description": "عرض إعدادات Caveman أو تحديثها",
|
||
"aggressiveness": "مستوى الشدة 0.0–1.0",
|
||
"maxShrinkPct": "النسبة المئوية القصوى للتقليص",
|
||
"preserveTags": "وسوم مفصولة بفواصل للاحتفاظ بها"
|
||
}
|
||
},
|
||
"rtk": {
|
||
"description": "إدارة محسّن السياق RTK",
|
||
"config": {
|
||
"description": "عرض إعدادات RTK أو تحديثها",
|
||
"tokenBudget": "ميزانية الرموز لـ RTK",
|
||
"reservePct": "نسبة الاحتياطي"
|
||
},
|
||
"filters": {
|
||
"description": "إدارة عوامل تصفية RTK",
|
||
"pattern": "نمط عامل التصفية (regex)",
|
||
"priority": "أولوية عامل التصفية (الافتراضي: 100)",
|
||
"action": "إجراء عامل التصفية: drop|shrink|replace",
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"test": {
|
||
"file": "مسار ملف JSON للطلب"
|
||
}
|
||
},
|
||
"combos": {
|
||
"description": "إدارة المجموعات المراعية للسياق"
|
||
}
|
||
},
|
||
"sessions": {
|
||
"description": "فحص الجلسات النشطة وإدارتها",
|
||
"list": {
|
||
"user": "التصفية حسب المستخدم",
|
||
"kind": "التصفية حسب النوع (dashboard|api-key|mcp|a2a)",
|
||
"active": "عرض الجلسات النشطة فقط",
|
||
"limit": "الحد الأقصى للنتائج (الافتراضي: 100)"
|
||
},
|
||
"expire": {
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"expireAll": {
|
||
"user": "المستخدم المراد إنهاء صلاحية جلساته",
|
||
"yes": "تخطي التأكيد"
|
||
}
|
||
},
|
||
"tags": {
|
||
"description": "إدارة وسوم الموارد",
|
||
"add": {
|
||
"color": "لون الوسم (قيمة hex أو اسم)",
|
||
"description": "وصف الوسم"
|
||
},
|
||
"remove": {
|
||
"yes": "تخطي التأكيد"
|
||
},
|
||
"assign": {
|
||
"tag": "اسم الوسم",
|
||
"to": "المورد المستهدف بالصيغة type:id (مثال: provider:openai)"
|
||
},
|
||
"unassign": {
|
||
"tag": "اسم الوسم",
|
||
"from": "المورد المصدر بالصيغة type:id"
|
||
}
|
||
},
|
||
"openapi": {
|
||
"description": "الوصول إلى مواصفات OmniRoute OpenAPI واختبارها",
|
||
"dump": {
|
||
"description": "تفريغ مواصفات OpenAPI إلى stdout أو ملف",
|
||
"format": "تنسيق الإخراج: yaml|json (الافتراضي: yaml)",
|
||
"out": "الحفظ في مسار ملف"
|
||
},
|
||
"validate": {
|
||
"description": "التحقق من صحة مواصفات OpenAPI"
|
||
},
|
||
"try": {
|
||
"description": "اختبار نقطة نهاية API عبر المواصفات",
|
||
"method": "طريقة HTTP (الافتراضية: GET)",
|
||
"body": "مسار ملف JSON الذي يحتوي على نص الطلب",
|
||
"query": "مُعامل استعلام بالصيغة key=value (قابل للتكرار)",
|
||
"header": "ترويسة بالصيغة key=value (قابلة للتكرار)"
|
||
},
|
||
"endpoints": {
|
||
"description": "عرض جميع نقاط نهاية API",
|
||
"search": "التصفية حسب المسار أو الملخص"
|
||
},
|
||
"paths": {
|
||
"description": "عرض جميع مسارات API"
|
||
}
|
||
},
|
||
"combo": {
|
||
"title": "التركيبات",
|
||
"switched": "التركيبة النشطة: {name}",
|
||
"created": "تم إنشاء التركيبة: {name}",
|
||
"deleted": "تم حذف التركيبة: {name}",
|
||
"noCombos": "لم يتم تكوين أي تركيبات.",
|
||
"confirmDelete": "هل تريد حذف التركيبة {name}؟",
|
||
"suggest": {
|
||
"description": "اقتراح أفضل تركيبة لمهمة باستخدام تقييم الذكاء الاصطناعي",
|
||
"task": "وصف المهمة",
|
||
"maxCost": "الحد الأقصى لتكلفة كل طلب بالدولار الأمريكي",
|
||
"maxLatencyMs": "الحد الأقصى لزمن الاستجابة بالمللي ثانية",
|
||
"weights": "أوزان التقييم بصيغة JSON، مثال: {\"latency\":0.7,\"cost\":0.3}",
|
||
"top": "عدد أفضل المرشحين المراد عرضهم (الافتراضي: 5)",
|
||
"explain": "طباعة المبررات إلى stderr",
|
||
"switch": "تفعيل التركيبة الأعلى تصنيفًا"
|
||
}
|
||
},
|
||
"oneproxy": {
|
||
"description": "إدارة مجموعة المصادر العليا في OneProxy",
|
||
"stats": {
|
||
"provider": "التصفية حسب المزوّد",
|
||
"period": "الفترة الزمنية (الافتراضية: 24h)"
|
||
},
|
||
"fetch": {
|
||
"description": "جلب الوكلاء من المجموعة",
|
||
"count": "عدد الوكلاء المراد جلبهم (الافتراضي: 1)",
|
||
"type": "نوع الوكيل: http|socks5 (الافتراضي: http)"
|
||
},
|
||
"rotate": {
|
||
"description": "فرض تدوير الوكيل",
|
||
"provider": "المزوّد المراد إجراء التدوير له",
|
||
"connectionId": "معرّف الاتصال المحدد المراد تدويره"
|
||
},
|
||
"config": {
|
||
"description": "عرض إعدادات OneProxy أو تحديثها",
|
||
"enabled": "تمكين تجمّع الوكلاء (true|false)",
|
||
"poolSize": "حجم التجمّع",
|
||
"providerSource": "عنوان URL لمزوّد الوكيل",
|
||
"rotationPolicy": "سياسة التدوير: sticky|per-request|periodic"
|
||
},
|
||
"pool": {
|
||
"description": "عرض تجمّع الوكلاء الحالي مع المقاييس"
|
||
}
|
||
},
|
||
"open": {
|
||
"description": "فتح صفحة محددة من لوحة معلومات OmniRoute في المتصفح",
|
||
"url": "طباعة عنوان URL فقط، دون فتح المتصفح"
|
||
},
|
||
"telemetry": {
|
||
"description": "الوصول إلى بيانات القياس عن بُعد المجمّعة",
|
||
"summary": {
|
||
"description": "عرض ملخص القياس عن بُعد المجمّع",
|
||
"period": "الفترة الزمنية: 24h|7d|30d (الافتراضي: 24h)",
|
||
"compareTo": "المقارنة بالفترة السابقة"
|
||
},
|
||
"export": {
|
||
"description": "تصدير أحداث القياس عن بُعد إلى JSONL",
|
||
"out": "مسار ملف الإخراج (الافتراضي: telemetry.jsonl)",
|
||
"period": "الفترة الزمنية للتصدير (الافتراضي: 7d)"
|
||
}
|
||
},
|
||
"sync": {
|
||
"description": "مزامنة الإعدادات بين مثيلات OmniRoute",
|
||
"push": {
|
||
"description": "دفع الإعدادات إلى السحابة أو إلى مثيل بعيد",
|
||
"target": "الهدف (cloud أو context:name)",
|
||
"bundle": "أجزاء الحزمة المراد مزامنتها",
|
||
"dryRun": "المعاينة دون تطبيق"
|
||
},
|
||
"pull": {
|
||
"description": "سحب الإعدادات من السحابة أو من مثيل بعيد",
|
||
"source": "المصدر (cloud أو context:name)",
|
||
"merge": "الدمج مع الإعدادات الحالية",
|
||
"replace": "استبدال الإعدادات الحالية",
|
||
"dryRun": "المعاينة دون تطبيق"
|
||
},
|
||
"diff": {
|
||
"source": "سياق المصدر",
|
||
"target": "سياق الهدف"
|
||
},
|
||
"bundle": {
|
||
"description": "تصدير الإعدادات كملف حزمة",
|
||
"include": "الأجزاء المراد تضمينها (مفصولة بفواصل)"
|
||
},
|
||
"import": {
|
||
"description": "استيراد ملف حزمة",
|
||
"dryRun": "التحقق دون تطبيق"
|
||
},
|
||
"initialize": {
|
||
"fromCloud": "التهيئة من نسخة احتياطية سحابية"
|
||
},
|
||
"tokens": {
|
||
"description": "إدارة رموز المزامنة",
|
||
"create": {
|
||
"name": "اسم الرمز",
|
||
"scope": "نطاق الرمز",
|
||
"ttl": "مدة صلاحية الرمز (مثل 30d)"
|
||
},
|
||
"revoke": {
|
||
"yes": "تخطي التأكيد"
|
||
}
|
||
},
|
||
"resolve": {
|
||
"description": "حل تعارضات المزامنة تفاعليًا"
|
||
}
|
||
},
|
||
"config": {
|
||
"contexts": {
|
||
"description": "إدارة سياقات/ملفات تعريف الخادم (إضافة، استخدام، عرض القائمة، عرض التفاصيل، إزالة، إعادة تسمية، تصدير، استيراد)"
|
||
},
|
||
"lang": {
|
||
"description": "إدارة لغة عرض CLI",
|
||
"getDescription": "عرض رمز اللغة النشطة حاليًا",
|
||
"setDescription": "تعيين لغة العرض وحفظها في الإعدادات",
|
||
"listDescription": "عرض جميع اللغات المتاحة",
|
||
"listTitle": "اللغات المتاحة",
|
||
"current": "اللغة: {code} ({name})",
|
||
"saved": "تم تعيين اللغة إلى {code} ({name}).",
|
||
"noCode": "رمز اللغة مطلوب. شغّل 'omniroute config lang list' لعرض الرموز المتاحة.",
|
||
"unknown": "رمز لغة غير معروف: {code}. شغّل 'omniroute config lang list' لعرض الرموز المتاحة.",
|
||
"alreadySet": "اللغة معيّنة بالفعل إلى {code}.",
|
||
"envHint": "تلميح: يمكنك أيضًا تعيين OMNIROUTE_LANG={code} في بيئتك."
|
||
}
|
||
},
|
||
"completion": {
|
||
"description": "إنشاء أو تثبيت نصوص الإكمال التلقائي للصدفة",
|
||
"zsh": "طباعة نص الإكمال التلقائي لـ zsh",
|
||
"bash": "طباعة نص الإكمال التلقائي لـ bash",
|
||
"fish": "طباعة نص الإكمال التلقائي لـ fish",
|
||
"install": "تثبيت نص الإكمال التلقائي بشكل عام للصدفة المكتشفة",
|
||
"refresh": "تحديث ذاكرة التخزين المؤقت للتركيبات/المزوّدين/النماذج"
|
||
},
|
||
"logs": {
|
||
"description": "بث سجلات الطلبات أو تصديرها",
|
||
"follow": "بث السجلات في الوقت الفعلي",
|
||
"filter": "التصفية حسب المستوى (error,warn,info) — مفصولة بفواصل",
|
||
"lines": "عدد الأسطر المطلوب جلبها",
|
||
"timeout": "مهلة الاتصال بالمللي ثانية",
|
||
"baseUrl": "عنوان URL الأساسي لواجهة OmniRoute API",
|
||
"requestId": "التصفية حسب معرّف الطلب",
|
||
"apiKey": "التصفية حسب مفتاح API",
|
||
"combo": "التصفية حسب اسم التركيبة",
|
||
"status": "التصفية حسب رمز حالة HTTP",
|
||
"durationMin": "الحد الأدنى لمدة الطلب بالمللي ثانية",
|
||
"durationMax": "الحد الأقصى لمدة الطلب بالمللي ثانية",
|
||
"export": "حفظ السجلات في ملف (json/jsonl/csv)",
|
||
"exported": "تم حفظ السجلات في {path}",
|
||
"stopped": "تم إيقاف بث السجلات.",
|
||
"streamError": "خطأ في بث السجلات: {message}"
|
||
},
|
||
"tray": {
|
||
"description": "التحكم في أيقونة علبة النظام",
|
||
"show": "إظهار أيقونة علبة النظام (إذا كان الخادم يعمل مع --tray)",
|
||
"hide": "إخفاء أيقونة علبة النظام",
|
||
"quit": "إنهاء OmniRoute عبر علبة النظام"
|
||
},
|
||
"autostart": {
|
||
"description": "إدارة التشغيل التلقائي لـ OmniRoute عند الإقلاع (Linux: خدمة مستخدم systemd)",
|
||
"enable": "تمكين التشغيل التلقائي عند الإقلاع",
|
||
"disable": "تعطيل التشغيل التلقائي عند الإقلاع",
|
||
"toggle": "تبديل حالة التشغيل التلقائي عند الإقلاع",
|
||
"status": "عرض حالة التشغيل التلقائي"
|
||
},
|
||
"runtime": {
|
||
"description": "إدارة تبعيات وقت التشغيل الأصلية",
|
||
"check": "التحقق من حالة التبعيات الأصلية في دليل وقت التشغيل",
|
||
"repair": "إعادة تثبيت التبعيات الأصلية في دليل وقت التشغيل",
|
||
"repair_force": "فرض إعادة التثبيت حتى إن كانت صالحة",
|
||
"clean": "إزالة دليل وقت التشغيل (يحرر مساحة على القرص)",
|
||
"clean_yes": "تخطي التأكيد"
|
||
},
|
||
"repl": {
|
||
"description": "بيئة REPL تفاعلية متعددة الجولات مع LLM",
|
||
"model": "النموذج المراد استخدامه (الافتراضي: auto)",
|
||
"combo": "اسم المجموعة المراد استخدامها",
|
||
"system": "موجّه النظام",
|
||
"resume": "استئناف جلسة محفوظة حسب الاسم"
|
||
},
|
||
"plugin": {
|
||
"description": "إدارة إضافات CLI (omniroute-cmd-*)",
|
||
"list": "عرض الإضافات المثبتة",
|
||
"install": "تثبيت إضافة من npm أو من مسار محلي",
|
||
"remove": "إزالة إضافة مثبتة",
|
||
"info": "عرض تفاصيل إضافة مثبتة",
|
||
"search": "البحث في سجل npm عن الإضافات المتاحة",
|
||
"update": "تحديث الإضافات المثبتة",
|
||
"scaffold": "إنشاء هيكل أولي لإضافة جديدة"
|
||
},
|
||
"launch": {
|
||
"description": "تشغيل Claude Code موجّهًا إلى OmniRoute (محليًا أو عن بُعد، باستخدام --profile)",
|
||
"token": "الرمز المميز الذي يجب أن يرسله عميل Claude (ANTHROPIC_AUTH_TOKEN)",
|
||
"notRunning": "يتعذر الوصول إلى OmniRoute على {port}. شغّله باستخدام 'omniroute serve'.",
|
||
"notFound": "لم يتم العثور على واجهة CLI المسماة 'claude' في PATH."
|
||
},
|
||
"run": {
|
||
"description": "تشغيل هدف CLI مدعوم عبر OmniRoute"
|
||
},
|
||
"setupClaude": {
|
||
"description": "إنشاء ملفات تعريف Claude Code في ~/.claude/profiles من كتالوج نماذج OmniRoute"
|
||
},
|
||
"connect": {
|
||
"description": "الاتصال بخادم OmniRoute بعيد والدخول إلى الوضع البعيد"
|
||
},
|
||
"tokens": {
|
||
"description": "إدارة رموز وصول CLI محددة النطاق (الوضع البعيد)"
|
||
},
|
||
"configure": {
|
||
"description": "اختيار موفّر ونموذج من الخادم النشط وتهيئة CLI محلية مدعومة"
|
||
},
|
||
"launchCodex": {
|
||
"description": "تشغيل Codex CLI موجّهًا إلى OmniRoute (محليًا أو على VPS بعيد)"
|
||
},
|
||
"setupCodex": {
|
||
"description": "إنشاء ملفات تعريف في ~/.codex من كتالوج نماذج OmniRoute المباشر"
|
||
},
|
||
"packs": {
|
||
"description": "إدارة حزم وقت التشغيل الاختيارية (ML / أتمتة المتصفح)",
|
||
"listDescription": "عرض الحزم الاختيارية وحالة تثبيتها",
|
||
"installDescription": "تثبيت حزمة اختيارية في DATA_DIR",
|
||
"verifyDescription": "التحقق من الحزم المثبتة بمقارنتها مع فهرس المجاميع الاختبارية المرفق",
|
||
"removeDescription": "إزالة حزمة اختيارية مثبتة",
|
||
"sourceOpt": "الدليل الذي يحتوي على محتويات الحزم وفهرس الحزم",
|
||
"warnNoIndex": "لم يتم العثور على optional-packs.index.json — التثبيت/التحقق غير متاحين في نسخة المستودع هذه (حزم سطح المكتب تتضمنه)",
|
||
"errUnknown": "حزمة غير معروفة: {name}",
|
||
"errNoIndex": "لم يتم العثور على فهرس الحزم؛ مرّر --source <dir> الذي يحتوي على محتويات الحزمة (تتضمنه حزم سطح المكتب بجوار التطبيق)",
|
||
"installed": "تم تثبيت الحزمة \"{name}\" والتحقق منها في {dir}",
|
||
"restartHint": "أعد تشغيل خادم OmniRoute (أو تطبيق سطح المكتب) ليتمكن وقت التشغيل من التعرّف على الحزمة",
|
||
"removed": "تمت إزالة الحزمة \"{name}\"",
|
||
"notInstalled": "لم تكن الحزمة \"{name}\" مثبّتة",
|
||
"verifyOk": "تم التحقق من جميع الحزم المثبّتة",
|
||
"verifyFailed": "فشل التحقق من {count} حزمة",
|
||
"noneInstalled": "لا توجد حزم اختيارية مثبّتة"
|
||
}
|
||
}
|