* feat(model-select-modal): highlight added models and support bulk selection - Add addedModelValues prop to highlight already-added models with primary color - Sort models alphabetically per provider, with added models floated to top - Replace green highlight with primary brand color (orange #E56A4A) - Use check icon (10px) inline with model name instead of check_circle - Replace Done button with info bar explaining click-to-toggle behavior - Add ProviderIcon to provider group headers replacing colored dot - Import ProviderIcon, remove unused Button import * feat(cli-tools): wire addedModelValues, onDeselect, and auto-save to model select modals - Pass selectedModels as addedModelValues to ModelSelectModal in OpenCode and Copilot cards - Add onDeselect handler to remove model from list on second click - Set closeOnSelect=false to allow bulk model selection - Remove manual setModalOpen(false) from onSelect callbacks - Add saveModels() silent auto-save triggered on modal close (OpenCodeToolCard) - Use useRef to track latest selectedModels in closure-safe way * feat(modal): functional traffic light close button with hover icon and tooltip - Make red dot a clickable button that closes the modal - Show ✕ icon inside red dot on hover via group-hover opacity transition - Gray out yellow and green dots (cursor-not-allowed, no tooltip) - Increase dot size from w-3 h-3 to w-4 h-4 - Add Tooltip with brand-matched color #FF5F56 on red dot - Remove X close button from modal header * feat(tooltip): add color prop for themed tooltip backgrounds * feat(i18n): add translations for model select info bar and close tooltip - Add 'Click to add, click again to remove. Changes are saved automatically.' to all 32 locales - Add 'Close' translation to all 32 locales * fix(ui): address code review feedback on modal UX and auto-save - Modal: remove showCloseButton prop, use showTrafficLights for header condition, hide traffic lights on mobile (hidden md:flex), add mobile X button (md:hidden) with aria-label, add aria-label and title on traffic light close button - OpenCodeToolCard: validate activeModel membership before saving — fallback to models[0] or empty string; clear/reassign activeModel on deselect when removed model was the active one - CopilotToolCard: add useRef + selectedModelsRef, add saveModels() using /api/cli-tools/copilot-settings, wire auto-save on modal close - ModelSelectModal: fix JSX formatting — separate info bar closing div from Search comment onto its own line
193 lines
10 KiB
JSON
193 lines
10 KiB
JSON
{
|
|
"Cancel": "إلغاء",
|
|
"Delete": "حذف",
|
|
"Edit": "تحرير",
|
|
"Save": "حفظ",
|
|
"Close": "إغلاق",
|
|
"Add": "إضافة",
|
|
"Remove": "إزالة",
|
|
"Settings": "الإعدادات",
|
|
"Profile": "الملف الشخصي",
|
|
"Dashboard": "لوحة التحكم",
|
|
"Logout": "تسجيل الخروج",
|
|
"Login": "تسجيل الدخول",
|
|
"Providers": "الموفرون",
|
|
"Usage": "الإحصائيات",
|
|
"API Key": "مفتاح API",
|
|
"Connected": "متصل",
|
|
"Disconnected": "غير متصل",
|
|
"Active": "نشط",
|
|
"Inactive": "غير نشط",
|
|
"Success": "نجح",
|
|
"Failed": "فشل",
|
|
"Error": "خطأ",
|
|
"Warning": "تحذير",
|
|
"Info": "معلومات",
|
|
"Loading": "جاري التحميل",
|
|
"Search": "بحث",
|
|
"Filter": "تصفية",
|
|
"Sort": "ترتيب",
|
|
"Export": "تصدير",
|
|
"Import": "استيراد",
|
|
"Refresh": "تحديث",
|
|
"Back": "رجوع",
|
|
"Next": "التالي",
|
|
"Previous": "السابق",
|
|
"Submit": "إرسال",
|
|
"Confirm": "تأكيد",
|
|
"Yes": "نعم",
|
|
"No": "لا",
|
|
"OK": "حسنا",
|
|
"Apply": "تطبيق",
|
|
"Reset": "إعادة تعيين",
|
|
"Clear": "مسح",
|
|
"Select": "تحديد",
|
|
"Upload": "تحميل",
|
|
"Download": "تنزيل",
|
|
"Copy": "نسخ",
|
|
"Paste": "لصق",
|
|
"Cut": "قص",
|
|
"Undo": "تراجع",
|
|
"Redo": "إعادة",
|
|
"Name": "الاسم",
|
|
"Description": "الوصف",
|
|
"Status": "الحالة",
|
|
"Type": "النوع",
|
|
"Date": "التاريخ",
|
|
"Time": "الوقت",
|
|
"Created": "تم إنشاء",
|
|
"Updated": "تم التحديث",
|
|
"Actions": "الإجراءات",
|
|
"Details": "التفاصيل",
|
|
"View": "عرض",
|
|
"New": "جديد",
|
|
"Total": "الإجمالي",
|
|
"Count": "العدد",
|
|
"Price": "السعر",
|
|
"Cost": "التكلفة",
|
|
"Free": "مجاني",
|
|
"Paid": "مدفوع",
|
|
"Enable": "تفعيل",
|
|
"Disable": "تعطيل",
|
|
"Enabled": "مفعل",
|
|
"Disabled": "معطل",
|
|
"Online": "متصل",
|
|
"Offline": "غير متصل",
|
|
"Available": "متاح",
|
|
"Unavailable": "غير متاح",
|
|
"Required": "مطلوب",
|
|
"Optional": "اختياري",
|
|
"Default": "افتراضي",
|
|
"Custom": "مخصص",
|
|
"Advanced": "متقدم",
|
|
"Basic": "أساسي",
|
|
"Help": "مساعدة",
|
|
"Support": "دعم",
|
|
"Documentation": "التوثيق",
|
|
"Version": "الإصدار",
|
|
"Language": "اللغة",
|
|
"Theme": "المظهر",
|
|
"Light": "فاتح",
|
|
"Dark": "داكن",
|
|
"Auto": "تلقائي",
|
|
"Endpoint": "نقطة نهاية",
|
|
"Combos": "تراكيب",
|
|
"Quota Tracker": "متتبع الحصة",
|
|
"MITM": "MITM",
|
|
"CLI Tools": "أدوات CLI",
|
|
"Console Log": "سجل وحدة التحكم",
|
|
"System": "النظام",
|
|
"Debug": "تصحيح",
|
|
"Shutdown": "إيقاف",
|
|
"Close Proxy": "إغلاق الوكيل",
|
|
"Are you sure you want to close the proxy server?": "هل أنت متأكد من أنك تريد إغلاق خادم الوكيل؟",
|
|
"Server Disconnected": "خادم غير متصل",
|
|
"The proxy server has been stopped.": "تم إيقاف خادم الوكيل.",
|
|
"Reload Page": "إعادة تحميل الصفحة",
|
|
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "الخدمة تعمل في المحطة الطرفية. يمكنك إغلاق صفحة الويب هذه. سيؤدي الإيقاف إلى إيقاف الخدمة.",
|
|
"Manage your AI provider connections": "إدارة اتصالات موفر الذكاء الاصطناعي الخاصة بك",
|
|
"Model combos with fallback": "تراكيب النموذج مع الخيار البديل",
|
|
"Monitor your API usage, token consumption, and request logs": "راقب استخدام API وتناول الرموز وسجلات الطلب",
|
|
"Intercept CLI tool traffic and route through 9Router": "اعترض حركة مرور أداة CLI وحجم من خلال 9Router",
|
|
"Configure CLI tools": "تكوين أدوات CLI",
|
|
"API endpoint configuration": "تكوين نقطة نهاية API",
|
|
"Manage your preferences": "إدارة تفضيلاتك",
|
|
"Debug translation flow between formats": "تصحيح تدفق الترجمة بين الصيغ",
|
|
"Live server console output": "مخرجات وحدة التحكم على الخادم المباشر",
|
|
"Create model combos with fallback support": "إنشاء تراكيب نموذج مع دعم الخيار البديل",
|
|
"Local Mode": "الوضع المحلي",
|
|
"Running on your machine": "يعمل على جهازك",
|
|
"Database Location": "موقع قاعدة البيانات",
|
|
"Download Backup": "تنزيل النسخة الاحتياطية",
|
|
"Import Backup": "استيراد النسخة الاحتياطية",
|
|
"Database backup downloaded": "تم تنزيل النسخة الاحتياطية لقاعدة البيانات",
|
|
"Database imported successfully": "تم استيراد قاعدة البيانات بنجاح",
|
|
"Security": "الأمان",
|
|
"Require login": "يتطلب تسجيل الدخول",
|
|
"When ON, dashboard requires password. When OFF, access without login.": "عند التشغيل، يتطلب لوحة التحكم كلمة مرور. عند الإيقاف، الوصول بدون تسجيل دخول.",
|
|
"Current Password": "كلمة المرور الحالية",
|
|
"Enter current password": "أدخل كلمة المرور الحالية",
|
|
"New Password": "كلمة مرور جديدة",
|
|
"Enter new password": "أدخل كلمة مرور جديدة",
|
|
"Confirm New Password": "تأكيد كلمة المرور الجديدة",
|
|
"Confirm new password": "تأكيد كلمة المرور الجديدة",
|
|
"Update Password": "تحديث كلمة المرور",
|
|
"Set Password": "تعيين كلمة المرور",
|
|
"Password updated successfully": "تم تحديث كلمة المرور بنجاح",
|
|
"Passwords do not match": "كلمات المرور لا تتطابق",
|
|
"Routing Strategy": "استراتيجية التوجيه",
|
|
"Round Robin": "جولة روبن",
|
|
"Cycle through accounts to distribute load": "الدوران عبر الحسابات لتوزيع الحمل",
|
|
"Sticky Limit": "حد لزج",
|
|
"Calls per account before switching": "المكالمات لكل حساب قبل التبديل",
|
|
"Network": "الشبكة",
|
|
"Outbound Proxy": "وكيل الخروج",
|
|
"Enable proxy for OAuth + provider outbound requests.": "تفعيل الوكيل لطلبات OAuth + الخروج من الموفر.",
|
|
"Proxy URL": "عنوان URL الوكيل",
|
|
"Leave empty to inherit existing env proxy (if any).": "اترك فارغًا لوراثة وكيل env الموجود (إن وجد).",
|
|
"No Proxy": "لا يوجد وكيل",
|
|
"Comma-separated hostnames/domains to bypass the proxy.": "أسماء المضيفين/النطاقات المفصولة بفواصل لتجاوز الوكيل.",
|
|
"Test proxy URL": "اختبر عنوان URL الوكيل",
|
|
"Proxy settings applied": "تم تطبيق إعدادات الوكيل",
|
|
"Proxy enabled": "الوكيل مفعل",
|
|
"Proxy disabled": "الوكيل معطل",
|
|
"Proxy test OK": "اختبار الوكيل حسنا",
|
|
"Proxy test failed": "فشل اختبار الوكيل",
|
|
"Please enter a Proxy URL to test": "يرجى إدخال عنوان URL الوكيل للاختبار",
|
|
"Observability": "القابلية للمراقبة",
|
|
"Enable Observability": "تفعيل القابلية للمراقبة",
|
|
"Turn request detail recording on/off globally": "تشغيل/إيقاف تسجيل تفاصيل الطلب بشكل عام",
|
|
"Max Records": "أقصى عدد من السجلات",
|
|
"Maximum request detail records to keep (older records are auto-deleted)": "الحد الأقصى من سجلات تفاصيل الطلب للاحتفاظ بها (يتم حذف السجلات الأقدم تلقائيًا)",
|
|
"Batch Size": "حجم الدفعة",
|
|
"Number of items to accumulate before writing to database (higher = better performance)": "عدد العناصر المراد تجميعها قبل الكتابة إلى قاعدة البيانات (أعلى = أداء أفضل)",
|
|
"Flush Interval (ms)": "فترة المسح (ms)",
|
|
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "الحد الأقصى للانتظار قبل مسح المخزن المؤقت (يمنع فقدان البيانات أثناء الحركة المنخفضة)",
|
|
"Max JSON Size (KB)": "أقصى حجم JSON (KB)",
|
|
"Maximum size for each JSON field (request/response) before truncation": "الحد الأقصى لحجم كل حقل JSON (الطلب/الرد) قبل القطع",
|
|
"All data stored on your machine": "جميع البيانات المخزنة على جهازك",
|
|
"MITM Server": "خادم MITM",
|
|
"Running": "يجري",
|
|
"Stopped": "متوقف",
|
|
"Cert": "شهادة",
|
|
"Server": "الخادم",
|
|
"Purpose:": "الغرض:",
|
|
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "استخدم Antigravity IDE و GitHub Copilot → مع أي موفر/نموذج من 9Router",
|
|
"How it works:": "كيف يعمل:",
|
|
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "طلب Antigravity/Copilot IDE → إعادة توجيه DNS إلى localhost:443 → يعترض وكيل MITM → 9Router → الرد إلى Antigravity/Copilot",
|
|
"No API keys — create one in Keys page": "لا توجد مفاتيح API — قم بإنشاء واحدة في صفحة المفاتيح",
|
|
"sk_9router (default)": "sk_9router (افتراضي)",
|
|
"Server started": "تم بدء الخادم",
|
|
"Failed to start server": "فشل في بدء الخادم",
|
|
"Server stopped — all DNS cleared": "تم إيقاف الخادم — تم مسح جميع DNS",
|
|
"Failed to stop server": "فشل في إيقاف الخادم",
|
|
"Sudo password is required": "كلمة مرور sudo مطلوبة",
|
|
"Stop Server": "إيقاف الخادم",
|
|
"Start Server": "بدء الخادم",
|
|
"Enable DNS per tool below to activate interception": "قم بتفعيل DNS لكل أداة أدناه لتفعيل الاعتراض",
|
|
"Sudo Password Required": "كلمة مرور Sudo مطلوبة",
|
|
"Enter your sudo password to start/stop MITM server": "أدخل كلمة مرور sudo للبدء/الإيقاف من خادم MITM",
|
|
"Sudo Password": "كلمة مرور Sudo",
|
|
"Click to add, click again to remove. Changes are saved automatically.": "انقر للإضافة، انقر مرة أخرى للإزالة. يتم حفظ التغييرات تلقائيًا."
|
|
}
|