{
  "common": {
    "save": "حفظ",
    "cancel": "إلغاء",
    "delete": "حذف",
    "loading": "جار التحميل...",
    "error": "حدث خطأ",
    "success": "النجاح",
    "confirm": "هل أنت متأكد؟",
    "refresh": "تحديث",
    "close": "إغلاق",
    "add": "أضف",
    "edit": "تحرير",
    "search": "بحث",
    "back": "العودة",
    "next": "التالي",
    "submit": "إرسال",
    "reset": "إعادة تعيين",
    "copy": "نسخ",
    "copied": "منسوخ!",
    "enabled": "ممكّن",
    "disabled": "غير مفعّل",
    "active": "نشط",
    "inactive": "غير نشط",
    "noData": "لا توجد بيانات متاحة",
    "nothingHere": "Nothing here yet",
    "configure": "تكوين",
    "manage": "إدارة",
    "name": "الاسم",
    "actions": "الإجراءات",
    "status": "الحالة",
    "type": "اكتب",
    "model": "نموذج",
    "models": "نماذج",
    "provider": "مزود",
    "account": "الحساب",
    "time": "الوقت",
    "details": "التفاصيل",
    "created": "تم إنشاؤها",
    "lastUsed": "Last Refreshed",
    "loadMore": "تحميل المزيد",
    "noResults": "لم يتم العثور على نتائج",
    "reloadPage": "إعادة تحميل الصفحة",
    "connected": "متصل",
    "disconnected": "غير متصل",
    "notConfigured": "لم يتم تكوينه",
    "testConnection": "اتصال الاختبار",
    "enable": "تمكين",
    "disable": "تعطيل",
    "columns": "أعمدة",
    "newest": "الأحدث",
    "oldest": "الأقدم",
    "all": "الكل",
    "none": "لا شيء",
    "yes": "نعم",
    "no": "لا",
    "on": "__MISSING__:ON",
    "off": "__MISSING__:OFF",
    "warning": "تحذير",
    "note": "ملاحظة",
    "free": "مجاني",
    "skipToContent": "انتقل إلى المحتوى",
    "maintenanceServerIssues": "Server is experiencing issues. Some features may be unavailable.",
    "maintenanceServerUnreachable": "Server is unreachable. Reconnecting...",
    "accept": "قبول",
    "accountId": "معرف الحساب",
    "alias": "الاسم المستعار",
    "apiKeyId": "معرف مفتاح واجهة برمجة التطبيقات",
    "apiKeyName": "اسم مفتاح واجهة برمجة التطبيقات",
    "apiKeySecret": "سر مفتاح API",
    "authorization": "إذن",
    "content-type": "نوع المحتوى",
    "content-length": "طول المحتوى",
    "cookie": "ملف تعريف الارتباط",
    "file": "ملف",
    "host": "المضيف",
    "id": "معرف",
    "import": "استيراد",
    "limit": "الحد",
    "offset": "إزاحة",
    "open": "مفتوح",
    "origin": "الأصل",
    "promptTokens": "الرموز الفورية",
    "completionTokens": "رموز الإنجاز",
    "totalTokens": "مجموع الرموز",
    "rawModel": "النموذج الخام",
    "scope": "النطاق",
    "skill": "مهارة",
    "sortBy": "فرز حسب",
    "sortOrder": "ترتيب الفرز",
    "tab": "علامة التبويب",
    "text": "نص",
    "textarea": "منطقة النص",
    "tool": "أداة",
    "toolId": "معرف الأداة",
    "web": "ويب",
    "whereUsed": "حيث تستخدم",
    "whitelist": "القائمة البيضاء",
    "blacklist": "القائمة السوداء",
    "resolve": "حل",
    "force": "القوة",
    "base64url": "عنوان URL Base64",
    "hex": "عرافة",
    "range": "النطاق",
    "component": "مكون",
    "redirect_uri": "إعادة توجيه URI",
    "idempotency-key": "مفتاح العجز",
    "error_description": "وصف الخطأ",
    "code": "الكود",
    "compatible": "متوافق",
    "chat-completions": "استكمالات الدردشة",
    "oauth": "OAuth",
    "auth_token": "رمز المصادقة",
    "crypto": "تشفير",
    "hours": "ساعات",
    "selfsigned": "موقعة ذاتيا",
    "proxy_id": "معرف الوكيل",
    "proxyId": "معرف الوكيل",
    "connectionId": "معرف الاتصال",
    "resolveConnectionId": "حل معرف الاتصال",
    "resolve_connection_id": "حل معرف الاتصال",
    "scope_id": "معرف النطاق",
    "scopeId": "معرف النطاق",
    "jwtSecret": "JWT سر",
    "keytar": "كيتار",
    "better-sqlite3": "أفضل-sqlite3",
    "undici": "undici",
    "builder-id": "معرف البناء",
    "musicDesc": "وصف الموسيقى",
    "musicGeneration": "جيل الموسيقى",
    "idc": "آي دي سي",
    "cloud-status-changed": "تغيرت حالة السحابة",
    "where_used": "حيث تستخدم",
    "windowMs": "النافذة (مللي ثانية)",
    "social-github": "جيثب",
    "social-google": "جوجل",
    "TOOL_ALLOWLIST": "القائمة المسموح بها للأداة",
    "TOOL_DENYLIST": "قائمة رفض الأداة",
    "Failed to save pricing": "فشل حفظ الأسعار",
    "Failed to reset pricing": "فشل في إعادة تعيين التسعير",
    "apikey": "مفتاح واجهة برمجة التطبيقات",
    "http": "HTTP",
    "goToDashboard": "Go to Dashboard",
    "checkSystemStatus": "Check System Status",
    "selectModel": "Select Model",
    "combos": "Combos",
    "noModelsFound": "No models found",
    "clear": "Clear",
    "done": "Done",
    "errorOccurred": "Error Occurred",
    "comboDeleted": "Combo Deleted",
    "hide": "Hide",
    "creating": "Creating",
    "comboCreated": "Combo Created",
    "swapFormats": "Swap Formats",
    "daysAgo": "Days Ago",
    "retries": "Retries",
    "errorDuringRestore": "Error During Restore",
    "eventsAppearHint": "Events Appear Hint",
    "noLockouts": "No Lockouts",
    "webSearchDesc": "Web Search Desc",
    "audioProvidersHeading": "Audio Providers Heading",
    "cloudAgentProviders": "موفرو الوكيل السحابي",
    "minutesAgo": "Minutes Ago",
    "a": "A",
    "liveAutoRefreshing": "Live Auto Refreshing",
    "webSearch": "Web Search",
    "anthropicPrefixPlaceholder": "Anthropic Prefix Placeholder",
    "addModelToCombo": "Add Model To Combo",
    "failedToLoad": "Failed To Load",
    "categoryMedia": "Category Media",
    "enableCloud": "Enable Cloud",
    "expirationBannerExpiringSoon": "Expiration Banner Expiring Soon",
    "retry": "Retry",
    "embeddings": "Embeddings",
    "errorCount": "Error Count",
    "backupReasonManual": "Backup Reason Manual",
    "safeSearchModerate": "Safe Search Moderate",
    "activeLimiters": "Active Limiters",
    "a2aCardTitle": "A2A Card Title",
    "cloudWorkerUnreachable": "Cloud Worker Unreachable",
    "testFailed": "Test Failed",
    "compatibleBaseUrlHint": "Compatible Base Url Hint",
    "usageTracking": "Usage Tracking",
    "disableCloudTitle": "Disable Cloud Title",
    "noConnections": "No Connections",
    "providerHealth": "Provider Health",
    "confirmDbImport": "Confirm Db Import",
    "notAvailableSymbol": "Not Available Symbol",
    "backupsAvailable": "Backups Available",
    "providerAuto": "Provider Auto",
    "newProviderNamePlaceholder": "New Provider Name Placeholder",
    "a2aQuickStartStep2": "A2A Quick Start Step2",
    "ok": "Ok",
    "available": "Available",
    "noBackupYet": "No Backup Yet",
    "more": "More",
    "noCompatibleYet": "No Compatible Yet",
    "multiProvider": "Multi Provider",
    "repairEnvHint": "Repair Env Hint",
    "disablingCloud": "Disabling Cloud",
    "testBench": "Test Bench",
    "valid": "Valid",
    "cloudBenefitShare": "Cloud Benefit Share",
    "mcpCardTitle": "Mcp Card Title",
    "disableConfirm": "Disable Confirm",
    "filters": "Filters",
    "expirationBannerExpiredDesc": "Expiration Banner Expired Desc",
    "saveComboDefaults": "Save Combo Defaults",
    "cloudConnectedVerified": "Cloud Connected Verified",
    "uptime": "Uptime",
    "compatibleProdPlaceholder": "Compatible Prod Placeholder",
    "fallbackChainsTitle": "Fallback Chains Title",
    "oauthLabel": "Oauth Label",
    "a2aCardDescription": "A2A Card Description",
    "okShort": "Ok Short",
    "maintenance": "Maintenance",
    "formatConverter": "Format Converter",
    "zedImportNetworkError": "Zed Import Network Error",
    "apiKeyLabel": "Api Key Label",
    "noModelsForProvider": "No Models For Provider",
    "mcpCardDescription": "Mcp Card Description",
    "apiTypeLabel": "Api Type Label",
    "configuredProvidersLabel": "Configured Providers Label",
    "maxRetriesLabel": "Max Retries Label",
    "title": "Title",
    "output": "Output",
    "prefixHint": "Prefix Hint",
    "skipWizard": "Skip Wizard",
    "failedCount": "Failed Count",
    "confirmDbImportDesc": "Confirm Db Import Desc",
    "entries": "Entries",
    "until": "Until",
    "disableCombo": "Disable Combo",
    "liveMonitorDescriptionPrefix": "Live Monitor Description Prefix",
    "runningCount": "Running Count",
    "noActiveConnectionsInGroup": "No Active Connections In Group",
    "savedSuccessfully": "Saved Successfully",
    "systemStorage": "System Storage",
    "videoDesc": "Video Desc",
    "maxResults": "Max Results",
    "timeRangeMonth": "Time Range Month",
    "testSummary": "Test Summary",
    "failedSetPassword": "Failed Set Password",
    "audio": "Audio",
    "restore": "Restore",
    "disableWarning": "Disable Warning",
    "moderationsDesc": "Moderations Desc",
    "providerHealthStatusAria": "Provider Health Status Aria",
    "modelNamePlaceholder": "Model Name Placeholder",
    "mcpQuickStartStep2": "Mcp Quick Start Step2",
    "quickStart": "Quick Start",
    "fullExportFailedWithError": "Full Export Failed With Error",
    "loadingBackups": "Loading Backups",
    "anthropicBaseUrlPlaceholder": "Anthropic Base Url Placeholder",
    "description": "Description",
    "noProviderFound": "No Provider Found",
    "auto": "Auto",
    "protocolsDescription": "Protocols Description",
    "cloudSessionNote": "Cloud Session Note",
    "advancedSettings": "Advanced Settings",
    "defaultStrategy": "Default Strategy",
    "purgeExpiredLogs": "Purge Expired Logs",
    "justNow": "Just Now",
    "providerTestFailed": "Provider Test Failed",
    "openaiBaseUrlPlaceholder": "Openai Base Url Placeholder",
    "image": "Image",
    "failedCreateChain": "Failed Create Chain",
    "importDatabase": "Import Database",
    "allDataLocal": "All Data Local",
    "sectionTitle": "Section Title",
    "failedToggle": "Failed Toggle",
    "editCombo": "Edit Combo",
    "testResults": "Test Results",
    "searchQuery": "Search Query",
    "addCcCompatible": "Add Cc Compatible",
    "duplicate": "Duplicate",
    "createCombo": "Create Combo",
    "searchTypeWeb": "Search Type Web",
    "addChain": "Add Chain",
    "prefixLabel": "Prefix Label",
    "listModelsDesc": "List Models Desc",
    "databaseSize": "Database Size",
    "chainCreated": "Chain Created",
    "providerTestTimeout": "Provider Test Timeout",
    "routingStrategy": "Routing Strategy",
    "translateAction": "Translate Action",
    "exportFailed": "Export Failed",
    "connectedVerificationPending": "Connected Verification Pending",
    "a2aQuickStartTitle": "A2A Quick Start Title",
    "couldNotTest": "Could Not Test",
    "testAllCompatible": "Test All Compatible",
    "anthropicCompatibleName": "Anthropic Compatible Name",
    "disabling": "Disabling",
    "failedEnable": "Failed Enable",
    "categoryUtility": "Category Utility",
    "customUrlOptional": "Custom Url Optional",
    "localProviders": "Local Providers",
    "comboNamePlaceholder": "Combo Name Placeholder",
    "memoryRss": "Memory Rss",
    "disableProvider": "Disable Provider",
    "welcomeDesc": "Welcome Desc",
    "nameLabel": "Name Label",
    "allOperational": "All Operational",
    "backupNow": "Backup Now",
    "providerMaxRetriesAria": "Provider Max Retries Aria",
    "textToSpeechDesc": "Text To Speech Desc",
    "machineId": "Machine Id",
    "globalProxy": "Global Proxy",
    "hitsMisses": "Hits Misses",
    "testDesc": "Test Desc",
    "chatDesc": "Chat Desc",
    "importSuccess": "Import Success",
    "chat": "Chat",
    "a2aQuickStartStep1": "A2A Quick Start Step1",
    "importFailed": "Import Failed",
    "inputPlaceholder": "Input Placeholder",
    "providerModelsTitle": "Provider Models Title",
    "lastBackup": "Last Backup",
    "yourEndpoint": "Your Endpoint",
    "autoDisableThresholdDesc": "Auto Disable Threshold Desc",
    "rerankDesc": "Rerank Desc",
    "modelsPathPlaceholder": "Models Path Placeholder",
    "noCombosYet": "No Combos Yet",
    "connectedVerificationPendingWithError": "Connected Verification Pending With Error",
    "comboDefaultsGuideHint1": "Combo Defaults Guide Hint1",
    "enableCloudTitle": "Enable Cloud Title",
    "configuredProvidersHint": "Configured Providers Hint",
    "paused": "Paused",
    "llmProviders": "Llm Providers",
    "enableCombo": "Enable Combo",
    "removeProviderOverrideAria": "Remove Provider Override Aria",
    "nodeVersion": "Node Version",
    "openai": "Openai",
    "exportFailedWithError": "Export Failed With Error",
    "proxyConfigured": "Proxy Configured",
    "concurrencyPerModel": "Concurrency Per Model",
    "protocolTasksLabel": "Protocol Tasks Label",
    "oauthProviders": "Oauth Providers",
    "lockedCount": "Locked Count",
    "deleteChainConfirm": "Delete Chain Confirm",
    "recentTranslations": "Recent Translations",
    "zedImportButton": "Zed Import Button",
    "responsesDesc": "Responses Desc",
    "testedCount": "Tested Count",
    "providersCommaSeparatedPlaceholder": "Providers Comma Separated Placeholder",
    "signatureDefaults": "Signature Defaults",
    "errorCreating": "Error Creating",
    "timeRangeYear": "Time Range Year",
    "compatibleLabel": "Compatible Label",
    "cloudDisabledSuccess": "Cloud Disabled Success",
    "deleteConfirm": "Delete Confirm",
    "check": "Check",
    "safeSearch": "Safe Search",
    "protocolLastActivity": "Protocol Last Activity",
    "openMcpDashboard": "Open Mcp Dashboard",
    "testBenchTab": "Test Bench Tab",
    "chatPathLabel": "Chat Path Label",
    "retryDelay": "Retry Delay",
    "errorUpdating": "Error Updating",
    "ideCliIntegrations": "Ide Cli Integrations",
    "imageGeneration": "Image Generation",
    "apiKeyRequired": "Api Key Required",
    "resetAllTitle": "Reset All Title",
    "connectionError": "Connection Error",
    "modelName": "Model Name",
    "apiKeyForCheck": "Api Key For Check",
    "cloudRequestTimeout": "Cloud Request Timeout",
    "showConfiguredOnly": "Show Configured Only",
    "showFreeOnly": "مجاني فقط",
    "addFirstProvider": "أضف مزودك الأول",
    "addFirstProviderDesc": "قم بتوصيل مزود الذكاء الاصطناعي لبدء توجيه الطلبات من خلال OmniRoute. يمكنك استخدام موفري الخدمات المجانيين، أو مفاتيح API، أو حسابات OAuth.",
    "learnMore": "تعلم المزيد",
    "includeDomains": "Include Domains",
    "promptCache": "Prompt Cache",
    "cloudConnected": "Cloud Connected",
    "deleteChain": "Delete Chain",
    "chatPathPlaceholder": "Chat Path Placeholder",
    "databasePath": "Database Path",
    "usingLocalServer": "Using Local Server",
    "globalComboConfig": "Global Combo Config",
    "backupFailed": "Backup Failed",
    "tabProtocols": "Tab Protocols",
    "continue": "Continue",
    "categorySearch": "Category Search",
    "rateLimitStatus": "Rate Limit Status",
    "repairEnvSuccess": "Repair Env Success",
    "nameRequired": "Name Required",
    "country": "Country",
    "trackMetricsDesc": "Track Metrics Desc",
    "durationSecondsShort": "Duration Seconds Short",
    "formatConverterDescription": "Format Converter Description",
    "cloudBenefitAccess": "Cloud Benefit Access",
    "maxRetries": "Max Retries",
    "queueTimeout": "Queue Timeout",
    "addProvider": "Add Provider",
    "realtime": "Realtime",
    "totalTranslations": "Total Translations",
    "protocolActiveStreamsLabel": "Protocol Active Streams Label",
    "repairEnv": "Repair Env",
    "modelsCount": "Models Count",
    "viewBackups": "View Backups",
    "responsesApi": "Responses Api",
    "copyComboName": "Copy Combo Name",
    "failures": "Failures",
    "failedUpdate": "Failed Update",
    "imageDesc": "Image Desc",
    "failedCreate": "Failed Create",
    "remainingOfLimit": "Remaining Of Limit",
    "protocolsTitle": "Protocols Title",
    "expirationBannerExpiringSoonDesc": "Expiration Banner Expiring Soon Desc",
    "source": "Source",
    "failed": "Failed",
    "apiKeyMgmt": "Api Key Mgmt",
    "mcpQuickStartStep1": "Mcp Quick Start Step1",
    "runTest": "Run Test",
    "loadingFallbackChains": "Loading Fallback Chains",
    "healthy": "Healthy",
    "version": "Version",
    "saveBlockWeighted": "Save Block Weighted",
    "zedImportNone": "Zed Import None",
    "noBackupsYet": "No Backups Yet",
    "noGlobalProxy": "No Global Proxy",
    "noModels": "No Models",
    "stickyLimit": "Sticky Limit",
    "passedCount": "Passed Count",
    "zedImportFailed": "Zed Import Failed",
    "saving": "Saving",
    "testAll": "Test All",
    "globalProxyDesc": "Global Proxy Desc",
    "latencyP99": "Latency P99",
    "connectingToCloud": "Connecting To Cloud",
    "responses": "Responses",
    "errorDeleting": "Error Deleting",
    "openaiPrefixPlaceholder": "Openai Prefix Placeholder",
    "enterPassword": "Enter Password",
    "openA2aDashboard": "Open A2A Dashboard",
    "enableProvider": "Enable Provider",
    "modeTest": "Mode Test",
    "failedDeleteChain": "Failed Delete Chain",
    "providerDesc": "Provider Desc",
    "templateLoadHint": "Template Load Hint",
    "lastFailure": "Last Failure",
    "moveDown": "Move Down",
    "providerLabel": "Provider Label",
    "clearCacheFailed": "Clear Cache Failed",
    "imagesGenerations": "Images Generations",
    "repairEnvWorking": "Repair Env Working",
    "millisecondsShort": "Milliseconds Short",
    "globalLabel": "Global Label",
    "failuresPlural": "Failures Plural",
    "completionsLegacyDesc": "Completions Legacy Desc",
    "searchProviders": "Search Providers",
    "chatPathHint": "Chat Path Hint",
    "defaultStrategyDesc": "Default Strategy Desc",
    "latencyP95": "Latency P95",
    "textToSpeech": "Text To Speech",
    "searchType": "Search Type",
    "messages": "Messages",
    "aggregatorsGateways": "Aggregators Gateways",
    "comboStrategyAria": "Combo Strategy Aria",
    "input": "Input",
    "testingConnection": "Testing Connection",
    "excludeDomains": "Exclude Domains",
    "webCookieProviders": "Web Cookie Providers",
    "allTestsPassed": "All Tests Passed",
    "openaiCompatibleName": "Openai Compatible Name",
    "warningCostOptimizedPartialPricing": "Warning Cost Optimized Partial Pricing",
    "comboDefaultsGuideTitle": "Combo Defaults Guide Title",
    "hoursAgo": "Hours Ago",
    "notAvailable": "Not Available",
    "skipAndContinue": "Skip And Continue",
    "moderations": "Moderations",
    "proxyConfig": "Proxy Config",
    "upstreamProxyProviders": "Upstream Proxy Providers",
    "exportAll": "Export All",
    "queuedCount": "Queued Count",
    "resetAll": "Reset All",
    "noTranslations": "No Translations",
    "avgLatency": "Avg Latency",
    "throttleStatus": "Throttle Status",
    "backupRetentionDesc": "Backup Retention Desc",
    "noCBData": "No Cb Data",
    "chainDeleted": "Chain Deleted",
    "timeLeft": "Time Left",
    "expirationBannerExpired": "Expiration Banner Expired",
    "language": "Language",
    "invalidFileType": "Invalid File Type",
    "monitoredProviders": "Monitored Providers",
    "errors": "Errors",
    "heap": "Heap",
    "chatCompletions": "Chat Completions",
    "exampleTemplatesHint": "Example Templates Hint",
    "retryDelayLabel": "Retry Delay Label",
    "audioTranscription": "Audio Transcription",
    "fallbackChainsDesc": "Fallback Chains Desc",
    "exampleTemplates": "Example Templates",
    "connectionsCount": "Connections Count",
    "modelsPathLabel": "Models Path Label",
    "activeProvidersHint": "Active Providers Hint",
    "activeLockouts": "Active Lockouts",
    "invalid": "Invalid",
    "skipPassword": "Skip Password",
    "moveUp": "Move Up",
    "timeRange": "Time Range",
    "stickyLimitDesc": "Sticky Limit Desc",
    "cloudBenefitEdge": "Cloud Benefit Edge",
    "custom": "Custom",
    "verifying": "Verifying",
    "baseUrlLabel": "Base Url Label",
    "setPassword": "Set Password",
    "safeSearchStrict": "Safe Search Strict",
    "noChangesSinceBackup": "No Changes Since Backup",
    "modelsPathHint": "Models Path Hint",
    "audioTranscriptions": "Audio Transcriptions",
    "testCombo": "Test Combo",
    "mcpQuickStartTitle": "Mcp Quick Start Title",
    "comboUpdated": "Combo Updated",
    "weighted": "Weighted",
    "providers": "Providers",
    "ccCompatibleLabel": "Cc Compatible Label",
    "noFallbackChainsDesc": "No Fallback Chains Desc",
    "yesImport": "Yes Import",
    "lockoutsAutoRefreshHint": "Lockouts Auto Refresh Hint",
    "tabApis": "Tab Apis",
    "sectionDescription": "Section Description",
    "filter": "Filter",
    "purgeLogsFailed": "Purge Logs Failed",
    "latency": "Latency",
    "testAllOAuth": "Test All O Auth",
    "mcpQuickStartStep3": "Mcp Quick Start Step3",
    "repairEnvFailed": "Repair Env Failed",
    "zedImportHint": "Zed Import Hint",
    "modelsAcrossEndpoints": "Models Across Endpoints",
    "autoDisableBannedAccounts": "Auto Disable Banned Accounts",
    "securityDesc": "Security Desc",
    "listModels": "List Models",
    "backupRestore": "Backup Restore",
    "target": "Target",
    "zedImportSuccess": "Zed Import Success",
    "lastHeaderUpdate": "Last Header Update",
    "categoryCore": "Category Core",
    "noFallbackChains": "No Fallback Chains",
    "noSearchProviders": "No Search Providers",
    "autoBalance": "Auto Balance",
    "noModelsYet": "No Models Yet",
    "signatureFamily": "Signature Family",
    "externalApiCalls": "External Api Calls",
    "providerOverridesDesc": "Provider Overrides Desc",
    "signatureTool": "Signature Tool",
    "connectionFailed": "Connection Failed",
    "activeLimitersPlural": "Active Limiters Plural",
    "doneDesc": "Done Desc",
    "down": "Down",
    "noDataYet": "No Data Yet",
    "activeProviders": "Active Providers",
    "nameInvalid": "Name Invalid",
    "skip": "Skip",
    "createChain": "Create Chain",
    "audioSpeech": "Audio Speech",
    "cacheCleared": "Cache Cleared",
    "searchTypeNews": "Search Type News",
    "durationMillisecondsShort": "Duration Milliseconds Short",
    "addOpenAICompatible": "Add Open Ai Compatible",
    "chatTesterTab": "Chat Tester Tab",
    "queued": "Queued",
    "domainPlaceholder": "Domain Placeholder",
    "durationMinutesShort": "Duration Minutes Short",
    "verifyingConnection": "Verifying Connection",
    "imageProviders": "Image Providers",
    "protocolToolsLabel": "Protocol Tools Label",
    "queryPlaceholder": "Query Placeholder",
    "videoGeneration": "Video Generation",
    "timeRangeWeek": "Time Range Week",
    "limitExhausted": "Limit Exhausted",
    "failedDisable": "Failed Disable",
    "inMemoryNote": "In Memory Note",
    "compatibleHint": "Compatible Hint",
    "errorShort": "Error Short",
    "advancedHint": "Advanced Hint",
    "restoreFailed": "Restore Failed",
    "searchProvidersHeading": "Search Providers Heading",
    "comboName": "Combo Name",
    "autoDisableDescription": "Auto Disable Description",
    "embeddingsDesc": "Embeddings Desc",
    "operational": "Operational",
    "testAllApiKey": "Test All Api Key",
    "backupCreated": "Backup Created",
    "errorDuringImport": "Error During Import",
    "comboDefaultsGuideHint2": "Combo Defaults Guide Hint2",
    "connecting": "Connecting",
    "fillModelAndProviders": "Fill Model And Providers",
    "syncing": "Syncing",
    "resetConfirm": "Reset Confirm",
    "trackMetrics": "Track Metrics",
    "successful": "Successful",
    "recovering": "Recovering",
    "autoDisableThreshold": "Auto Disable Threshold",
    "anthropic": "Anthropic",
    "syncingData": "Syncing Data",
    "cloudBenefitPorts": "Cloud Benefit Ports",
    "compatibleProviders": "Compatible Providers",
    "freeTierProviders": "مقدمي الطبقة الحرة",
    "freeTierLabel": "الطبقة المجانية متاحة",
    "freeTierProvidersDesc": "مقدمو الخدمة الذين لديهم طبقات مجانية - بعضهم يتطلب تسجيل مفتاح API، والبعض الآخر لا يحتاج إلى بيانات اعتماد على الإطلاق.",
    "clearCache": "Clear Cache",
    "reqs": "Reqs",
    "addAnthropicCompatible": "Add Anthropic Compatible",
    "apiKeyProviders": "Api Key Providers",
    "tabsAria": "Tabs Aria",
    "resetting": "Resetting",
    "millisecondsAbbr": "Milliseconds Abbr",
    "backupReasonPreRestore": "Backup Reason Pre Restore",
    "disableCloud": "Disable Cloud",
    "newProviderNameAria": "New Provider Name Aria",
    "passwordsMismatch": "Passwords Mismatch",
    "a2aQuickStartStep3": "A2A Quick Start Step3",
    "liveMonitorDescriptionSuffix": "Live Monitor Description Suffix",
    "failedAddProvider": "Failed Add Provider",
    "addAtLeastOneProvider": "Add At Least One Provider",
    "reasonSeparator": "Reason Separator",
    "zedImporting": "Zed Importing",
    "confirmPasswordPlaceholder": "Confirm Password Placeholder",
    "whatYouGet": "What You Get",
    "signatureSession": "Signature Session",
    "errorCountNoCode": "Error Count No Code",
    "testing": "Testing",
    "providersCommaSeparated": "Providers Comma Separated",
    "exportDatabase": "Export Database",
    "hitRate": "Hit Rate",
    "completionsLegacy": "Completions Legacy",
    "removeModel": "Remove Model",
    "timeRangeDay": "Time Range Day",
    "cloudRequestFailed": "Cloud Request Failed",
    "updatedAt": "Updated At",
    "monitoredProvidersHint": "Monitored Providers Hint",
    "connectionSuccessful": "Connection Successful",
    "latencyP50": "Latency P50",
    "logsDeleted": "Logs Deleted",
    "chatTester": "Chat Tester",
    "safeSearchOff": "Safe Search Off",
    "nameHint": "Name Hint",
    "debugToggle": "Debug Toggle",
    "embedding": "Embedding",
    "issuesLabel": "Issues Label",
    "optionAny": "Option Any",
    "maxNestingDepth": "Max Nesting Depth",
    "rerank": "Rerank",
    "checking": "Checking",
    "getStarted": "Get Started",
    "restoreSuccess": "Restore Success",
    "issuesDetected": "Issues Detected",
    "signatureCache": "Signature Cache",
    "modelLockouts": "Model Lockouts",
    "usingCloudProxy": "Using Cloud Proxy",
    "loadingHealth": "Loading Health",
    "providerOverrides": "Provider Overrides",
    "audioTranscriptionDesc": "Audio Transcription Desc",
    "learnedFromHeaders": "Learned From Headers",
    "totalRequests": "Total Requests",
    "cloudUnstableNote": "Cloud Unstable Note",
    "gamificationAdmin": "مشرف اللعب",
    "monitorAnomaliesAndHealth": "مراقبة الحالات الشاذة وصحة النظام",
    "flaggedAnomalies": "الحالات الشاذة التي تم وضع علامة عليها",
    "noAnomaliesDetected": "لم يتم اكتشاف أي حالات شاذة",
    "apiKey": "مفتاح واجهة برمجة التطبيقات",
    "xpLastHour": "XP (ساعة واحدة)",
    "zScore": "Z-النتيجة",
    "tokensCommunityServers": "خوادم المجتمع",
    "tokensServerNamePlaceholder": "اسم الخادم",
    "tokensApiKeyPlaceholder": "مفتاح واجهة برمجة التطبيقات",
    "tokensTokenBalance": "رصيد الرمز المميز",
    "tokensSendTokens": "إرسال الرموز",
    "tokensRecipientApiKeyId": "معرف مفتاح واجهة برمجة التطبيقات للمستلم",
    "tokensRecipientApiKeyIdPlaceholder": "أدخل معرف مفتاح API للمستلم",
    "tokensReasonOptional": "السبب (اختياري)",
    "tokensReasonPlaceholder": "على سبيل المثال مكافأة، مكافأة",
    "tokensTransactionHistory": "تاريخ المعاملات",
    "tokensNoTransactionsYet": "لا توجد معاملات حتى الآن",
    "tokensInviteCodes": "رموز الدعوة",
    "tokensMaxUses": "الاستخدامات القصوى",
    "tokensRedeemCode": "استرداد الرمز",
    "tokensRedeemCodePlaceholder": "أدخل رمز الدعوة",
    "tokensYourActiveInvites": "دعواتك النشطة",
    "tierCoverageTitle": "تغطية الطبقة",
    "tierCoverageSubtitle": "تم تكوين الموفرين لكل طبقة احتياطية",
    "batchDetailCopyId": "نسخ معرف",
    "batchDetailClose": "إغلاق",
    "batchDetailEndpoint": "نقطة النهاية",
    "batchDetailModel": "نموذج",
    "batchDetailWindow": "نافذة",
    "batchDetailCreated": "تم إنشاؤها",
    "providerTopologyEmpty": "لا يوجد مقدمي خدمات متصلين حتى الآن",
    "badgeToastUnlocked": "شارة مقفلة!",
    "batchListSearchPlaceholder": "البحث حسب المعرف ونقطة النهاية والطراز...",
    "batchListDeleteAllCompletedTitle": "حذف كافة الدفعات المكتملة",
    "batchListBatchesTable": "دفعات",
    "changelogViewerLoading": "جارٍ تحميل سجل التغيير من GitHub...",
    "profileLoading": "جارٍ تحميل الملف الشخصي...",
    "profileHowToEarn": "كيف تكسب",
    "bootstrapBannerDismiss": "استبعاد",
    "batchListDeleteBatchTitle": "حذف الدفعة وملفاتها",
    "leaderboardYourRank": "رتبتك",
    "leaderboardLoading": "جارٍ تحميل لوحة الصدارة...",
    "batchFileDetailCopyId": "نسخ معرف",
    "batchFileDetailClose": "إغلاق",
    "batchFileDetailFailedToLoad": "فشل في تحميل محتويات الملف",
    "batchFilesListSearchPlaceholder": "البحث حسب المعرف أو اسم الملف...",
    "batchFilesListFilesTable": "ملفات",
    "batchPageLoadingMore": "جارٍ تحميل المزيد…",
    "recommended": "__MISSING__:Recommended",
    "batchConceptTitle": "Batch processing",
    "batchConceptSubtitle": "Process thousands of requests asynchronously at ~50% of the cost (24h window). Ideal for evaluations, classification, and embeddings.",
    "batchConceptHowItWorks": "How it works",
    "batchConceptBenefit50pct": "50% discount on input + output tokens",
    "batchConceptAsync24h": "Async with a 24h completion window",
    "batchConceptUseCases": "Best for bulk classification, evaluations, and embeddings",
    "filesConceptTitle": "Batch files",
    "filesConceptSubtitle": "JSONL files used by batches: input requests, results, and errors.",
    "filesConceptInput": "Input — your JSONL with one request per line",
    "filesConceptOutput": "Output — results from completed requests",
    "filesConceptError": "Errors — requests that failed",
    "filesConceptRetention": "Retention: 30 days by default (29 days on Anthropic)",
    "wizardTitle": "New batch",
    "wizardClose": "Close",
    "wizardNext": "Next",
    "wizardBack": "Back",
    "wizardCancel": "Cancel",
    "wizardCreate": "Create batch",
    "wizardCreating": "Creating…",
    "wizardStep1Destination": "Destination",
    "wizardStep2Input": "Input",
    "wizardStep3Validate": "Validate",
    "wizardStep4Cost": "Cost & create",
    "wizardProviderLabel": "Provider",
    "wizardEndpointLabel": "Endpoint",
    "wizardModelLabel": "Model",
    "wizardInputKindJsonl": "JSONL",
    "wizardInputKindCsv": "CSV (we'll convert)",
    "wizardDropOrPick": "Drop a file or click to pick",
    "wizardCsvMappingTitle": "Map CSV columns → request fields",
    "wizardCsvMappingAddField": "Add field",
    "wizardValidationOk": "All lines valid",
    "wizardValidationErrors": "Validation errors",
    "wizardValidationPreview": "Preview (first 5 requests)",
    "wizardValidationSamplingNote": "File is large — validated by sampling (first 1000 + last 100 lines). Full validation runs server-side.",
    "wizardCostSync": "Sync cost",
    "wizardCostBatch": "Batch cost (-50%)",
    "wizardCostSavings": "Savings",
    "wizardCostEstimatedNotice": "Estimated cost — real billing may vary.",
    "wizardErrorUpload": "Failed to upload file. Try again.",
    "wizardErrorCreate": "Failed to create batch. Try again.",
    "wizardEmptyProviders": "Connect a provider with batch support (OpenAI, Anthropic, or Gemini) to create a batch.",
    "uploadModalTitle": "Upload batch file",
    "uploadModalDropOrPick": "Drop a .jsonl file or click to pick",
    "uploadModalUpload": "Upload",
    "uploadModalCancel": "Cancel",
    "uploadModalError": "Upload failed. Try again.",
    "uploadModalSuccess": "Uploaded",
    "uploadModalSizeLimit": "Max 512 MB",
    "batchListNewButton": "New batch",
    "batchListAutoRefresh": "Auto-refresh 30s",
    "batchListCostColumn": "Cost",
    "batchActionCancel": "Cancel",
    "batchActionDownloadOutput": "Download output",
    "batchActionDownloadErrors": "Download errors",
    "batchActionRetry": "Retry failed",
    "batchActionRetryConfirm": "Retry {n} failed request(s)? Final cost depends on actual tokens consumed.",
    "expirationBadgeCritical": "Critical",
    "expirationBadgeWarning": "Soon",
    "expirationBadgeNormal": "Pending",
    "expirationBadgeExpired": "Expired",
    "filesListUploadButton": "Upload",
    "filesListUsedByColumn": "Used by",
    "filesListUsedByNone": "None",
    "filesListDelete": "Delete",
    "filesListDownload": "Download",
    "batchDetailActionCancel": "Cancel batch",
    "batchDetailActionRetry": "Retry failed requests",
    "batchDetailCancelling": "Cancelling…",
    "batchDetailRetrying": "Preparing retry…",
    "batchDetailCancelConfirm": "Cancel this batch? In-progress requests will stop.",
    "batchActionCancelError": "Failed to cancel batch. Try again.",
    "batchActionRetryError": "Failed to retry failed requests. Try again.",
    "batchConceptRetentionNote": "Results and error files are retained for 30 days (Anthropic: 29 days)",
    "filesListUsedByRoleInput": "input",
    "filesListUsedByRoleOutput": "output",
    "filesListUsedByRoleError": "error",
    "batchListProgressPartial": "(partial)",
    "filesListSizeColumn": "Size",
    "batchListProviderColumn": "Provider",
    "batchListProviderUnknown": "—",
    "batchListBatchCreated": "Batch {id} created — refreshing list…",
    "batchListBatchCreatedDismiss": "Dismiss",
    "batchListRefreshing": "Refreshing…",
    "batchListRefresh": "Refresh",
    "uploadFileModalRemove": "Remove",
    "uploadFileModalUploading": "Uploading…",
    "wizardInputReading": "Reading file…",
    "wizardInputReady": "Ready",
    "wizardInputLargeFileLabel": "Large file — sampling validation",
    "wizardInputCsvJsonlReady": "JSONL generated — ready to validate.",
    "wizardInputLargeFileWarning": "Large file detected — validation runs by sampling (first 5 MB + last 100 KB). Full validation happens server-side.",
    "wizardCostWindow24h": "24h completion window",
    "wizardValidationFieldsOk": "required fields valid",
    "batchListProviderOther": "Other",
    "batchListTitle": "Batches",
    "batchListCount": "{count} batches",
    "batchListRemovingCompleted": "Removing…",
    "batchListRemoveCompleted": "Remove completed",
    "batchListTableStatus": "Status",
    "batchListTableId": "ID",
    "batchListTableEndpoint": "Endpoint",
    "batchListTableModel": "Model",
    "batchListTableProgress": "Progress",
    "batchListTableCreated": "Created",
    "batchListTableExpires": "Expires",
    "batchListLoading": "Loading…",
    "batchListEmpty": "No batches found",
    "batchListValidating": "Validating…",
    "batchStatusAll": "All statuses",
    "batchStatusInProgress": "In progress",
    "batchStatusValidating": "Validating",
    "batchStatusFinalizing": "Finalizing",
    "batchStatusCompleted": "Completed",
    "batchStatusFailed": "Failed",
    "batchStatusCancelled": "Cancelled",
    "batchStatusCancelling": "Cancelling",
    "batchStatusExpired": "Expired",
    "batchStatusCompletedWithFailures": "completed with failures",
    "batchStatusInProgressWithFailures": "in progress (with failures)",
    "batchStatusFinalizingWithFailures": "finalizing (with failures)",
    "batchStatusCancelledWithFailures": "cancelled with failures",
    "batchStatusExpiredWithFailures": "expired (partial)",
    "wizardCostEstimating": "Estimating cost…",
    "wizardCostRequests": "Requests",
    "wizardCostInputTok": "input tok",
    "wizardCostOutputTok": "output tok",
    "wizardCostWindow": "Window",
    "wizardDestinationSelectProvider": "Select a provider…",
    "wizardDestinationSelectModel": "Select a model…",
    "wizardDestinationConnectProvider": "Connect a provider"
  },
  "sidebar": {
    "home": "الصفحة الرئيسية",
    "dashboard": "لوحة القيادة",
    "providers": "المزوّدون",
    "combos": "المجموعات",
    "usage": "الاستخدام",
    "analytics": "التحليلات",
    "costs": "التكاليف",
    "health": "الصحة",
    "proxy": "بروكسي",
    "limits": "الحدود والحصص",
    "cliTools": "أدوات سطر الأوامر",
    "media": "الوسائط",
    "settings": "الإعدادات",
    "translator": "مترجم",
    "playground": "ملعب النماذج",
    "searchTools": "Search Tools",
    "agents": "وكلاء",
    "cloudAgents": "وكلاء السحابة",
    "memory": "Memory",
    "skills": "Skills",
    "omniSkills": "أومنيسكيلز",
    "agentSkills": "مهارات الوكيل",
    "docs": "المستندات",
    "issues": "القضايا",
    "endpoints": "نقاط النهاية",
    "endpointsSubtitle": "عناوين URL لاتصال AI الخاص بك",
    "apiManager": "مدير API",
    "apiManagerSubtitle": "إدارة مفاتيح واجهة برمجة التطبيقات والوصول إليها",
    "embeddedServices": "__MISSING__:Embedded Services",
    "embeddedServicesSubtitle": "__MISSING__:Manage local proxy services",
    "logs": "سجلات",
    "webhooks": "خطافات الويب",
    "webhooksSubtitle": "الحصول على إخطار من الأحداث",
    "combosSubtitle": "موفري المجموعة لتجاوز الفشل",
    "batchSubtitle": "معالجة طلبات متعددة",
    "contextCavemanSubtitle": "الضغط الفوري",
    "contextRtkSubtitle": "تصفية الإخراج",
    "auditLog": "سجل التدقيق",
    "shutdown": "إيقاف التشغيل",
    "restart": "إعادة التشغيل",
    "shutdownConfirm": "هل تريد إيقاف OmniRoute؟",
    "restartConfirm": "هل تريد إعادة تشغيل OmniRoute؟",
    "version": "v{version}",
    "debug": "تصحيح",
    "system": "النظام",
    "help": "مساعدة",
    "primarySection": "Main",
    "cliSection": "CLI",
    "debugSection": "Debug",
    "systemSection": "System",
    "helpSection": "Help",
    "serverDisconnected": "تم قطع اتصال الخادم",
    "serverDisconnectedMsg": "تم إيقاف الخادم الوكيل أو يتم إعادة تشغيله.",
    "expandSidebar": "قم بتوسيع الشريط الجانبي",
    "collapseSidebar": "طي الشريط الجانبي",
    "themes": "المواضيع",
    "presetColors": "الألوان الشائعة",
    "createTheme": "إنشاء سمة",
    "chooseColor": "لون واحد",
    "themeCoral": "قدرة الشُّعَب المرجانية",
    "themeBlue": "أزرق",
    "themeRed": "أحمر",
    "themeGreen": "أخضر",
    "themeViolet": "بنفسجي ساحر",
    "themeOrange": "أورانج (Orange)",
    "themeCyan": "كيان",
    "cliToolsShort": "أدوات",
    "cache": "Cache",
    "cacheShort": "Cache",
    "batch": "Batch Jobs",
    "themeSystem": "Theme System",
    "whitelabelingDesc": "Whitelabeling Desc",
    "switchThemes": "Switch Themes",
    "themeAccentDesc": "Theme Accent Desc",
    "uploadFavicon": "Upload Favicon",
    "themeDark": "Theme Dark",
    "customLogoDesc": "Custom Logo Desc",
    "sidebarVisibilityToggle": "Sidebar Visibility Toggle",
    "themeAccent": "Theme Accent",
    "resetFavicon": "Reset Favicon",
    "whitelabeling": "Whitelabeling",
    "darkMode": "Dark Mode",
    "uploadLogo": "Upload Logo",
    "themeLight": "Theme Light",
    "appName": "App Name",
    "appNameDesc": "App Name Desc",
    "resetLogo": "Reset Logo",
    "customFavicon": "Custom Favicon",
    "hideHealthLogs": "Hide Health Logs",
    "customLogo": "Custom Logo",
    "appearance": "Appearance",
    "themeSelectionAria": "Theme Selection Aria",
    "themeCreate": "Theme Create",
    "customFaviconDesc": "Custom Favicon Desc",
    "logoPreview": "Logo Preview",
    "themeCustom": "Theme Custom",
    "hideHealthLogsDesc": "Hide Health Logs Desc",
    "faviconPreview": "Favicon Preview",
    "changelog": "Changelog",
    "contextSection": "Context & Cache",
    "contextCaveman": "Caveman",
    "contextRtk": "RTK",
    "contextCombos": "Engine Combos",
    "routingSection": "Routing",
    "protocolsSection": "Protocols",
    "agentsAiSection": "Agents & AI",
    "cacheContextSection": "Cache & Context",
    "analyticsSection": "Analytics",
    "costsSection": "Costs",
    "monitoringSection": "Monitoring",
    "auditSecuritySection": "Audit & Security",
    "devtoolsSection": "Dev Tools",
    "configurationSection": "Configuration",
    "aiFeaturesSection": "AI Features",
    "mcp": "MCP",
    "a2a": "A2A",
    "apiEndpoints": "API Endpoints",
    "batchFiles": "Files",
    "analyticsEvals": "Evals",
    "analyticsSearch": "Search",
    "analyticsUtilization": "Utilization",
    "analyticsComboHealth": "Combo Health",
    "analyticsCompression": "Compression",
    "costsBudget": "Budget",
    "costsQuotaShare": "Quota Sharing",
    "costsPricing": "Pricing",
    "logsProxy": "Proxy Logs",
    "logsConsole": "Console",
    "logsActivity": "Activity",
    "auditMcp": "MCP Audit",
    "auditA2a": "تدقيق A2A",
    "settingsGeneral": "General",
    "settingsAppearance": "Appearance",
    "settingsAi": "AI Settings",
    "settingsSecurity": "Security",
    "settingsFeatureFlags": "أعلام مميزة",
    "settingsAuthz": "__MISSING__:Authz",
    "settingsRouting": "Routing",
    "settingsResilience": "Resilience",
    "settingsAdvanced": "Advanced",
    "omniProxySection": "OmniProxy",
    "quotaTracker": "Provider Quota",
    "providerQuota": "Provider Quota",
    "runtime": "Runtime",
    "consoleLogs": "Console Logs",
    "globalRouting": "Global Routing",
    "mitmProxy": "MITM Proxy",
    "oneProxy": "1Proxy",
    "agenticFeaturesSection": "Agentic Features",
    "otherFeaturesSection": "Other Features",
    "compressionContextGroup": "Compression Context",
    "toolsGroup": "Tools",
    "integrationsGroup": "Integrations",
    "proxyGroup": "Proxy",
    "costsParametersGroup": "Costs Parameters",
    "auditGroup": "Audit",
    "batchGroup": "Batch",
    "homeSubtitle": "Dashboard overview",
    "providersSubtitle": "Manage AI providers",
    "quotaTrackerSubtitle": "Track usage limits",
    "providerQuotaSubtitle": "Track provider usage limits",
    "runtimeSubtitle": "Realtime resilience & sessions",
    "contextCombosSubtitle": "Combine compression engines",
    "cliToolsSubtitle": "Configure CLI runtimes",
    "agentsSubtitle": "Manage local agents",
    "cloudAgentsSubtitle": "Manage cloud-based agents",
    "apiEndpointsSubtitle": "Expose custom endpoints",
    "proxySubtitle": "HTTP proxy settings",
    "mitmProxySubtitle": "MITM interception",
    "oneProxySubtitle": "Public proxy gateway",
    "leaderboard": "Leaderboard",
    "profile": "Profile",
    "tokens": "Tokens",
    "leaderboardSubtitle": "Rankings and achievements",
    "profileSubtitle": "Account and preferences",
    "tokensSubtitle": "Token usage and budgets",
    "usageSubtitle": "Traffic and usage stats",
    "analyticsComboHealthSubtitle": "Combo target reliability",
    "analyticsUtilizationSubtitle": "Provider utilization",
    "costsSubtitle": "Spend breakdown",
    "cacheSubtitle": "Cache hit rates",
    "analyticsCompressionSubtitle": "Token savings stats",
    "analyticsSearchSubtitle": "Search tool analytics",
    "analyticsEvalsSubtitle": "Eval suite results",
    "logsSubtitle": "Application logs",
    "logsProxySubtitle": "Proxy traffic logs",
    "consoleLogsSubtitle": "Console output",
    "logsActivitySubtitle": "User activity log",
    "healthSubtitle": "System health check",
    "costsPricingSubtitle": "Per-model pricing rules",
    "costsBudgetSubtitle": "Budget limits",
    "costsQuotaShareSubtitle": "Share provider quotas across keys",
    "auditLogSubtitle": "Authorization audit",
    "auditMcpSubtitle": "MCP server audit",
    "auditA2aSubtitle": "A2A protocol audit",
    "translatorSubtitle": "Format conversion",
    "playgroundSubtitle": "Test prompts live",
    "searchToolsSubtitle": "Search tool registry",
    "memorySubtitle": "Persistent agent memory",
    "omniSkillsSubtitle": "Sandbox skill registry",
    "agentSkillsSubtitle": "A2A skill registry",
    "mcpSubtitle": "MCP server controls",
    "a2aSubtitle": "A2A protocol server",
    "mediaSubtitle": "Cached media files",
    "batchFilesSubtitle": "Batch input/output files",
    "settingsSubtitle": "All settings",
    "settingsGeneralSubtitle": "App basics",
    "settingsAppearanceSubtitle": "Theme and layout",
    "settingsAiSubtitle": "AI behavior defaults",
    "globalRoutingSubtitle": "Global routing rules",
    "settingsResilienceSubtitle": "Retries and breakers",
    "settingsAdvancedSubtitle": "Power user options",
    "settingsSecuritySubtitle": "Auth and encryption",
    "settingsFeatureFlagsSubtitle": "تبديل قدرات النظام",
    "settingsSidebar": "Sidebar",
    "settingsSidebarSubtitle": "Customize sidebar layout",
    "settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
    "docsSubtitle": "Documentation",
    "issuesSubtitle": "Report a bug",
    "changelogSubtitle": "Release notes"
  },
  "webhooks": {
    "title": "خطافات الويب",
    "description": "قم بتكوين عمليات رد اتصال HTTP لأحداث النظام.",
    "configuredWebhooks": "خطافات الويب التي تم تكوينها",
    "configuredWebhooksDesc": "إدارة نقاط نهاية التسليم والأحداث المشتركة والحالة وعمليات الإرسال الاختبارية.",
    "addWebhook": "إضافة خطاف ويب",
    "editWebhook": "تحرير خطاف الويب",
    "name": "الاسم",
    "namePlaceholder": "مراقبة الإنتاج",
    "unnamedWebhook": "خطاف ويب غير مسمى",
    "url": "عنوان URL لنقطة النهاية",
    "events": "الأحداث",
    "allEvents": "جميع الأحداث",
    "secret": "سر",
    "secretPlaceholder": "اتركه فارغًا لإنشاء سر تلقائيًا",
    "secretEditPlaceholder": "اتركه فارغًا للحفاظ على السر الحالي",
    "status": "الحالة",
    "active": "نشط",
    "inactive": "غير نشط",
    "errored": "خطأ",
    "total": "المجموع",
    "lastTriggered": "آخر ما تم تشغيله",
    "actions": "الإجراءات",
    "enabled": "ممكّن",
    "enabledDesc": "تظل خطافات الويب المعطلة محفوظة ولكنها لا تتلقى عمليات التسليم.",
    "refresh": "تحديث",
    "loading": "جارٍ تحميل خطافات الويب...",
    "never": "أبدا",
    "failureCount": "{count, plural, =0 {no failures} one {# failure} other {# failures}}",
    "testWebhook": "إرسال الاختبار",
    "testSuccess": "تم إرسال اختبار الرد التلقائي على الويب بنجاح.",
    "testFailed": "فشل اختبار الرد التلقائي على الويب.",
    "saveSuccess": "تم حفظ الرد التلقائي على الويب بنجاح.",
    "saveFailed": "فشل حفظ الرد التلقائي على الويب.",
    "loadFailed": "فشل تحميل خطافات الويب.",
    "delete": "حذف",
    "deleteConfirm": "هل أنت متأكد أنك تريد حذف خطاف الويب هذا؟",
    "deleteSuccess": "تم حذف الرد التلقائي على الويب بنجاح.",
    "deleteFailed": "فشل حذف الرد التلقائي على الويب.",
    "edit": "تحرير",
    "enable": "تمكين",
    "disable": "تعطيل",
    "noWebhooks": "لم يتم تكوين خطافات الويب حتى الآن.",
    "signatureTitle": "توقيعات الويب هوك",
    "signatureDescription": "يتضمن كل تسليم رأس X-Webhook-Signature موقعًا بـ HMAC-SHA256 باستخدام سر webhook. تحقق من التوقيع قبل الوثوق بالحمولة.",
    "wizard": {
      "cancel": "__MISSING__:Cancel",
      "step1Title": "__MISSING__:Select Integration",
      "step2Title": "__MISSING__:Configure Target",
      "step3Title": "__MISSING__:Events & Test",
      "back": "__MISSING__:Back",
      "next": "__MISSING__:Next",
      "finish": "__MISSING__:Finish",
      "step1Desc": "__MISSING__:Select the target integration system for this webhook."
    },
    "howItWorks": {
      "step1": "__MISSING__:Choose an integration provider (e.g. Slack, Discord, custom webhook) and set up the connection details.",
      "step2": "__MISSING__:Configure system events to subscribe to (e.g. completion errors, model fallbacks, or usage limits).",
      "step3": "__MISSING__:Verify the configuration by sending a test payload to make sure the endpoint receives it.",
      "step4": "__MISSING__:Secure your endpoint by validating the X-Webhook-Signature HMAC-SHA256 header using the webhook's secret.",
      "title": "__MISSING__:How Webhooks Work",
      "customOnly": "__MISSING__:Only applicable for custom endpoint integrations.",
      "hmacRecipeTitle": "__MISSING__:HMAC Verification Recipe",
      "hmacRecipe": "__MISSING__:To verify webhook payloads in Node.js, compute the HMAC-SHA256 of the raw request body using your secret key. Compare it to the X-Webhook-Signature header using timingSafeEqual.",
      "timeoutNote": "__MISSING__:Webhook deliveries have a timeout of 10 seconds.",
      "retryNote": "__MISSING__:Failed deliveries are retried up to 5 times with exponential backoff.",
      "docsLink": "__MISSING__:Read the full Webhooks developer guide",
      "hmacRecipePython": "__MISSING__:Python HMAC verification: hmac.new(secret, body, hashlib.sha256).hexdigest()",
      "hmacRecipeBash": "__MISSING__:Bash HMAC verification: echo -n \"$body\" | openssl dgst -sha256 -hmac \"$secret\""
    },
    "deliveries": {
      "title": "__MISSING__:Delivery Logs",
      "loadFailed": "__MISSING__:Failed to load webhook delivery logs.",
      "empty": "__MISSING__:No deliveries recorded yet. Trigger an event or send a test payload.",
      "status": "__MISSING__:Status",
      "event": "__MISSING__:Event",
      "latency": "__MISSING__:Latency",
      "at": "__MISSING__:Sent At"
    },
    "kinds": {
      "comingSoon": "__MISSING__:Coming Soon",
      "slack": "__MISSING__:Slack",
      "slackDesc": "__MISSING__:Post system events directly into a Slack channel",
      "telegram": "__MISSING__:Telegram",
      "telegramDesc": "__MISSING__:Send event messages using a Telegram bot",
      "discord": "__MISSING__:Discord",
      "discordDesc": "__MISSING__:Deliver real-time updates directly to a Discord server",
      "custom": "__MISSING__:Custom Webhook",
      "customDesc": "__MISSING__:Deliver system event payloads to any HTTPS endpoint",
      "email": "__MISSING__:Email Notification",
      "emailDesc": "__MISSING__:Receive summary updates via email",
      "pagerduty": "__MISSING__:PagerDuty",
      "pagerdutyDesc": "__MISSING__:Trigger alerts on PagerDuty for critical system issues",
      "teams": "__MISSING__:Microsoft Teams",
      "teamsDesc": "__MISSING__:Forward system notifications to Microsoft Teams channels"
    },
    "testPayloadSent": "__MISSING__:Test Payload Sent",
    "testResponse": "__MISSING__:Test Response",
    "validateUrl": {
      "checking": "__MISSING__:Checking URL...",
      "ok": "__MISSING__:URL is valid",
      "blockedPrivate": "__MISSING__:URL is a blocked private address",
      "invalidUrl": "__MISSING__:Invalid URL format"
    },
    "custom": {
      "endpointUrl": "__MISSING__:Endpoint URL",
      "endpointUrlPlaceholder": "__MISSING__:https://api.yourdomain.com/webhook",
      "secretKey": "__MISSING__:Secret Key",
      "secretKeyPlaceholder": "__MISSING__:Enter secret key or leave blank to auto-generate",
      "secretKeyHint": "__MISSING__:Used to sign the payload header for authentication."
    },
    "discord": {
      "webhookUrl": "__MISSING__:Discord Webhook URL",
      "webhookUrlPlaceholder": "__MISSING__:https://discord.com/api/webhooks/...",
      "webhookUrlHint": "__MISSING__:The webhook URL copied from your Discord channel integration settings.",
      "tutorial": "__MISSING__:How to create a Discord webhook:"
    },
    "slack": {
      "webhookUrl": "__MISSING__:Slack Webhook URL",
      "webhookUrlPlaceholder": "__MISSING__:https://hooks.slack.com/services/...",
      "webhookUrlHint": "__MISSING__:The webhook URL copied from your Slack Incoming Webhooks integration.",
      "tutorial": "__MISSING__:How to create a Slack webhook:"
    },
    "telegram": {
      "botToken": "__MISSING__:Telegram Bot Token",
      "botTokenPlaceholder": "__MISSING__:123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ",
      "botTokenHint": "__MISSING__:The HTTP API token received from @BotFather when creating your bot.",
      "chatId": "__MISSING__:Telegram Chat ID / Channel",
      "chatIdPlaceholder": "__MISSING__:-100123456789 or @channelname",
      "chatIdHint": "__MISSING__:The unique numerical identifier or public username of the chat/channel.",
      "tutorial": "__MISSING__:How to configure Telegram webhook:"
    }
  },
  "compliance": {
    "auditTitle": "التدقيق",
    "auditDescription": "قم بمراجعة أحداث الامتثال واستدعاءات أداة MCP من عرض تشغيلي واحد.",
    "complianceTab": "الامتثال",
    "mcpTab": "تدقيق MCP",
    "title": "تدقيق الامتثال",
    "description": "أحداث السياسة والوصول والموفر والأمان المسجلة بواسطة سجل تدقيق الامتثال.",
    "eventType": "نوع الحدث",
    "eventTypePlaceholder": "التصفية حسب الإجراء أو نوع الحدث",
    "severity": "الشدة",
    "allSeverities": "جميع الشدة",
    "info": "معلومات",
    "warning": "تحذير",
    "critical": "حرجة",
    "sourceIp": "مصدر IP",
    "userOrKey": "المستخدم/المفتاح",
    "action": "العمل",
    "result": "النتيجة",
    "details": "التفاصيل",
    "timestamp": "الطابع الزمني",
    "from": "من",
    "to": "ل",
    "refresh": "تحديث",
    "export": "تصدير",
    "clearFilters": "مسح المرشحات",
    "loading": "جارٍ تحميل أحداث التدقيق...",
    "showing": "عرض {count} من {total} من الأحداث",
    "policyViolation": "انتهاك السياسة",
    "accessDenied": "تم رفض الوصول",
    "injectionBlocked": "الحقن محظور",
    "noEvents": "لم يتم تسجيل أي أحداث امتثال.",
    "failedFetch": "فشل جلب سجل تدقيق الامتثال.",
    "viewDetails": "عرض التفاصيل",
    "closeDetails": "إغلاق التفاصيل",
    "notAvailable": "—",
    "system": "نظام",
    "previous": "السابق",
    "next": "التالي",
    "mcpAudit": "تدقيق MCP",
    "mcpAuditDesc": "إدخالات تدقيق استدعاء الأداة المسجلة بواسطة خادم MCP.",
    "failedFetchMcpAudit": "فشل جلب سجل تدقيق MCP.",
    "tool": "أداة",
    "toolPlaceholder": "التصفية حسب اسم الأداة",
    "duration": "المدة",
    "apiKey": "مفتاح واجهة برمجة التطبيقات",
    "output": "الإخراج",
    "allResults": "جميع النتائج",
    "success": "النجاح",
    "failure": "الفشل",
    "noMcpEvents": "لم يتم تسجيل أي أحداث تدقيق لـ MCP.",
    "a2aAudit": "تدقيق A2A",
    "a2aAuditDesc": "مسار تدقيق تنفيذ المهمة المسجل بواسطة خادم A2A.",
    "a2aShowingTasks": "عرض {count} من {total} المهام",
    "a2aSkill": "مهارة",
    "a2aSkillPlaceholder": "التصفية حسب اسم المهارة",
    "a2aState": "الدولة",
    "a2aAllStates": "جميع الولايات",
    "a2aStateSubmitted": "تم الإرسال",
    "a2aStateWorking": "العمل",
    "a2aStateCompleted": "مكتمل",
    "a2aStateFailed": "فشل",
    "a2aStateCancelled": "تم الإلغاء",
    "a2aTaskId": "معرف المهمة",
    "a2aEvents": "الأحداث",
    "a2aArtifacts": "التحف",
    "a2aNoTasks": "لم يتم تسجيل أي مهام A2A.",
    "a2aLoadingTasks": "جارٍ تحميل مهام A2A..."
  },
  "themesPage": {
    "title": "المواضيع",
    "description": "اختر قالبًا محددًا مسبقًا أو أنشئ قالبًا خاصًا بك بلون واحد",
    "presetColors": "الألوان الشائعة",
    "customTheme": "قالب مخصص",
    "customThemeDesc": "انقر على إنشاء قالب واختر لونًا واحدًا",
    "createTheme": "إنشاء سمة",
    "activePreset": "القالب المفعّل"
  },
  "header": {
    "logout": "تسجيل الخروج",
    "language": "اللغة",
    "providers": "المزوّدون",
    "providerDescription": "إدارة اتصالات مزوّدي الذكاء الاصطناعي",
    "combos": "المجموعات",
    "comboDescription": "مجموعات نماذج مع التبديل الاحتياطي",
    "usage": "الاستخدام والتحليلات",
    "usageDescription": "مراقبة استخدام واجهة برمجة التطبيقات (API) واستهلاك الرمز المميز وسجلات الطلبات",
    "analytics": "التحليلات",
    "analyticsDescription": "الرسوم البيانية والاتجاهات ورؤى التقييم",
    "cliTools": "أدوات سطر الأوامر",
    "cliToolsDescription": "تكوين أدوات CLI",
    "home": "الصفحة الرئيسية",
    "homeDescription": "مرحبًا بك في OmniRoute",
    "endpoint": "Endpoints",
    "endpointDescription": "Manage proxy endpoints, MCP, A2A, and API endpoints",
    "mcp": "MCP",
    "mcpDescription": "Model Context Protocol server management and tools",
    "a2a": "A2A",
    "a2aDescription": "Agent-to-Agent protocol tasks and observability",
    "settings": "الإعدادات",
    "settingsDescription": "إدارة تفضيلاتك",
    "openaiCompatible": "متوافق مع OpenAI",
    "anthropicCompatible": "متوافق مع Anthropic",
    "media": "الإعلام",
    "mediaDescription": "إنشاء الصور ومقاطع الفيديو والموسيقى",
    "themes": "المواضيع",
    "themesDescription": "اختر سمة لون للوحة المعلومات بأكملها",
    "costsDescription": "Track spending, analyze trends, and manage your AI budget across all providers",
    "cacheDescription": "Monitor provider prompt cache efficiency and local semantic response reuse.",
    "limitsDescription": "Configure rate limits and quotas per API key and provider",
    "runtimeDescription": "Live runtime observability — circuit breakers, cooldowns, model lockouts, sessions and quota alerts",
    "apiManagerDescription": "Manage API keys and access control for your OmniRoute instance",
    "batchDescription": "Process large volumes of requests asynchronously with batched API calls",
    "contextCavemanDescription": "Rule-based message compression, language packs, analytics and output mode controls.",
    "contextRtkDescription": "Command-aware compression for tool output, terminal logs and build results.",
    "contextCombosDescription": "Define how engines are combined for different routing scenarios.",
    "changelogDescription": "Stay up to date with the latest platform features and announcements.",
    "agentsDescription": "Manage and configure AI agent tools: Codex, Devin, Jules, and custom agents",
    "cloudAgentsDescription": "Orchestrate cloud-based AI agents with live task tracking and plan approval",
    "memoryDescription": "Persistent conversational memory with semantic search and FTS5 full-text indexing",
    "skillsDescription": "Install and manage sandbox skills for automated prompt and tool execution",
    "agentSkillsDescription": "Agent-ready skills catalog with one-click URL copy for AI client integration",
    "translatorDescription": "Translate and test prompts across API formats: OpenAI ↔ Claude ↔ Gemini",
    "playgroundDescription": "Test prompts interactively with live provider responses and format inspection",
    "searchToolsDescription": "Search analytics, provider breakdown, cache hit rates, and cost tracking",
    "logsDescription": "Real-time request logs, error traces, and streaming event inspector",
    "auditDescription": "Compliance audit trail of API key usage, MCP tool calls, and policy events",
    "webhooksDescription": "Configure webhook endpoints to receive real-time event notifications",
    "healthDescription": "System health overview: providers, circuit breakers, rate limits, and database",
    "proxyDescription": "Configure upstream proxy settings for outbound provider connections",
    "apiEndpointsDescription": "Manage custom API endpoint configurations and routing overrides",
    "batchFilesDescription": "Browse and manage batch job output files and results",
    "analyticsEvalsDescription": "Model evaluation results and performance benchmarks",
    "analyticsSearchDescription": "Search query analytics, cache hit rates, and cost tracking",
    "analyticsUtilizationDescription": "Provider utilization metrics and capacity planning",
    "analyticsComboHealthDescription": "Real-time health and performance of combo routing configurations",
    "analyticsCompressionDescription": "Context compression analytics and token savings",
    "costsBudgetDescription": "Budget limits and spending alerts per API key and provider",
    "costsPricingDescription": "Custom pricing configuration for token cost calculations",
    "logsProxyDescription": "Upstream proxy request logs and traffic inspection",
    "logsConsoleDescription": "Application console output and debug logs",
    "logsActivityDescription": "Audit trail of user actions and system events",
    "auditMcpDescription": "MCP tool invocation audit trail and compliance records",
    "auditA2a": "تدقيق A2A",
    "auditA2aDescription": "مسار تدقيق تنفيذ مهمة A2A، وانتقالات الحالة، وسجلات استدعاء المهارات",
    "settingsGeneralDescription": "Storage, database, and general instance configuration",
    "settingsAppearanceDescription": "Theme, branding, and visual customization",
    "settingsAiDescription": "AI behaviors, thinking budgets, vision, and memory settings",
    "settingsSecurityDescription": "Authentication, authorization, and access control settings",
    "featureFlags": "أعلام مميزة",
    "featureFlagsDescription": "قدرات نظام التحكم والميزات التجريبية",
    "featureFlagsActive": "{count} نشط",
    "featureFlagsInactive": "{count} غير نشط",
    "featureFlagsOverrides": "{count} تجاوزات قاعدة البيانات",
    "featureFlagsSearch": "بحث في العلامات...",
    "featureFlagsCategoryAll": "الكل",
    "featureFlagsCategorySecurity": "الأمن",
    "featureFlagsCategoryNetwork": "الشبكة",
    "featureFlagsCategoryPolicies": "السياسات",
    "featureFlagsCategoryRuntime": "وقت التشغيل",
    "featureFlagsCategoryCli": "سطر الأوامر",
    "featureFlagsCategoryHealth": "الصحة",
    "featureFlagsSourceDb": "ديسيبل",
    "featureFlagsSourceEnv": "بيئى",
    "featureFlagsSourceDefault": "مدافع",
    "featureFlagsReset": "إعادة تعيين",
    "featureFlagsResetAll": "إعادة تعيين كافة التجاوزات",
    "featureFlagsResetAllConfirm": "هل أنت متأكد أنك تريد إعادة تعيين جميع تجاوزات علامات الميزات؟ سيؤدي هذا إلى إرجاع جميع العلامات إلى قيم ENV أو القيم الافتراضية.",
    "featureFlagsRestartRequired": "إعادة التشغيل مطلوبة للتقديم",
    "featureFlagsNoResults": "لا توجد أعلام تطابق بحثك",
    "featureFlagsSaved": "تم تحديث العلم",
    "featureFlagsError": "فشل تحديث العلم",
    "settingsRoutingDescription": "Routing rules, model aliases, combo defaults, and degradation settings",
    "settingsResilienceDescription": "Circuit breaker, retry, and fallback configuration",
    "settingsAdvancedDescription": "Advanced payload rules, request limits, and proxy API settings",
    "mitmProxyDescription": "Configure MITM proxy settings for traffic inspection and debugging",
    "oneProxyDescription": "Configure 1Proxy settings for advanced proxy chaining"
  },
  "home": {
    "quickStart": "بداية سريعة",
    "quickStartDesc": "ابدأ خلال 4 خطوات: وصّل المزوّدين، فعّل توجيه النماذج، وراقب كل شيء.",
    "fullDocs": "التوثيق الكامل",
    "step1Title": "1. إنشاء مفتاح API",
    "step1Desc": "انتقل إلى <endpoint>Endpoint</endpoint> -> Registered Keys. أنشئ مفتاحًا واحدًا لكل بيئة.",
    "step2Title": "2. ربط مقدمي الخدمات",
    "step2Desc": "أضف الحسابات في <providers>Providers</providers>. يدعم OAuth وAPI Key والخطط المجانية.",
    "step3Title": "3. اضبط عميلك",
    "step3Desc": "عيّن عنوان Base URL إلى {url} في IDE أو عميل API لديك.",
    "step4Title": "4. المراقبة والتحسين",
    "step4Desc": "تتبّع الرموز والتكلفة والأخطاء في <logs>سجلات الطلبات</logs> و<analytics>التحليلات</analytics>.",
    "providersOverview": "نظرة عامة على مقدمي الخدمة",
    "configuredOf": "تم تكوين {configured} من بين {total} الموفرين المتاحين",
    "noModelsAvailable": "لا توجد نماذج متاحة لهذا المزود.",
    "noProvidersConfigured": "لم يتم تكوين أي مقدمي خدمات حتى الآن",
    "addProvider": "إضافة مزود",
    "configureFirst": "قم بتكوين الاتصال أولاً في {providers}",
    "configureProvider": "تكوين الموفر",
    "modelAvailable": "يتوفر طراز {count}",
    "modelsAvailable": "{count} النماذج المتوفرة",
    "connectionsActive": "{count} الاتصال نشط",
    "connectionsActivePlural": "{count} الاتصالات نشطة",
    "copyModelName": "انسخ اسم الموديل",
    "documentation": "التوثيق",
    "healthMonitor": "مراقب الصحة",
    "reportIssue": "الإبلاغ عن مشكلة",
    "activeError": "{active} نشط · {errors} خطأ",
    "oauthLabel": "OAuth",
    "apiKeyLabel": "مفتاح واجهة برمجة التطبيقات",
    "requestsShort": "{count} طلب",
    "providerModelsTitle": "{provider} - النماذج",
    "copiedModel": "تم النسخ: {model}",
    "aliasLabel": "الاسم المستعار",
    "updateNow": "التحديث الآن",
    "updating": "جارٍ التحديث...",
    "updateAvailableDesc": "نسخة جديدة متاحة. انقر للتحديث.",
    "updateStarted": "بدأ التحديث...",
    "reloadingPageAutomatically": "جارٍ إعادة تحميل الصفحة تلقائيًا...",
    "providerTopology": "طوبولوجيا الموفر"
  },
  "analytics": {
    "title": "التحليلات",
    "usageAnalyticsTitle": "__MISSING__:Usage Analytics",
    "diversityScoreTitle": "تنوع مقدمي الخدمة",
    "diversityScoreDesc": "__MISSING__:Provider concentration snapshot for the recent traffic window.",
    "diversityShannonEntropy": "__MISSING__:Shannon entropy",
    "diversityWindow": "__MISSING__:Window: {count} reqs · Last {mins} mins",
    "diversityHealthy": "__MISSING__:Healthy Distribution",
    "diversityRiskHigh": "__MISSING__:High Vendor Lock-in Risk",
    "diversityRiskModerate": "__MISSING__:Moderate Distribution",
    "diversityScoreLabel": "__MISSING__:score",
    "diversityHigherExplanation": "__MISSING__:Higher values mean traffic is spread across multiple providers.",
    "diversityNoData": "__MISSING__:No recent usage data available.",
    "chartRequests": "__MISSING__:Requests",
    "chartInput": "__MISSING__:Input",
    "chartOutput": "__MISSING__:Output",
    "chartTotal": "__MISSING__:Total",
    "chartCost": "__MISSING__:Cost",
    "chartShare": "__MISSING__:Share",
    "chartServiceTier": "__MISSING__:Service Tier",
    "chartServiceTierSplit": "__MISSING__:Fast / Standard cost split",
    "chartCostPct": "__MISSING__:{pct}% of cost",
    "chartUsageDetail": "__MISSING__:Usage Detail",
    "chartCacheRead": "__MISSING__:Cache read",
    "chartCostByProvider": "__MISSING__:Cost by Provider",
    "chartNoCostData": "__MISSING__:No cost data",
    "chartModelUsageOverTime": "__MISSING__:Model Usage Over Time",
    "chartNoData": "__MISSING__:No data",
    "chartWeekly": "__MISSING__:Weekly",
    "chartModelBreakdown": "__MISSING__:Model Breakdown",
    "chartModel": "__MISSING__:Model",
    "chartProvider": "__MISSING__:Provider",
    "chartProviderBreakdown": "__MISSING__:Provider Breakdown",
    "filterAllKeys": "__MISSING__:All Keys",
    "filterSearchKeys": "__MISSING__:Search keys…",
    "filterNoKeysMatch": "__MISSING__:No keys match",
    "filterOneKey": "__MISSING__:1 key",
    "filterMultipleKeys": "__MISSING__:{count} keys",
    "rangeToday": "__MISSING__:Today",
    "rangeYesterday": "__MISSING__:Yesterday",
    "rangeLast3Days": "__MISSING__:Last 3 days",
    "rangeThisWeek": "__MISSING__:This week",
    "rangeLast14Days": "__MISSING__:Last 14 days",
    "rangeThisMonth": "__MISSING__:This month",
    "rangeQuickSelect": "__MISSING__:Quick Select",
    "rangeStart": "__MISSING__:Start",
    "rangeEnd": "__MISSING__:End",
    "rangeCancel": "__MISSING__:Cancel",
    "rangeApply": "__MISSING__:Apply",
    "rangeErrorInvalid": "__MISSING__:Start must be before end",
    "period1D": "__MISSING__:1D",
    "period7D": "__MISSING__:7D",
    "period30D": "__MISSING__:30D",
    "period90D": "__MISSING__:90D",
    "periodYTD": "__MISSING__:YTD",
    "periodAll": "__MISSING__:All",
    "totalTokens": "__MISSING__:Total Tokens",
    "inputTokens": "__MISSING__:Input Tokens",
    "outputTokens": "__MISSING__:Output Tokens",
    "estCost": "__MISSING__:Est. Cost",
    "infraTitle": "__MISSING__:Infrastructure",
    "infraAccounts": "__MISSING__:Accounts",
    "infraProviders": "__MISSING__:Providers",
    "infraApiKeys": "__MISSING__:API Keys",
    "infraModels": "__MISSING__:Models",
    "perfTitle": "__MISSING__:Performance",
    "perfAvgTokens": "__MISSING__:Avg Tokens/Req",
    "perfCostReq": "__MISSING__:Cost/Req",
    "perfIoRatio": "__MISSING__:I/O Ratio",
    "perfFastReq": "__MISSING__:Fast Requests",
    "highlightsTitle": "__MISSING__:Highlights",
    "highlightsTopModel": "__MISSING__:Top Model",
    "highlightsTopProvider": "__MISSING__:Top Provider",
    "highlightsBusiestDay": "__MISSING__:Busiest Day",
    "highlightsDiversity": "__MISSING__:Diversity",
    "highlightsFallbackRate": "__MISSING__:Fallback Rate",
    "customRange": "__MISSING__:Custom",
    "overviewDescription": "راقب أنماط استخدام واجهة برمجة التطبيقات (API) واستهلاك الرمز المميز والتكاليف واتجاهات النشاط عبر جميع مقدمي الخدمات والنماذج.",
    "evalsDescription": "قم بتشغيل مجموعات التقييم لاختبار نقاط نهاية LLM الخاصة بك والتحقق من صحتها. مقارنة جودة النموذج، واكتشاف الانحدارات، وقياس وقت الاستجابة.",
    "overview": "نظرة عامة",
    "evals": "التقييمات",
    "utilization": "الاستخدام",
    "utilizationDescription": "اتجاهات استخدام حصة المزود وتتبع حدود المعدل",
    "modelStatus": "حالة النموذج",
    "modelStatusCooldown": "فترة التهدئة",
    "modelStatusUnavailable": "غير متاح",
    "modelStatusError": "خطأ",
    "comboHealth": "صحة المجموعة",
    "comboHealthDescription": "الحصة على مستوى المجموعة وتوزيع الاستخدام ومقاييس الأداء",
    "compressionAnalyticsTitle": "Compression Analytics",
    "compressionAnalyticsDescription": "Compression analytics — token savings, mode breakdown, and provider stats.",
    "autoRoutingTotalAutoRequests": "إجمالي الطلبات التلقائية",
    "autoRoutingAvgSelectionScore": "متوسط نقاط الاختيار",
    "autoRoutingExplorationRate": "معدل الاستكشاف",
    "autoRoutingLkgpHitRate": "معدل الإصابة LKGP",
    "autoRoutingRequestsByVariant": "الطلبات حسب البديل",
    "autoRoutingTopRoutedProviders": "أعلى موفري التوجيه",
    "comboHealthWorstQuotaLeft": "أسوأ حصة متبقية",
    "comboHealthUsageSkew": "انحراف الاستخدام",
    "comboHealthSuccessRate": "معدل النجاح",
    "comboHealthQuotaHealth": "صحة الحصص",
    "comboHealthRequests": "الطلبات",
    "comboHealthTokens": "الرموز",
    "comboHealthAvgLatency": "متوسط زمن الوصول",
    "comboHealthTotalRequests": "إجمالي الطلبات",
    "comboHealthExecutionTargets": "أهداف التنفيذ",
    "comboHealthSuccess": "النجاح",
    "comboHealthLatency": "الكمون",
    "comboHealthQuota": "الحصة النسبية",
    "comboHealthTitle": "صحة التحرير والسرد",
    "comboHealthUnableToLoad": "غير قادر على تحميل صحة التحرير والسرد",
    "comboHealthGettingStarted": "البدء",
    "compressionAnalyticsTotalRequests": "إجمالي الطلبات",
    "compressionAnalyticsTokensSaved": "الرموز المحفوظة",
    "compressionAnalyticsAvgSavings": "متوسط التوفير",
    "compressionAnalyticsAvgDuration": "متوسط المدة",
    "compressionAnalyticsReceipts": "الإيصالات",
    "compressionAnalyticsFallbacks": "احتياطيات",
    "compressionAnalyticsPromptTokens": "الرموز الفورية",
    "compressionAnalyticsCompletionTokens": "رموز الإكمال",
    "compressionAnalyticsTotalTokens": "مجموع الرموز",
    "compressionAnalyticsCacheTokens": "رموز ذاكرة التخزين المؤقت",
    "compressionAnalyticsNoDataYet": "لا توجد بيانات ضغط حتى الآن",
    "searchAnalyticsTotalSearches": "إجمالي عمليات البحث",
    "searchAnalyticsCacheHitRate": "معدل ضرب ذاكرة التخزين المؤقت",
    "searchAnalyticsTotalCost": "التكلفة الإجمالية",
    "searchAnalyticsAvgResponse": "متوسط الاستجابة",
    "searchAnalyticsNoSearchesYet": "لا توجد عمليات بحث حتى الآن",
    "providerUtilizationTitle": "استخدام المزود",
    "providerUtilizationFailedToLoad": "فشل تحميل بيانات الاستخدام",
    "providerUtilizationNoData": "لا توجد بيانات الاستخدام المتاحة",
    "providerUtilizationGettingStarted": "البدء",
    "providerUtilizationLatestSnapshot": "أحدث لقطة الحصص",
    "providerUtilizationRemainingCapacity": "القدرة المتبقية"
  },
  "apiManager": {
    "title": "مفاتيح واجهة برمجة التطبيقات",
    "createKey": "إنشاء مفتاح API",
    "key": "مفتاح",
    "revokeKey": "إبطال المفتاح",
    "revokeConfirm": "هل أنت متأكد أنك تريد إلغاء مفتاح API هذا؟",
    "noKeys": "لا توجد مفاتيح API حتى الآن",
    "noKeysDesc": "قم بإنشاء مفتاح API الأول الخاص بك لمصادقة الطلبات إلى نقطة النهاية الخاصة بك",
    "keyLabel": "تسمية المفتاح",
    "permissions": "الأذونات",
    "expiresAt": "تنتهي",
    "never": "أبدا",
    "revoke": "إبطال",
    "showKey": "إظهار المفتاح",
    "hideKey": "إخفاء المفتاح",
    "copyKey": "انسخ مفتاح واجهة برمجة التطبيقات",
    "allModels": "جميع الموديلات",
    "selectedModels": "نماذج مختارة",
    "readOnly": "قراءة فقط",
    "fullAccess": "الوصول الكامل",
    "keyManagement": "إدارة مفاتيح API",
    "keyManagementDesc": "قم بإنشاء وإدارة مفاتيح API لمصادقة الطلبات إلى نقطة النهاية الخاصة بك",
    "totalKeys": "مجموع المفاتيح",
    "restricted": "مقيد",
    "totalRequests": "إجمالي الطلبات",
    "modelsAvailable": "النماذج المتاحة",
    "registeredKeys": "المفاتيح المسجلة",
    "keysRegistered": "{count} مفاتيح مسجلة",
    "keyRegistered": "تم تسجيل المفتاح {count}",
    "keysSecurityNote": "يعزل كل مفتاح تتبع الاستخدام ويمكن إبطاله بشكل مستقل. يتم إخفاء المفاتيح بعد إنشائها لأسباب أمنية.",
    "createFirstKey": "قم بإنشاء مفتاحك الأول",
    "name": "الاسم",
    "usage": "الاستخدام",
    "created": "تم إنشاؤها",
    "actions": "الإجراءات",
    "reqs": "طلبات",
    "neverUsed": "لم تستخدم قط",
    "deleteConfirm": "هل تريد حذف مفتاح واجهة برمجة التطبيقات هذا؟",
    "usageTips": "نصائح الاستخدام",
    "tipAuth": "استخدم مفاتيح API في رأس التفويض كحامل YOUR_KEY",
    "tipSecure": "يتم عرض المفاتيح مرة واحدة فقط أثناء الإنشاء — قم بتخزينها بشكل آمن",
    "tipSeparate": "قم بإنشاء مفاتيح منفصلة لعملاء أو بيئات مختلفة",
    "tipRestrict": "قم بتقييد المفاتيح لنماذج محددة لتحسين الأمان والتحكم في التكلفة",
    "keyName": "اسم المفتاح",
    "keyNamePlaceholder": "على سبيل المثال، مفتاح الإنتاج، مفتاح التطوير",
    "keyNameDesc": "اختر اسمًا وصفيًا لتحديد غرض هذا المفتاح",
    "managementAccessDesc": "السماح لمفتاح API هذا بإدارة إعدادات OmniRoute.",
    "selfServiceVisibility": "رؤية الخدمة الذاتية",
    "selfServiceVisibilityDesc": "التحكم فيما يمكن لهذا المفتاح رؤيته عن استخدامه الخاص وحصة المنبع المشتركة.",
    "ownUsageVisibility": "تكلفة واستخدام الرموز الخاصان",
    "ownUsageVisibilityDesc": "السماح لهذا المفتاح باستدعاء نقطة الحالة الخاصة به لعرض استخدامه بالدولار ونسبة الميزانية وإجمالي الرموز.",
    "sharedAccountQuotaVisibility": "حصة الحساب المشتركة",
    "sharedAccountQuotaVisibilityDesc": "السماح لهذا المفتاح برؤية حصة حساب المنبع المشتركة عند تكوين اتصال صريح واحد.",
    "keyCreated": "تم إنشاء مفتاح API",
    "keyCreatedSuccess": "تم إنشاء المفتاح بنجاح!",
    "keyCreatedNote": "انسخ هذا المفتاح وقم بتخزينه الآن - لن يتم عرضه مرة أخرى.",
    "done": "تم",
    "savePermissions": "حفظ الأذونات",
    "endpointRestrictions": "__MISSING__:Allowed Endpoints",
    "allEndpointsAllowed": "__MISSING__:This key can access all API endpoints.",
    "endpointsRestricted": "__MISSING__:Restricted to {count} endpoint{count, plural, one {} other {s}}.",
    "autoResolve": "Auto-Resolve",
    "autoResolveDesc": "Auto-resolve ambiguous model names to native provider for this API key.",
    "keyActive": "Key Active",
    "keyActiveDesc": "Enable or disable this API key. Disabled keys are immediately rejected with 403.",
    "accessSchedule": "Access Schedule",
    "accessScheduleDesc": "Restrict access to specific hours and days of the week.",
    "scheduleFrom": "From",
    "scheduleUntil": "Until",
    "scheduleDays": "Days",
    "scheduleTimezone": "Timezone",
    "scheduleTimezoneHint": "Use IANA timezone names, e.g. America/New_York, Europe/Berlin",
    "scheduleActive": "Schedule",
    "disabled": "Disabled",
    "daySun": "Sun",
    "dayMon": "Mon",
    "dayTue": "Tue",
    "dayWed": "Wed",
    "dayThu": "Thu",
    "dayFri": "Fri",
    "daySat": "Sat",
    "allowAll": "السماح للكل",
    "restrict": "تقييد",
    "allowAllInfo": "يمكن لهذا المفتاح الوصول إلى كافة الموديلات المتاحة.",
    "restrictInfo": "يمكن لهذا المفتاح الوصول إلى {selected} من طرازات {total}.",
    "selected": "تم تحديد {count}",
    "all": "الكل",
    "clear": "واضح",
    "searchModels": "نماذج البحث بالاسم أو المزود...",
    "noModelsFound": "لم يتم العثور على نماذج",
    "keyNameRequired": "اسم المفتاح مطلوب",
    "keyNameTooLong": "يجب أن يتكون اسم المفتاح من {max} حرفًا أو أقل",
    "keyNameInvalid": "يمكن أن يحتوي اسم المفتاح فقط على أحرف وأرقام ومسافات وواصلات وشرطات سفلية",
    "invalidKeyName": "اسم المفتاح غير صالح",
    "failedCreateKey": "فشل في إنشاء المفتاح",
    "failedCreateKeyRetry": "فشل في إنشاء المفتاح. يرجى المحاولة مرة أخرى.",
    "invalidKeyId": "معرف المفتاح غير صالح",
    "failedDeleteKey": "فشل في حذف المفتاح",
    "failedDeleteKeyRetry": "فشل في حذف المفتاح. يرجى المحاولة مرة أخرى.",
    "invalidModelsSelection": "تحديد النماذج غير صالح",
    "cannotSelectMoreThanModels": "لا يمكن تحديد أكثر من {max} من النماذج",
    "failedUpdatePermissions": "فشل تحديث الأذونات",
    "failedUpdatePermissionsRetry": "فشل تحديث الأذونات. يرجى المحاولة مرة أخرى.",
    "unknownProvider": "غير معروف",
    "copyMaskedKey": "انسخ المفتاح المقنع",
    "keyOnlyAvailableAtCreation": "Full key available only at creation time — copy it when you first create the key",
    "modelsCount": "{count, plural, one {# model} other {# models}}",
    "lastUsedOn": "الأخير: {date}",
    "editPermissions": "تحرير الأذونات",
    "deleteKey": "حذف المفتاح",
    "regenerateKey": "إعادة إنشاء المفتاح",
    "regenerateConfirm": "هل أنت متأكد أنك تريد إعادة إنشاء مفتاح API هذا؟ سيتم إبطال المفتاح القديم على الفور.",
    "failedRegenerateKey": "فشل في إعادة إنشاء مفتاح API",
    "failedRegenerateKeyRetry": "فشل في إعادة إنشاء مفتاح API. يرجى المحاولة مرة أخرى.",
    "model": "{count} النموذج",
    "models": "{count} النماذج",
    "permissionsTitle": "الأذونات: {name}",
    "allowAllDesc": "يمكن لهذا المفتاح الوصول إلى كافة الموديلات المتاحة.",
    "restrictDesc": "يمكن لهذا المفتاح الوصول إلى {selectedCount} من طرازات {totalModels}.",
    "selectedCount": "تم تحديد {count}",
    "maxActiveSessions": "الحد الأقصى للجلسات النشطة",
    "apiManagerCustomRateLimits": "حدود الأسعار المخصصة",
    "apiManagerCustomRateLimitsDesc": "تجاوز الحدود الافتراضية العالمية. اتركه فارغًا لاستخدام الإعدادات الافتراضية.",
    "apiManagerRateLimitRequestsPlaceholder": "الطلبات",
    "apiManagerRateLimitReqPer": "الطلب /",
    "apiManagerRateLimitSecondsPlaceholder": "ثواني",
    "apiManagerRemoveLimitTitle": "إزالة الحد",
    "apiManagerTimezonePlaceholder": "أمريكا/ساو باولو",
    "noLogPayloadPrivacy": "خصوصية الحمولة بدون سجل",
    "bannedStatus": "حالة محظورة",
    "managementApiAccess": "الوصول إلى واجهة برمجة تطبيقات الإدارة",
    "expirationDate": "تاريخ انتهاء الصلاحية",
    "managementAccess": "الوصول إلى الإدارة",
    "allowedConnections": "الاتصالات المسموح بها",
    "searchPlaceholder": "__MISSING__:Search by name or token...",
    "activeOnly": "__MISSING__:Active only",
    "filterStatus": "__MISSING__:STATUS",
    "filterType": "__MISSING__:TYPE",
    "filterAll": "__MISSING__:All",
    "filterStatusActive": "__MISSING__:Active",
    "filterStatusDisabled": "__MISSING__:Disabled",
    "filterStatusBanned": "__MISSING__:Banned",
    "filterStatusExpired": "__MISSING__:Expired",
    "filterTypeStandard": "__MISSING__:Standard",
    "filterTypeManage": "__MISSING__:Manage",
    "filterTypeRestricted": "__MISSING__:Restricted",
    "shownOf": "__MISSING__:{shown} of {total} shown",
    "emptyFilterTitle": "__MISSING__:No keys match your filters",
    "emptyFilterClear": "__MISSING__:Clear filters",
    "endpointRestrictions": "Allowed Endpoints",
    "allEndpointsAllowed": "This key can access all API endpoints.",
    "endpointsRestricted": "Restricted to {count} endpoint{count, plural, one {} other {s}}."
  },
  "auditLog": {
    "title": "سجل التدقيق",
    "searchPlaceholder": "إجراءات البحث...",
    "action": "العمل",
    "actor": "ممثل",
    "target": "الهدف",
    "ipAddress": "عنوان IP",
    "timestamp": "الطابع الزمني",
    "noEntries": "لم يتم العثور على إدخالات التدقيق",
    "filterByAction": "التصفية حسب الإجراء...",
    "filterByActor": "تصفية حسب الممثل...",
    "filterEntriesAria": "تصفية إدخالات سجل التدقيق",
    "filterByActionTypeAria": "التصفية حسب نوع الإجراء",
    "filterByActorAria": "تصفية حسب الممثل",
    "refreshAuditLogAria": "تحديث سجل التدقيق",
    "tableAria": "إدخالات سجل التدقيق",
    "failedFetchAuditLog": "فشل جلب سجل التدقيق",
    "notAvailable": "—",
    "description": "الإجراءات الإدارية والأحداث الأمنية",
    "showing": "عرض {count} إدخالات (الإزاحة {offset})",
    "previous": "السابق"
  },
  "media": {
    "title": "استوديو الوسائط",
    "subtitle": "أنشئ صورًا وفيديوهات وموسيقى",
    "model": "Model",
    "prompt": "Prompt",
    "generate": "إنشاء",
    "generating": "Generating...",
    "loadingModels": "Loading available models...",
    "noModels": "No models available. Configure providers with media capabilities first.",
    "error": "Generation Failed",
    "result": "Result",
    "imageDescription": "Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.",
    "videoDescription": "Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.",
    "musicDescription": "Compose music using Stable Audio Open or MusicGen via ComfyUI.",
    "kinds": {
      "embedding": "__MISSING__:Embedding",
      "image": "__MISSING__:Image",
      "imageToText": "__MISSING__:Image to Text",
      "tts": "__MISSING__:Text to Speech",
      "stt": "__MISSING__:Speech to Text",
      "webSearch": "__MISSING__:Web Search",
      "webFetch": "__MISSING__:Web Fetch",
      "video": "__MISSING__:Video",
      "music": "__MISSING__:Music"
    },
    "noProviders": "__MISSING__:No providers configured for this kind yet.",
    "addConnection": "__MISSING__:Add Connection",
    "backToProviders": "__MISSING__:Back to Providers",
    "connections": "__MISSING__:{count} Connections",
    "noConnections": "__MISSING__:No connections yet — add one from the provider page.",
    "loading": "__MISSING__:Loading..."
  },
  "search": {
    "searchQuery": "Search Query",
    "searchResults": "Search Results",
    "cachedResult": "Cached",
    "searchCost": "Cost",
    "searchTools": "Search Tools",
    "searchToolsDesc": "Advanced search testing with provider comparison",
    "compareProviders": "Compare Providers",
    "rerankResults": "Rerank Results",
    "searchHistory": "Search History",
    "urlOverlap": "URL Overlap",
    "noSearchProviders": "No search providers configured. Add providers in Settings.",
    "noRerankModels": "No rerank model available",
    "webSearch": "Web Search",
    "provider": "Provider",
    "searchType": "Search Type",
    "maxResults": "Max Results",
    "filters": "Filters",
    "country": "Country",
    "language": "Language",
    "timeRange": "Time Range",
    "includeDomains": "Include Domains",
    "excludeDomains": "Exclude Domains",
    "safeSearch": "Safe Search",
    "safeSearchOff": "Off",
    "safeSearchModerate": "Moderate",
    "safeSearchStrict": "Strict",
    "queryPlaceholder": "Enter search query...",
    "providerAuto": "auto (cheapest)",
    "searchTypeWeb": "web",
    "searchTypeNews": "news",
    "optionAny": "any",
    "timeRangeDay": "Past day",
    "timeRangeWeek": "Past week",
    "timeRangeMonth": "Past month",
    "timeRangeYear": "Past year",
    "domainPlaceholder": "example.com",
    "requestTimedOut": "Request timed out ({seconds}s)",
    "networkError": "Network error",
    "formatted": "Formatted",
    "rawJson": "JSON",
    "cacheMiss": "cache miss",
    "cacheHit": "cache hit",
    "latency": "Latency",
    "cost": "Cost",
    "results": "Results",
    "rerank": "Rerank",
    "rerankModel": "Rerank Model",
    "positionDelta": "Position Change",
    "emptyState": "Send a search query to see results",
    "copy": "نسخ",
    "resetToDefault": "إعادة التعيين إلى الوضع الافتراضي",
    "tabSearch": "Search",
    "tabScrape": "Scrape",
    "tabCompare": "Compare",
    "modalitiesGuide": "Modalities guide",
    "searchConceptTitle": "Search",
    "searchConceptDesc": "Search = fetches a list of web results (title, URL, snippet, relevance score)",
    "scrapeConceptTitle": "Scrape",
    "scrapeConceptDesc": "Scrape = extracts the full content of a URL (markdown, text or HTML)",
    "compareConceptTitle": "Compare",
    "compareConceptDesc": "Compare = runs the same query across N providers side-by-side to compare latency, cost and result overlap",
    "rerankConceptTitle": "Rerank",
    "rerankConceptDesc": "Rerank = reorders results via LLM to improve relevance based on the query",
    "autoConceptTitle": "Auto (cheapest)",
    "autoConceptDesc": "Auto (cheapest) = automatically picks the cheapest available provider with configured credentials",
    "providerCatalogTitle": "Provider Catalog",
    "kindSearch": "Search",
    "kindFetch": "Fetch/Scrape",
    "statusConfigured": "Configured",
    "statusMissing": "No credential",
    "statusRateLimited": "Rate limited",
    "configureProvider": "Configure in Providers",
    "loadingProviders": "Loading providers…",
    "failedToLoadProviders": "Failed to load providers",
    "costPerQuery": "Cost/query",
    "freeQuota": "Free quota/mo",
    "scrapeUrl": "URL to scrape",
    "scrapeUrlPlaceholder": "https://example.com",
    "scrapeExtract": "Extract",
    "scrapeExtracting": "Extracting…",
    "scrapeFullPage": "Full page",
    "scrapeFormat": "Format",
    "formatMarkdown": "Markdown",
    "formatHtml": "HTML",
    "formatText": "Text",
    "scrapePreview": "Preview",
    "scrapeRaw": "Raw",
    "scrapeContentTruncated": "(truncated, view raw)",
    "scrapeMetadata": "Metadata",
    "scrapeProvider": "Provider",
    "scrapeSize": "Size",
    "compareRun": "Compare",
    "compareRunning": "Comparing…",
    "autoProvider": "Auto (cheapest)",
    "configuredStatus": "Configured",
    "rateLimitedStatus": "Rate limited",
    "noCredential": "No credential",
    "searchTypeLabel": "Type",
    "rerankModelLabel": "Rerank model",
    "noneOption": "None",
    "size": "Size"
  },
  "cliTools": {
    "title": "أدوات سطر الأوامر",
    "noActiveProviders": "لا يوجد مقدمي خدمات نشطين",
    "noActiveProvidersDesc": "الرجاء إضافة موفري الخدمة والاتصال بهم أولاً لتكوين أدوات واجهة سطر الأوامر (CLI).",
    "mapModels": "نماذج الخرائط",
    "testConnection": "اتصال الاختبار",
    "connectionStatus": "حالة الاتصال",
    "configureEndpoint": "تكوين نقطة النهاية",
    "instructions": "تعليمات",
    "modelMapping": "رسم الخرائط النموذجية",
    "baseUrl": "عنوان URL الأساسي",
    "apiKey": "مفتاح واجهة برمجة التطبيقات",
    "configured": "تم تكوينه",
    "notConfigured": "لم يتم تكوينه",
    "notInstalled": "غير مثبت",
    "custom": "مخصص",
    "unknown": "غير معروف",
    "lastSavedAt": "آخر حفظ: {date}",
    "never": "أبدا",
    "justNow": "الآن فقط",
    "minutesAgoShort": "{count} منذ",
    "hoursAgoShort": "{count}h منذ",
    "daysAgoShort": "{count}d منذ",
    "monthsAgoShort": "{count}قبل شهر",
    "yearsAgoShort": "{count}قبل عام",
    "runtimeCheckFailed": "فشل التحقق من وقت التشغيل",
    "yourApiKeyPlaceholder": "مفتاح API الخاص بك",
    "modelPlaceholder": "معرف الموفر/النموذج",
    "configurationSaved": "تم حفظ التكوين بنجاح.",
    "failedToSave": "فشل حفظ التكوين.",
    "noApiKeysCreateOne": "لا توجد مفاتيح API - قم بإنشاء واحد في صفحة المفاتيح",
    "defaultOmnirouteKey": "sk_omniroute (افتراضي)",
    "selectModel": "حدد النموذج",
    "selectModelForAlias": "تحديد نموذج لـ {alias}",
    "selectModelForTool": "حدد نموذجًا لـ {tool}",
    "select": "اختر",
    "clear": "واضح",
    "comingSoon": "قريبا",
    "checkingRuntime": "التحقق من حالة وقت التشغيل...",
    "guideOnlyIntegration": "تكامل الدليل فقط (لا يتطلب وقت تشغيل محلي)",
    "cliRuntimeDetected": "تم اكتشاف وقت تشغيل CLI وأصبح جاهزًا",
    "cliFoundNotRunnable": "تم العثور على واجهة سطر الأوامر (CLI) ولكنها غير قابلة للتشغيل{reason}",
    "cliRuntimeNotDetected": "لم يتم الكشف عن وقت تشغيل CLI",
    "binary": "ثنائي",
    "configPath": "مسار التكوين",
    "configPathShort": "التكوين",
    "failedCheckRuntimeStatus": "فشل في التحقق من حالة وقت التشغيل.",
    "copy": "نسخ",
    "copied": "منقول",
    "copyConfig": "نسخ التكوين",
    "saveConfig": "حفظ التكوين",
    "selectionSaved": "تم حفظ التحديد",
    "guide": "دليل",
    "detected": "تم الكشف عنها",
    "notReady": "غير جاهز",
    "active": "نشط",
    "inactive": "غير نشط",
    "startMitm": "ابدأ تشغيل MITM",
    "stopMitm": "وقف ميتم",
    "mitmStarted": "بدأ MITM بنجاح!",
    "mitmStopped": "توقف MITM بنجاح!",
    "failedStart": "فشل بدء تشغيل MITM",
    "failedStop": "فشل في إيقاف MITM",
    "saveMappings": "حفظ التعيينات",
    "mappingsSaved": "تم حفظ التعيينات!",
    "failedSaveMappings": "فشل حفظ التعيينات",
    "howItWorks": "كيف يعمل:",
    "antigravityHowWorksDesc": "تقوم Antigravity بإرسال الطلبات إلى نقطة نهاية Google. يقوم MITM باعتراضهم وإعادة توجيههم إلى OmniRoute.",
    "antigravityStep1": "1. ابدأ تشغيل MITM لتوجيه الطلبات عبر OmniRoute.",
    "antigravityStep2Prefix": "2. أضف",
    "antigravityStep2Suffix": "إلى ملف المضيفين الخاص بك كـ 127.0.0.1.",
    "antigravityStep3": "3. سيتم فتح Antigravity والطلبات بالوكالة.",
    "mitmHowWorksDesc": "{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.",
    "mitmStep1": "1. Start MITM to route requests through OmniRoute.",
    "mitmStep2Prefix": "2. Add",
    "mitmStep2Suffix": "to your hosts file as 127.0.0.1.",
    "mitmStep3": "3. Open {toolName} and requests will be proxied.",
    "sudoPasswordRequiredTitle": "كلمة مرور سودو مطلوبة",
    "sudoPasswordHint": "كلمة مرور المسؤول مطلوبة لتعديل ملف المضيفين وإعدادات وكيل النظام.",
    "enterSudoPassword": "أدخل كلمة مرور سودو",
    "sudoPasswordRequiredError": "كلمة مرور سودو مطلوبة.",
    "cancel": "إلغاء",
    "confirm": "تأكيد",
    "settingsApplied": "تم تطبيق الإعدادات بنجاح!",
    "failedApplySettings": "فشل في تطبيق الإعدادات",
    "settingsReset": "تمت إعادة ضبط الإعدادات بنجاح!",
    "failedResetSettings": "فشل في إعادة ضبط الإعدادات",
    "backupRestored": "تمت استعادة النسخة الاحتياطية!",
    "failedRestore": "فشل في الاستعادة",
    "checkingCli": "جارٍ التحقق من {tool} CLI...",
    "cliNotRunnable": "{tool} تم تثبيت واجهة سطر الأوامر (CLI) ولكنها غير قابلة للتشغيل",
    "cliNotInstalled": "{tool} واجهة سطر الأوامر غير مثبتة",
    "cliNotDetected": "{tool} لم يتم اكتشاف واجهة سطر الأوامر",
    "cliDetectedReady": "{tool} تم اكتشاف واجهة سطر الأوامر (CLI) وهي جاهزة",
    "cliFoundFailedHealthcheck": "{tool} تم العثور على واجهة سطر الأوامر (CLI) ولكن فشل التحقق من سلامة وقت التشغيل{reason}.",
    "installCliPrompt": "الرجاء تثبيت {tool} CLI لاستخدام هذه الميزة.",
    "installCodexPrompt": "الرجاء تثبيت Codex CLI لاستخدام ميزة التطبيق التلقائي.",
    "hide": "إخفاء",
    "howToInstall": "كيفية التثبيت",
    "installationGuide": "دليل التثبيت",
    "platforms": "ماك / لينكس / ويندوز:",
    "afterInstallationRun": "بعد التثبيت، قم بتشغيل",
    "toVerify": "للتحقق.",
    "current": "الحالي",
    "baseUrlPlaceholder": "https://.../v1",
    "resetToDefault": "إعادة التعيين إلى الوضع الافتراضي",
    "providerModelPlaceholder": "معرف الموفر/النموذج",
    "apply": "تطبيق",
    "reset": "إعادة تعيين",
    "manualConfig": "التكوين اليدوي",
    "backups": "النسخ الاحتياطية",
    "configBackups": "النسخ الاحتياطية التكوين",
    "noBackupsYet": "لا توجد نسخ احتياطية حتى الآن. يتم إنشاء النسخ الاحتياطية تلقائيًا قبل كل تطبيق أو إعادة تعيين.",
    "restore": "استعادة",
    "backupRestoredReloading": "تمت استعادة النسخة الاحتياطية! جارٍ إعادة تحميل الحالة...",
    "failedRestoreBackup": "فشل في استعادة النسخة الاحتياطية",
    "applied": "تم التطبيق!",
    "failed": "فشل",
    "resetDone": "إعادة تعيين!",
    "omnirouteConfiguredOpenAiCompatible": "تم تكوين OmniRoute كموفر متوافق مع OpenAI",
    "provider": "مزود",
    "model": "نموذج",
    "providers": "مقدمي الخدمات",
    "auth": "مصادقة",
    "noApiKeysAvailable": "لا توجد مفاتيح API متاحة",
    "usingDefaultOmniroute": "باستخدام الافتراضي: sk_omniroute",
    "updateConfig": "تحديث التكوين",
    "applyConfig": "تطبيق التكوين",
    "noBackupsAvailable": "لا توجد نسخ احتياطية متاحة.",
    "profileSaved": "تم حفظ الملف الشخصي \"{name}\"!",
    "failedSaveProfile": "فشل حفظ الملف الشخصي",
    "profileActivated": "تم تفعيل الملف الشخصي!",
    "failedActivateProfile": "فشل في تفعيل الملف الشخصي",
    "profiles": "الملفات الشخصية",
    "savedProfiles": "الملفات الشخصية المحفوظة",
    "noProfilesYet": "لم يتم حفظ أي ملفات شخصية حتى الآن. احفظ التكوين الحالي كملف تعريف أدناه.",
    "activate": "تفعيل",
    "deleteProfile": "حذف الملف الشخصي",
    "profileNamePlaceholder": "اسم الملف الشخصي (مثل الحساب الشخصي)",
    "saveCurrent": "حفظ الحالي",
    "codexAuthNotePrefix": "يستخدم الدستور الغذائي",
    "codexAuthNoteMiddle": "مع",
    "codexAuthNoteSuffix": "انقر فوق \"تطبيق\" للتكوين التلقائي.",
    "claudeManualConfiguration": "كلود CLI - التكوين اليدوي",
    "codexManualConfiguration": "Codex CLI - التكوين اليدوي",
    "droidManualConfiguration": "Factory Droid - التكوين اليدوي",
    "openClawManualConfiguration": "فتح المخلب - التكوين اليدوي",
    "clineManualConfiguration": "التكوين اليدوي لكلين",
    "kiloManualConfiguration": "التكوين اليدوي للكيلو كود",
    "whenToUseLabel": "متى تستخدم",
    "openToolDocs": "افتح مستندات الأداة",
    "toolUseCases": {
      "claude": "استخدمه عندما تريد سير عمل تخطيط قوي وعمليات إعادة بناء طويلة متعددة الملفات باستخدام Claude Code.",
      "codex": "يُستخدم عندما يتم توحيد فريقك في تدفقات OpenAI Codex CLI والمصادقة المستندة إلى الملف الشخصي.",
      "droid": "استخدمه عندما تحتاج إلى وكيل طرفي خفيف الوزن يركز على الترميز السريع وحلقات تنفيذ الأوامر.",
      "openclaw": "استخدمه عندما تريد وكيل ترميز نمط Open Claw ولكن يتم توجيهه من خلال سياسات OmniRoute.",
      "cline": "يُستخدم عندما تقوم بتكوين وكلاء الترميز داخل المحررين وتريد إعدادًا موجهًا باستخدام نماذج OmniRoute.",
      "kilo": "يُستخدم عندما يعتمد سير عملك على أوامر Kilo Code والتحريرات المتكررة السريعة.",
      "cursor": "استخدمه عند البرمجة في Cursor وتحتاج إلى نماذج مخصصة متوافقة مع OpenAI من خلال OmniRoute.",
      "continue": "استخدمه عند تشغيل متابعة في IDEs وتحتاج إلى تكوين موفر محمول يستند إلى JSON.",
      "opencode": "استخدمه عندما تفضل تشغيل الوكيل الأصلي للمحطة والأتمتة النصية عبر OpenCode.",
      "kiro": "يُستخدم عند دمج Kiro والتحكم في توجيه النموذج مركزيًا من OmniRoute.",
      "windsurf": "Use when you want an AI-first IDE with Codeium/Windsurf models routed through OmniRoute.",
      "antigravity": "يُستخدم عندما يجب اعتراض حركة مرور Antigravity/Kiro عبر MITM وتوجيهها إلى OmniRoute.",
      "copilot": "استخدمه عندما تريد UX بأسلوب دردشة Copilot أثناء فرض مفاتيح OmniRoute وقواعد التوجيه.",
      "amp": "Use when you want Amp CLI routed through OmniRoute with stable shorthand aliases and OpenAI-compatible setup.",
      "qwen": "Use when you want Qwen Code CLI with OmniRoute-managed provider settings and multi-provider model access.",
      "hermes": "استخدمه عندما تحتاج إلى مساعد AI خفيف الوزن ومعتمد على الأجهزة الطرفية للقيام بالمهام السريعة.",
      "hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
      "custom": "يستخدم لتطبيقات الأدوات المخصصة أو التكوينات العامة المتوافقة مع OpenAI."
    },
    "toolDescriptions": {
      "antigravity": "جوجل مكافحة الجاذبية IDE مع MITM",
      "claude": "الأنثروبي كلود كود CLI",
      "codex": "OpenAI Codex CLI",
      "droid": "مساعد مصنع الروبوت AI",
      "openclaw": "افتح مساعد Claw AI",
      "cline": "Cline AI Coding Assistant CLI",
      "kilo": "كيلو كود AI مساعد CLI",
      "cursor": "محرر كود المؤشر AI",
      "continue": "تابع مساعد الذكاء الاصطناعي",
      "opencode": "OpenCode AI coding agent (Terminal)",
      "kiro": "Amazon Kiro — AI-powered IDE",
      "windsurf": "Windsurf AI Code Editor",
      "copilot": "GitHub Copilot AI Assistant",
      "qwen": "Alibaba Qwen Code CLI",
      "amp": "Sourcegraph Amp coding assistant CLI",
      "hermes": "هيرميس AI مساعد المحطة",
      "hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
      "custom": "مولد تكوين CLI أو SDK عام متوافق مع OpenAI"
    },
    "guides": {
      "cursor": {
        "notes": {
          "0": "يتطلب حساب Cursor Pro لاستخدام هذه الميزة.",
          "1": "يقوم المؤشر بتوجيه الطلبات من خلال الخادم الخاص به، لذلك لا يتم دعم نقطة النهاية المحلية. يرجى تمكين Cloud Endpoint في الإعدادات."
        },
        "steps": {
          "1": {
            "title": "افتح الإعدادات",
            "desc": "انتقل إلى الإعدادات -> النماذج"
          },
          "2": {
            "title": "تمكين OpenAI API",
            "desc": "تمكين خيار \"مفتاح OpenAI API\"."
          },
          "3": {
            "title": "عنوان URL الأساسي"
          },
          "4": {
            "title": "مفتاح واجهة برمجة التطبيقات"
          },
          "5": {
            "title": "إضافة نموذج مخصص",
            "desc": "انقر فوق \"عرض كافة النماذج\" -> \"إضافة نموذج مخصص\""
          },
          "6": {
            "title": "حدد النموذج"
          }
        }
      },
      "continue": {
        "steps": {
          "1": {
            "title": "افتح التكوين",
            "desc": "افتح متابعة ملف التكوين"
          },
          "2": {
            "title": "مفتاح واجهة برمجة التطبيقات"
          },
          "3": {
            "title": "حدد النموذج"
          },
          "4": {
            "title": "إضافة تكوين النموذج",
            "desc": "أضف التكوين التالي إلى مجموعة النماذج الخاصة بك:"
          }
        },
        "notes": {
          "0": "متابعة يستخدم ملف التكوين JSON."
        }
      },
      "opencode": {
        "steps": {
          "1": {
            "title": "Install OpenCode",
            "desc": "Install via npm: npm install -g opencode-ai"
          },
          "2": {
            "title": "API Key"
          },
          "3": {
            "title": "Set Base URL",
            "desc": "opencode config set baseUrl {baseUrl}"
          },
          "4": {
            "title": "Select Model"
          },
          "5": {
            "title": "Use Thinking Variant",
            "desc": "For thinking models, run with --variant high/low/max (example command below)."
          }
        },
        "notes": {
          "0": "يتطلب OpenCode تكوين مفتاح API.",
          "1": "قم بتعيين عنوان URL الأساسي إلى نقطة نهاية OmniRoute الخاصة بك."
        }
      },
      "kiro": {
        "steps": {
          "1": {
            "title": "Open Kiro Settings",
            "desc": "Go to Settings → AI Provider"
          },
          "2": {
            "title": "Base URL",
            "desc": "Paste your OmniRoute endpoint URL"
          },
          "3": {
            "title": "API Key"
          },
          "4": {
            "title": "Select Model"
          }
        },
        "notes": {
          "0": "يتطلب كيرو حساب أمازون."
        }
      },
      "windsurf": {
        "steps": {
          "1": {
            "title": "Open AI Settings",
            "desc": "Click the AI Settings icon in Windsurf or go to Settings"
          },
          "2": {
            "title": "Add Custom Provider",
            "desc": "Select \"Add custom provider\" (OpenAI-compatible)"
          },
          "3": {
            "title": "Base URL",
            "desc": "http://127.0.0.1:20128/v1"
          },
          "4": {
            "title": "API Key",
            "desc": "Select your OmniRoute API key"
          },
          "5": {
            "title": "Select Model",
            "desc": "Choose a model from the dropdown"
          }
        }
      }
    },
    "autoConfiguredTab": "Auto Configured Tab",
    "toolCategoriesDesc": "Tool Categories Desc",
    "allToolsTab": "All Tools Tab",
    "guidedClientsTab": "Guided Clients Tab",
    "mitmClientsTab": "Mitm Clients Tab",
    "customCliTab": "سطر الأوامر المخصص",
    "toolCategories": "Tool Categories",
    "visibleToolsCount": "{count} من الأدوات المتاحة",
    "customCliBuilderTitle": "منشئ CLI المتوافق مع OpenAI",
    "customCliBuilderDescription": "قم بإنشاء env vars ومقتطفات JSON لأي CLI أو SDK يقبل عنوان URL الأساسي المتوافق مع OpenAI ومفتاح API ومعرف النموذج.",
    "customCliNoModels": "قم بتوصيل موفر واحد على الأقل لملء محددات النموذج.",
    "customCliNameLabel": "اسم CLI",
    "customCliNamePlaceholder": "على سبيل المثال فريقي CLI",
    "customCliDefaultModelLabel": "النموذج الافتراضي",
    "customCliDefaultModelHelp": "استخدم أي معرف أو مجموعة طراز OmniRoute. تحتاج معظم واجهات سطر الأوامر المتوافقة مع OpenAI فقط إلى عنوان URL الأساسي /v1 بالإضافة إلى سلسلة نموذج.",
    "customCliKeyHelper": "بالنسبة لعمليات التثبيت المحلية، يمكن لـ OmniRoute استخدام sk_omniroute. في الوضع السحابي، اختر أحد مفاتيح واجهة برمجة التطبيقات للإدارة لديك.",
    "customCliAliasMappingsLabel": "تعيينات الاسم المستعار",
    "customCliAliasMappingsHelp": "الأسماء المستعارة المساعدة الاختيارية للبرامج النصية المجمعة أو ملفات التكوين التي تريد أسماء مختصرة ثابتة.",
    "customCliAddAlias": "أضف اسمًا مستعارًا",
    "customCliNoMappings": "لا توجد تعيينات للاسم المستعار حتى الآن. أضف واحدًا إذا كانت البرامج النصية المجمعة أو الفريق تستخدم أسماء قصيرة ثابتة.",
    "customCliAliasPlaceholder": "على سبيل المثال مراجعة",
    "customCliTargetModelLabel": "نموذج الهدف",
    "customCliEndpointHintLabel": "كيفية توصيل نقطة النهاية",
    "customCliEndpointHint": "قم بتوجيه أي عميل متوافق مع OpenAI إلى عنوان URL الأساسي لـ OmniRoute /v1. نقطة نهاية عمليات إكمال الدردشة الأولية هي {endpoint}. استخدم كتلة JSON عندما تريد الأداة كائن موفر، أو استخدم البرنامج النصي env عندما يقرأ متغيرات OPENAI_*.",
    "customCliEnvBlockTitle": "مقتطف Env / Shell",
    "customCliJsonBlockTitle": "كتلة موفر JSON",
    "copilotConfigGenerator": "جيثب مساعد الطيار التكوين المولد",
    "copilotApiKey": "مفتاح واجهة برمجة التطبيقات",
    "copilotFilterModelsPlaceholder": "نماذج التصفية...",
    "copilotMaxInputTokens": "الحد الأقصى لرموز الإدخال",
    "copilotMaxOutputTokens": "الحد الأقصى لرموز الإخراج",
    "copilotToolCalling": "استدعاء الأداة",
    "copilotPasteInto": "لصق في: ",
    "wireApiChatCompletions": "مكتملات الدردشة (/chat/مكتملات)",
    "wireApiResponses": "واجهة برمجة تطبيقات الاستجابات (/ الاستجابات)"
  },
  "combos": {
    "title": "المجموعات",
    "description": "قم بإنشاء مجموعات نماذج باستخدام التوجيه المرجح والدعم الاحتياطي",
    "autoCatalogTitle": "كتالوج التوجيه التلقائي",
    "autoCatalogTemplateCount": "{count} القوالب",
    "autoCatalogDescription": "يتم حل المجموعات التلقائية/* المضمنة ديناميكيًا من موفري الخدمة المتصلين. استخدم أيًا من هذه المعرفات كحقل النموذج - لا حاجة إلى أي إعداد.",
    "autoCatalogExpand": "قم بتوسيع كتالوج التوجيه التلقائي",
    "autoCatalogCollapse": "طي كتالوج التوجيه التلقائي",
    "createCombo": "إنشاء التحرير والسرد",
    "editCombo": "تحرير التحرير والسرد",
    "deleteCombo": "حذف التحرير والسرد",
    "noModels": "لا نماذج",
    "noModelsYet": "لم تتم إضافة أي نماذج حتى الآن",
    "addModel": "إضافة نموذج",
    "addModelToCombo": "إضافة نموذج إلى التحرير والسرد",
    "routingStrategy": "استراتيجية التوجيه",
    "maxRetries": "ماكس إعادة المحاولة",
    "timeout": "المهلة (مللي ثانية)",
    "healthcheck": "فحص الصحة",
    "priority": "الأولوية",
    "fallback": "احتياطي",
    "roundRobin": "جولة روبن",
    "random": "عشوائي",
    "leastLatency": "الكمون الأقل",
    "comboName": "اسم التحرير والسرد",
    "comboNamePlaceholder": "بلدي التحرير والسرد",
    "deleteConfirm": "هل تريد حذف هذا التحرير والسرد؟",
    "noCombosYet": "لا المجموعات بعد",
    "comboCreated": "تم إنشاء التحرير والسرد بنجاح",
    "comboUpdated": "تم تحديث التحرير والسرد بنجاح",
    "comboDeleted": "تم حذف التحرير والسرد",
    "failedCreate": "فشل إنشاء التحرير والسرد",
    "failedUpdate": "فشل تحديث التحرير والسرد",
    "errorCreating": "حدث خطأ أثناء إنشاء التحرير والسرد",
    "errorUpdating": "حدث خطأ أثناء تحديث التحرير والسرد",
    "errorDeleting": "حدث خطأ أثناء حذف التحرير والسرد",
    "testFailed": "فشل طلب الاختبار",
    "failedToggle": "فشل تبديل التحرير والسرد",
    "testResults": "نتائج الاختبار — {name}",
    "resolvedBy": "تم الحل بواسطة:",
    "more": "+{count} المزيد",
    "reqs": "طلبات",
    "success": "النجاح",
    "proxyConfigured": "تم تكوين الوكيل",
    "copyComboName": "انسخ اسم التحرير والسرد",
    "enableCombo": "تمكين التحرير والسرد",
    "disableCombo": "تعطيل التحرير والسرد",
    "testCombo": "التحرير والسرد الاختبار",
    "duplicate": "مكررة",
    "proxyConfig": "تكوين الوكيل",
    "nameRequired": "الاسم مطلوب",
    "nameInvalid": "فقط الحروف والأرقام، -، _، / و . مسموح به",
    "nameHint": "الحروف والأرقام، -، _، / و . مسموح به",
    "priorityDesc": "التراجع المتسلسل: تجربة النموذج 1 أولاً، ثم 2، وما إلى ذلك.",
    "weightedDesc": "يوزع حركة المرور حسب نسبة الوزن مع التراجع",
    "roundRobinDesc": "التوزيع الدائري: ينتقل كل طلب إلى النموذج التالي بالتناوب",
    "contextRelay": "Context Relay",
    "contextRelayDesc": "Preserves session continuity with handoff summaries when accounts rotate",
    "randomDesc": "اختيار عشوائي موحد، ثم الرجوع إلى النماذج المتبقية",
    "leastUsedDesc": "يختار النموذج الذي يحتوي على أقل عدد من الطلبات، مع موازنة الحمل مع مرور الوقت",
    "costOptimizedDesc": "الطرق إلى النموذج الأرخص تعتمد أولاً على التسعير",
    "resetAware": "إعادة تعيين واعية RR",
    "resetAwareDesc": "قم بموازنة الحصة المتبقية مقابل 5 ساعات وعمليات إعادة التعيين الأسبوعية، ثم قم بتدوير النتائج المماثلة",
    "strictRandom": "Strict Random",
    "strictRandomDesc": "Shuffle deck — uses each model once before reshuffling",
    "models": "نماذج",
    "autoBalance": "التوازن التلقائي",
    "advancedSettings": "الإعدادات المتقدمة",
    "retryDelay": "تأخير إعادة المحاولة (ملي ثانية)",
    "concurrencyPerModel": "التزامن/النموذج",
    "queueTimeout": "مهلة قائمة الانتظار (مللي ثانية)",
    "contextRelayHandoffThreshold": "Handoff Threshold",
    "contextRelayHandoffThresholdHelp": "When quota usage reaches this threshold, OmniRoute generates a structured handoff summary before the active account is exhausted.",
    "contextRelayMaxMessages": "Max Messages For Summary",
    "contextRelayMaxMessagesHelp": "Limits how much recent history is condensed into the relay summary.",
    "contextRelaySummaryModel": "Summary Model",
    "contextRelaySummaryModelHelp": "Optional override model used only for generating the handoff summary. Leave empty to reuse the active combo model.",
    "contextRelayProviderNote": "Context Relay currently generates handoffs for Codex account rotation. Pair it with multiple accounts of the same provider for the best continuity.",
    "advancedHint": "اتركه فارغًا لاستخدام الإعدادات الافتراضية العامة. تتجاوز هذه الإعدادات لكل موفر.",
    "failoverBeforeRetry": "تجاوز الفشل قبل إعادة المحاولة",
    "maxSetRetries": "الحد الأقصى لعدد مرات إعادة المحاولة",
    "setRetryDelayMs": "تعيين تأخير إعادة المحاولة (مللي ثانية)",
    "moveUp": "تحرك للأعلى",
    "moveDown": "تحرك للأسفل",
    "removeModel": "إزالة",
    "saving": "جارٍ الحفظ...",
    "weighted": "مرجح",
    "leastUsed": "الأقل استخدامًا",
    "costOpt": "تكلفة الاختيار",
    "strategyGuideTitle": "كيفية استخدام هذه الاستراتيجية",
    "strategyGuideWhen": " متى تُستخدم؟",
    "strategyGuideAvoid": "تجنب متى",
    "strategyGuideExample": "ﻣﺜﺎل",
    "strategyGuide": {
      "priority": {
        "when": "لديك نموذج مفضل واحد وتريد فقط التراجع عن الفشل.",
        "avoid": "تحتاج إلى توزيع الطلبات عبر النماذج.",
        "example": "نموذج الترميز الأساسي مع نسخة احتياطية أرخص للانقطاعات."
      },
      "weighted": {
        "when": "تحتاج إلى تقسيم حركة المرور المتحكم فيها عبر النماذج.",
        "avoid": "لا يمكنك الحفاظ على أوزان دقيقة بمرور الوقت.",
        "example": "80 ٪ نموذج مستقر + 20 ٪ طرح نموذج الكناري."
      },
      "round-robin": {
        "when": "تريد توزيعًا يمكن التنبؤ به ومتساويًا.",
        "avoid": "تختلف النماذج كثيرًا من حيث الكمون أو التكلفة.",
        "example": "نفس النموذج على حسابات متعددة لنشر الإنتاجية."
      },
      "random": {
        "when": "تريد توزيعًا بسيطًا مع الحد الأدنى من الإعداد.",
        "avoid": "تحتاج إلى ضمانات صارمة لحركة المرور.",
        "example": "وضع نماذج أوّلية سريعة بنماذج مكافئة."
      },
      "least-used": {
        "when": "تريد موازنة تكيفية بناءً على الطلب المباشر.",
        "avoid": "حركة المرور منخفضة للغاية للاستفادة من موازنة الاستخدام.",
        "example": "أعباء العمل المختلطة حيث غالبًا ما يكون أحد النماذج مثقلًا."
      },
      "cost-optimized": {
        "when": "تخفيض التكلفة هو على رأس أولوياتك.",
        "avoid": "بيانات التسعير مفقودة أو قديمة.",
        "example": "وظائف الخلفية أو الدُفعات حيث تكون التكلفة الأقل مفضلة."
      },
      "reset-aware": {
        "when": "يمكنك التوجيه عبر حسابات متعددة باستخدام قياس الحصص عن بعد ونوافذ إعادة التعيين المختلفة.",
        "avoid": "قياس الحصة عن بعد غير متاح لمعظم الحسابات.",
        "example": "تفضل إعادة ضبط الحساب الأسبوعي بنسبة 60% غدًا على إعادة ضبط الحساب بنسبة 80% لاحقًا."
      },
      "strict-random": {
        "when": "Use when you want perfectly even spread — each model used once before repeating.",
        "avoid": "Avoid when models have different quality or latency and order matters.",
        "example": "Example: Multiple accounts of the same model to distribute usage evenly."
      },
      "p2c": {
        "when": "Use when you want low-latency selection using Power-of-Two-Choices algorithm.",
        "avoid": "Avoid for small combos with 2 or fewer models — no benefit over round-robin.",
        "example": "Example: High-throughput inference across 4+ equivalent model endpoints."
      },
      "context-relay": {
        "when": "Use when long sessions must survive account rotation without losing the working context.",
        "avoid": "Avoid when account switching is rare or when you do not want extra summarization requests.",
        "example": "Example: Codex sessions that rotate across multiple accounts near quota exhaustion."
      },
      "fill-first": {
        "when": "استخدمه عندما تريد استنفاد حصة مزود الخدمة بالكامل قبل الانتقال إلى المزود التالي.",
        "avoid": "تجنب ذلك عندما تحتاج إلى موازنة التحميل على مستوى الطلب عبر مقدمي الخدمة.",
        "example": "مثال: استخدم جميع أرصدة Deepgram بقيمة 200 دولار قبل العودة إلى Groq."
      },
      "auto": {
        "when": "استخدمه عندما تحتاج إلى توجيه تسجيل متعدد العوامل استنادًا إلى التكلفة وزمن الوصول والجودة.",
        "avoid": "تجنب ذلك عندما تحتاج إلى ترتيب صارم للأولويات أو الثبات التاريخي.",
        "example": "مثال: موازنة الطلبات عبر النماذج ذات نقاط القوة المختلفة."
      },
      "lkgp": {
        "when": "استخدمه عندما تريد التوجيه استنادًا إلى معدلات النجاح والأداء التاريخي.",
        "avoid": "تجنب ذلك عندما تكون البيانات التاريخية محدودة أو غير موثوقة.",
        "example": "مثال: الطريق إلى النماذج التي تتمتع بسجل جيد في مهام محددة."
      },
      "context-optimized": {
        "when": "يُستخدم عندما تحتاج إلى تحسين استخدام نافذة السياق عبر النماذج.",
        "avoid": "تجنب ذلك عندما يكون للنماذج أطوال سياقية متشابهة أو عندما تكون المهام بسيطة.",
        "example": "مثال: توزيع المحادثات الطويلة عبر النماذج ذات نوافذ السياق الأكبر."
      }
    },
    "advancedHelp": {
      "maxRetries": "كم عدد محاولات إعادة المحاولة قبل فشل الطلب.",
      "retryDelay": "الانتظار الأولي بين المحاولات. القيم الأعلى تقلل من ضغط الاندفاع.",
      "timeout": "الحد الأقصى لمدة الطلب قبل الإلغاء.",
      "healthcheck": "يتخطى النماذج/مقدمي الخدمات غير الصحيين من قرارات التوجيه.",
      "concurrencyPerModel": "الحد الأقصى للطلبات المتزامنة المسموح بها لكل نموذج في جولة روبن.",
      "queueTimeout": "كم من الوقت يمكن أن ينتظر الطلب في قائمة الانتظار قبل انتهاء المهلة.",
      "failoverBeforeRetry": "عند التمكين، يؤدي أي خطأ في المنبع إلى تشغيل تجاوز الفشل الفوري إلى هدف التحرير والسرد التالي، وتخطي جميع المحاولات وعناوين URL الاحتياطية.",
      "maxSetRetries": "عدد مرات إعادة محاولة تحديد الهدف بالكامل عند فشل كل هدف. 0 = لا توجد إعادة محاولة على المستوى المحدد.",
      "setRetryDelayMs": "التأخير بين محاولات إعادة المحاولة على المستوى المحدد، مما يمنح المشكلات العابرة وقتًا لحلها."
    },
    "templatesTitle": "قوالب سريعة",
    "templatesDescription": "تطبيق ملف تعريف البدء، ثم ضبط النماذج والتكوين.",
    "templateApply": "قالب التطبيق",
    "templateHighAvailability": "الإتاحة العالية",
    "templateHighAvailabilityDesc": "أولوية التوجيه مع الفحوصات الصحية والمحاولات الآمنة.",
    "templateCostSaver": "موفر للتكاليف",
    "templateCostSaverDesc": "التوجيه الأمثل من حيث التكلفة لأعباء العمل ذات الميزانية الأولى.",
    "templateBalanced": "حمل موازن",
    "templateBalancedDesc": "التوجيه الأقل استخدامًا لنشر الطلب بمرور الوقت.",
    "usageGuideHide": "مخفي",
    "usageGuideDontShowAgain": "يرجى عدم العرض مرة أخرى",
    "usageGuideShow": "دليل البرنامج",
    "quickTestTitle": "التحرير والسرد جاهز للتحقق",
    "quickTestDescription": "قم بإجراء اختبار الآن لتأكيد سلوك التراجع والكمون.",
    "testNow": " \"اختبر الآن\"،",
    "pricingCoverage": "تغطية التسعير",
    "pricingCoverageHint": "يعمل تحسين التكلفة بشكل أفضل عندما يكون لجميع طرازات التحرير والسرد أسعار.",
    "pricingAvailable": "التسعير متاح",
    "pricingMissing": "لا يوجد تسعير",
    "pricingAvailableShort": "غالي, عالي السعر",
    "pricingMissingShort": "رسم",
    "warningRoundRobinSingleModel": "يعتبر Round - robin أكثر فائدة مع طرازين على الأقل.",
    "warningCostOptimizedPartialPricing": "فقط {priced} من طرازات {total} لها أسعار. قد يكون التوجيه مدركًا جزئيًا للتكلفة.",
    "warningCostOptimizedNoPricing": "لم يتم العثور على بيانات تسعير لهذه المجموعة. قد يتم توجيه التكلفة المحسّنة بشكل غير متوقع.",
    "filterAll": "All",
    "filterIntelligent": "Intelligent",
    "filterDeterministic": "Deterministic",
    "filterEmptyTitle": "No combos match this strategy filter.",
    "filterEmptyIntelligentDescription": "Create an auto or LKGP combo to populate the intelligent routing dashboard.",
    "filterEmptyDeterministicDescription": "Only auto and LKGP combos exist right now. Switch back to All or create a deterministic combo.",
    "readinessTitle": "هل أنت مستعد للحفظ؟",
    "readinessDescription": "قم بمراجعة قائمة التحقق قبل إنشاء هذا التحرير والسرد أو تحديثه.",
    "readinessCheckName": "اسم التحرير والسرد صالح",
    "readinessCheckModels": "تم تحديد نموذج واحد على الأقل",
    "readinessCheckWeights": "الإجمالي المرجح هو 100%",
    "readinessCheckWeightsOptional": "قاعدة الوزن غير مطلوبة",
    "readinessCheckPricing": "بيانات التسعير متاحة",
    "readinessCheckPricingOptional": "قاعدة التسعير غير مطلوبة",
    "saveBlockedTitle": "تم حظر الحفظ حتى يتم إصلاح العناصر التالية:",
    "saveBlockName": "تحديد اسم التحرير والسرد.",
    "saveBlockModels": "أضف نموذجًا واحدًا على الأقل.",
    "saveBlockWeighted": "اضبط الأوزان على 100% (الحالي: {total}%).",
    "saveBlockPricing": "أضف أسعارًا لنموذج واحد على الأقل أو اختر استراتيجية مختلفة.",
    "recommendationsLabel": "Recommended setup",
    "applyRecommendations": "Apply recommendations",
    "recommendationsUpdated": "Recommendations updated for {strategy}.",
    "recommendationsApplied": "Recommendations applied to this combo.",
    "intelligentPanelTitle": "Intelligent Routing Dashboard",
    "intelligentPanelDesc": "Real-time scoring and health status for this auto-routing combo.",
    "configOnlyStatus": "__MISSING__:Configuration View",
    "configOnlyHint": "__MISSING__:This panel shows routing inputs only. Live breaker state is available on the Health page.",
    "routingInputs": "__MISSING__:Routing Inputs",
    "routingInputsHint": "__MISSING__:Mode pack and weighting stay here; breaker runtime state stays on the Health page.",
    "emailVisibilityHint": "__MISSING__:Account emails here follow the global privacy toggle.",
    "emailVisibilityTooltip": "__MISSING__:Use the eye icon to reveal or hide account emails globally across combos, providers and quota screens.",
    "manualModel": "__MISSING__:Manual model",
    "manualModelInvalid": "__MISSING__:Enter a model as provider/model.",
    "manualModelUnknownProvider": "__MISSING__:Unknown provider prefix.",
    "builderDynamicAccountShort": "__MISSING__:Dynamic account",
    "builderNeedValidName": "__MISSING__:Define a valid combo name before continuing.",
    "statusOverview": "Status Overview",
    "normalOperation": "Normal Operation",
    "allProvidersHealthy": "Providers are reporting healthy routing conditions.",
    "incidentMode": "Incident Mode",
    "highCircuitBreakerRate": "High circuit breaker trip rate detected.",
    "activeModePack": "Active Mode Pack",
    "modePackUpdated": "Mode pack updated to {pack}.",
    "modePackHint": "Switch presets to bias the routing engine without rebuilding the combo.",
    "providerScores": "Provider Scores",
    "allProvidersEvaluated": "No candidate pool configured. All active providers are evaluated at runtime.",
    "excludedProviders": "Excluded Providers",
    "excludedProvidersHint": "Providers with an OPEN circuit breaker are temporarily excluded from routing.",
    "noExcludedProviders": "No providers are currently excluded.",
    "cooldownMinutes": "Cooldown: {minutes}m",
    "builderIntelligentTitle": "Intelligent Routing Configuration",
    "builderIntelligentDesc": "Configure the multi-factor scoring engine for this auto-routing combo.",
    "candidatePoolLabel": "Candidate Pool",
    "candidatePoolHint": "Select which providers this engine should evaluate. Leave empty to use all active providers.",
    "candidatePoolEmpty": "No active providers available yet.",
    "candidatePoolAllProviders": "All providers",
    "modePackLabel": "Mode Pack",
    "routerStrategyLabel": "Router Strategy",
    "strategyRules": "Rules (6-Factor Scoring)",
    "explorationRateLabel": "Exploration Rate",
    "explorationRateHint": "{percent}% of requests can explore non-optimal providers.",
    "budgetCapLabel": "Budget Cap (USD / request)",
    "budgetCapPlaceholder": "No limit",
    "advancedWeightsTitle": "Advanced: Scoring Weights",
    "weightQuota": "Quota",
    "weightHealth": "Health",
    "weightCostInv": "Cost",
    "weightLatencyInv": "Latency",
    "weightTaskFit": "Task Fit",
    "weightStability": "Stability",
    "weightTierPriority": "Tier",
    "reviewIntelligentTitle": "Intelligent Routing Config",
    "strategyRecommendations": {
      "priority": {
        "title": "Fail-safe baseline",
        "description": "Use one primary model and keep fallback chain short and reliable.",
        "tip1": "Put your most reliable model first.",
        "tip2": "Keep 1-2 backup models with similar quality.",
        "tip3": "Use safe retries to absorb transient provider failures."
      },
      "weighted": {
        "title": "Controlled traffic split",
        "description": "Great for canary rollouts and gradual migration between models.",
        "tip1": "Start with conservative split like 90/10.",
        "tip2": "Keep the total at 100% and auto-balance after changes.",
        "tip3": "Monitor success and latency before increasing canary weight."
      },
      "round-robin": {
        "title": "Predictable load sharing",
        "description": "Best when models are equivalent and you need smooth distribution.",
        "tip1": "Use at least 2 models.",
        "tip2": "Set concurrency limits to avoid burst overload.",
        "tip3": "Use queue timeout to fail fast under saturation."
      },
      "random": {
        "title": "Quick spread with low setup",
        "description": "Use when you need simple distribution without strict guarantees.",
        "tip1": "Use models with similar latency profiles.",
        "tip2": "Keep retries enabled to absorb random misses.",
        "tip3": "Prefer this for experimentation, not strict SLAs."
      },
      "least-used": {
        "title": "Adaptive balancing",
        "description": "Routes to less-used models to reduce hotspots over time.",
        "tip1": "Works better under continuous traffic.",
        "tip2": "Combine with health checks for safer balancing.",
        "tip3": "Track per-model usage to validate distribution gains."
      },
      "cost-optimized": {
        "title": "Budget-first routing",
        "description": "Routes to lower-cost models when pricing metadata is available.",
        "tip1": "Ensure pricing coverage for all selected models.",
        "tip2": "Keep a quality fallback for hard prompts.",
        "tip3": "Use for batch/background jobs where cost is the main KPI."
      },
      "reset-aware": {
        "title": "إعادة تعيين دوران الحساب",
        "description": "يوازن حصة الموفر المتبقية مقابل توقيت إعادة التعيين.",
        "tip1": "استخدم خطوات حساب واضحة أو توجيه علامة الحساب لموفري الخدمة الذين لديهم قياس الحصص عن بعد.",
        "tip2": "قم بضبط الجلسة مقابل الأوزان الأسبوعية عندما يكون الإرهاق قصير المدى أكثر خطورة.",
        "tip3": "أبقِ رباط العنق صغيرًا حتى تظل الحسابات المكافئة تدور بشكل عادل."
      },
      "strict-random": {
        "title": "Shuffle deck distribution",
        "description": "Each model is used exactly once per cycle before reshuffling.",
        "tip1": "Use at least 2 models for meaningful distribution.",
        "tip2": "Works best with equivalent-performance models.",
        "tip3": "Ideal for load balancing across multiple API accounts."
      },
      "fill-first": {
        "description": "حصص مزود العادم بالتسلسل قبل التراجع.",
        "tip1": "يُستخدم للتوجيه المستند إلى الحصص مع سلاسل احتياطية واضحة.",
        "tip2": "قم بتعيين الحصص بدقة لتجنب التراجع المبكر.",
        "tip3": "يعمل بشكل أفضل مع مقدمي الخدمات الذين يقدمون طبقات مجانية أو مجموعات ائتمانية.",
        "title": "استنفاد الحصص"
      },
      "auto": {
        "description": "يعتمد المسار على التسجيل في الوقت الفعلي للتكلفة وزمن الوصول والجودة والصحة.",
        "tip1": "دع المحرك يوازن بين عوامل متعددة تلقائيًا.",
        "tip2": "راقب العوامل التي تحرك قرارات التوجيه في السجلات.",
        "tip3": "يُستخدم لأحمال العمل المعقدة حيث لا يهيمن أي عامل واحد.",
        "title": "التحسين متعدد العوامل"
      },
      "lkgp": {
        "description": "الطريق يعتمد على الأداء التاريخي وأنماط النجاح.",
        "tip1": "يتطلب سجل طلب كاف للحصول على تنبؤات دقيقة.",
        "tip2": "مناسب لأحمال العمل ذات أنماط أداء النموذج المتسقة.",
        "tip3": "مراقبة دقة التنبؤ وضبط الأوزان حسب الحاجة.",
        "title": "التوجيه القائم على التاريخ"
      },
      "context-optimized": {
        "description": "تحسين التوجيه بناءً على استخدام نافذة السياق وكفاءة الرمز المميز.",
        "tip1": "قم بتوجيه المحادثات الطويلة إلى النماذج ذات نوافذ السياق الأكبر.",
        "tip2": "مراقبة استخدام السياق لتجنب إهدار الرمز المميز.",
        "tip3": "الأفضل للذكاء الاصطناعي للمحادثة الذي يتطلب الاحتفاظ بالسياق على نطاق واسع.",
        "title": "تحسين السياق"
      },
      "context-relay": {
        "description": "الأفضل عندما يكون من المتوقع تدوير الحساب ويجب أن يرث الحساب التالي ملخص مهمة مبسطة.",
        "tip1": "استخدم مع موفري الخدمة الذين يقومون بتدوير الحسابات لنفس عائلة النماذج.",
        "tip2": "قم بتعيين حد التسليم أسفل الحد الأقصى للحصص المحددة لوقت إنشاء الملخص.",
        "tip3": "قم بتعيين نموذج ملخص مخصص فقط إذا كان النموذج الأساسي باهظ الثمن أو غير مستقر.",
        "title": "أولوية استمرارية الجلسة"
      },
      "p2c": {
        "description": "قم بالتوجيه إلى الموفر الذي يتمتع بأقل حمل حالي استنادًا إلى مقاييس الوقت الفعلي.",
        "tip1": "مراقبة المقاييس الصحية لموفر الخدمة لتقييم الحمل بدقة.",
        "tip2": "يعمل بشكل أفضل مع مجموعات المزودين المتجانسة.",
        "tip3": "اضبط الحساسية لتجنب التذبذب أثناء ارتفاع حركة المرور.",
        "title": "قوة الاختيارين"
      }
    },
    "templateFreeStack": "Free Stack ($0)",
    "templateFreeStackDesc": "Round-robin across all free providers: Kiro (Claude), Qoder (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding.",
    "auto": "Auto Combo",
    "autoDesc": "Self-healing smart routing pool (Performance optimized)",
    "lkgp": "LKGP Mode",
    "lkgpDesc": "Last Known Good Provider (Predictable resilience)",
    "wizardGuideTitle": "Getting Started with Combos",
    "wizardGuideDesc": "Create model combos to route AI traffic intelligently",
    "wizardGuideHint": "or click + Create Combo above",
    "createFirstCombo": "Create Your First Combo",
    "wizardStep1Title": "Name Your Combo",
    "wizardStep1Desc": "Give your combo a unique name to identify it in routing rules",
    "wizardStep2Title": "Add Models",
    "wizardStep2Desc": "Select AI models and arrange their fallback priority order",
    "wizardStep3Title": "Choose Strategy",
    "wizardStep3Desc": "Pick how requests are distributed across your models - 13 strategies available",
    "wizardStep4Title": "Review & Save",
    "wizardStep4Desc": "Review your configuration and activate the combo",
    "emailVisibilityStateOn": "On",
    "emailVisibilityStateOff": "Off",
    "reorderHandle": "Drag to reorder",
    "failedReorder": "Failed to reorder models",
    "builderFlowTitle": "Combo Builder Flow",
    "builderStage": {
      "basics": {
        "label": "Basics",
        "description": "Name and starting template"
      },
      "steps": {
        "label": "Steps",
        "description": "Provider, model, and account selection"
      },
      "strategy": {
        "label": "Strategy",
        "description": "Routing behavior and advanced settings"
      },
      "intelligent": {
        "label": "Smart Routing",
        "description": "Auto-routing candidate pool, presets, and scoring"
      },
      "review": {
        "label": "Review",
        "description": "Final validation before saving"
      }
    },
    "builderStageVisited": "Stage completed",
    "builderStageCurrent": "Current stage",
    "builderStagePending": "Pending",
    "builderStageLocked": "Locked — complete previous stage first",
    "builderTitle": "Build a Combo",
    "builderBrowseCatalog": "Browse catalog",
    "builderProvider": "Provider",
    "builderLoadingProviders": "Loading providers...",
    "builderSelectProvider": "Select provider",
    "builderModel": "Model",
    "builderSelectModel": "Select model",
    "builderProviderFirst": "Pick provider first",
    "builderAccount": "Account",
    "builderPreview": "Preview",
    "builderAddStep": "Add step",
    "builderDuplicateExact": "هذه الخطوة الدقيقة للموفر/النموذج/الحساب موجودة بالفعل في التحرير والسرد.",
    "builderComboRef": "Combo Ref",
    "builderAddComboRef": "Add combo reference",
    "builderComboRefStep": "Add combo reference",
    "builderPinnedAccount": "Pinned Account",
    "builderLegacyEntry": "Legacy entry",
    "reviewName": "Name",
    "reviewStrategy": "Strategy",
    "reviewSteps": "Steps",
    "reviewAccounts": "Accounts",
    "reviewProviders": "Providers",
    "reviewComboRefs": "Combo References",
    "reviewAdvanced": "Advanced Settings",
    "reviewAgentFlags": "Agent Flags",
    "reviewSequence": "Model Sequence",
    "reviewNoSteps": "No steps configured",
    "builderStagesDescription": "أكمل كل مرحلة من أجل تحديد المجموعات وبناء الخطوات وتحديد استراتيجية التوجيه ومراجعة النتائج.",
    "builderStepsDescription": "أنشئ كل خطوة من خطوات التحرير والسرد بالترتيب: الموفر، ثم النموذج، ثم الحساب. وهذا يسمح بإعادة استخدام نفس الموفر والنموذج عبر حسابات مختلفة.",
    "selectProvider": "حدد الموفر",
    "selectProviderPlaceholder": "حدد مزودًا",
    "selectModel": "حدد النموذج",
    "selectModelPlaceholder": "حدد مزودًا أولاً",
    "selectAccount": "حدد الحساب",
    "selectComboToReference": "حدد التحرير والسرد للرجوع إليها",
    "comboReference": "مرجع التحرير والسرد",
    "addComboReference": "إضافة مرجع التحرير والسرد",
    "addStepBeforeContinue": "يرجى إضافة خطوة واحدة على الأقل قبل الانتقال إلى المرحلة التالية.",
    "previewNextStep": "معاينة الخطوة التالية",
    "autoSelectAccount": "تحديد الحساب تلقائيًا في وقت التشغيل",
    "modePackBalanced": "متوازن",
    "modePackBudget": "الميزانية",
    "modePackPerformance": "الأداء",
    "modePackCustom": "مخصص",
    "browseLegacyCatalog": "تصفح كتالوج التحرير والسرد القديم",
    "agentFeaturesTitle": "مميزات الوكيل",
    "agentFeaturesDescription": "تمكين الميزات المتقدمة للوكلاء الذين يستخدمون هذا التحرير والسرد",
    "agentFeaturesSystemMessageOverride": "تجاوز رسالة النظام",
    "agentFeaturesSystemMessagePlaceholder": "أنت مساعد خبير..",
    "agentFeaturesSystemMessageHint": "تجاوز رسالة النظام للوكلاء",
    "agentFeaturesToolFilterRegex": "/نمط التعبير العادي/",
    "agentFeaturesToolFilterHint": "التعبير العادي لمرشح الأداة للوكلاء",
    "agentFeaturesContextCacheHint": "تمكين ذاكرة التخزين المؤقت في السياق لأدوات الوكيل",
    "agentFeaturesContextCacheProtection": "حماية ذاكرة التخزين المؤقت من طفرات أداة الوكيل",
    "agentFeaturesContextLength": "طول السياق",
    "agentFeaturesContextLengthPlaceholder": "على سبيل المثال 128000",
    "agentFeaturesContextLengthHint": "يحدد نافذة السياق لهذا التحرير والسرد في /v1/models.",
    "agentFeaturesContextLengthErrorInteger": "يجب أن يكون طول السياق عددًا صحيحًا صالحًا",
    "agentFeaturesContextLengthErrorRange": "يجب أن يتراوح طول السياق بين 1000 و2000000",
    "compressionOverride": "تجاوز الضغط",
    "modePack": "حزمة الوضع"
  },
  "costs": {
    "title": "التكاليف",
    "pageDescription": "تتبع الإنفاق، وقم بتحليل الاتجاهات، وإدارة ميزانية الذكاء الاصطناعي الخاصة بك عبر جميع مقدمي الخدمة",
    "overview": "نظرة عامة",
    "budget": "الميزانية",
    "totalCost": "التكلفة الإجمالية",
    "breakdown": "تقسيم التكلفة",
    "noData": "لا توجد بيانات التكلفة",
    "byModel": "حسب الموديل",
    "byProvider": "بواسطة المزود",
    "range7d": "7 أيام",
    "range30d": "30 يوما",
    "range90d": "90 يوما",
    "rangeAll": "كل الوقت",
    "spend30d": "Spend30D",
    "activeModels": "Active Models",
    "selectedWindow": "Selected Window",
    "activeProviders": "Active Providers",
    "overviewTitle": "Overview Title",
    "spend7d": "Spend7D",
    "avgCostPerRequest": "Avg Cost Per Request",
    "noCostDataDescription": "No Cost Data Description",
    "spendToday": "Spend Today",
    "overviewLoadFailed": "Overview Load Failed",
    "overviewDescription": "Overview Description",
    "providerShare": "Provider Share",
    "topProviders": "Top Providers",
    "costTrend": "Cost Trend",
    "noCostDataTitle": "No Cost Data Title",
    "topModels": "Top Models",
    "requestsInWindow": "Requests In Window",
    "tokenUsage": "استخدام الرمز المميز",
    "totalTokens": "مجموع الرموز",
    "inputTokens": "رموز الإدخال",
    "outputTokens": "رموز الإخراج",
    "inputOutputRatio": "نسبة الإدخال/الإخراج",
    "tokens": "الرموز",
    "routingEfficiency": "كفاءة التوجيه",
    "fallbackCount": "الطلبات الاحتياطية",
    "fallbackRate": "معدل التراجع",
    "modelCoverage": "تغطية النموذج",
    "modelCoverageDesc": "النسبة المئوية للطلبات ذات النموذج الصريح",
    "outOfRequests": "من أصل {total} من الطلبات",
    "costByApiKey": "التكلفة حسب مفتاح API",
    "costByAccount": "التكلفة حسب الحساب",
    "apiKeyName": "مفتاح واجهة برمجة التطبيقات",
    "account": "الحساب",
    "requests": "الطلبات",
    "cost": "التكلفة",
    "dayStreak": "خط اليوم",
    "weeklyUsagePattern": "نمط الاستخدام الأسبوعي",
    "activityHeatmap": "النشاط (365 يومًا)",
    "less": "أقل",
    "more": "المزيد",
    "monthlyForecast": "التوقعات الشهرية",
    "forecastBasis": "استنادًا إلى آخر {days} من الأيام",
    "avgDailyCost": "متوسط التكلفة اليومية",
    "daysRemaining": "{days} يوم متبقٍ",
    "periodComparison": "مقارنة الفترة",
    "previousPeriod": "النصف السابق",
    "currentPeriod": "النصف الحالي",
    "exportCSV": "تصدير كملف CSV",
    "exportJSON": "تصدير كـ JSON",
    "legacyFreeLabel": "__MISSING__:Legacy / Free",
    "costExplorerTitle": "مستكشف التكاليف",
    "costExplorerDescription": "استكشف الإنفاق حسب المزوّد أو النموذج أو مفتاح API أو الحساب أو مستوى الخدمة.",
    "groupProvider": "المزوّد",
    "groupModel": "النموذج",
    "groupApiKey": "مفتاح API",
    "groupAccount": "الحساب",
    "groupServiceTier": "مستوى الخدمة",
    "serviceTierFast": "__MISSING__:Fast",
    "serviceTierFlex": "__MISSING__:Flex",
    "serviceTierStandard": "__MISSING__:Standard",
    "serviceTierBreakdownTitle": "__MISSING__:Service Tier",
    "serviceTierBreakdownSubtitle": "__MISSING__:Fast / Flex / Standard split",
    "serviceTierUsageSaved": "__MISSING__:usage saved",
    "serviceTierCostSaved": "__MISSING__:saved",
    "serviceTierCostShareSuffix": "__MISSING__:of cost",
    "dimension": "البعد",
    "share": "الحصة",
    "legacyOrFree": "قديم / مجاني",
    "filterRows": "تصفية الصفوف…",
    "filterCostExplorerRows": "تصفية صفوف مستكشف التكاليف",
    "noMatchingCostRows": "لا توجد صفوف تكلفة مطابقة",
    "noMatchingCostRowsDescription": "عدّل نص البحث أو التجميع أو نافذة الوقت المحددة.",
    "showingCostRows": "يعرض {shown} من أصل {total} صفًا مطابقًا.",
    "showingTopCostRows": "يعرض {shown} من أصل {total} صفًا مطابقًا (أعلى 50)."
  },
  "endpoint": {
    "title": "نقطة نهاية واجهة برمجة التطبيقات",
    "available": "نقاط النهاية المتاحة",
    "cloudProxy": "الوكيل السحابي",
    "disableConfirm": "هل أنت متأكد أنك تريد تعطيل الوكيل السحابي؟",
    "baseUrl": "عنوان URL الأساسي",
    "apiKeyLabel": "مفتاح واجهة برمجة التطبيقات",
    "registeredKeys": "المفاتيح المسجلة",
    "chatCompletions": "استكمالات الدردشة",
    "responses": "الردود",
    "listModels": "نماذج القائمة",
    "usingCloudProxy": "باستخدام وكيل السحابة",
    "usingLocalServer": "باستخدام الخادم المحلي",
    "machineId": "معرف الجهاز: {id}...",
    "disableCloud": "تعطيل السحابة",
    "enableCloud": "تمكين السحابة",
    "modelsAcrossEndpoints": "نماذج {models} عبر نقاط النهاية {endpoints}",
    "loadingModels": "Loading available models...",
    "chatDesc": "الدردشة المتدفقة وغير المتدفقة مع جميع مقدمي الخدمة",
    "embeddings": "التضمين",
    "embeddingsDesc": "تضمينات نصية للبحث وخطوط أنابيب RAG",
    "imageGeneration": "توليد الصور",
    "imageDesc": "توليد الصور من المطالبات النصية",
    "rerank": "إعادة الترتيب",
    "rerankDesc": "إعادة ترتيب المستندات حسب صلتها بالاستعلام",
    "audioTranscription": "النسخ الصوتي",
    "audioTranscriptionDesc": "نسخ الملفات الصوتية إلى نص (Whisper)",
    "textToSpeech": "تحويل النص إلى كلام",
    "textToSpeechDesc": "تحويل النص إلى كلام يبدو طبيعيا",
    "musicGeneration": "Music Generation",
    "musicDesc": "Generate music and audio tracks via ComfyUI (Stable Audio, MusicGen)",
    "moderations": "الاعتدالات",
    "moderationsDesc": "الإشراف على المحتوى وتصنيف السلامة",
    "responsesDesc": "واجهة Responses من OpenAI لـ Codex وسير العمل الوكيلية المتقدمة",
    "listModelsDesc": "قائمة جميع النماذج المتاحة عبر جميع المزودين المتصلين",
    "settingsApiDesc": "قراءة وتعديل إعدادات OmniRoute عبر API",
    "settingsApi": "Settings API",
    "categoryCore": "واجهات API الأساسية",
    "categoryMedia": "الوسائط والمتعدد الوسائط",
    "categorySearch": "Search & Discovery",
    "categoryUtility": "أدوات فرعية وإدارة",
    "webSearch": "Web Search",
    "webSearchDesc": "Unified web search across multiple providers with automatic failover and caching",
    "searchProvider": "Search Provider",
    "searchProviderDesc": "This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected.",
    "enableCloudTitle": "تمكين الوكيل السحابي",
    "whatYouGet": "ما سوف تحصل عليه",
    "cloudBenefitAccess": "الوصول إلى API الخاص بك من أي مكان في العالم",
    "cloudBenefitShare": "مشاركة نقطة النهاية مع فريقك بسهولة",
    "cloudBenefitPorts": "لا حاجة لفتح المنافذ أو تكوين جدار الحماية",
    "cloudBenefitEdge": "شبكة حافة عالمية سريعة",
    "cloudSessionNote": "ستحتفظ السحابة بجلسة المصادقة الخاصة بك لمدة يوم واحد. إذا لم يتم استخدامه، سيتم حذفه تلقائيا.",
    "cloudUnstableNote": "السحابة غير مستقرة حاليًا مع Claude Code OAuth في بعض الحالات.",
    "cloudConnected": "الوكيل السحابي متصل!",
    "connectingToCloud": "جارٍ الاتصال بالسحابة...",
    "verifyingConnection": "جارٍ التحقق من الاتصال...",
    "connecting": "جارٍ الاتصال...",
    "verifying": "جارٍ التحقق...",
    "connected": "متصل!",
    "disableCloudTitle": "تعطيل الوكيل السحابي",
    "disableWarning": "سيتم حذف جميع جلسات المصادقة من السحابة.",
    "syncingData": "جارٍ مزامنة أحدث البيانات...",
    "disablingCloud": "جارٍ تعطيل السحابة...",
    "syncing": "جارٍ المزامنة...",
    "disabling": "جارٍ التعطيل...",
    "cloudConnectedVerified": "تم توصيل Cloud Proxy والتحقق منه!",
    "connectedVerificationPending": "متصل - التحقق معلق",
    "connectedVerificationPendingWithError": "متصل — التحقق معلق: {error}",
    "cloudDisabledSuccess": "تم تعطيل السحابة بنجاح",
    "syncedSuccess": "تمت المزامنة بنجاح",
    "failedDisable": "فشل في تعطيل السحابة",
    "failedEnable": "فشل في تمكين السحابة",
    "cloudRequestTimeout": "انتهت مهلة الطلب السحابي",
    "cloudRequestFailed": "فشل طلب السحابة",
    "cloudWorkerUnreachable": "لا يمكن الوصول إلى عامل السحابة. تأكد من تشغيل الخدمة السحابية (npm run dev in /cloud).",
    "connectionFailed": "فشل الاتصال",
    "syncFailed": "فشلت مزامنة البيانات السحابية",
    "cloudflaredTitle": "Cloudflare Quick Tunnel",
    "cloudflaredDescription": "Create a Cloudflare Quick Tunnel for this endpoint to make it accessible from the internet without configuring DNS.",
    "cloudflaredUrlNotice": "Creates a temporary Cloudflare Quick Tunnel. URLs change after restart.",
    "cloudflaredEnable": "Enable Tunnel",
    "cloudflaredInstallAndEnable": "Install & Enable",
    "cloudflaredDisable": "Stop Tunnel",
    "cloudflaredRunning": "Running",
    "cloudflaredStarting": "Starting",
    "cloudflaredStoppedState": "Stopped",
    "cloudflaredNotInstalled": "Not installed",
    "cloudflaredUnsupported": "Unsupported",
    "cloudflaredError": "Error",
    "cloudflaredStarted": "Cloudflare tunnel started",
    "cloudflaredStopped": "Cloudflare tunnel stopped",
    "cloudflaredRequestFailed": "Failed to update Cloudflare tunnel",
    "cloudflaredTemporaryNote": "Quick Tunnel URLs are temporary and will change after restart.",
    "cloudflaredUnsupportedNote": "This platform is not supported for managed installation.",
    "cloudflaredIdleNote": "Create a temporary Cloudflare Quick Tunnel for this endpoint.",
    "cloudflaredLastError": "Last error: {error}",
    "providerModelsTitle": "{provider} — النماذج",
    "noModelsForProvider": "لا توجد نماذج متاحة لهذا المزود.",
    "chat": "الدردشة",
    "embedding": "التضمين",
    "image": "صورة",
    "custom": "مخصص",
    "modelsCount": "{count, plural, one {# model} other {# models}}",
    "sectionTitle": "سطح التكامل",
    "sectionDescription": "واجهات برمجة التطبيقات المتوافقة مع OpenAI ونقاط نهاية البروتوكول التشغيلية",
    "tabApis": "واجهات برمجة تطبيقات متوافقة مع OpenAI",
    "tabProtocols": "البروتوكولات",
    "tabsAria": "أقسام نقطة النهاية",
    "protocolsTitle": "البروتوكولات",
    "protocolsDescription": "MCP و A2A هي نقاط نهاية من الدرجة الأولى مع إمكانية مراقبة وضوابط مخصصة.",
    "mcpCardTitle": "خادم MCP",
    "mcpCardDescription": "بروتوكول سياق النموذج عبر stdio",
    "a2aCardTitle": "خادم A2A",
    "a2aCardDescription": "نقطة نهاية Agent2Agent JSON - RPC",
    "protocolToolsLabel": "الأدوات المطلوبة:",
    "protocolTasksLabel": "المهام",
    "protocolActiveStreamsLabel": "لا يوجد بث نشط...",
    "protocolLastActivity": "النشاط الاخير",
    "quickStart": "التشغيل السريع",
    "openMcpDashboard": "فتح إدارة MCP",
    "openA2aDashboard": "فتح إدارة A2A",
    "mcpQuickStartTitle": "البدء السريع",
    "mcpQuickStartStep1": "قم بتشغيل خادم MCP عبر `omniroute --mcp`.",
    "mcpQuickStartStep2": "قم بتكوين عميل MCP الخاص بك للاتصال عبر نقل stdio.",
    "mcpQuickStartStep3": "استدعاء أدوات مثل `omniroute_get_health` و `omniroute_list_combos`.",
    "a2aQuickStartTitle": "البدء السريع",
    "a2aQuickStartStep1": "اكتشف بطاقة الوكيل على `/.well-known/agent.json`.",
    "a2aQuickStartStep2": "إرسال طلبات JSON - RPC إلى@@ PH0 @@ باستخدام @@PH1 @@ أو `message/stream`.",
    "a2aQuickStartStep3": "تتبع المهام والتحكم فيها باستخدام `tasks/get` و `tasks/cancel`.",
    "completionsLegacy": "Completions (Legacy)",
    "completionsLegacyDesc": "Legacy OpenAI text completions — accepts both prompt string and messages array format",
    "messagesApi": "الرسائل",
    "messagesApiDesc": "تنسيق واجهة برمجة التطبيقات للرسائل الإنسانية الأصلية لمقدمي الخدمات المتوافقين مع Claude",
    "imageEdits": "تعديلات الصور",
    "imageEditsDesc": "تحرير وتعديل الصور الموجودة باستخدام الذكاء الاصطناعي (الرسم الداخلي، والرسم الخارجي، والاختلافات)",
    "batchApi": "دفعة API",
    "batchApiDesc": "معالجة مجموعات كبيرة من الطلبات بشكل غير متزامن (متوافق مع OpenAI)",
    "filesApi": "واجهة برمجة التطبيقات للملفات",
    "filesApiDesc": "تحميل وإدارة الملفات لمعالجة الدفعات",
    "videoGeneration": "Video Generation",
    "videoDesc": "Generate videos using AI models like ComfyUI and Stable Video Diffusion.",
    "tailscaleRequestFailed": "Failed to load Tailscale status",
    "tailscaleEnableFailed": "Failed to enable Tailscale Funnel",
    "tailscaleWaitingForLogin": "Complete the Tailscale login in the opened browser tab. OmniRoute will retry automatically.",
    "tailscaleLoginTimedOut": "Timed out waiting for Tailscale login",
    "tailscaleWaitingForFunnel": "Enable Funnel for this device in the opened browser tab. OmniRoute will keep polling.",
    "tailscaleFunnelTimedOut": "Timed out waiting for Tailscale Funnel to be enabled",
    "tailscaleStarted": "Tailscale Funnel enabled",
    "tailscaleDisableFailed": "Failed to disable Tailscale Funnel",
    "tailscaleStopped": "Tailscale Funnel disabled",
    "tailscaleInstallFailed": "Failed to install Tailscale",
    "tailscaleInstallProgress": "Working...",
    "tailscaleInstalled": "Tailscale installed successfully",
    "tailscaleRunning": "Running",
    "tailscaleNeedsLogin": "Needs Login",
    "tailscaleStoppedState": "Stopped",
    "tailscaleNotInstalled": "Not installed",
    "tailscaleUnsupported": "Unsupported",
    "tailscaleError": "Error",
    "tailscaleDisable": "Stop Funnel",
    "tailscaleInstallAndEnable": "Install & Enable",
    "tailscaleLoginAndEnable": "Login & Enable",
    "tailscaleEnable": "Enable Funnel",
    "tailscaleUrlNotice": "Uses your Tailscale .ts.net address. Login and Funnel approval may be required on first use.",
    "tailscaleTitle": "Tailscale Funnel",
    "tailscaleNeedsLoginHint": "Authenticate this machine with Tailscale, then enable Funnel.",
    "tailscaleBinaryPath": "Binary: {path}",
    "tailscaleLastError": "Last error: {error}",
    "tailscaleInstallTitle": "Install Tailscale",
    "tailscaleInstallIntro": "Installs Tailscale on this machine and prepares OmniRoute to enable Funnel.",
    "tailscaleInstallPasswordHint": "On macOS and Linux, sudo may be required for the package install and daemon start.",
    "tailscaleSudoPlaceholder": "Optional sudo password",
    "tailscaleInstalling": "Installing",
    "tailscaleSudoLabel": "كلمة مرور Sudo (مطلوبة على نظام التشغيل macOS/Linux)",
    "ngrokTitle": "نفق نغروك",
    "ngrokRunning": "الجري",
    "ngrokStarting": "البدء",
    "ngrokStoppedState": "توقف",
    "ngrokNeedsAuth": "يحتاج إلى مصادقة",
    "ngrokNotInstalled": "غير مثبت",
    "ngrokUnsupported": "غير مدعوم",
    "ngrokError": "خطأ",
    "ngrokEnable": "تمكين النفق",
    "ngrokDisable": "توقف النفق",
    "ngrokUrlNotice": "إنشاء نفق نجروك عام.",
    "ngrokAuthTokenLabel": "رمز المصادقة (مطلوب إذا لم يتم تعيين NGROK_AUTHTOKEN)",
    "ngrokAuthTokenPlaceholder": "أدخل رمز مصادقة ngrok الخاص بك",
    "ngrokLastError": "الخطأ الأخير: {error}",
    "ngrokStarted": "بدأ نفق نجروك",
    "ngrokStopped": "توقف نفق نجروك",
    "ngrokRequestFailed": "فشل في تحديث نفق ngrok",
    "tokenSaverSubtitle": "أنفق عددًا أقل من الرموز على كل طلب.",
    "tokenSaverToolOutput": "إخراج الأداة",
    "tokenSaverLlmOutput": "مخرجات LLM",
    "tokenSaverInputCompression": "ضغط الإدخال",
    "apiEndpointsCatalogUnavailable": "كتالوج واجهة برمجة التطبيقات غير متاح",
    "apiEndpointsSearchPlaceholder": "نقاط نهاية البحث...",
    "apiEndpointsRequiresAuth": "يتطلب المصادقة",
    "apiEndpointsNoMatch": "لا توجد نقاط نهاية تتطابق مع الفلتر الخاص بك",
    "localServer": "الخادم المحلي",
    "cloudOmniroute": "Cloud OmniRoute",
    "copyUrl": "انسخ عنوان URL",
    "badgeLoopbackTooltip": "__MISSING__:This endpoint is only accessible locally (loopback only)",
    "badgeAlwaysProtectedTooltip": "__MISSING__:This endpoint is always protected and requires authorization",
    "badgeInternalTooltip": "__MISSING__:This is an internal system endpoint",
    "tierAll": "__MISSING__:All",
    "tierAuth": "__MISSING__:Authenticated",
    "tierLoopback": "__MISSING__:Loopback",
    "tierAlwaysProtected": "__MISSING__:Always Protected",
    "tierPublic": "__MISSING__:Public",
    "hideInternal": "__MISSING__:Hide Internal",
    "showInternal": "__MISSING__:Show Internal"
  },
  "endpoints": {
    "tabProxy": "Endpoint Proxy",
    "tabApiEndpoints": "نقاط نهاية API",
    "apiEndpointsTitle": "نقاط نهاية API",
    "apiEndpointsDescription": "نقاط نهاية API الخلفية التي يمكن أن تستهلكها التطبيقات والخدمات الأخرى.",
    "comingSoon": "قريباً",
    "plannedFeatures": "الميزات المخطط لها",
    "featureRestApi": "كتالوج REST API مع التوثيق التفاعلي",
    "featureWebhooks": "تكوين Webhooks واشتراكات الأحداث",
    "featureSwagger": "إنشاء مواصفات OpenAPI / Swagger تلقائياً",
    "featureAuth": "إدارة مفاتيح API ونطاقات OAuth لكل نقطة نهاية"
  },
  "mcpDashboard": {
    "loading": "جارٍ تحميل لوحة تحكم MCP...",
    "activate": "ينشط",
    "deactivate": "إيقاف نشاطإلغاء تنشيط",
    "confirmSwitchCombo": "تأكيد مجموعة {action} \"{combo}\"؟",
    "switchComboFailed": "فشل تبديل حالة التحرير والسرد.",
    "switchComboSuccess": "تم تحديث المجموعة \"{combo}\".",
    "confirmApplyProfile": "هل تريد تطبيق ملف تعريف المرونة \"{profile}\"؟",
    "applyProfileFailed": "فشل تطبيق ملف المرونة.",
    "applyProfileSuccess": "تم تطبيق الملف الشخصي \"{profile}\".",
    "confirmResetBreakers": "هل تريد إعادة تعيين جميع قواطع الدائرة ؟",
    "resetBreakersFailed": "فشل إعادة ضبط قواطع الدائرة.",
    "resetBreakersSuccess": "إعادة ضبط قواطع الدائرة.",
    "processStatus": "حالة المعالجة",
    "online": "الويب",
    "offline": "غير متصل",
    "disableLabel": "__MISSING__:Disable {label}",
    "enableLabel": "__MISSING__:Enable {label}",
    "transportMode": "__MISSING__:Transport Mode",
    "transportStdioDesc": "__MISSING__:Local — IDE spawns process via omniroute --mcp",
    "transportSseDesc": "__MISSING__:Remote — Server-Sent Events over HTTP",
    "transportStreamableHttpDesc": "__MISSING__:Remote — Modern bidirectional HTTP",
    "copy": "__MISSING__:Copy",
    "mcpDashboardCopyUrl": "انسخ عنوان URL",
    "mcpDisabledTitle": "__MISSING__:MCP is disabled",
    "mcpDisabledDesc": "__MISSING__:Enable MCP above to configure transport mode and view server telemetry.",
    "mcpIntro": "__MISSING__:Model Context Protocol — {tools} tools across {scopes} scopes, {transports} transports (stdio / SSE / Streamable HTTP).",
    "mcpStep1": "__MISSING__:Run via {code}",
    "mcpStep2": "__MISSING__:Configure your MCP client to connect over stdio transport.",
    "mcpStep3": "__MISSING__:Invoke tools like {code1} and {code2}.",
    "pid": "معرف المشروع",
    "sessionUptime": "وقت تشغيل الدورة",
    "lastHeartbeat": "آخر نبضة قلب",
    "activity24h": "النشاط (24 ساعة)",
    "totalCalls": "مجموع المكالمات",
    "successRate": "معدل النجاح",
    "avgLatency": "متوسط زمن الوصول",
    "topTools": "أفضل الأدوات",
    "noToolCalls24h": "لا توجد مكالمات للأدوات خلال الـ 24 ساعة الماضية.",
    "runtimeDetails": "تفاصيل وقت التشغيل",
    "transport": "النقل",
    "scopesEnforced": "النطاقات التي تم فرضها",
    "yes": "نعم",
    "no": "عددي",
    "lastCall": "آخر مكالمة",
    "heartbeatPath": "مسار نبضات القلب",
    "operationalControls": "الضوابط التشغيلية",
    "switchCombo": "تبديل الكومبو",
    "inactive": "غير نشط",
    "active": "نشط",
    "activateCombo": "تفعيل التحرير والسرد",
    "deactivateCombo": "إلغاء تنشيط التحرير والسرد",
    "applyResilienceProfile": "تطبيق ملف المرونة",
    "profileAggressive": "عدواني",
    "profileBalanced": "متوازن, في حالة إتزان, متعادل",
    "profileConservative": "محافظ, واق, مقاوم للتغيير, معتدل",
    "applyProfile": "تطبيق الطور",
    "resetCircuitBreakers": "إعادة تعيين قواطع الدائرة",
    "resetCircuitBreakersHelp": "مسح حالة القاطع الحالي وعدادات الأعطال لمقدمي الخدمات.",
    "resetAllBreakers": "إعادة تعيين جميع القواطع",
    "toolsAndScopes": "الأدوات والنطاقات",
    "tableTool": "الأداة",
    "tableScopes": "مناظير",
    "tablePhase": "المرحلة",
    "tableAudit": "المراجعة",
    "auditLog": "سجل التدقيق",
    "auditSummary": "المكالمات: {total} | page {page} of {totalPages}",
    "allTools": "فتح جميع الأدوات",
    "allResults": "عرض كل النتائج",
    "success": "ناجحة",
    "failure": "Failure",
    "apiKeyIdPlaceholder": "apiKeyId",
    "loadingAuditEntries": "جارٍ تحميل إدخالات التدقيق...",
    "noAuditEntriesForFilters": "لم يتم العثور على إدخالات تدقيق لعوامل التصفية الحالية.",
    "tableTimestamp": "الطابع الزمني",
    "tableDuration": "المدة",
    "tableResult": "النتيجة",
    "tableApiKey": "مفتاح API",
    "failed": "فشل",
    "previous": "السابق",
    "next": "التالي",
    "apiKeyId": "Api Key Id",
    "offset": "Offset",
    "limit": "Limit",
    "tool": "Tool"
  },
  "a2aDashboard": {
    "loading": "جارٍ تحميل لوحة معلومات A2A...",
    "confirmCancelTask": "هل تريد إلغاء المهمة {taskId}؟",
    "cancelTaskFailed": "فشل إلغاء المهمة.",
    "cancelTaskSuccess": "تم إلغاء المهمة {taskId}.",
    "smokeSendFailed": "فشل إرسال/إرسال اختبار الدخان.",
    "smokeSendSuccessWithTask": "رسالة/أرسل موافق (المهمة {taskId}).",
    "smokeSendSuccess": "أرسل رسالة/أرسل موافق.",
    "smokeStreamFailed": "فشل اختبار دخان الرسالة/الدفق.",
    "smokeStreamSuccessWithTask": "الرسالة/الدفق موافق (المهمة{taskId}{stateSuffix}).",
    "smokeStreamNoTaskId": "انتهت الرسالة/الدفق بدون معرف المهمة.",
    "health": "الصحة",
    "ok": "ok",
    "totalTasks": "إجمالي المهام",
    "activeStreams": "لا يوجد بث نشط...",
    "lastTask": "آخر مهمة",
    "taskStateOverview": "نظرة عامة على حالة المهمة",
    "state": {
      "submitted": "تم الإرسال",
      "working": "يعمل ",
      "completed": "مكتمل",
      "failed": "فشل",
      "cancelled": "تم الإلغاء"
    },
    "agentCard": "بطاقة الوكيل",
    "agentCardPath": "__MISSING__:/.well-known/agent.json",
    "version": "الإصدار",
    "url": "الرابط الالكتروني",
    "capabilities": "القدرات",
    "agentCardNotAvailable": "بطاقة الوكيل غير متوفرة.",
    "quickValidation": "التحقق السريع",
    "quickValidationDescription": "ينفذ مكالمات الدخان من خلال نقطة النهاية الحية@@PH0 @@.",
    "runMessageSend": "تشغيل الرسالة/إرسالها",
    "runMessageStream": "تشغيل الرسالة/الدفق",
    "taskManagement": "إدارة المهام",
    "taskSummary": "{total} tasks | page {page} of {totalPages}",
    "allStates": "الجميع",
    "allSkills": "جميع المهارات",
    "loadingTasks": "تحميل المهام",
    "noTasksForFilters": "لم يتم العثور على مهام لعوامل التصفية الحالية.",
    "tableTask": "المهمة",
    "tableSkill": "مهارة",
    "tableState": "الولاية",
    "tableUpdated": "تم التحديث",
    "tableActions": "الإجراءات",
    "view": "عرض",
    "cancel": "إلغاء",
    "previous": "السابق",
    "next": "التالي",
    "taskDetail": "تفاصيل المهمة",
    "close": "إغلاق",
    "metadata": "البيانات الوصفية",
    "events": "الأحداث والفعاليات",
    "artifacts": "الأدلة الجنائية",
    "tablePhase": "Table Phase",
    "offset": "Offset",
    "limit": "Limit",
    "skill": "Skill",
    "rpcEndpoint": "مشاركة /a2a",
    "rpcMethodSend": "رسالة/إرسال",
    "rpcMethodStream": "رسالة/دفق",
    "rpcMethodGet": "المهام/الحصول على",
    "rpcMethodCancel": "المهام/إلغاء",
    "serviceLabel": "أ2أ",
    "online": "__MISSING__:Online",
    "offline": "__MISSING__:Offline",
    "disableLabel": "__MISSING__:Disable {label}",
    "enableLabel": "__MISSING__:Enable {label}",
    "a2aDisabledTitle": "__MISSING__:A2A is disabled",
    "a2aDisabledDesc": "__MISSING__:Enable A2A above to view task telemetry, agent details, and validation tools.",
    "a2aIntro": "__MISSING__:Agent2Agent JSON-RPC 2.0 endpoint — send tasks, stream responses, cancel in-flight jobs.",
    "a2aStep1": "__MISSING__:Discover the agent card at {code}.",
    "a2aStep2": "__MISSING__:Send JSON-RPC to {code1} using {code2} or {code3}.",
    "a2aStep3": "__MISSING__:Track and cancel tasks with {code1} and {code2}."
  },
  "memory": {
    "title": "Memory Management",
    "description": "View and manage stored memory entries",
    "memories": "Memories",
    "totalEntries": "Total Entries",
    "tokensUsed": "Tokens Used",
    "hitRate": "Hit Rate",
    "loading": "Loading memories...",
    "noMemories": "No memories found",
    "search": "Search memories...",
    "allTypes": "All Types",
    "export": "Export",
    "import": "Import",
    "addMemory": "Add Memory",
    "type": "Type",
    "key": "Key",
    "content": "Content",
    "created": "Created",
    "actions": "Actions",
    "delete": "Delete",
    "factual": "Factual",
    "episodic": "Episodic",
    "procedural": "Procedural",
    "semantic": "Semantic",
    "a": "A",
    "pipelineOk": "خط الأنابيب موافق ({latencyMs}ms)",
    "pipelineError": "خطأ في خط الأنابيب",
    "healthUnknown": "الصحة غير معروفة",
    "checkingHealth": "جارٍ التحقق…",
    "checkHealth": "تحقق من الصحة",
    "pageInfo": "الصفحة {page} من {totalPages} ({total} الإجمالي)",
    "previous": "السابق",
    "next": "التالي",
    "cancel": "إلغاء",
    "save": "حفظ",
    "keyPlaceholder": "على سبيل المثال user.preferences.theme",
    "contentPlaceholder": "القيمة أو محتوى JSON الذي يجب تذكره"
  },
  "skills": {
    "title": "Skills",
    "description": "Manage and monitor AI skills",
    "skillsTab": "Skills",
    "executionsTab": "Executions",
    "sandboxTab": "Sandbox",
    "loading": "Loading skills...",
    "noSkills": "No skills found",
    "noExecutions": "No executions found",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "version": "Version",
    "tableDescription": "Description",
    "skill": "Skill",
    "status": "Status",
    "duration": "Duration",
    "time": "Time",
    "sandboxConfig": "Sandbox Configuration",
    "cpuLimit": "CPU Limit",
    "cpuLimitDesc": "Maximum execution time per skill",
    "memoryLimit": "Memory Limit",
    "memoryLimitDesc": "Maximum memory allocation",
    "timeout": "Timeout",
    "timeoutDesc": "Maximum wait time for response",
    "networkAccess": "Network Access",
    "networkAccessDesc": "Allow outbound network requests",
    "mode": "Mode",
    "q": "Q",
    "filterSkillsPlaceholder": "تصفية المهارات حسب الاسم أو الوصف أو العلامة",
    "allModes": "جميع الأوضاع",
    "totalSkills": "__MISSING__:Total Skills",
    "enabledSkills": "__MISSING__:Enabled",
    "totalExecutions": "__MISSING__:Executions",
    "successRate": "__MISSING__:Success Rate",
    "marketplaceTab": "__MISSING__:Marketplace",
    "applyFilters": "__MISSING__:Apply filters",
    "popularDefaultsLabel": "__MISSING__:Popular by default for selected provider:",
    "onMode": "__MISSING__:ON",
    "offMode": "__MISSING__:OFF",
    "autoMode": "__MISSING__:AUTO",
    "installSkillButton": "__MISSING__:Install Skill",
    "installSkillModalTitle": "__MISSING__:Install Skill",
    "installJsonPlaceholder": "__MISSING__:Paste skill manifest JSON here...",
    "installing": "__MISSING__:Installing...",
    "installSuccess": "__MISSING__:Skill installed ({id})",
    "installError": "__MISSING__:Install failed",
    "invalidJson": "__MISSING__:Invalid JSON",
    "searchMarketplacePlaceholder": "__MISSING__:Search skills...",
    "searchMarketplace": "__MISSING__:Search Marketplace",
    "marketplaceEmpty": "__MISSING__:No skills found in marketplace",
    "marketplaceError": "__MISSING__:Search failed",
    "installingFromMarketplace": "__MISSING__:Installing from marketplace...",
    "popularSkills": "__MISSING__:Popular Skills",
    "skillsMarketplace": "سوق المهارات",
    "searching": "__MISSING__:Searching...",
    "pageInfo": "__MISSING__:Page {page} of {totalPages} ({total} total)",
    "previous": "__MISSING__:Previous",
    "next": "__MISSING__:Next",
    "activeProvider": "__MISSING__:Active provider:",
    "changeInSettings": "__MISSING__:Change this in Settings → Memory & Skills.",
    "installs": "__MISSING__:installs",
    "marketplaceSkillsMpHint": "__MISSING__:Configure your SkillsMP API key in Settings to browse the marketplace.",
    "marketplaceSkillsShHint": "__MISSING__:Search the skills.sh open directory to discover and install agent skills.",
    "installSkillModalDesc": "__MISSING__:Paste a skill manifest JSON or upload a .json file.",
    "uploadJson": "__MISSING__:Upload JSON",
    "cancel": "__MISSING__:Cancel",
    "installSkill": "تثبيت المهارة"
  },
  "health": {
    "title": "صحة النظام",
    "description": "المراقبة في الوقت الحقيقي لمثيل OmniRoute الخاص بك",
    "healthy": "صحي",
    "degraded": "متدهورة",
    "down": "أسفل",
    "uptime": "الجهوزية",
    "memory": "الذاكرة",
    "memoryRss": "الذاكرة (آر إس إس)",
    "heap": "كومة",
    "cpu": "وحدة المعالجة المركزية",
    "database": "قاعدة البيانات",
    "version": "الإصدار",
    "lastCheck": "الفحص الأخير",
    "providerHealth": "صحة المزود",
    "systemMetrics": "مقاييس النظام",
    "tokenHealth": "صحة الرمز",
    "refreshAll": "تحديث الكل",
    "checkNow": "تحقق الآن",
    "loadingHealth": "جارٍ تحميل البيانات الصحية...",
    "failedToLoad": "فشل تحميل البيانات الصحية: {error}",
    "retry": "أعد المحاولة",
    "allOperational": "جميع الأنظمة قيد التشغيل",
    "issuesDetected": "تم اكتشاف مشاكل في النظام",
    "updatedAt": "تم التحديث {time}",
    "latency": "الكمون",
    "latencyP50": "ص50",
    "latencyP95": "ص95",
    "latencyP99": "ص99",
    "millisecondsShort": "{value}ms",
    "notAvailable": "—",
    "totalRequests": "إجمالي الطلبات",
    "noDataYet": "لا توجد بيانات حتى الآن",
    "promptCache": "ذاكرة التخزين المؤقت الفوري",
    "entries": "إدخالات",
    "hitRate": "معدل الإصابة",
    "hitsMisses": "الزيارات / الأخطاء",
    "signatureCache": "ذاكرة التخزين المؤقت للتوقيع",
    "signatureDefaults": "الافتراضيات",
    "signatureTool": "أداة",
    "signatureFamily": "العائلة",
    "signatureSession": "جلسة",
    "recovering": "يتعافى",
    "noCBData": "لا تتوفر بيانات قاطع الدائرة. تقديم بعض الطلبات أولا.",
    "providerHealthStatusAria": "الحالة الصحية للمزود",
    "issuesLabel": "تم اكتشاف المشكلات",
    "operational": "التشغيلية",
    "providers": "مقدمي الخدمات",
    "configuredProvidersLabel": "تم تكوينه في لوحة القيادة",
    "configuredProvidersHint": "الموفرون الذين لديهم بيانات اعتماد محفوظة في /dashboard/providers، بغض النظر عن حالة وقت التشغيل.",
    "activeProviders": "{count} active",
    "activeProvidersHint": "الموفرون الذين تم تكوينهم ممكّنون حاليًا لطلبات التوجيه.",
    "monitoredProviders": "{count} monitored",
    "monitoredProvidersHint": "يتم تتبع مقدمي الخدمة حاليًا بواسطة مراقبي صحة قاطع الدائرة.",
    "healthyCount": "{count} صحي",
    "nodeVersion": "العقدة {version}",
    "failures": "{count} فشل",
    "failuresPlural": "{count} حالات الفشل",
    "lastFailure": "الاخير",
    "rateLimitStatus": "حالة حد السعر",
    "activeLimiters": "{count} المحدد النشط",
    "activeLimitersPlural": "{count} المحددات النشطة",
    "queued": "في قائمة الانتظار",
    "queuedCount": "{count} في قائمة الانتظار",
    "running": "تشغيل",
    "runningCount": "{count} قيد التشغيل",
    "ok": "حسنًا",
    "activeLockouts": "عمليات الإغلاق النشطة",
    "resetConfirm": "إعادة ضبط كافة قواطع الدائرة إلى الحالة الصحية؟ سيؤدي هذا إلى مسح جميع أعداد الفشل واستعادة كافة الموفرين إلى الحالة التشغيلية.",
    "resetAllTitle": "إعادة ضبط كافة قواطع الدائرة إلى الحالة الصحية",
    "resetting": "إعادة الضبط...",
    "resetAll": "إعادة ضبط الكل",
    "until": "حتى {time}",
    "limitExhausted": "Exhausted",
    "learnedFromHeaders": "Learned from headers",
    "remainingOfLimit": "{remaining}/{limit} remaining",
    "throttleStatus": "Throttle: {value}",
    "lastHeaderUpdate": "Header update: {age}",
    "databaseHealth": "صحة قاعدة البيانات",
    "stickyBoundSessions": "جلسات ملزمة لزجة",
    "sessionsByApiKey": "الجلسات عن طريق مفتاح API",
    "noActiveSessionsTracked": "لم يتم تتبع أي جلسات نشطة حتى الآن.",
    "noSessionQuotaMonitorsActive": "لا توجد أجهزة مراقبة حصة الجلسة نشطة.",
    "gracefulDegradationStatus": "حالة التدهور رشيقة",
    "additionalModels": "+{count} المزيد من النماذج",
    "providerHealthMatrixTitle": "__MISSING__:Provider Health Matrix",
    "providerHealthMatrixDescription": "__MISSING__:Provider × account × model states from breakers, cooldowns, lockouts and logs.",
    "healthMatrixRange": "__MISSING__:Health matrix range",
    "providerFilter": "__MISSING__:Provider filter",
    "onlyIssues": "__MISSING__:Only issues",
    "refresh": "__MISSING__:Refresh",
    "accounts": "__MISSING__:Accounts",
    "models": "__MISSING__:Models",
    "issues": "__MISSING__:Issues",
    "loadingProviderHealthMatrix": "__MISSING__:Loading provider health matrix...",
    "failedProviderHealthMatrix": "__MISSING__:Failed to load Provider Health Matrix: {error}",
    "noProvidersMatchedFilters": "__MISSING__:No providers matched the current filters.",
    "modelPillSummary": "__MISSING__:{requests} req · {successRate} success · {latency} avg",
    "modelLockoutSummary": "__MISSING__:{reason} · {duration} left",
    "locked": "__MISSING__:locked",
    "inferred": "__MISSING__:inferred",
    "inactive": "__MISSING__:Inactive",
    "noConnectionId": "__MISSING__:no connection id",
    "accountModelSummary": "__MISSING__:{connectionId} · {count} models",
    "cooldown": "__MISSING__:cooldown",
    "durationRemaining": "__MISSING__:{duration} remaining",
    "noSyncedModelsOrTraffic": "__MISSING__:No synced models or recent traffic yet.",
    "providerRowSummary": "__MISSING__:{active}/{total} active accounts · {requests} req · {successRate} success · {latency} avg",
    "cooldownCount": "__MISSING__:{count} cooldown",
    "lockoutCount": "__MISSING__:{count} lockouts",
    "issueCount": "__MISSING__:{count} issues",
    "score": "__MISSING__:Score",
    "lastRequest": "__MISSING__:Last request",
    "lastError": "__MISSING__:Last error"
  },
  "telemetry": {
    "title": "القياس عن بعد للنظام",
    "description": "إشارات الطلب المتداول ووقت التشغيل والجلسة والذاكرة من عملية OmniRoute هذه.",
    "uptime": "الجهوزية",
    "totalRequests": "إجمالي الطلبات",
    "avgLatency": "متوسط الكمون",
    "errorRate": "معدل الخطأ",
    "activeConnections": "اتصالات نشطة",
    "memoryUsage": "استخدام الذاكرة",
    "latencyTrend": "اتجاه الكمون",
    "throughputTrend": "اتجاه الإنتاجية",
    "memoryTrend": "اتجاه الذاكرة",
    "refresh": "تحديث",
    "updatedAt": "تم التحديث {time}",
    "loadFailed": "فشل تحميل القياس عن بعد.",
    "partialData": "القياس عن بعد متاح جزئيًا: {error}"
  },
  "mitm": {
    "title": "وكيل MITM",
    "description": "وكيل شفاف لاعتراض وتوجيه طلبات العميل.",
    "enable": "تمكين وكيل MITM",
    "enableDesc": "بدء أو إيقاف عملية الاعتراض المحلي وتجاوز DNS.",
    "status": "الحالة",
    "running": "الجري",
    "stopped": "توقف",
    "start": "ابدأ",
    "stop": "توقف",
    "refresh": "تحديث",
    "port": "منفذ الوكيل",
    "apiKey": "مفتاح API لجهاز التوجيه",
    "apiKeyPlaceholder": "اختياري؛ يعود إلى المفتاح المحلي",
    "sudoPassword": "كلمة مرور سودو",
    "cachedPassword": "مخبأة لهذه العملية",
    "saveSettings": "حفظ الإعدادات",
    "settingsSaved": "تم حفظ إعدادات MITM.",
    "startedSuccess": "بدأ وكيل MITM.",
    "stoppedSuccess": "توقف وكيل MITM.",
    "saveFailed": "فشل في تحديث إعدادات MITM.",
    "loadFailed": "فشل تحميل إعدادات MITM.",
    "invalidPort": "يتطلب اعتراض MITM الشفاف حاليًا المنفذ 443.",
    "certificate": "شهادة كاليفورنيا",
    "certificateReady": "الشهادة متاحة لتثبيت ثقة العميل.",
    "certificateMissing": "لم يتم إنشاء الشهادة بعد.",
    "available": "متاح",
    "missing": "مفقود",
    "downloadCert": "تحميل شهادة CA",
    "regenerateCert": "تجديد الشهادة",
    "regenerateConfirm": "سيؤدي هذا إلى إبطال ثقة العميل الحالي. يكمل؟",
    "regenerateSuccess": "تم تجديد شهادة MITM.",
    "regenerateFailed": "فشل في تجديد شهادة MITM.",
    "targetRoutes": "الطرق المستهدفة",
    "interceptedRequests": "الطلبات التي تم اعتراضها",
    "activeConnections": "اتصالات نشطة",
    "dnsConfigured": "تم تكوين DNS",
    "pid": "معرف المنتج",
    "lastIntercept": "الاعتراض الأخير",
    "target": "الهدف",
    "host": "المضيف",
    "localPort": "ميناء محلي",
    "endpoints": "نقاط النهاية",
    "enabled": "ممكّن",
    "configured": "تم تكوينه",
    "yes": "نعم",
    "no": "لا",
    "noTargets": "لم يتم تكوين أي مسارات مستهدفة."
  },
  "limits": {
    "title": "الحدود والحصص",
    "rateLimit": "حد السعر",
    "remaining": "المتبقي",
    "requestsPerMinute": "طلبات/دقيقة",
    "tokensPerMinute": "الرموز / دقيقة",
    "dailyLimit": "الحد اليومي"
  },
  "logs": {
    "title": "سجلات",
    "requestLogs": "سجلات الطلب",
    "proxyLogs": "سجلات الوكيل",
    "auditLog": "سجل التدقيق",
    "console": "وحدة التحكم",
    "auditLogDesc": "الإجراءات الإدارية والأحداث الأمنية",
    "loading": "جار التحميل...",
    "refresh": "تحديث",
    "filterByAction": "التصفية حسب الإجراء...",
    "filterByActor": "تصفية حسب الممثل...",
    "filterEntriesAria": "تصفية إدخالات سجل التدقيق",
    "filterByActionTypeAria": "التصفية حسب نوع الإجراء",
    "filterByActorAria": "تصفية حسب الممثل",
    "refreshAuditLogAria": "تحديث سجل التدقيق",
    "tableAria": "إدخالات سجل التدقيق",
    "failedFetchAuditLog": "فشل جلب سجل التدقيق",
    "showing": "عرض {count} إدخالات (الإزاحة {offset})",
    "search": "بحث",
    "timestamp": "الطابع الزمني",
    "action": "العمل",
    "actor": "ممثل",
    "target": "الهدف",
    "details": "التفاصيل",
    "ipAddress": "عنوان IP",
    "notAvailable": "—",
    "noEntries": "لم يتم العثور على إدخالات سجل التدقيق",
    "previous": "السابق",
    "next": "التالي",
    "providerWarningTitle": "Provider Warning Title",
    "viewDetails": "View Details",
    "eventMetadata": "Event Metadata",
    "eventPayload": "Event Payload",
    "requestId": "Request Id",
    "providerWarningDesc": "Provider Warning Desc",
    "a": "A",
    "offset": "Offset",
    "limit": "Limit",
    "status": "Status",
    "resourceType": "Resource Type",
    "totalEntries": "Total Entries",
    "tab": "Tab",
    "auditModalSubtitle": "Audit Modal Subtitle",
    "close": "Close",
    "runningRequests": "Active Requests",
    "runningRequestsDesc": "Real-time view of currently running upstream requests",
    "clearAll": "مسح الكل",
    "confirmClearActiveRequests": "هل تريد مسح جميع الطلبات النشطة؟",
    "model": "Model",
    "provider": "Provider",
    "account": "Account",
    "elapsed": "Elapsed",
    "activeStage": "__MISSING__:Stage",
    "activeStageUnknown": "__MISSING__:Not sent to upstream yet",
    "activeStageRegistered": "__MISSING__:Registered",
    "activeStagePayloadPrepared": "__MISSING__:Payload prepared",
    "activeStageWaitingAccountSlot": "__MISSING__:Waiting for account slot",
    "activeStageWaitingRateLimit": "__MISSING__:Waiting for rate limiter",
    "activeStageRateLimitSlotAcquired": "__MISSING__:Rate limit slot acquired",
    "activeStageSendingToProvider": "__MISSING__:Sending to upstream",
    "activeStageProviderResponseStarted": "__MISSING__:Upstream response started",
    "count": "Count",
    "payloads": "Payloads",
    "viewPayloads": "View",
    "activeCount": "{count} active",
    "clientPayload": "Client Request Payload",
    "upstreamPayload": "Upstream Provider Payload",
    "upstreamNotSentYet": "Not sent to upstream yet",
    "runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
    "export": "Export",
    "exporting": "Exporting...",
    "exportFailed": "Export failed",
    "timeRange": "Time Range",
    "lastNHours": "Last {hours}",
    "defaultRange": "default",
    "consoleViewer": {
      "fetchFailed": "Failed to fetch logs",
      "copyFailed": "Failed to copy log entry",
      "copyLogEntry": "Copy log entry"
    }
  },
  "onboarding": {
    "welcome": "مرحبًا",
    "security": "الأمن",
    "test": "اختبار",
    "ready": "جاهز!",
    "setPassword": "تعيين كلمة المرور",
    "addProvider": "أضف مزودك الأول",
    "getStarted": "ابدأ",
    "skip": "تخطي",
    "skipWizard": "تخطي المعالج بالكامل",
    "skipPassword": "تخطي إعداد كلمة المرور",
    "skipAndContinue": "تخطي ومتابعة",
    "passwordLabel": "كلمة المرور",
    "confirmPassword": "تأكيد كلمة المرور",
    "enterPassword": "أدخل كلمة المرور",
    "confirmPasswordPlaceholder": "تأكيد كلمة المرور",
    "passwordsMismatch": "كلمات المرور غير متطابقة",
    "setupComplete": "اكتمل الإعداد!",
    "goToDashboard": "انتقل إلى لوحة المعلومات →",
    "welcomeDesc": "OmniRoute هو وكيل AI API المحلي الخاص بك. يقوم بتوجيه الطلبات إلى العديد من موفري الذكاء الاصطناعي مع موازنة التحميل وتجاوز الفشل وتتبع الاستخدام.",
    "multiProvider": "متعدد الموفر",
    "usageTracking": "تتبع الاستخدام",
    "securityDesc": "قم بتعيين كلمة مرور لحماية لوحة المعلومات الخاصة بك، أو قم بالتخطي الآن.",
    "providerDesc": "قم بتوصيل مزود الذكاء الاصطناعي الأول الخاص بك. يمكنك إضافة المزيد لاحقا.",
    "apiKeyRequired": "مفتاح واجهة برمجة التطبيقات (مطلوب)",
    "customUrlOptional": "عنوان URL المخصص (اختياري)",
    "testDesc": "دعونا نتحقق من أن اتصال المزود الخاص بك يعمل.",
    "runTest": "قم بتشغيل اختبار الاتصال",
    "testingConnection": "اختبار الاتصال...",
    "connectionSuccessful": "تم الاتصال بنجاح! المزود الخاص بك جاهز.",
    "noProviderFound": "لم يتم العثور على مزود. يمكنك إضافة واحدة من لوحة التحكم لاحقًا.",
    "testFailed": "فشل الاختبار، ولكن يمكنك تكوين ذلك لاحقًا.",
    "couldNotTest": "لا يمكن الاختبار الآن. يمكنك الاختبار من لوحة القيادة.",
    "doneDesc": "أنت جاهز تمامًا! تم تكوين مثيل OmniRoute الخاص بك وأصبح جاهزًا لتوكيل طلبات الذكاء الاصطناعي.",
    "yourEndpoint": "نقطة النهاية الخاصة بك:",
    "continue": "متابعة",
    "retry": "أعد المحاولة",
    "failedSetPassword": "فشل في تعيين كلمة المرور. حاول ثانية.",
    "failedAddProvider": "فشلت إضافة الموفر. حاول ثانية.",
    "connectionError": "خطأ في الاتصال. يرجى المحاولة مرة أخرى.",
    "provider": "مزود",
    "apiKeyHelp": "مفتاح API هو كلمة مرور لخدمات الذكاء الاصطناعي. احصل على واحدة من الموقع الإلكتروني لموفر الخدمة الخاص بك (على سبيل المثال، Platform.openai.com، console.anthropic.com).",
    "tier": {
      "subtitle": "يقوم OmniRoute بتنظيم موفري الخدمة في ثلاث مستويات، لذا يفضل التوجيه المسار الأكثر موثوقية والأقل تكلفة أولاً.",
      "tier1": {
        "label": "عملاء مميزون",
        "description": "CLIs من الدرجة الأولى مع تدفقات المصادقة الأصلية ونماذج الاستدلال."
      },
      "tier2": {
        "label": "الأمثل من حيث التكلفة",
        "description": "يتم استخدام موفري خدمات رخيصين وعاليي الإنتاجية لحركة المرور اليومية."
      },
      "tier3": {
        "label": "الاحتياطي والتخصص",
        "description": "تُستخدم نقاط النهاية المستضافة محليًا أو نقاط النهاية المتخصصة كنقاط احتياطية."
      },
      "configure": "تكوين مقدمي الخدمات"
    },
    "tierFlowDiagramAlt": "OmniRoute مخطط احتياطي ثلاثي الطبقات",
    "apiKeyMgmt": "إدارة مفتاح واجهة برمجة التطبيقات (API)"
  },
  "providers": {
    "title": "مقدمي الخدمات",
    "allProviders": "جميع مقدمي الخدمات",
    "audioProviders": "موفري الصوت",
    "showFreeOnly": "مجاني فقط",
    "addProvider": "إضافة موفر",
    "addFirstProvider": "أضف مزودك الأول",
    "addFirstProviderDesc": "قم بتوصيل مزود الذكاء الاصطناعي لبدء توجيه الطلبات من خلال OmniRoute. يمكنك استخدام موفري الخدمات المجانيين، أو مفاتيح API، أو حسابات OAuth.",
    "learnMore": "تعلم المزيد",
    "editProvider": "تحرير الموفر",
    "deleteProvider": "حذف الموفر",
    "noProviders": "لم يتم تكوين أي مقدمي خدمات",
    "modelAvailability": "توفر النموذج",
    "accounts": "الحسابات",
    "newAccount": "حساب جديد",
    "deleteConfirm": "هل أنت متأكد أنك تريد حذف هذا الموفر؟",
    "testing": "اختبار...",
    "testConnection": "اتصال الاختبار",
    "testSuccess": "تم الاتصال بنجاح",
    "testFailed": "فشل الاتصال",
    "available": "متاح",
    "cooldown": "فترة التهدئة",
    "unavailable": "غير متاح",
    "unknown": "غير معروف",
    "oauthLabel": "OAuth",
    "compatibleLabel": "متوافق",
    "chat": "الدردشة",
    "responses": "الردود",
    "messages": "الرسائل",
    "oauthProviders": "موفري OAuth",
    "freeProviders": "مقدمي الخدمة المجانية",
    "apiKeyProviders": "موفري مفاتيح API",
    "compatibleProviders": "مقدمو خدمات API المتوافقون",
    "testAll": "اختبار الكل",
    "testAllOAuth": "اختبار كافة اتصالات OAuth",
    "testAllFree": "اختبار كافة الاتصالات المجانية",
    "testAllApiKey": "اختبار جميع اتصالات مفتاح API",
    "testAllCompatible": "اختبار كافة الاتصالات المتوافقة",
    "connected": "{count} متصل",
    "errorCount": "{count} خطأ ({code})",
    "errorCountNoCode": "{count} خطأ",
    "warningCount": "{count} تحذير",
    "noConnections": "لا اتصالات",
    "expiredBadge": "Expired",
    "expiringSoonBadge": "Expiring Soon",
    "freeTier": "الطبقة الحرة",
    "freeTierAvailable": "الطبقة المجانية متاحة",
    "hasFreeTooltip": "__MISSING__:Free tier available",
    "noAuthLabel": "__MISSING__:No Auth",
    "noAuthProviders": "__MISSING__:No Auth Providers",
    "upstreamProxyLabel": "__MISSING__:Upstream Proxy",
    "freeAggregated": "__MISSING__:All providers with free tier (also shown in their native category)",
    "deprecated": "مهمل",
    "deprecatedProvider": "لقد تم إهمال هذا المزود",
    "riskNotice": {
      "title": "__MISSING__:Before continuing",
      "tooltip": "__MISSING__:Provider with usage caveats — click for details",
      "oauth": "__MISSING__:This provider uses your official product session/OAuth, which is not authorized for proxy/router use.\n\nWe don't recommend intensive autonomous agent usage (OpenCloud-style, long multi-step flows, large batches) — the upstream may react by restricting or banning the account.\n\nUse at your own risk.",
      "webCookie": "__MISSING__:This provider authenticates through your web session cookies. The upstream service may invalidate the session at any time, requiring you to log in again. Not recommended for long unattended operations.\n\nUse at your own risk.",
      "deprecated": "__MISSING__:This provider was discontinued by its upstream and may stop working without notice. Existing connections may continue working until the upstream fully removes access. Consider alternatives.",
      "dontShowAgain": "__MISSING__:Don't show this again for this provider",
      "understand": "__MISSING__:I understand, continue",
      "cancel": "__MISSING__:Cancel"
    },
    "disabled": "معطل",
    "enableProvider": "تمكين المزود",
    "disableProvider": "تعطيل المزود",
    "testResults": "نتائج الاختبار",
    "noCompatibleYet": "لم تتم إضافة أي مقدمي خدمات متوافقين حتى الآن",
    "compatibleHint": "استخدم الأزرار أعلاه لإضافة نقاط نهاية متوافقة مع OpenAI أو Anthropic",
    "addOpenAICompatible": "إضافة متوافق مع OpenAI",
    "addAnthropicCompatible": "أضف متوافقًا مع الأنثروبولوجيا",
    "addNewProvider": "إضافة مزود جديد",
    "backToProviders": "العودة إلى مقدمي الخدمة",
    "configureNewProvider": "قم بتكوين موفر AI جديد لاستخدامه مع تطبيقاتك.",
    "providerLabel": "مزود",
    "selectProvider": "حدد مزودًا",
    "selectedProvider": "المزود المختار",
    "authMethod": "طريقة المصادقة",
    "apiKeyLabel": "مفتاح واجهة برمجة التطبيقات",
    "apiKeyRequired": "مطلوب مفتاح API",
    "selectProviderRequired": "الرجاء اختيار مزود",
    "enterApiKey": "أدخل مفتاح API الخاص بك",
    "apiKeySecure": "سيتم تشفير مفتاح API الخاص بك وتخزينه بشكل آمن.",
    "oauth2Connect": "تواصل مع OAuth2",
    "oauth2Label": "OAuth2",
    "oauth2Desc": "قم بتوصيل حسابك باستخدام مصادقة OAuth2.",
    "displayName": "اسم العرض",
    "displayNamePlaceholder": "على سبيل المثال، واجهة برمجة تطبيقات الإنتاج، وبيئة التطوير",
    "displayNameHint": "اختياري. اسم مألوف لتعريف هذا التكوين.",
    "active": "نشط",
    "activeDescription": "قم بتمكين هذا الموفر للاستخدام في تطبيقاتك",
    "cancel": "إلغاء",
    "createProvider": "إنشاء موفر",
    "failedCreate": "فشل في إنشاء الموفر",
    "errorOccurred": "حدث خطأ. يرجى المحاولة مرة أخرى.",
    "modelStatus": "حالة النموذج",
    "showConfiguredOnly": "Configured only",
    "allModelsOperational": "جميع الموديلات شغالة",
    "modelsWithIssues": "{count} الطراز (النماذج) الذي به مشكلات",
    "allModelsNormal": "جميع النماذج تستجيب بشكل طبيعي.",
    "cooldownCleared": "تم مسح فترة التهدئة لـ {model}",
    "failedClearCooldown": "فشل في مسح فترة التهدئة",
    "loadingAvailability": "جارٍ تحميل مدى توفر الطراز...",
    "clearCooldown": "واضح",
    "clearing": "المقاصة...",
    "until": "حتى {time}",
    "providerTestFailed": "فشل اختبار الموفر",
    "providerTestTimeout": "Provider test timed out — too many connections to test at once",
    "modeTest": "{mode} اختبار",
    "passedCount": "تم {count}",
    "failedCount": "فشل {count}",
    "testedCount": "تم اختبار {count}",
    "millisecondsAbbr": "{value}ms",
    "okShort": "حسنًا",
    "errorShort": "خطأ",
    "noActiveConnectionsInGroup": "لم يتم العثور على اتصالات نشطة لهذه المجموعة.",
    "allTestsPassed": "تم اجتياز جميع اختبارات {total}",
    "testSummary": "تم اجتياز {passed}/{total}، وفشل {failed}",
    "nameLabel": "الاسم",
    "prefixLabel": "بادئة",
    "baseUrlLabel": "عنوان URL الأساسي",
    "apiTypeLabel": "نوع واجهة برمجة التطبيقات",
    "prefixHint": "مطلوب. بادئة فريدة لأسماء النماذج.",
    "nameHint": "مطلوب. تسمية ودية لهذه العقدة.",
    "baseUrlHint": "مطلوب.  عنوان URL الأساسي لواجهة برمجة تطبيقات الموفر.",
    "anthropicPrefixPlaceholder": "ac-منتج",
    "openaiPrefixPlaceholder": "oc-منتج",
    "anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1",
    "openaiBaseUrlPlaceholder": "https://api.openai.com/v1",
    "validateConnection": "التحقق من صحة الاتصال",
    "validating": "جارٍ التحقق...",
    "connectionValid": "الاتصال صالح!",
    "connectionFailed": "فشل الاتصال. تحقق من عنوان URL والمفتاح.",
    "testKeyLabel": "اختبار مفتاح API",
    "testKeyPlaceholder": "sk-... (للتحقق فقط)",
    "providerNotFound": "لم يتم العثور على الموفر",
    "deleteConnectionConfirm": "هل تريد حذف هذا الاتصال؟",
    "batchDeleteSelected": "حذف المحدد ({count})",
    "batchDeleteConfirm": "هل تريد حذف {count} اتصال(ات)؟ لا يمكن التراجع عن هذا الإجراء.",
    "batchDeleteSuccess": "تم حذف {count} اتصال(ات)",
    "batchActivateSelected": "__MISSING__:Activate",
    "batchDeactivateSelected": "__MISSING__:Deactivate",
    "batchRetestSelected": "__MISSING__:Retest",
    "batchActivateSuccess": "__MISSING__:Activated {count} connection(s)",
    "batchDeactivateSuccess": "__MISSING__:Deactivated {count} connection(s)",
    "failedSetAlias": "فشل في تعيين الاسم المستعار",
    "failedSaveConnection": "فشل حفظ الاتصال",
    "failedSaveConnectionRetry": "فشل حفظ الاتصال. يرجى المحاولة مرة أخرى.",
    "failedRetestConnection": "فشل في إعادة اختبار الاتصال",
    "deleteCompatibleNodeConfirm": "هل تريد حذف العقدة المتوافقة {type} هذه؟",
    "anthropicCompatibleDetails": "تفاصيل متوافقة الأنثروبي",
    "openaiCompatibleDetails": "تفاصيل متوافقة مع OpenAI",
    "messagesApi": "واجهة برمجة تطبيقات الرسائل",
    "responsesApi": "واجهة برمجة التطبيقات للردود",
    "embeddings": "Embeddings",
    "audioTranscriptions": "Audio Transcriptions",
    "audioSpeech": "Audio Speech",
    "imagesGenerations": "Images Generations",
    "chatCompletions": "استكمالات الدردشة",
    "importingModels": "جارٍ الاستيراد...",
    "importFromModels": "الاستيراد من / النماذج",
    "modelsImported": "{count} models imported",
    "allModelsAlreadyImported": "جميع النماذج مستوردة بالفعل",
    "noNewModelsToImport": "لا توجد نماذج جديدة للاستيراد — جميع النماذج موجودة بالفعل في السجل أو قائمة النماذج المخصصة",
    "skippingExistingModels": "تخطي {count} نماذج موجودة",
    "autoSync": "المزامنة التلقائية",
    "autoSyncTooltip": "تحديث قائمة النماذج تلقائيًا كل 24 ساعة (قابلة للتكوين عبر MODEL_SYNC_INTERVAL_HOURS)",
    "autoSyncEnabled": "تم تمكين المزامنة التلقائية — سيتم تحديث النماذج بشكل دوري",
    "autoSyncDisabled": "تم تعطيل المزامنة التلقائية",
    "autoSyncToggleFailed": "فشل في تبديل المزامنة التلقائية",
    "clearAllModels": "مسح كافة النماذج",
    "clearAllModelsConfirm": "هل أنت متأكد أنك تريد إزالة كافة النماذج لهذا الموفر؟ لا يمكن التراجع عن هذا.",
    "clearAllModelsSuccess": "تم مسح جميع النماذج",
    "clearAllModelsFailed": "فشل في مسح النماذج",
    "addConnectionToImport": "أضف اتصالاً لتمكين الاستيراد.",
    "noModelsConfigured": "لم يتم تكوين أي نماذج",
    "connectionCount": "{count} الاتصال (الاتصالات)",
    "fetchingModels": "جارٍ جلب النماذج المتوفرة...",
    "failedFetchModels": "فشل جلب النماذج",
    "noModelsFound": "لم يتم العثور على نماذج",
    "importFailed": "فشل الاستيراد",
    "noNewModelsAdded": "لم تتم إضافة نماذج جديدة.",
    "adding": "جارٍ الإضافة...",
    "close": "Close",
    "importingModelsTitle": "استيراد النماذج",
    "copyModel": "نموذج النسخ",
    "filterModels": "تصفية النماذج…",
    "modelsActive": "نشط",
    "showModel": "إظهار النموذج",
    "hideModel": "إخفاء النموذج",
    "removeModel": "إزالة النموذج",
    "rateLimitProtected": "محمي",
    "rateLimitUnprotected": "غير محمية",
    "enableRateLimitProtection": "انقر لتمكين حماية حدود المعدل",
    "disableRateLimitProtection": "انقر لتعطيل حماية حد المعدل",
    "productionKey": "مفتاح الإنتاج",
    "enterNewApiKey": "أدخل مفتاح API الجديد",
    "codexApplyModalTitle": "تنطبق على الدستور الغذائي المحلي",
    "codexApplyTargetLabel": "مسار الهدف",
    "codexApplyBackupLabel": "النسخ الاحتياطية",
    "codexApplyWarning": "سيحل هذا محل auth.json الموجود. يكمل؟",
    "codexApplyConfirmCheckbox": "أؤكد أنني أريد استبدال ملف auth.json الحالي",
    "codexApply": "تطبيق",
    "bulkTabSingle": "واحد",
    "bulkTabBulkAdd": "إضافة بالجملة",
    "bulkAddFormatHint": "مفتاح واحد لكل سطر. التنسيق: الاسم|apiKey أو مجرد apiKey (يتم تسميته تلقائيًا بواسطة الفهرس).",
    "bulkValidateKeys": "التحقق من صحة كل مفتاح قبل الحفظ (أبطأ)",
    "bulkAddAllKeys": "إضافة كافة المفاتيح",
    "bulkAddedCount": "{count, plural, one {# key added} other {# keys added}}",
    "bulkFailedCount": "{count, plural, one {# failed} other {# failed}}",
    "optional": "اختياري",
    "anthropicCompatibleName": "متوافق مع الأنثروبولوجيا",
    "openaiCompatibleName": "متوافق مع OpenAI",
    "failedImportModels": "فشل استيراد النماذج",
    "noModelsReturnedFromEndpoint": "لم يتم إرجاع أي نماذج من نقطة النهاية /models.",
    "importingModelsProgress": "جارٍ استيراد {current} من طرازات {total}...",
    "foundModelsStartingImport": "تم العثور على نماذج {count}. جارٍ بدء الاستيراد...",
    "importingModelById": "جارٍ استيراد {modelId}...",
    "importSuccessCount": "تم استيراد {count, plural, one {# model} other {# models}} بنجاح!",
    "noNewModelsAddedExisting": "لم تتم إضافة أي نماذج جديدة (كلها موجودة بالفعل).",
    "importDoneCount": "✓ تم! {count, plural, one {# model imported.} other {# models imported.}}",
    "unexpectedErrorOccurred": "حدث خطأ غير متوقع",
    "connectionCountLabel": "{count, plural, one {# connection} other {# connections}}",
    "messagesPath": "الرسائل",
    "responsesPath": "الردود",
    "chatCompletionsPath": "الدردشة/الإكمال",
    "add": "أضف",
    "edit": "تحرير",
    "delete": "حذف",
    "anthropic": "أنثروبي",
    "openai": "OpenAI",
    "singleConnectionPerCompatible": "يُسمح باتصال واحد فقط لكل عقدة متوافقة. أضف عقدة أخرى إذا كنت بحاجة إلى المزيد من الاتصالات.",
    "connections": "اتصالات",
    "providerProxyTitleConfigured": "وكيل الموفر: {host}",
    "configured": "تم تكوينه",
    "providerProxyConfigureHint": "قم بتكوين الوكيل لجميع اتصالات هذا الموفر",
    "providerProxy": "وكيل الموفر",
    "repairEnv": "Repair env",
    "repairEnvWorking": "Repairing...",
    "repairEnvHint": "Restore missing OAuth defaults into .env without overwriting existing values.",
    "repairEnvSuccess": "OAuth defaults restored",
    "repairEnvFailed": "Failed to repair .env",
    "noConnectionsYet": "لا توجد اتصالات حتى الآن",
    "addFirstConnectionHint": "أضف اتصالك الأول للبدء",
    "addConnection": "إضافة اتصال",
    "availableModels": "النماذج المتاحة",
    "builtInModels": "Built-in models",
    "builtInModelsHint": "Registry models for this provider. Use the pencil to set compatibility options.",
    "pageAutoRefresh": "سيتم تحديث الصفحة تلقائيا...",
    "statusDisabled": "معطل",
    "statusConnected": "متصل",
    "statusRuntimeIssue": "مشكلة وقت التشغيل",
    "statusAuthFailed": "فشلت المصادقة",
    "statusRateLimited": "معدل محدود",
    "statusNetworkIssue": "مشكلة الشبكة",
    "statusTestUnsupported": "اختبار غير معتمد",
    "statusUnavailable": "غير متاح",
    "statusFailed": "فشل",
    "statusError": "خطأ",
    "oauthAccount": "حساب أووث",
    "errorTypeRuntime": "وقت التشغيل المحلي",
    "errorTypeUpstreamAuth": "مصادقة المنبع",
    "errorTypeMissingCredential": "بيانات الاعتماد مفقودة",
    "errorTypeRefreshFailed": "فشل التحديث",
    "errorTypeTokenExpired": "انتهت صلاحية الرمز المميز",
    "errorTypeRateLimited": "معدل محدود",
    "errorTypeUpstreamUnavailable": "المنبع غير متاح",
    "errorTypeNetworkError": "خطأ في الشبكة",
    "errorTypeTestUnsupported": "اختبار غير معتمد",
    "errorTypeUpstreamError": "خطأ المنبع",
    "proxySourceGlobal": "عالمي",
    "proxySourceProvider": "مزود",
    "proxySourceKey": "مفتاح",
    "proxyConfiguredBySource": "الوكيل ({source}): {host}",
    "autoPriority": "تلقائي: {priority}",
    "proxy": "وكيل",
    "retestAuthentication": "إعادة اختبار المصادقة",
    "retest": "إعادة الاختبار",
    "disableConnection": "تعطيل الاتصال",
    "enableConnection": "تمكين الاتصال",
    "reauthenticateConnection": "إعادة مصادقة هذا الاتصال",
    "proxyConfig": "تكوين الوكيل",
    "aliasExistsAlert": "الاسم المستعار \"{alias}\" موجود بالفعل. الرجاء استخدام نموذج مختلف أو تعديل الاسم المستعار الموجود.",
    "openRouterAnyModelHint": "يدعم OpenRouter أي طراز. إضافة نماذج وإنشاء أسماء مستعارة للوصول السريع.",
    "modelIdFromOpenRouter": "معرف النموذج (من OpenRouter)",
    "openRouterModelPlaceholder": "أنثروبي/كلود-3-أوبوس",
    "customModels": "نماذج مخصصة",
    "customModelsHint": "قم بإضافة معرفات النماذج غير الموجودة في القائمة الافتراضية. ستكون هذه متاحة للتوجيه.",
    "normalizeToolCallIdLabel": "Normalize tool call IDs to 9 characters (e.g. Mistral)",
    "preserveDeveloperRoleLabel": "Keep OpenAI Responses developer role (do not map to system)",
    "compatAdjustmentsTitle": "Compatibility",
    "compatButtonLabel": "Compatibility",
    "compatToolIdShort": "Tool ID 9",
    "compatDeveloperShort": "Developer role",
    "compatDoNotPreserveDeveloper": "Do not preserve developer role",
    "compatBadgeNoPreserve": "No preserve",
    "compatProtocolLabel": "Client request protocol",
    "compatProtocolHint": "These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).",
    "compatProtocolOpenAI": "OpenAI Chat Completions",
    "compatProtocolOpenAIResponses": "OpenAI Responses API",
    "compatProtocolClaude": "Anthropic Messages",
    "compatUpstreamHeadersLabel": "Extra upstream headers",
    "compatUpstreamHeadersHint": "High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.",
    "compatUpstreamHeaderName": "Header name",
    "compatUpstreamHeaderValue": "Value",
    "compatUpstreamAddRow": "Add header",
    "compatUpstreamRemoveRow": "Remove row",
    "compatBadgeUpstreamHeaders": "Headers",
    "perModelQuotaLabel": "Per Model Quota Label",
    "perModelQuotaDescription": "Per Model Quota Description",
    "perModelQuotaToggle": "تبديل الحصص لكل نموذج",
    "modelId": "معرف النموذج",
    "customModelPlaceholder": "على سبيل المثال جي بي تي-4.5-توربو",
    "loading": "جار التحميل...",
    "removeCustomModel": "إزالة النموذج المخصص",
    "noCustomModels": "لم تتم إضافة نماذج مخصصة بعد.",
    "allSuggestedAliasesExist": "كافة الأسماء المستعارة المقترحة موجودة بالفعل. الرجاء اختيار نموذج مختلف أو إزالة الأسماء المستعارة المتضاربة.",
    "failedSaveCustomModel": "فشل حفظ النموذج المخصص",
    "modelAddedSuccess": "تمت إضافة النموذج {modelId} بنجاح",
    "failedAddModelTryAgain": "فشلت إضافة النموذج. يرجى المحاولة مرة أخرى.",
    "failedSaveImportedModel": "فشل حفظ النموذج المستورد في قاعدة البيانات المخصصة",
    "failedImportModelsTryAgain": "فشل استيراد النماذج. يرجى المحاولة مرة أخرى.",
    "failedRemoveModelFromDatabase": "فشل في إزالة النموذج من قاعدة البيانات",
    "modelRemovedSuccess": "تمت إزالة النموذج بنجاح",
    "failedDeleteModelTryAgain": "فشل في حذف النموذج. يرجى المحاولة مرة أخرى.",
    "compatibleModelsDescription": "قم بإضافة نماذج متوافقة مع {type} يدويًا أو قم باستيرادها من نقطة النهاية /models.",
    "anthropicCompatibleModelPlaceholder": "كلود-3-أوبوس-20240229",
    "openaiCompatibleModelPlaceholder": "gpt-4o",
    "apiKeyValidationFailed": "فشل التحقق من صحة مفتاح API. يرجى التحقق من المفتاح الخاص بك والمحاولة مرة أخرى.",
    "addProviderApiKeyTitle": "أضف {provider} مفتاح واجهة برمجة التطبيقات",
    "checking": "جارٍ التحقق...",
    "check": "تحقق",
    "valid": "صالح",
    "invalid": "غير صالح",
    "creating": "جارٍ الإنشاء...",
    "validationChecksAnthropicCompatible": "يتحقق التحقق من الصحة {provider} من خلال التحقق من مفتاح API.",
    "validationChecksOpenAiCompatible": "عمليات التحقق من الصحة {provider} عبر /models على عنوان URL الأساسي الخاص بك.",
    "priorityLabel": "الأولوية",
    "saving": "جارٍ الحفظ...",
    "save": "حفظ",
    "editConnection": "تحرير الاتصال",
    "accountName": "اسم الحساب",
    "email": "البريد الإلكتروني",
    "healthCheckMinutes": "فحص الصحة (دقيقة)",
    "healthCheckHint": "الفاصل الزمني لتحديث الرمز المميز. 0 = معطل.",
    "selectAllModels": "Select all",
    "deselectAllModels": "Deselect all",
    "modelsActiveCount": "{active}/{total} active",
    "noModelsMatch": "No models match \"{filter}\"",
    "groupLabel": "Environment",
    "groupPlaceholder": "e.g. eKaizen, Personal",
    "failedTestConnection": "فشل في اختبار الاتصال",
    "failed": "فشل",
    "leaveBlankKeepCurrentApiKey": "اتركه فارغًا للاحتفاظ بمفتاح API الحالي.",
    "editCompatibleTitle": "تحرير {type} متوافق",
    "compatibleBaseUrlHint": "Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.",
    "apiKeyForCheck": "مفتاح API (للفحص)",
    "compatibleProdPlaceholder": "{type} متوافق (المنتج)",
    "tokenRefreshed": "Token refreshed successfully",
    "tokenRefreshFailed": "Token refresh failed",
    "applyCodexAuthLocal": "Apply auth",
    "exportCodexAuthFile": "Export auth",
    "applyClaudeAuthLocal": "تطبيق المصادقة",
    "exportClaudeAuthFile": "مصادقة التصدير",
    "importClaudeAuth": "مصادقة الاستيراد",
    "claudeApplyModalTitle": "تنطبق على رمز كلود المحلي",
    "claudeApplyTargetLabel": "مسار الهدف",
    "claudeApplyBackupLabel": "النسخ الاحتياطية",
    "claudeApplyMcpHint": "سيتم الحفاظ على حالة MCP OAuth الحالية.",
    "claudeApplyWarning": "سيحل هذا محل قسم claudeAiOauth الموجود. يكمل؟",
    "claudeApplyConfirmCheckbox": "أؤكد أنني أرغب في استبدال قسم claudeAiOauth الموجود",
    "claudeApply": "تطبيق",
    "claudeAuthAppliedLocal": "يتم تطبيق مصادقة كلود محليًا",
    "claudeAuthApplyFailed": "فشل في تطبيق مصادقة كلود محليًا",
    "claudeAuthExported": "تم تصدير ملف مصادقة كلود",
    "claudeAuthExportFailed": "فشل تصدير ملف مصادقة كلود",
    "claudeImportModalTitle": "استيراد كلود أوث",
    "claudeImportTabSingle": "واحد",
    "claudeImportTabBulk": "السائبة",
    "claudeImportTabUpload": "تحميل الملف",
    "claudeImportTabPaste": "لصق جسون",
    "claudeImportFileLabel": "اختر .credentials.json",
    "claudeImportPasteLabel": "الصق محتوى JSON",
    "claudeImportEmailLabel": "البريد الإلكتروني للحساب",
    "claudeImportNameLabel": "اسم الاتصال (اختياري)",
    "claudeImportOverwriteLabel": "استبدل الاتصال الحالي إذا كان الحساب موجودًا بالفعل",
    "claudeImportSubmit": "استيراد",
    "claudeImportSuccess": "تم استيراد اتصال كلود بنجاح",
    "claudeImportInvalidJson": "تعذر تحليل الملف بتنسيق JSON",
    "claudeImportInvalidShape": "الملف ليس ‎.credentials.json صالحًا",
    "claudeImportDuplicate": "الحساب موجود بالفعل - قم بتمكين \"استبدال الحساب الموجود\" للكتابة فوقه",
    "claudeImportIdentityUnverified": "تعذر على Bootstrap التحقق من الحساب. قم بتمكين \"استبدال الموجود\" أو قم بتقديم بريد إلكتروني.",
    "claudeImportFailed": "فشل استيراد مصادقة كلود",
    "claudeImportBulkModeUpload": "تحميل الملفات",
    "claudeImportBulkModePaste": "لصق مجموعة JSON",
    "claudeImportBulkModeZip": "تحميل الرمز البريدي",
    "claudeImportBulkUploadHint": "قم بإسقاط أو التقاط ما يصل إلى 50 ملفًا بتنسيق ‎.credentials.json (256 كيلو بايت لكل ملف، بإجمالي 10 ميجابايت).",
    "claudeImportBulkPasteHint": "لصق مصفوفة من الكائنات: [{ json, name?, email? }، ...]",
    "claudeImportBulkZipHint": "ملف مضغوط يحتوي على إدخالات ‎.json. الحد الأقصى 50 إدخالاً، ومساحة 10 ميجابايت مفتوحة.",
    "claudeImportBulkSubmit": "استيراد الكل",
    "claudeImportBulkSuccess": "تم استيراد {count} اتصالات كلود",
    "claudeImportBulkFailed": "فشل استيراد بعض الإدخالات",
    "claudeImportBulkZipExtracting": "جارٍ استخراج الرمز البريدي...",
    "claudeImportBulkZipError": "فشل في استخراج الرمز البريدي",
    "applyGeminiAuthLocal": "تطبيق المصادقة",
    "exportGeminiAuthFile": "مصادقة التصدير",
    "importGeminiAuth": "مصادقة الاستيراد",
    "geminiApplyModalTitle": "تنطبق على الجوزاء المحلي CLI",
    "geminiApplyTargetLabel": "مسار الهدف",
    "geminiApplyBackupLabel": "النسخ الاحتياطية",
    "geminiApplyAccountsHint": "سيتم تحديث الحساب النشط google_accounts.json ليطابق هذا الاتصال.",
    "geminiApplyWarning": "سيؤدي هذا إلى استبدال oauth_creds.json الموجود وتحديث google_accounts.json. يكمل؟",
    "geminiApplyConfirmCheckbox": "أؤكد أنني أرغب في استبدال oauth_creds.json الموجود",
    "geminiApply": "تطبيق",
    "geminiAuthAppliedLocal": "يتم تطبيق مصادقة الجوزاء محليًا",
    "geminiAuthApplyFailed": "فشل تطبيق مصادقة الجوزاء محليًا",
    "geminiAuthExported": "تم تصدير ملف مصادقة الجوزاء",
    "geminiAuthExportFailed": "فشل تصدير ملف مصادقة Gemini",
    "geminiImportModalTitle": "استيراد مصادقة الجوزاء",
    "geminiImportTabSingle": "واحد",
    "geminiImportTabBulk": "السائبة",
    "geminiImportTabUpload": "تحميل الملف",
    "geminiImportTabPaste": "لصق جسون",
    "geminiImportFileLabel": "اختر oauth_creds.json",
    "geminiImportPasteLabel": "الصق محتوى JSON",
    "geminiImportEmailLabel": "البريد الإلكتروني للحساب",
    "geminiImportNameLabel": "اسم الاتصال (اختياري)",
    "geminiImportOverwriteLabel": "استبدل الاتصال الحالي إذا كان الحساب موجودًا بالفعل",
    "geminiImportSubmit": "استيراد",
    "geminiImportSuccess": "تم استيراد اتصال الجوزاء بنجاح",
    "geminiImportInvalidJson": "تعذر تحليل الملف بتنسيق JSON",
    "geminiImportInvalidShape": "الملف ليس oauth_creds.json صالحًا",
    "geminiImportDuplicate": "الحساب موجود بالفعل - قم بتمكين \"استبدال الحساب الموجود\" للكتابة فوقه",
    "geminiImportIdentityUnverified": "تعذر التحقق من الهوية من id_token. قم بتمكين \"استبدال الموجود\" أو قم بتقديم بريد إلكتروني.",
    "geminiImportFailed": "فشل استيراد مصادقة الجوزاء",
    "geminiImportBulkModeUpload": "تحميل الملفات",
    "geminiImportBulkModePaste": "لصق مجموعة JSON",
    "geminiImportBulkModeZip": "تحميل الرمز البريدي",
    "geminiImportBulkUploadHint": "قم بإسقاط أو التقاط ما يصل إلى 50 ملفًا من ملفات oauth_creds.json (256 كيلو بايت لكل منها، إجمالي 10 ميجابايت).",
    "geminiImportBulkPasteHint": "لصق مصفوفة من الكائنات: [{ json, name?, email? }، ...]",
    "geminiImportBulkZipHint": "ملف مضغوط يحتوي على إدخالات oauth_creds.json. الحد الأقصى 50 إدخالاً، ومساحة 10 ميجابايت مفتوحة.",
    "geminiImportBulkSubmit": "استيراد الكل",
    "geminiImportBulkSuccess": "استيراد {count} اتصالات الجوزاء",
    "geminiImportBulkFailed": "فشل استيراد بعض الإدخالات",
    "geminiImportBulkZipExtracting": "جارٍ استخراج الرمز البريدي...",
    "geminiImportBulkZipError": "فشل في استخراج الرمز البريدي",
    "codexAuthAppliedLocal": "Codex auth.json applied locally",
    "codexAuthApplyFailed": "Failed to apply Codex auth.json locally",
    "codexAuthExported": "Codex auth.json exported",
    "codexAuthExportFailed": "Failed to export Codex auth.json",
    "importCodexAuth": "مصادقة الاستيراد",
    "codexImportModalTitle": "استيراد مصادقة الدستور الغذائي",
    "codexImportTabSingle": "واحد",
    "codexImportTabBulk": "السائبة",
    "codexImportTabUpload": "تحميل الملف",
    "codexImportTabPaste": "لصق جسون",
    "codexImportFileLabel": "اختر auth.json",
    "codexImportFileHint": "حدد ملف auth.json الذي تم تصديره من Codex أو من OmniRoute.",
    "codexImportPasteLabel": "الصق محتوى JSON",
    "codexImportEmailLabel": "البريد الإلكتروني للحساب",
    "codexImportEmailHint": "تم اكتشافه تلقائيًا من الملف؛ تحرير إذا لزم الأمر.",
    "codexImportNameLabel": "اسم الاتصال (اختياري)",
    "codexImportOverwriteLabel": "استبدل الاتصال الحالي إذا كان الحساب موجودًا بالفعل",
    "codexImportSubmit": "استيراد",
    "codexImportSuccess": "تم استيراد اتصال Codex بنجاح",
    "codexImportInvalidJson": "تعذر تحليل الملف بتنسيق JSON",
    "codexImportInvalidShape": "الملف ليس Codex auth.json صالحًا",
    "codexImportDuplicate": "الحساب موجود بالفعل - قم بتمكين \"استبدال الحساب الموجود\" للكتابة فوقه",
    "codexImportFailed": "فشل استيراد مصادقة Codex",
    "codexImportDetectedEmail": "تم الكشف: {email}",
    "codexImportNoEmailDetected": "لم يتم اكتشاف بريد إلكتروني في الملف",
    "codexImportBulkModeUpload": "تحميل الملفات",
    "codexImportBulkModePaste": "لصق القائمة",
    "codexImportBulkModeZip": "أرشيف مضغوط",
    "codexImportBulkUploadHint": "حدد ملفات .json متعددة أو قم بالسحب والإسقاط",
    "codexImportBulkPasteHint": "مصفوفة JSON [ {...}, {...} ] أو عدة JSONs مفصولة --- في سطر خاص بها",
    "codexImportBulkZipHint": "قم بتحميل ملف .zip يحتوي على ملفات auth.json (بحد أقصى 50 ملفًا، 10 ميجابايت)",
    "codexImportBulkSubmit": "استيراد {count} من الحسابات",
    "codexImportBulkLimit": "الحد الأقصى 50 ملفًا لكل عملية استيراد",
    "codexImportBulkSuccess": "{count} تم استيراده",
    "codexImportBulkFailed": "فشل {count}",
    "codexImportBulkZipExtracting": "جارٍ استخراج الرمز البريدي...",
    "codexImportBulkZipError": "فشل في استخراج الرمز البريدي",
    "advancedSettings": "Advanced Settings",
    "chatPathLabel": "Chat Endpoint Path",
    "chatPathPlaceholder": "/chat/completions",
    "chatPathHint": "Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)",
    "modelsPathLabel": "Models Endpoint Path",
    "modelsPathPlaceholder": "/models",
    "modelsPathHint": "Custom models path for validation (e.g. /v4/models)",
    "statusDeactivated": "Deactivated (Manual)",
    "statusBanned": "Banned / Sandbox Violation",
    "statusCreditsExhausted": "Insufficient Balance / Quota Exhausted",
    "showEmails": "Show all emails",
    "hideEmails": "Hide all emails",
    "a": "A",
    "accountConcurrencyCapHint": "Account Concurrency Cap Hint",
    "accountConcurrencyCapLabel": "Account Concurrency Cap Label",
    "accountIdHint": "Account Id Hint",
    "accountIdLabel": "Account Id Label",
    "accountIdPlaceholder": "Account Id Placeholder",
    "addAnotherApiKey": "Add another API key or paste multiple keys",
    "addCcCompatible": "Add Cc Compatible",
    "aggregatorsGateways": "Aggregators Gateways",
    "enterpriseCloud": "المؤسسة والسحابة",
    "apiFormatLabel": "Api Format Label",
    "apiKeyOptionalHint": "Api Key Optional Hint",
    "apiKeyOptionalLabel": "Api Key Optional Label",
    "apiRegionChina": "Api Region China",
    "apiRegionHint": "Api Region Hint",
    "apiRegionInternational": "Api Region International",
    "apiRegionLabel": "Api Region Label",
    "apikey": "Apikey",
    "audio": "Audio",
    "audioProvidersHeading": "Audio Providers Heading",
    "cloudAgentProviders": "موفرو الوكيل السحابي",
    "audioShortLabel": "Audio Short Label",
    "azureOpenAiBaseUrlHint": "Azure Open Ai Base Url Hint",
    "bailianBaseUrlHint": "Bailian Base Url Hint",
    "claudeWebCookieHint": "Open claude.ai → DevTools → Application → Cookies → claude.ai, copy the 'sessionKey' value. Also need cf_clearance, __cf_bm, _cfuvid for Cloudflare.",
    "claudeWebCookiePlaceholder": "sessionKey=sk-ant-...",
    "blackboxWebCookieHint": "Blackbox Web Cookie Hint",
    "blackboxWebCookiePlaceholder": "Blackbox Web Cookie Placeholder",
    "t3ChatWebCookieHint": "افتح t3.chat → DevTools → التطبيق → التخزين المحلي → https://t3.chat، انسخ \"convex-session-id\". ثم افتح DevTools → Network، وانسخ رأس ملف تعريف الارتباط الكامل من أي طلب دردشة. قم بلصق كلا القيمتين في الحقول أدناه.",
    "t3ChatWebCookiePlaceholder": "معرف الجلسة المحدبة=abc123...",
    "blockClaudeExtraUsageDescription": "Block Claude Extra Usage Description",
    "blockClaudeExtraUsageLabel": "Block Claude Extra Usage Label",
    "bulkPasteAdded": "{count, plural, one {1 key added} other {# keys added}}",
    "bulkPasteDuplicatesIgnored": "{count, plural, one {1 duplicate skipped} other {# duplicates skipped}}",
    "bulkPasteHint": "Paste one API key per line. Empty lines are ignored and duplicate keys are skipped.",
    "ccCompatibleBaseUrlHint": "Cc Compatible Base Url Hint",
    "ccCompatibleBaseUrlPlaceholder": "Cc Compatible Base Url Placeholder",
    "ccCompatibleChatPathHint": "Cc Compatible Chat Path Hint",
    "ccCompatibleContext1mDescription": "Cc Compatible Context1M Description",
    "ccCompatibleContext1mLabel": "Cc Compatible Context1M Label",
    "ccCompatibleDetailsTitle": "Cc Compatible Details Title",
    "ccCompatibleLabel": "Cc Compatible Label",
    "ccCompatibleModelsDescription": "Cc Compatible Models Description",
    "ccCompatibleNameHint": "Cc Compatible Name Hint",
    "ccCompatibleNamePlaceholder": "Cc Compatible Name Placeholder",
    "ccCompatiblePrefixHint": "Cc Compatible Prefix Hint",
    "ccCompatiblePrefixPlaceholder": "Cc Compatible Prefix Placeholder",
    "ccCompatibleValidationHint": "Cc Compatible Validation Hint",
    "claudeExtraUsageShort": "Claude Extra Usage Short",
    "claudeExtraUsageToggleTitle": "Claude Extra Usage Toggle Title",
    "codex5hToggleTitle": "Codex5H Toggle Title",
    "codexFastServiceTierDescription": "Use the priority service tier for Codex requests when available.",
    "codexFastServiceTierLabel": "Codex fast service tier",
    "codexWeeklyToggleTitle": "Codex Weekly Toggle Title",
    "compatUpstreamHeaderNamePlaceholder": "Compat Upstream Header Name Placeholder",
    "compatUpstreamHeaderValuePlaceholder": "Compat Upstream Header Value Placeholder",
    "compatible": "Compatible",
    "configuredCount": "Configured Count",
    "consoleApiKeyOracleHint": "Console Api Key Oracle Hint",
    "consoleApiKeyOracleLabel": "Console Api Key Oracle Label",
    "consoleApiKeyOraclePlaceholder": "Console Api Key Oracle Placeholder",
    "cpaModeDisabledTitle": "Cpa Mode Disabled Title",
    "cpaModeEnabledTitle": "Cpa Mode Enabled Title",
    "customUserAgentHint": "Custom User Agent Hint",
    "customUserAgentLabel": "Custom User Agent Label",
    "databricksBaseUrlHint": "Databricks Base Url Hint",
    "defaultThinkingStrengthHint": "Used when a request does not specify reasoning effort.",
    "defaultThinkingStrengthLabel": "Default thinking strength",
    "deleteAllExtraApiKeys": "Delete all",
    "excludedModelsHint": "Excluded Models Hint",
    "excludedModelsLabel": "Excluded Models Label",
    "excludedModelsPlaceholder": "Excluded Models Placeholder",
    "expirationBannerExpired": "Expiration Banner Expired",
    "expirationBannerExpiredDesc": "Expiration Banner Expired Desc",
    "expirationBannerExpiringSoon": "Expiration Banner Expiring Soon",
    "expirationBannerExpiringSoonDesc": "Expiration Banner Expiring Soon Desc",
    "extraApiKeyMasked": "Key {index}: {prefix}••••{suffix}",
    "extraApiKeysHint": "Extra Api Keys Hint",
    "extraApiKeysLabel": "Extra Api Keys Label",
    "apiKeyHealthLabel": "API Key Health",
    "apiKeyStatusActive": "Active",
    "apiKeyStatusWarning": "Warning ({count} failures)",
    "apiKeyStatusInvalid": "Invalid",
    "primaryKey": "Primary Key",
    "apiKeyInvalidAlert": "{count} API key(s) marked as invalid due to authentication failures in connections: {connections}. They will be skipped in rotation. Click to review.",
    "apiKeyInvalidAlertTitle": "API Key Health Alert",
    "apiKeyWarningAlert": "{count} API key(s) in warning state due to elevated failure rate in connections: {connections}. Review to prevent rotation issues.",
    "apiKeyWarningAlertTitle": "API Key Warning",
    "googlePseInfo": "Google Pse Info",
    "geminiCliProjectIdHint": "معرف مشروع Google Cloud الخاص بك. مطلوب للحسابات مع الاستثناءات. أدخل معرف مشروع Google Cloud Platform لاستخدامه مع Gemini CLI.",
    "geminiCliProjectIdLabel": "معرف مشروع جوجل السحابي",
    "geminiCliProjectIdPlaceholder": "معرف مشروع gcp الخاص بي",
    "antigravityProjectIdHint": "تجاوز اختياري لطلبات Antigravity Cloud Code. اتركه فارغًا لاستخدام المشروع الذي تم اكتشافه أثناء Google OAuth.",
    "antigravityClientProfileLabel": "__MISSING__:Client profile",
    "antigravityClientProfileHint": "__MISSING__:Choose which Antigravity client identity OmniRoute presents to the API.",
    "antigravityClientProfileIde": "__MISSING__:IDE",
    "antigravityClientProfileHarness": "__MISSING__:Harness / CLI",
    "codexFastTierActiveChip": "__MISSING__:Codex Fast tier is active",
    "tierFast": "__MISSING__:Fast",
    "antigravityProjectIdLabel": "معرف مشروع جوجل السحابي",
    "antigravityProjectIdPlaceholder": "معرف مشروع gcp الخاص بي",
    "grokWebCookieHint": "Grok Web Cookie Hint",
    "grokWebCookiePlaceholder": "Grok Web Cookie Placeholder",
    "herokuBaseUrlHint": "Heroku Base Url Hint",
    "hideEmail": "Hide Email",
    "imageProviders": "Image Providers",
    "videoProviders": "توليد الفيديو",
    "embeddingRerankProviders": "التضمين وإعادة الترتيب",
    "imagesShortLabel": "Images Short Label",
    "llmProviders": "Llm Providers",
    "localProviderApiKeyOptionalHint": "Local Provider Api Key Optional Hint",
    "localProviderBaseUrlHint": "Local Provider Base Url Hint",
    "localProviders": "Local Providers",
    "maxConcurrentWholeNumberError": "Max Concurrent Whole Number Error",
    "museSparkWebCookieHint": "Muse Spark Web Cookie Hint",
    "museSparkWebCookiePlaceholder": "Muse Spark Web Cookie Placeholder",
    "oauth": "Oauth",
    "openCliTools": "Open Cli Tools",
    "openSettings": "Open Settings",
    "openaiResponsesStoreDescription": "Allow compatible Responses API requests to preserve stored response state.",
    "openaiResponsesStoreLabel": "OpenAI Responses store",
    "perplexitySearchSharedKeyInfo": "Perplexity Search Shared Key Info",
    "perplexityWebCookieHint": "Perplexity Web Cookie Hint",
    "perplexityWebCookiePlaceholder": "Perplexity Web Cookie Placeholder",
    "personalAccessTokenLabel": "Personal Access Token Label",
    "qoderPatHint": "Qoder Pat Hint",
    "qoderPatPlaceholder": "Qoder Pat Placeholder",
    "refreshOauthTokenTitle": "Refresh Oauth Token Title",
    "regionHint": "Region Hint",
    "regionLabel": "Region Label",
    "removeThisKey": "Remove This Key",
    "routingTagsHint": "Routing Tags Hint",
    "routingTagsLabel": "Routing Tags Label",
    "routingTagsPlaceholder": "Routing Tags Placeholder",
    "search": "Search",
    "searchEngineIdHint": "Search Engine Id Hint",
    "searchEngineIdLabel": "Search Engine Id Label",
    "searchEngineIdRequired": "Search Engine Id Required",
    "searchProvider": "Search Provider",
    "searchProviderDesc": "Search Provider Desc",
    "searchProviders": "البحث عن موفري الخدمة...",
    "searchProvidersHeading": "Search Providers Heading",
    "searxngBaseUrlHint": "Searxng Base Url Hint",
    "searxngInfo": "Searxng Info",
    "sessionCookieLabel": "Session Cookie Label",
    "showEmail": "Show Email",
    "snowflakeBaseUrlHint": "Snowflake Base Url Hint",
    "supportedEndpointAudio": "Supported Endpoint Audio",
    "supportedEndpointChat": "Supported Endpoint Chat",
    "supportedEndpointEmbeddings": "Supported Endpoint Embeddings",
    "supportedEndpointImages": "Supported Endpoint Images",
    "supportedEndpointsLabel": "Supported Endpoints Label",
    "tagGroupHint": "Tag Group Hint",
    "tagGroupLabel": "Tag Group Label",
    "tagGroupPlaceholder": "Tag Group Placeholder",
    "testModel": "Test Model",
    "testingModel": "Testing Model",
    "toggleOffShort": "Toggle Off Short",
    "toggleOnShort": "Toggle On Short",
    "tokenExpiredBadge": "Token Expired Badge",
    "tokenExpiredTitle": "Token Expired Title",
    "tokenExpiresSoonTitle": "Token Expires Soon Title",
    "tokenShort": "Token Short",
    "totalKeysRotating": "{count, plural, one {1 key rotating} other {# keys rotating}}",
    "unhideModel": "Unhide Model",
    "upstreamProxyProviders": "Upstream Proxy Providers",
    "validationModelIdHint": "Validation Model Id Hint",
    "validationModelIdLabel": "Validation Model Id Label",
    "validationModelIdPlaceholder": "Validation Model Id Placeholder",
    "vertexServiceAccountPlaceholder": "Paste your Service Account JSON ({\"type\":\"service_account\",\"project_id\":\"…\",\"client_email\":\"…\",\"private_key\":\"…\"}) or an OAuth access_token",
    "webCookieProviders": "Web Cookie Providers",
    "weeklyShort": "Weekly Short",
    "xiaomiMimoBaseUrlHint": "Xiaomi Mimo Base Url Hint",
    "zedImportButton": "Zed Import Button",
    "zedImportFailed": "Zed Import Failed",
    "zedImportHint": "Zed Import Hint",
    "zedImportNetworkError": "Zed Import Network Error",
    "zedImportNone": "Zed Import None",
    "zedImportSuccess": "Zed Import Success",
    "zedImporting": "Zed Importing",
    "freeTierProviders": "مقدمي الطبقة الحرة",
    "freeTierLabel": "الطبقة المجانية متاحة",
    "freeTierProvidersDesc": "مقدمو الخدمة الذين لديهم طبقات مجانية - بعضهم يتطلب تسجيل مفتاح API، والبعض الآخر لا يحتاج إلى بيانات اعتماد على الإطلاق.",
    "providerSummaryAll": "المجموع",
    "ideProviders": "مقدمي IDE",
    "ideProvidersDesc": "المحررين مع اشتراك الذكاء الاصطناعي المدمج. استخدم صفحة الموفر لاستيراد بيانات الاعتماد مباشرةً من سلسلة مفاتيح IDE.",
    "noIdeProviders": "لا يتطابق أي من موفري IDE مع عوامل التصفية الحالية.",
    "providerDetailFastTierTooltip": "قم بتطبيق طبقة Codex Fast على جميع اتصالات Codex بشكل افتراضي",
    "providerDetailFastDefaultLabel": "افتراضي سريع",
    "providerDetailBrowserManualConnect": "متصفح/الاتصال اليدوي",
    "providerDetailAuthUrl": "عنوان URL للمصادقة",
    "providerDetailCallbackUrl": "عنوان URL لرد الاتصال",
    "providerDetailValidClaudeCredentialsFile": "ملف بيانات اعتماد كلود صالح",
    "providerDetailPathAutoDetectedAllOs": "يتم اكتشاف المسار تلقائيًا لكل نظام تشغيل (Linux/Mac/Windows).",
    "providerDetailMyClaudeAccountPlaceholder": "حسابي كلود",
    "providerDetailPathAutoDetected": "يتم اكتشاف المسار تلقائيًا لكل نظام تشغيل (Linux/Mac).",
    "webFetch": "__MISSING__:Web Fetch",
    "webFetchTooltip": "__MISSING__:Providers that extract content from web URLs (HTML → Markdown, scrape, screenshot)",
    "webFetchProvidersHeading": "__MISSING__:Web Fetch Providers",
    "compatibleProvidersDesc": "__MISSING__:OpenAI-compatible and Anthropic-compatible endpoints you host or configure. Point any OpenAI SDK to your own URL and route requests here.",
    "oauthProvidersDesc": "__MISSING__:Providers authenticated via OAuth — sign in once and OmniRoute handles token rotation automatically.",
    "webCookieProvidersDesc": "يستخدم هؤلاء الموفرون جلسات الويب للمتصفح أو ملفات تعريف الارتباط أو رموز الويب المميزة بدلاً من مفاتيح API. افتح موفرًا لإضافة بيانات اعتماد الجلسة المطلوبة.",
    "apiKeyProvidersDesc": "__MISSING__:Standard API key providers. Add your key once and OmniRoute routes, retries, and rate-limits on your behalf.",
    "noAuthProvidersDesc": "__MISSING__:Open endpoints that require no credentials — ready to use immediately without any sign-up.",
    "upstreamProxyProvidersDesc": "__MISSING__:Route outbound traffic through an upstream proxy before it reaches the provider. Useful for corporate networks or traffic inspection.",
    "webFetchProvidersDesc": "__MISSING__:Providers that fetch and extract content from web URLs. Use them to ground prompts with live web data.",
    "aggregatorsGatewaysDesc": "__MISSING__:Multi-provider aggregators and AI gateways that expose a single unified API across dozens of underlying models.",
    "enterpriseCloudDesc": "__MISSING__:Enterprise-tier and cloud-hosted models with enhanced SLAs, compliance certifications, and dedicated capacity.",
    "cloudAgentProvidersDesc": "__MISSING__:Autonomous cloud agents that execute long-running tasks with plan approval and live status tracking.",
    "localProvidersDesc": "__MISSING__:Self-hosted models running on your own hardware. No data leaves your infrastructure.",
    "searchProvidersDesc": "__MISSING__:Web and document search providers. Attach them to LLM calls for Retrieval-Augmented Generation.",
    "audioProvidersDesc": "__MISSING__:Text-to-speech and speech-to-text providers for voice I/O and audio transcription pipelines.",
    "embeddingRerankProvidersDesc": "__MISSING__:Vector embedding and reranking providers for semantic search, RAG pipelines, and similarity scoring.",
    "imageProvidersDesc": "__MISSING__:Image generation and vision providers — create images from text or analyse existing ones.",
    "videoProvidersDesc": "__MISSING__:Video generation providers. Create short video clips from text prompts or images.",
    "onboardingWizard": "معالج تأهيل الموفر",
    "onboardingWizardShort": "معالج الإعداد",
    "onboardingWizardDescription": "قم بتوصيل مفتاح API والمتوافق المخصص وموفري OAuth من خلال التحقق من الصحة والثبات واختبار الاتصال الفوري.",
    "onboardingStepType": "اكتب",
    "onboardingStepProvider": "مزود",
    "onboardingStepCredentials": "أوراق الاعتماد",
    "onboardingStepResult": "النتيجة",
    "onboardingTypeApiKeyTitle": "مزود مفتاح API",
    "onboardingTypeApiKeyText": "استخدم موفري الخدمات المدمجين مثل OpenAI وAnthropic وGemini وGroq وAzure والمزيد.",
    "onboardingTypeCustomTitle": "مزود متوافق مخصص",
    "onboardingTypeCustomText": "أنشئ نقطة نهاية متوافقة مع OpenAI أو Anthropic أو Claude Code وأضف مفتاحها.",
    "onboardingTypeOAuthTitle": "مزود OAuth",
    "onboardingTypeOAuthText": "أعد استخدام OAuth الحالي أو رمز الجهاز أو تدفقات الاستيراد المحلية لموفري الترميز.",
    "onboardingChooseOAuthProvider": "اختر موفر OAuth",
    "onboardingChooseApiKeyProvider": "اختر موفر مفتاح API",
    "onboardingChooseProviderDescription": "حدد موفرًا، ثم سيرشدك المعالج خلال بيانات الاعتماد والاختبار.",
    "onboardingChangeType": "تغيير النوع",
    "onboardingChangeProvider": "تغيير المزود",
    "onboardingSearchProviders": "مزودي البحث...",
    "onboardingApiKeyOptional": "مفتاح API اختياري",
    "onboardingProviderConnected": "مزود متصل",
    "onboardingProviderSavedWithWarnings": "تم حفظ الموفر مع التحذيرات",
    "onboardingProviderFinished": "تم الانتهاء من إعداد الموفر",
    "onboardingYourProviderConnection": "اتصال المزود الخاص بك",
    "onboardingTestPassed": "نجح الاختبار",
    "onboardingTestFailed": "فشل الاختبار",
    "onboardingOpenProviderDetails": "افتح تفاصيل المزود",
    "onboardingTryInPlayground": "حاول في الملعب",
    "onboardingDefaultConnectionName": "{provider} الابتدائية",
    "onboardingTestingConnection": "جارٍ اختبار اتصال الموفر…",
    "onboardingValidatingCredentials": "جارٍ التحقق من صحة بيانات الاعتماد...",
    "onboardingSavingConnection": "جارٍ حفظ اتصال الموفر…",
    "onboardingProviderFailed": "فشل إعداد الموفر",
    "onboardingCreatingCompatibleProvider": "جارٍ إنشاء موفر متوافق…",
    "onboardingSavingCompatibleConnection": "جارٍ حفظ اتصال الموفر المتوافق…",
    "onboardingCustomProviderFallbackName": "مزود مخصص",
    "onboardingCustomProviderFailed": "فشل إعداد الموفر المخصص",
    "onboardingLoadingOAuthConnection": "جارٍ تحميل اتصال OAuth…",
    "onboardingOAuthNoConnectionFound": "تم الانتهاء من OAuth، ولكن لم يتم العثور على اتصال بالموفر.",
    "onboardingOAuthFailed": "فشل إعداد OAuth",
    "onboardingAddProvider": "إضافة {provider}",
    "onboardingConnectionName": "اسم الاتصال",
    "onboardingApiKeyOptionalLabel": "مفتاح واجهة برمجة التطبيقات (اختياري)",
    "onboardingBaseUrlOverride": "تجاوز عنوان URL الأساسي",
    "onboardingBaseUrlOverrideHint": "اختياري. مخزنة كموفرSpecificData.baseUrl.",
    "onboardingRegion": "المنطقة",
    "onboardingSearchCx": "ابحث عن معرف CX / المحرك",
    "onboardingProviderSpecificIdPlaceholder": "معرف اختياري خاص بالمزود",
    "onboardingCustomUserAgent": "وكيل المستخدم المخصص",
    "onboardingWorking": "العمل…",
    "onboardingValidateSaveTest": "التحقق من صحة وحفظ واختبار",
    "onboardingBack": "العودة",
    "onboardingCreateCustomCompatibleProvider": "إنشاء مزود متوافق مخصص",
    "onboardingCreateCustomCompatibleDescription": "يقوم المعالج بإنشاء عقدة موفر أولاً، ثم يقوم بتخزين واختبار اتصال مفتاح API الخاص بها.",
    "onboardingProtocol": "بروتوكول",
    "onboardingOpenAiCompatible": "متوافق مع OpenAI",
    "onboardingAnthropicCompatible": "متوافق مع الأنثروبولوجيا",
    "onboardingClaudeCodeCompatible": "متوافق مع كود كلود",
    "onboardingProviderPrefix": "بادئة الموفر",
    "onboardingProviderPrefixHint": "يستخدم لإنشاء معرف الموفر المُدار.",
    "onboardingChatPath": "مسار الدردشة",
    "onboardingModelsPath": "مسار النماذج",
    "onboardingCreateSaveTest": "إنشاء وحفظ واختبار",
    "onboardingConnectProvider": "الاتصال {provider}",
    "onboardingOAuthFlowDescription": "سيفتح OmniRoute تدفق OAuth الحالي لهذا الموفر. بعد تسجيل الدخول، يقوم المعالج بإعادة تحميل الاتصال المحفوظ وتشغيل نفس اختبار الاتصال مثل صفحة الموفر.",
    "onboardingStartOAuthFlow": "بدء تدفق OAuth",
    "passthroughModelsDescription": "{provider} يقبل معرفات النماذج الأصلية للموفر. قم بالاستيراد من /models أو قم بإضافة معرفات مخصصة للتوجيه.",
    "bedrockModelsDescription": "يتم تحديد نطاق نماذج Amazon Bedrock حسب منطقة AWS. قم بالاستيراد من /models أو قم بإضافة معرفات نماذج Bedrock الممكنة في المنطقة المحددة.",
    "bedrockModelPlaceholder": "anthropic.claude-sonnet-4-6",
    "addProviderSessionCookieTitle": "أضف {provider} ملف تعريف الارتباط للجلسة",
    "addProviderWebTokenTitle": "أضف {provider} رمز الويب المميز",
    "addProviderConnectionTitle": "أضف اتصال {provider}",
    "webTokenCredentialLabel": "رمز جلسة الويب",
    "webNoAuthCredentialLabel": "لا توجد بيانات الاعتماد المطلوبة",
    "webCookieCredentialHint": "ملف تعريف الارتباط المطلوب: {credential}. الصق قيمة رأس ملف تعريف الارتباط من جلسة الويب {provider} التي قمت بتسجيل الدخول بها. لا تقم بتضمين ملف تعريف الارتباط: البادئة.",
    "webTokenCredentialHint": "بيانات الاعتماد: {credential}. الصق قيمة الرمز المميز من جلسة الويب {provider} التي قمت بتسجيل الدخول بها، أو تصدير DevTools HAR إذا كان الموفر يدعمها.",
    "webCookieEditHint": "اتركه فارغًا للاحتفاظ بملف تعريف الارتباط للجلسة الحالية. ملف تعريف الارتباط المطلوب: {credential}.",
    "webTokenEditHint": "اتركه فارغًا للاحتفاظ بالرمز المميز لجلسة الويب الحالية. بيانات الاعتماد: {credential}.",
    "webSessionGuideTitle": "كيفية الحصول على بيانات اعتماد الجلسة",
    "webSessionGuideIntro": "يستخدم {provider} جلسة ويب للمتصفح بدلاً من مفتاح API.",
    "webCookieRequiredCredential": "ملف تعريف الارتباط المطلوب: {credential}",
    "webTokenRequiredCredential": "الرمز المميز المطلوب: {credential}",
    "webSessionGuideStep1": "قم بتسجيل الدخول إلى {provider} في متصفحك.",
    "webSessionGuideStep2": "افتح أدوات مطور المتصفح وافحص الطلب المقدم من تطبيق الويب.",
    "webSessionGuideStep3": "انسخ بيانات الاعتماد المطلوبة من المجال الخاص بالموفر. بالنسبة لملفات تعريف الارتباط، انسخ فقط قيمة رأس ملف تعريف الارتباط واحذف ملف تعريف الارتباط:.",
    "webSessionGuideStep4": "الصقها هنا وتحقق من الاتصال. إذا توقفت عن العمل، قم بتسجيل الدخول مرة أخرى واستبدلها بقيمة جديدة.",
    "webSessionSecurityHint": "تعامل مع هذا ككلمة مرور: فقد يصل إلى حساب الويب الذي قمت بتسجيل الدخول إليه حتى تنتهي صلاحيته أو يتم إبطاله.",
    "webNoAuthGuideTitle": "لا توجد بيانات الاعتماد المطلوبة",
    "webNoAuthGuideBody": "{provider} لا يحتاج إلى مفتاح API أو ملف تعريف الارتباط. احفظ الاتصال لاستخدام نقطة نهاية الويب المجانية الخاصة به.",
    "webSessionCredentialValidationFailed": "فشل التحقق من صحة بيانات اعتماد الجلسة. قم بتسجيل الدخول مرة أخرى، وانسخ بيانات اعتماد جديدة، ثم حاول مرة أخرى.",
    "checkCookie": "تحقق من ملف تعريف الارتباط",
    "checkWebToken": "رمز التحقق"
  },
  "settings": {
    "title": "الإعدادات",
    "general": "عام",
    "security": "الأمن",
    "appearance": "المظهر",
    "routing": "التوجيه",
    "cache": "ذاكرة التخزين المؤقت",
    "resilience": "المرونة",
    "routingSettingsIntro": "يتحكم في كيفية توجيه طلباتك وتحويلها وإرسالها إلى موفري الذكاء الاصطناعي.",
    "routingOpDropParagraphContainsLabel": "__MISSING__:Drop paragraph (contains)",
    "routingOpDropParagraphStartsWithLabel": "__MISSING__:Drop paragraph (starts with)",
    "routingOpReplaceTextLabel": "__MISSING__:Replace text",
    "routingOpReplaceRegexLabel": "__MISSING__:Replace regex",
    "routingOpDropBlockContainsLabel": "__MISSING__:Drop block (contains)",
    "routingOpPrependSystemBlockLabel": "__MISSING__:Prepend system block",
    "routingOpAppendSystemBlockLabel": "__MISSING__:Append system block",
    "routingOpInjectBillingHeaderLabel": "__MISSING__:Inject billing header",
    "routingOpObfuscateWordsLabel": "__MISSING__:Obfuscate words (ZWJ)",
    "routingOpDropParagraphContainsDesc": "__MISSING__:Removes any paragraph (text block split on blank lines) inside the system prompt whose text contains ANY of the listed substrings. Use to strip third-party client fingerprints like 'github.com/anomalyco/opencode' or 'docs.openwebui.com' that Anthropic's classifier flags.",
    "routingOpDropParagraphStartsWithDesc": "__MISSING__:Removes any paragraph that STARTS WITH one of the listed prefixes. Use for identity lines like 'You are OpenCode' or 'You are Open WebUI' that announce the calling client.",
    "routingOpReplaceTextDesc": "__MISSING__:Replaces a literal substring with another literal substring. Use for known trigger phrases — e.g. rewrite 'Here is some useful information about the environment you are running in:' to 'Environment context you are running in:' (an empirically-validated trigger phrase).",
    "routingOpReplaceRegexDesc": "__MISSING__:Replaces text matching a regular expression. Use when you need patterns (character classes, optional whitespace, anchors) instead of literal substrings. A malformed pattern is caught at runtime when the op runs.",
    "routingOpDropBlockContainsDesc": "__MISSING__:Removes ENTIRE system blocks (not just paragraphs) whose text contains any of the listed substrings. Use when a whole block is fingerprint-bearing and you want it gone — e.g. an injected MCP-server description.",
    "routingOpPrependSystemBlockDesc": "__MISSING__:Inserts a new text block at the FRONT of the system array. Use to add the SDK identity 'You are a Claude agent, built on Anthropic's Claude Agent SDK.' that Anthropic's classifier expects.",
    "routingOpAppendSystemBlockDesc": "__MISSING__:Inserts a new text block at the END of the system array. Use for cosmetic additions that don't need to be at position [0].",
    "routingOpInjectBillingHeaderDesc": "__MISSING__:Prepends the special 'x-anthropic-billing-header: cc_version=...; cc_entrypoint=...; cch=...;' text block that Anthropic's classifier validates. Required for CC bridge relay endpoints; for the native claude provider OmniRoute already injects its own billing line so this op is usually redundant there.",
    "routingOpObfuscateWordsDesc": "__MISSING__:Inserts a Zero-Width-Joiner character after the first letter of each listed word, so 'opencode' becomes 'o‍pencode'. Reads identical to humans but bypasses classifier word matches. Targets system blocks, user/assistant messages, and tool descriptions.",
    "routingNeedlesHint": "__MISSING__:List of substrings. A paragraph matches if it contains ANY one of them. Add one per line via 'Add entry'.",
    "routingPrefixesHint": "__MISSING__:List of strings. A paragraph matches if it starts with any one of them (leading whitespace is trimmed before matching).",
    "routingCaseSensitiveHint": "__MISSING__:When ON, 'OpenCode' and 'opencode' are different strings. When OFF (default), the comparison ignores case.",
    "routingMatchLiteralHint": "__MISSING__:Exact literal substring to find. No regex syntax — special chars like . * ? are treated as themselves.",
    "routingReplacementTextHint": "__MISSING__:Replacement string. Leave blank to delete the match. The output preserves surrounding text.",
    "routingAllOccurrencesHint": "__MISSING__:When ON (default), every instance is replaced. When OFF, only the first match is replaced.",
    "routingPatternHint": "__MISSING__:JavaScript regex source. Don't wrap in slashes — just 'foo(.*)bar'. Server rejects patterns that fail to compile.",
    "routingRegexFlagsHint": "__MISSING__:JavaScript regex flags (g = all matches, i = case-insensitive, s = dot matches newline, m = multiline). Default 'g'.",
    "routingBlockTextHint": "__MISSING__:Full text of the new system block. Use a literal string; the system block stores text only.",
    "routingIdempotencyKeyHint": "__MISSING__:Optional. If set, the op skips when a block whose text starts with this key is already present. Prevents double-prepend on retries.",
    "routingBillingEntrypointHint": "__MISSING__:Value injected as 'cc_entrypoint='. Anthropic accepts 'sdk-cli' (Agent SDK), 'cli' (Claude Code CLI), or other documented values.",
    "routingBillingVersionFormatHint": "__MISSING__:How the 3-char build hash after cc_version= is computed. 'ex-machina' = sha256 of CCH_SALT+chars-from-first-user-msg+version (per-message). 'omniroute-daystamp' = sha256 of YYYY-MM-DD+version (stable per-day).",
    "routingBillingCchAlgoHint": "__MISSING__:How the 5-char cch= token is computed. 'sha256-first-user' = sha256 of first user message text. 'xxhash64-body' = body-level signing fills it later. 'static-zero' = literal '00000' placeholder.",
    "routingObfuscateWordsHint": "__MISSING__:Lowercase words to obfuscate. ZWJ insertion is applied case-insensitively, so 'opencode' also matches 'OpenCode' and 'OPENCODE'.",
    "routingObfuscateTargetsHint": "__MISSING__:Which body regions to scan for the words: system blocks, user/assistant messages, and/or tool descriptions.",
    "routingObfuscateTargetsLabel": "__MISSING__:Targets",
    "routingSummarizeDropParagraphContains": "__MISSING__:drop paragraphs containing: {items}",
    "routingSummarizeDropParagraphStartsWith": "__MISSING__:drop paragraphs starting with: {items}",
    "routingSummarizeReplaceText": "__MISSING__:replace \"{match}\" → \"{replacement}\"",
    "routingSummarizeReplaceRegex": "__MISSING__:regex /{pattern}/{flags} → \"{replacement}\"",
    "routingSummarizeDropBlockContains": "__MISSING__:drop blocks containing: {items}",
    "routingSummarizePrependSystemBlock": "__MISSING__:prepend block: \"{text}\"",
    "routingSummarizeAppendSystemBlock": "__MISSING__:append block: \"{text}\"",
    "routingSummarizeInjectBillingHeader": "__MISSING__:inject billing header (entrypoint={entrypoint}, version={versionFormat}, cch={cchAlgo})",
    "routingSummarizeObfuscateWords": "__MISSING__:obfuscate {count} word(s) via ZWJ in {targets}",
    "routingDefaultAutoVariantLKGP": "__MISSING__:Last Known Good Provider",
    "routingDefaultAutoVariantLKGPDesc": "__MISSING__:Last Known Good Provider",
    "routingDefaultAutoVariantCoding": "__MISSING__:Quality-first for code",
    "routingDefaultAutoVariantCodingDesc": "__MISSING__:Quality-first for code",
    "routingDefaultAutoVariantFast": "__MISSING__:Low-latency routing",
    "routingDefaultAutoVariantFastDesc": "__MISSING__:Low-latency routing",
    "routingDefaultAutoVariantCheap": "__MISSING__:Cost-optimized",
    "routingDefaultAutoVariantCheapDesc": "__MISSING__:Cost-optimized",
    "routingDefaultAutoVariantOffline": "__MISSING__:High availability",
    "routingDefaultAutoVariantOfflineDesc": "__MISSING__:High availability",
    "routingDefaultAutoVariantSmart": "__MISSING__:Best discovery (10% explore)",
    "routingDefaultAutoVariantSmartDesc": "__MISSING__:Best discovery (10% explore)",
    "routingOpSummaryCount": "__MISSING__:{count, plural, =0 {no ops} one {# op} other {# ops}}",
    "routingOpEnabled": "__MISSING__:enabled",
    "routingOpDisabled": "__MISSING__:disabled",
    "routingOpStatusSeparator": "__MISSING__: · ",
    "resilienceSettingsIntro": "إعادة المحاولة التلقائية، والتهدئة، والرجوع عند فشل مقدمي الخدمة.",
    "aiSettingsIntro": "إعدادات خاصة بالذكاء الاصطناعي لميزانية التفكير وسلوك النموذج والضغط.",
    "systemPrompt": "موجه النظام",
    "thinkingBudget": "ميزانية التفكير",
    "proxy": "وكيل",
    "httpProxy": "HTTP Proxy",
    "1proxy": "1proxy",
    "proxySubTabsAria": "Proxy sections",
    "requestBodyLimitTitle": "Request Body Limit",
    "requestBodyLimitDescription": "Maximum API payload size accepted before a request body is parsed. Dedicated upload routes keep at least their built-in 100 MB limit.",
    "requestBodyLimitInputLabel": "Request body limit in MB",
    "requestBodyLimitEmptyError": "Enter a limit in MB",
    "requestBodyLimitWholeNumberError": "Use a whole number",
    "requestBodyLimitMinimumError": "Minimum is {min} MB",
    "requestBodyLimitMaximumError": "Maximum is {max} MB",
    "requestBodyLimitLoadFailed": "Failed to load request limit settings",
    "requestBodyLimitSaveSuccess": "Request body limit saved",
    "requestBodyLimitSaveFailed": "Failed to save request body limit",
    "requestBodyLimitSaving": "Saving...",
    "requestBodyLimitSave": "Save",
    "requestBodyLimitCurrent": "Current: {value}",
    "mitmProxy": "وكيل MITM",
    "pricing": "التسعير",
    "storage": "التخزين",
    "policies": "السياسات",
    "ipFilter": "مرشح IP",
    "comboDefaults": "افتراضيات التحرير والسرد",
    "fallbackChains": "سلاسل احتياطية",
    "changePassword": "تغيير كلمة المرور",
    "enablePassword": "تمكين كلمة المرور",
    "darkMode": "الوضع المظلم",
    "lightMode": "وضع الضوء",
    "memoryTitle": "Memory",
    "memoryDesc": "Persistent cross-session conversational memory",
    "memoryEnabled": "Enable Memory",
    "memoryEnabledDesc": "When enabled, OmniRoute will inject relevant past context.",
    "maxTokens": "Max Tokens",
    "retentionDays": "Retention",
    "recent": "Recent",
    "recentDesc": "Chronological window",
    "semantic": "Semantic",
    "semanticDesc": "Vector search",
    "hybrid": "Hybrid",
    "hybridDesc": "Recent + Semantic",
    "skillsTitle": "Skills",
    "skillsDesc": "Tools for models",
    "skillsEnabled": "Enable Skills",
    "skillsEnabledDesc": "Allows agents to trigger functions.",
    "skillsComingSoon": "Skills marketplace coming soon.",
    "memorySkillsTitle": "Memory & Skills",
    "memorySkillsDesc": "Persistent context & capabilities",
    "modelsDevTitle": "Model Database",
    "modelsDevDesc": "Auto-sync pricing, capabilities & specs from models.dev",
    "modelsDevEnabled": "Enable models.dev Sync",
    "modelsDevEnabledDesc": "Fetch model pricing, capabilities, and specs from the open-source models.dev database",
    "modelsDevInterval": "Sync Interval",
    "syncNow": "Sync Now",
    "syncing": "Syncing...",
    "lastSync": "Last sync",
    "never": "Never",
    "justNow": "الآن فقط",
    "modelsDevStats": "Sync Statistics",
    "modelsDevStatsDesc": "Current models.dev data coverage",
    "providers": "مقدمي الخدمات",
    "modelsWithPricing": "Models with Pricing",
    "capabilities": "Capabilities",
    "lastSyncCount": "Last Sync Count",
    "lastSyncFull": "Last full sync",
    "modelsDevInfo": "How It Works",
    "modelsDevInfoDesc": "models.dev is an open-source database of AI model specifications maintained by the SST/OpenCode team. It provides pricing, capabilities, context limits, and modalities for 4,000+ models across 100+ providers.",
    "modelsDevInfoResolution": "Pricing resolution order (highest priority first):",
    "modelsDevInfoOrder": "User Override → models.dev → LiteLLM → Hardcoded Default",
    "systemTheme": "موضوع النظام",
    "debugToggle": "Enable Debug Mode",
    "sidebarVisibilityToggle": "Show Sidebar Items",
    "enableCache": "تمكين ذاكرة التخزين المؤقت",
    "cacheTTL": "ذاكرة التخزين المؤقت TTL",
    "maxCacheSize": "الحد الأقصى لحجم ذاكرة التخزين المؤقت",
    "clearCache": "مسح ذاكرة التخزين المؤقت",
    "cacheCleared": "Cache cleared successfully",
    "clearCacheFailed": "Failed to clear cache",
    "cacheHits": "زيارات ذاكرة التخزين المؤقت",
    "cacheMisses": "يفتقد ذاكرة التخزين المؤقت",
    "hitRate": "معدل الإصابة",
    "cacheEntries": "إدخالات ذاكرة التخزين المؤقت",
    "cacheSettings": "Cache Settings",
    "semanticCache": "Semantic Cache",
    "maxEntries": "Max Entries",
    "ttlMinutes": "TTL (minutes)",
    "promptCache": "ذاكرة التخزين المؤقت الفوري",
    "strategy": "Strategy",
    "preserveClientCache": "Preserve Client Cache",
    "enabled": "Enabled",
    "loading": "Loading...",
    "saving": "جارٍ الحفظ...",
    "save": "Save",
    "circuitBreaker": "قواطع دوائر",
    "retryPolicy": "إعادة محاولة السياسة",
    "maxRetries": "ماكس إعادة المحاولة",
    "retryDelay": "إعادة المحاولة تأخير",
    "timeoutMs": "المهلة (مللي ثانية)",
    "enableSystemPrompt": "تمكين موجه النظام",
    "systemPromptText": "نص موجه النظام",
    "autoDisableBannedAccounts": "Auto-Disable Banned Accounts",
    "autoDisableDescription": "Permanently mark provider connections as deactivated if they return specific terminal ban signals (e.g. HTTP 403 'verify your account'). This removes them from the combo rotation.",
    "autoDisableThreshold": "Ban Threshold",
    "autoDisableThresholdDesc": "Consecutive ban signals required before permanent deactivation.",
    "resilienceStructureTitle": "Resilience Structure",
    "resilienceStructureDesc": "تقوم هذه الصفحة بتكوين السلوك فقط. تظهر حالة الكسارة المباشرة على صفحة الصحة. تظل إعادة المحاولة الخاصة بالتحرير والسرد والتحكم في الفتحة الدائرية في إعدادات التحرير والسرد.",
    "enableThinking": "تمكين التفكير",
    "maxThinkingTokens": "رموز التفكير ماكس",
    "enableProxy": "تمكين الوكيل",
    "proxyUrl": "عنوان URL الوكيل",
    "pricingRates": "تنسيق أسعار التسعير",
    "currentPricing": "نظرة عامة على الأسعار الحالية",
    "loadingPricing": "جارٍ تحميل بيانات الأسعار...",
    "noPricing": "لا توجد بيانات التسعير المتاحة",
    "input": "الإدخال",
    "output": "الإخراج",
    "cached": "مخبأة",
    "reasoning": "المنطق",
    "cacheCreation": "إنشاء ذاكرة التخزين المؤقت",
    "customPricing": "التسعير المخصص",
    "databaseSize": "حجم قاعدة البيانات",
    "backupDb": "قاعدة بيانات النسخ الاحتياطي",
    "restoreDb": "استعادة قاعدة البيانات",
    "exportData": "تصدير البيانات",
    "importData": "استيراد البيانات",
    "clearData": "مسح كافة البيانات",
    "clearDataConfirm": "سيؤدي هذا إلى حذف جميع البيانات بشكل دائم. هل أنت متأكد؟",
    "enableRequestLogs": "تمكين سجلات الطلب",
    "logRetention": "الاحتفاظ بالسجل",
    "ipWhitelist": "القائمة البيضاء للملكية الفكرية",
    "ipBlacklist": "القائمة السوداء للملكية الفكرية",
    "addIP": "أضف IP",
    "savedSuccessfully": "تم حفظ الإعدادات بنجاح",
    "ai": "منظمة العفو الدولية",
    "advanced": "متقدم",
    "localMode": "الوضع المحلي — كافة البيانات المخزنة على جهازك",
    "settingsSectionsAria": "أقسام الإعدادات",
    "switchThemes": "التبديل بين السمات الفاتحة والداكنة",
    "themeSelectionAria": "اختيار الموضوع",
    "themeLight": "ضوء",
    "themeDark": "الظلام",
    "themeSystem": "النظام",
    "endpointTunnelVisibility": "رؤية نفق نقطة النهاية",
    "endpointTunnelVisibilityDesc": "إخفاء عناصر التحكم في النفق من صفحة نقطة النهاية دون تغيير حالة النفق.",
    "showCloudflareTunnel": "نفق Cloudflare السريع",
    "showCloudflareTunnelDesc": "إظهار عناصر تحكم Cloudflare Quick Tunnel على صفحة نقطة النهاية.",
    "showTailscaleFunnel": "قمع الذيل",
    "showTailscaleFunnelDesc": "إظهار عناصر التحكم في Tailscale Funnel في صفحة نقطة النهاية.",
    "showNgrokTunnel": "نفق نغروك",
    "showNgrokTunnelDesc": "إظهار عناصر تحكم ngrok Tunnel في صفحة نقطة النهاية.",
    "sidebarVisibility": "Hide sidebar items",
    "sidebarVisibilityDesc": "Hide any sidebar navigation entry to reduce visual clutter.",
    "sidebarVisibilityHint": "Any sidebar section is hidden automatically when a...",
    "hideHealthLogs": "إخفاء سجلات التحقق من الصحة",
    "hideHealthLogsDesc": "عند التشغيل، قم بمنع رسائل [HealthCheck] في وحدة تحكم الخادم",
    "themeAccent": "لون السمة",
    "themeAccentDesc": "اختر لونًا جاهزًا أو أنشئ سمتك الخاصة بلون واحد",
    "themeCreate": "إنشاء سمة",
    "themeCustom": "سمة مخصصة",
    "themeBlue": "أزرق",
    "themeRed": "أحمر",
    "themeGreen": "أخضر",
    "themeViolet": "بنفسجي",
    "themeOrange": "برتقالي",
    "themeCyan": "سماوي",
    "whitelabeling": "Branding",
    "whitelabelingDesc": "Customize the application name and logo",
    "appName": "Application Name",
    "appNameDesc": "Display name shown in sidebar and browser tab",
    "customLogo": "Custom Logo URL",
    "customLogoDesc": "URL to your custom logo image",
    "uploadLogo": "Upload Logo",
    "resetLogo": "Reset to Default",
    "logoPreview": "Preview",
    "customFavicon": "Browser Favicon",
    "customFaviconDesc": "URL to your custom favicon (shown in browser tab)",
    "uploadFavicon": "Upload Favicon",
    "resetFavicon": "Reset Favicon",
    "faviconPreview": "Favicon Preview",
    "flushCache": "مسح ذاكرة التخزين المؤقت",
    "flushing": "فلاشينغ…",
    "size": "الحجم",
    "hits": "الزيارات",
    "evictions": "عمليات الإخلاء",
    "loadingCacheStats": "جارٍ تحميل إحصائيات ذاكرة التخزين المؤقت…",
    "globalProxy": "الوكيل العالمي",
    "globalProxyDesc": "قم بتكوين وكيل خارجي عالمي لجميع مكالمات API. يمكن للموفرين الفرديين والمجموعات والمفاتيح تجاوز هذا.",
    "noGlobalProxy": "لم يتم تكوين وكيل عالمي",
    "globalLabel": "عالمي",
    "configure": "تكوين",
    "globalSystemPrompt": "موجه النظام العالمي",
    "saved": "تم الحفظ",
    "beforePromptLabel": "__MISSING__:Before Prompt",
    "beforePromptDesc": "__MISSING__:Injected before agent/provider system instructions",
    "beforePromptPlaceholder": "__MISSING__:Instructions inserted before agent/provider prompt...",
    "afterPromptLabel": "__MISSING__:After Prompt",
    "afterPromptDesc": "__MISSING__:Injected after agent/provider system instructions",
    "afterPromptPlaceholder": "__MISSING__:Instructions inserted after agent/provider prompt...",
    "chars": "{count} حرف",
    "thinkingBudgetTitle": "ميزانية التفكير",
    "thinkingBudgetDesc": "التحكم في استخدام الرمز المميز لاستدلال الذكاء الاصطناعي عبر جميع الطلبات",
    "passthrough": "العبور",
    "passthroughDesc": "لا توجد تغييرات - يتحكم العميل في ميزانية التفكير",
    "auto": "تلقائي",
    "autoDesc": "قم بتجريد كل تكوينات التفكير - دع مقدم الخدمة يقرر",
    "custom": "مخصص",
    "customDesc": "قم بتعيين ميزانية رمزية ثابتة لجميع الطلبات",
    "adaptive": "التكيف",
    "adaptiveDesc": "مقياس الميزانية على أساس تعقيد الطلب",
    "effortNone": "لا شيء (0 الرموز)",
    "effortLow": "منخفض (1 ألف رمز)",
    "effortMedium": "متوسط (10 آلاف رمز)",
    "effortHigh": "عالية (128 ألف رمز)",
    "tokenBudget": "ميزانية الرمز المميز",
    "tokens": "الرموز",
    "baseEffortLevel": "مستوى الجهد الأساسي",
    "adaptiveHint": "يتغير الوضع التكيفي من هذا المستوى الأساسي استنادًا إلى عدد الرسائل واستخدام الأداة وطول المطالبة.",
    "requireLogin": "تتطلب تسجيل الدخول",
    "requireLoginDesc": "عند التشغيل، تتطلب لوحة القيادة كلمة المرور. عند إيقاف التشغيل، قم بالوصول دون تسجيل الدخول.",
    "currentPassword": "كلمة المرور الحالية",
    "enterCurrentPassword": "أدخل كلمة المرور الحالية",
    "newPassword": "كلمة المرور الجديدة",
    "enterNewPassword": "أدخل كلمة المرور الجديدة",
    "confirmPassword": "تأكيد كلمة المرور الجديدة",
    "confirmPasswordPlaceholder": "تأكيد كلمة المرور الجديدة",
    "passwordsNoMatch": "كلمات المرور غير متطابقة",
    "passwordUpdated": "تم تحديث كلمة المرور بنجاح",
    "failedUpdatePassword": "فشل تحديث كلمة المرور",
    "errorOccurred": "حدث خطأ",
    "updatePassword": "تحديث كلمة المرور",
    "setPassword": "تعيين كلمة المرور",
    "apiEndpointProtection": "حماية نقطة النهاية لواجهة برمجة التطبيقات (API).",
    "requireAuthModels": "يتطلب مفتاح API لـ /models",
    "requireAuthModelsDesc": "عند التشغيل، تقوم نقطة النهاية /v1/models بإرجاع 404 للطلبات التي لم تتم مصادقتها. يمنع اكتشاف النموذج بواسطة مستخدمين غير مصرح لهم.",
    "authModelHeading": "نموذج الترخيص النشط",
    "authModelClient": "تتطلب نقاط نهاية واجهة برمجة تطبيقات العميل (/v1/*، /chat/*، /responses/*، /codex/*، /messages/*) مفتاح Bearer API.",
    "authModelManagement": "تتطلب نقاط نهاية الإدارة (/dashboard، /api/*) جلسة لوحة معلومات أو بيانات اعتماد إدارية.",
    "authModelPublic": "تكون مسارات تسجيل الدخول والصحة والتمهيد فقط عامة.",
    "bruteForceProtection": "تسجيل الدخول حماية القوة الغاشمة",
    "bruteForceProtectionDesc": "خنق وقفل /api/auth/login بعد الفشل المتكرر من نفس IP.",
    "corsAllowedOrigins": "CORS المسموح بها الأصول",
    "corsAllowedOriginsDesc": "قائمة مفصولة بفواصل لأصول المتصفح المسموح لها بالاتصال بهذا الخادم. القائمة الفارغة = لا يوجد وصول إلى CORS للمتصفح (لا يزال خادم إلى خادم يعمل). استخدم CORS_ALLOW_ALL=true env var للتطوير فقط.",
    "blockedProviders": "مقدمي الخدمات المحظورين",
    "blockedProvidersDesc": "إخفاء موفري خدمات محددين من استجابة /v1/models. لن يظهر مقدمو الخدمات المحظورون في قوائم النماذج.",
    "providersBlocked": "{count} تم حظر الموفر (المزودين) من /models",
    "blockProviderTitle": "كتلة {provider}",
    "unblockProviderTitle": "قم بإلغاء حظر {provider}",
    "cliFingerprint": "CLI Fingerprint Matching",
    "cliFingerprintDesc": "Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.",
    "cliFingerprintEnabled": "{count} provider(s) with CLI fingerprint active",
    "enableFingerprintTitle": "Enable fingerprint for {provider}",
    "disableFingerprintTitle": "Disable fingerprint for {provider}",
    "systemTransforms": "كتلة النظام تحويل خط الأنابيب",
    "systemTransformsDesc": "يتم تطبيق خط أنابيب التحويلات المطلوب لكل مزود على نص الطلب قبل إعادة التوجيه. يدعم أي معرف مزود.",
    "systemTransformsAddProvider": "إضافة مزود",
    "systemTransformsAddProviderPlaceholder": "اختر مزود…",
    "systemTransformsAddProviderAllConfigured": "تم تكوين جميع مقدمي الخدمة بالفعل",
    "systemTransformsRemoveProvider": "إزالة الموفر",
    "systemTransformsNoProviders": "لم يتم تكوين أي مقدمي خدمات. أضف موفرًا للبدء.",
    "systemTransformsOpMoveUp": "تحرك للأعلى",
    "systemTransformsOpMoveDown": "تحرك للأسفل",
    "systemTransformsOpDelete": "حذف المرجع",
    "routingStrategy": "استراتيجية التوجيه",
    "routingAdvancedGuideTitle": "توجيه التوجيه المتقدم",
    "routingAdvancedGuideHint1": "استخدمFill First للحصول على الأولوية التي يمكن التنبؤ بها، وRound Robin للعدالة، وP2C لمرونة زمن الاستجابة.",
    "routingAdvancedGuideHint2": "إذا اختلف مقدمو الخدمة من حيث الجودة/التكلفة، فابدأ بـ Cost Opt للعمل في الخلفية والأقل استخدامًا للارتداء المتوازن.",
    "fillFirst": "املأ أولاً",
    "fillFirstDesc": "استخدم الحسابات بترتيب الأولوية",
    "roundRobin": "جولة روبن",
    "roundRobinDesc": "التنقل بين جميع الحسابات",
    "p2c": "P2C",
    "p2cDesc": "اختر 2 عشوائيًا، واستخدم الأكثر صحة",
    "random": "عشوائي",
    "randomDesc": "حساب عشوائي لكل طلب",
    "leastUsed": "الأقل استخدامًا",
    "leastUsedDesc": "اختر الحساب الأقل استخدامًا مؤخرًا",
    "costOpt": "خيار التكلفة",
    "costOptDesc": "تفضل أرخص حساب متاح",
    "resetAware": "إعادة تعيين واعية RR",
    "resetAwareDesc": "تفضل الحسابات ذات الحصة المتبقية السليمة وعمليات إعادة التعيين الأقرب",
    "strictRandom": "Strict Random",
    "strictRandomDesc": "Shuffle deck — uses each account once before reshuffling",
    "stickyLimit": "الحد اللزج",
    "stickyLimitDesc": "المكالمات لكل حساب قبل التبديل",
    "modelAliases": "الأسماء المستعارة النموذجية",
    "modelAliasesTitle": "أسماء بديلة للنماذج",
    "modelAliasesDesc": "Remap model names using exact matches or wildcard patterns.",
    "addCustomAlias": "إضافة اسم بديل مخصص",
    "deprecatedModelId": "معرف النموذج المهمل",
    "newModelId": "معرف النموذج الجديد",
    "customAliases": "أسماء بديلة مخصصة",
    "builtInAliases": "أسماء بديلة مدمجة",
    "backgroundDegradationTitle": "تقليل المهام في الخلفية",
    "backgroundDegradationDesc": "اكتشاف المهام في الخلفية تلقائيًا (العناوين والملخصات) وتوجيهها إلى نماذج أرخص",
    "enableDegradation": "تفعيل تقليل المهام في الخلفية",
    "enableDegradationHint": "عند التفعيل، يتم توجيه المهام في الخلفية مثل توليد العناوين والملخصات تلقائيًا إلى نماذج أرخص",
    "tasksDetected": "المهام المكتشفة",
    "degradationMap": "خريطة تقليل النماذج",
    "premiumModel": "نموذج متميز",
    "cheapModel": "نموذج رخيص",
    "detectionPatterns": "أنماط الكشف",
    "newPattern": "مثال: \"أنشئ عنوانًا\"",
    "aliasPatternPlaceholder": "كلود السوناتة-*",
    "aliasTargetPlaceholder": "كلود السوناتة-4-20250514",
    "pattern": "نمط",
    "targetModel": "نموذج الهدف",
    "add": "+ أضف",
    "session": "جلسة",
    "sessionDetailsAria": "تفاصيل الجلسة",
    "status": "الحالة",
    "authenticated": "مصادقة",
    "guest": "ضيف",
    "loginTime": "وقت تسجيل الدخول",
    "sessionAge": "عمر الجلسة",
    "browser": "المتصفح",
    "clearLocalData": "مسح البيانات المحلية",
    "logout": "تسجيل الخروج",
    "clearLocalDataConfirm": "هل تريد مسح كافة البيانات المحلية؟ سيؤدي هذا إلى إعادة ضبط تفضيلاتك.",
    "unknown": "غير معروف",
    "systemActor": "نظام",
    "ipAccessControl": "التحكم في الوصول إلى IP",
    "ipAccessControlDesc": "حظر أو السماح بعناوين IP محددة",
    "ipModeDisabled": "معطل",
    "ipModeBlacklist": "القائمة السوداء",
    "ipModeWhitelist": "القائمة البيضاء",
    "ipModeWhitelistPriority": "أولوية WL",
    "addIpAddress": "أضف عنوان IP",
    "ipAddressPlaceholder": "192.168.1.0/24 أو 10.0.*.*",
    "block": "+ بلوك",
    "allow": "+ السماح",
    "blocked": "محظور ({count})",
    "allowed": "مسموح به ({count})",
    "temporaryBans": "الحظر المؤقت ({count})",
    "minLeft": "{min} دقيقة متبقية",
    "auditLog": "سجل التدقيق",
    "searchAuditLogs": "البحث في سجلات التدقيق...",
    "failedLoadAuditLog": "فشل تحميل سجل التدقيق",
    "noAuditEvents": "لم يتم العثور على أحداث التدقيق",
    "action": "العمل",
    "actor": "ممثل",
    "details": "التفاصيل",
    "time": "الوقت",
    "fallbackChainsTitle": "سلاسل احتياطية",
    "fallbackChainsDesc": "تحديد الترتيب الاحتياطي للموفر لكل نموذج",
    "addChain": "+ إضافة سلسلة",
    "modelName": "اسم النموذج",
    "modelNamePlaceholder": "كلود السوناتة-4-20250514",
    "providersCommaSeparated": "مقدمو الخدمة (مفصولون بفواصل، حسب ترتيب الأولوية)",
    "providersCommaSeparatedPlaceholder": "أنثروبي، أوبيناي، الجوزاء",
    "createChain": "إنشاء سلسلة",
    "noFallbackChains": "لا سلاسل احتياطية",
    "noFallbackChainsDesc": "قم بإنشاء سلسلة لتحديد الترتيب الاحتياطي للموفر للنموذج.",
    "loadingFallbackChains": "جارٍ تحميل السلاسل الاحتياطية...",
    "deleteChainConfirm": "هل تريد حذف السلسلة الاحتياطية لـ \"{model}\"؟",
    "chainCreated": "تم إنشاء السلسلة لـ {model}",
    "chainDeleted": "تم حذف السلسلة لـ {model}",
    "failedCreateChain": "فشل في إنشاء السلسلة",
    "failedDeleteChain": "فشل في حذف السلسلة",
    "deleteChain": "حذف السلسلة",
    "fillModelAndProviders": "يرجى ملء اسم النموذج ومقدمي الخدمات",
    "addAtLeastOneProvider": "قم بإضافة مزود واحد على الأقل",
    "comboDefaultsTitle": "افتراضيات التحرير والسرد",
    "comboDefaultsGuideTitle": "كيفية ضبط إعدادات التحرير والسرد الافتراضية",
    "comboDefaultsGuideHint1": "اجعل عمليات إعادة المحاولة منخفضة في التدفقات ذات زمن الوصول المنخفض؛ زيادة المهلة فقط لمهام الجيل الطويل.",
    "comboDefaultsGuideHint2": "استخدم تجاوزات الموفر عندما يحتاج أحد الموفرين إلى سلوك مهلة/إعادة محاولة مختلف عن الإعدادات الافتراضية العامة.",
    "globalComboConfig": "تكوين التحرير والسرد العالمي",
    "defaultStrategy": "الإستراتيجية الافتراضية",
    "defaultStrategyDesc": "يتم تطبيقه على المجموعات الجديدة بدون استراتيجية واضحة",
    "comboStrategyAria": "استراتيجية التحرير والسرد",
    "priority": "الأولوية",
    "weighted": "مرجح",
    "contextRelay": "Context Relay",
    "contextRelayDesc": "Hands off context between providers with automatic summarization",
    "maxRetriesLabel": "ماكس إعادة المحاولة",
    "retryDelayLabel": "تأخير إعادة المحاولة (ملي ثانية)",
    "timeoutLabel": "المهلة (مللي ثانية)",
    "healthCheck": "فحص الصحة",
    "healthCheckDesc": "التحقق المسبق من توفر الموفر",
    "trackMetrics": "تتبع المقاييس",
    "trackMetricsDesc": "تسجيل مقاييس الطلب لكل مجموعة",
    "providerOverrides": "تجاوزات الموفر",
    "providerOverridesDesc": "تجاوز المهلة وإعادة المحاولة لكل مزود. تتجاوز إعدادات الموفر الإعدادات الافتراضية العامة.",
    "providerMaxRetriesAria": "{provider} الحد الأقصى لعدد مرات إعادة المحاولة",
    "providerTimeoutAria": "{provider} المهلة مللي ثانية",
    "removeProviderOverrideAria": "قم بإزالة تجاوز {provider}",
    "newProviderNamePlaceholder": "على سبيل المثال جوجل، افتحي...",
    "newProviderNameAria": "اسم المزود الجديد",
    "retries": "إعادة المحاولة",
    "ms": "مللي",
    "saveComboDefaults": "حفظ إعدادات التحرير والسرد الافتراضية",
    "maxNestingDepth": "أقصى عمق التعشيش",
    "concurrencyPerModel": "التزامن/النموذج",
    "queueTimeout": "مهلة قائمة الانتظار (مللي ثانية)",
    "contextRelayHandoffThreshold": "Handoff Threshold",
    "contextRelayMaxMessages": "Max Messages For Summary",
    "contextRelaySummaryModel": "Summary Model",
    "contextRelayProviderNote": "Context Relay currently generates handoffs for Codex accounts and uses these values as global defaults for new or unconfigured combos.",
    "providerProfiles": "ملفات تعريف المزود",
    "providerProfilesDesc": "إعدادات مرونة منفصلة لموفري OAuth (القائم على الجلسة) ومفتاح API (المقيّد). لدى موفري OAuth حدود أكثر صرامة بسبب انخفاض حدود الأسعار.",
    "oauthProviders": "موفري OAuth",
    "apiKeyProviders": "موفري مفاتيح API",
    "transientCooldown": "فترة التهدئة العابرة",
    "rateLimitCooldown": "حد معدل التهدئة",
    "maxBackoffLevel": "الحد الأقصى لمستوى التراجع",
    "cbThreshold": "عتبة CB",
    "cbResetTime": "وقت إعادة ضبط CB",
    "rateLimiting": "الحد من المعدل",
    "rateLimitingDesc": "يتم تحديد معدل موفري API Key تلقائيًا باستخدام الإعدادات الافتراضية الآمنة. يتم تعلم الحدود من رؤوس الاستجابة وتكييفها بمرور الوقت.",
    "defaultSafetyNet": "شبكة الأمان الافتراضية",
    "rpm": "دورة في الدقيقة",
    "minGap": "مين جاب",
    "maxConcurrent": "ماكس المتزامنة",
    "activeLimiters": "المحددات النشطة",
    "noActiveLimiters": "لا توجد محددات معدل نشطة حتى الآن.",
    "reservoir": "الخزان",
    "running": "الجري",
    "queued": "في قائمة الانتظار",
    "circuitBreakers": "قواطع الدائرة",
    "breakerStateClosed": "مغلق",
    "breakerStateOpen": "مفتوح",
    "breakerStateHalfOpen": "نصف مفتوح",
    "tripped": "{count} تعثرت",
    "healthy": "{count} صحي",
    "resetAll": "إعادة ضبط الكل",
    "noCircuitBreakers": "لا توجد قواطع دوائر نشطة حتى الآن. يتم إنشاؤها تلقائيًا عندما تتدفق الطلبات عبر مسار التحرير والسرد.",
    "failures": "{count} الفشل (الإخفاقات)",
    "policiesLocked": "السياسات والمعرفات المقفلة",
    "allOperational": "جميع الأنظمة جاهزة للعمل - لا توجد عمليات إغلاق أو قواطع متعثرة",
    "loadingPolicies": "جارٍ تحميل السياسات...",
    "lockedIdentifiers": "معرفات مقفلة",
    "unlockedIdentifier": "مفتوح: {identifier}",
    "sinceDate": "منذ {date}",
    "forceUnlock": "فتح القوة",
    "unlocking": "جارٍ الفتح...",
    "failedUnlock": "فشل في فتح القفل",
    "failedLoadWithStatus": "فشل التحميل: {status}",
    "failedLoadResilience": "فشل تحميل حالة المرونة",
    "saveFailed": "فشل الحفظ",
    "resetFailed": "فشلت إعادة التعيين",
    "loadingResilience": "جارٍ تحميل حالة المرونة...",
    "retry": "أعد المحاولة",
    "systemStorage": "النظام والتخزين",
    "allDataLocal": "جميع البيانات المخزنة محليا على جهازك",
    "databasePath": "مسار قاعدة البيانات",
    "exportDatabase": "تصدير قاعدة البيانات",
    "exportAll": "تصدير الكل (.tar.gz)",
    "importDatabase": "استيراد قاعدة البيانات",
    "confirmDbImport": "تأكيد استيراد قاعدة البيانات",
    "confirmDbImportDesc": "سيؤدي هذا إلى استبدال كافة البيانات الحالية بالمحتوى من {file}. سيتم إنشاء نسخة احتياطية تلقائيًا قبل الاستيراد.",
    "yesImport": "نعم استيراد",
    "lastBackup": "النسخ الاحتياطي الأخير",
    "noBackupYet": "لا يوجد نسخة احتياطية حتى الآن",
    "backupNow": "النسخ الاحتياطي الآن",
    "backupRestore": "النسخ الاحتياطي والاستعادة",
    "viewBackups": "عرض النسخ الاحتياطية",
    "hide": "إخفاء",
    "backupRetentionDesc": "يتم إنشاء لقطات قاعدة البيانات تلقائيًا قبل الاستعادة وكل 15 دقيقة عند تغيير البيانات. الاحتفاظ: 24 ساعة + 30 نسخة احتياطية يومية مع التدوير الذكي.",
    "loadingBackups": "جارٍ تحميل النسخ الاحتياطية...",
    "noBackupsYet": "لا توجد نسخ احتياطية متاحة حتى الآن. سيتم إنشاء النسخ الاحتياطية تلقائيًا عند تغيير البيانات.",
    "backupsAvailable": "{count} النسخ الاحتياطية متاحة",
    "refresh": "تحديث",
    "confirm": "تأكيد؟",
    "yes": "نعم",
    "no": "لا",
    "restore": "استعادة",
    "invalidFileType": "نوع الملف غير صالح. يتم قبول ملفات .sqlite فقط.",
    "exportFailed": "فشل التصدير",
    "exportFailedWithError": "فشل التصدير: {error}",
    "fullExportFailedWithError": "فشل التصدير الكامل: {error}",
    "backupCreated": "تم إنشاء النسخة الاحتياطية: {file}",
    "restoreSuccess": "المستعادة! {connections} اتصالات، {nodes} عقد، {combos} مجموعات، {apiKeys} مفاتيح API.",
    "importSuccess": "تم استيراد قاعدة البيانات! {connections} اتصالات، {nodes} عقد، {combos} مجموعات، {apiKeys} مفاتيح API.",
    "minutesAgo": "{count} منذ",
    "hoursAgo": "{count}h منذ",
    "daysAgo": "{count}d منذ",
    "backupReasonManual": "دليل",
    "backupReasonPreRestore": "استعادة مسبقة",
    "connectionsCount": "{count, plural, one {# connection} other {# connections}}",
    "noChangesSinceBackup": "لا توجد تغييرات منذ النسخ الاحتياطي الأخير",
    "backupFailed": "فشل النسخ الاحتياطي",
    "restoreFailed": "فشلت عملية الاستعادة",
    "importFailed": "فشل الاستيراد",
    "errorDuringRestore": "حدث خطأ أثناء الاستعادة",
    "errorDuringImport": "حدث خطأ أثناء الاستيراد",
    "modelPricing": "تسعير النموذج",
    "modelPricingDesc": "تكوين معدلات التكلفة لكل نموذج • جميع الأسعار بالرموز المميزة $/1M",
    "registry": "التسجيل",
    "priced": "مسعر",
    "searchProvidersModels": "البحث عن موفري الخدمة أو النماذج...",
    "showAll": "إظهار الكل",
    "noProvidersMatch": "لا يوجد مقدمي خدمات مطابقين لبحثك.",
    "howPricingWorks": "كيف يعمل التسعير",
    "cacheWrite": "كتابة ذاكرة التخزين المؤقت",
    "unsaved": "غير محفوظ",
    "resetDefaults": "إعادة تعيين الإعدادات الافتراضية",
    "saveProvider": "حفظ المزود",
    "model": "نموذج",
    "models": "نماذج",
    "moreProviders": "{count} المزيد من مقدمي الخدمة",
    "withPricing": "مع تكوين التسعير",
    "policiesCircuitBreakers": "السياسات وقواطع الدائرة",
    "activeIssuesDetected": "تم اكتشاف مشكلات نشطة",
    "off": "إيقاف",
    "resetPricingConfirm": "هل تريد إعادة تعيين جميع أسعار {provider} إلى الإعدادات الافتراضية؟",
    "pricingDescInput": "الإدخال: الرموز المرسلة إلى النموذج",
    "pricingDescOutput": "الإخراج: الرموز التي تم إنشاؤها",
    "pricingDescCached": "ذاكرة التخزين المؤقت: الإدخال المعاد استخدامه (~50% من معدل الإدخال)",
    "pricingDescReasoning": "المنطق: رموز التفكير (يعود إلى الإخراج)",
    "pricingDescCacheWrite": "كتابة ذاكرة التخزين المؤقت: إنشاء إدخالات ذاكرة التخزين المؤقت (يعود إلى الإدخال)",
    "pricingDescFormula": "التكلفة = (الإدخال × معدل الإدخال) + (الإخراج × معدل الإخراج) + (التخزين المؤقت × معدل_التخزين المؤقت) لكل مليون رمز مميز.",
    "pricingSettingsTitle": "إعدادات التسعير",
    "totalModels": "نماذج إجمالية",
    "active": "نشط",
    "costCalculation": "حساب التكلفة",
    "costCalculationDesc": "يتم حساب التكاليف بناءً على استخدام الرمز المميز ومعدلات التسعير التي تم تكوينها لكل نموذج.",
    "pricingFormat": "تنسيق التسعير",
    "pricingFormatDesc": "جميع الأسعار برموز $/1M (دولار لكل مليون رمز).",
    "tokenTypes": "أنواع الرموز",
    "inputTokenDesc": "الرموز السريعة القياسية",
    "outputTokenDesc": "رموز الإكمال/الاستجابة",
    "cachedTokenDesc": "رموز الإدخال المخزنة مؤقتًا (عادةً 50% من معدل الإدخال)",
    "reasoningTokenDesc": "رموز الاستدلال/التفكير الخاصة (الرجوع إلى معدل الإنتاج)",
    "cacheCreationTokenDesc": "الرموز المميزة المستخدمة لإنشاء إدخالات ذاكرة التخزين المؤقت (الرجوع إلى معدل الإدخال)",
    "customPricingNote": "يمكنك تجاوز التسعير الافتراضي لنماذج محددة. تحظى التجاوزات المخصصة بالأولوية على الأسعار التي يتم اكتشافها تلقائيًا.",
    "editPricing": "تحرير التسعير",
    "viewFullDetails": "عرض التفاصيل الكاملة",
    "themeCoral": "مرجاني",
    "adaptiveVolumeRouting": "Adaptive Volume Routing",
    "adaptiveVolumeRoutingDesc": "Scale connections dynamically based on payload volume and throughput pressure.",
    "lkgpToggleTitle": "Last Known Good Provider (LKGP)",
    "lkgpToggleDesc": "When enabled, the router remembers which provider last served a successful response and tries it first on subsequent requests.",
    "clearLkgpCache": "Clear LKGP Cache",
    "lkgpCacheCleared": "LKGP cache cleared successfully",
    "lkgpCacheClearFailed": "Failed to clear LKGP cache",
    "days": "Days",
    "lkgp": "LKGP Mode",
    "lkgpDesc": "Last Known Good Provider (Predictable resilience)",
    "maintenance": "Maintenance",
    "purgeExpiredLogs": "Purge Expired Logs",
    "purgeLogsFailed": "Failed to purge logs",
    "contextOpt": "Context Optimized",
    "contextOptDesc": "Routes based on context window requirements and conversation length",
    "priorityDesc": "Sequential fallback - tries provider 1 first, then provider 2, and so on",
    "weightedDesc": "Distributes traffic by percentage weights across providers",
    "modelRoutingTitle": "Model Routing Rules",
    "modelRoutingDesc": "Automatically route models to specific combos using glob patterns",
    "addRule": "Add Rule",
    "routeToCombo": "Route to Combo",
    "selectCombo": "Select combo...",
    "priorityHint": "Higher = checked first. Use 10+ for specific patterns.",
    "patternHint": "Use * for any chars, ? for single char. Case-insensitive.",
    "noRoutingRules": "No routing rules configured. Requests use the global combo by default.",
    "routingRuleHint": "Add a rule like claude-opus* -> frontier-combo to automatically route requests.",
    "deleteRoutingRule": "Delete this model routing rule?",
    "exactMatchMode": "Exact Match",
    "wildcardPatternMode": "Wildcard Pattern",
    "exactMatchModeDesc": "Use exact aliases for deprecated or renamed model IDs.",
    "wildcardPatternModeDesc": "Use wildcard aliases with * and ? when a family of models should map to one target.",
    "noExactAliasesConfigured": "No exact-match aliases configured.",
    "wildcardRulesTitle": "Wildcard Rules",
    "noWildcardAliasesConfigured": "No wildcard aliases configured.",
    "overview": "Overview",
    "unknownError": "Unknown Error",
    "pricingSourceLiteLLM": "Pricing Source Lite Llm",
    "clearSyncedPricingConfirm": "Clear Synced Pricing Confirm",
    "clearSyncedPricingFailed": "Clear Synced Pricing Failed",
    "pricingSourceUser": "Pricing Source User",
    "pageDescription": "Page Description",
    "pricingSyncStatus": "Pricing Sync Status",
    "whitelist": "Whitelist",
    "syncDisabled": "Sync Disabled",
    "pricingLoadFailed": "Pricing Load Failed",
    "pricingSyncDescription": "Pricing Sync Description",
    "clearSyncedPricingSuccess": "Clear Synced Pricing Success",
    "clearSyncedPricingFailedWithReason": "فشل مسح التسعير: {reason}",
    "pricingSourceDefault": "Pricing Source Default",
    "pricingSyncSuccess": "Pricing Sync Success",
    "enableSyncError": "Enable Sync Error",
    "syncEnabled": "Sync Enabled",
    "blacklist": "Blacklist",
    "pricingSourceModelsDev": "Pricing Source Models Dev",
    "syncedModels": "Synced Models",
    "budget": "Budget",
    "pricingSyncTitle": "Pricing Sync Title",
    "pricingResetFailedWithReason": "فشلت إعادة تعيين التسعير: {reason}",
    "tab": "Tab",
    "pricingSavedProvider": "تم حفظ السعر لـ {provider}",
    "pricingSyncFailed": "Pricing Sync Failed",
    "pricingSaveFailedWithReason": "فشل حفظ الأسعار: {reason}",
    "pricingResetProvider": "إعادة ضبط الأسعار لـ {provider}",
    "nextSync": "Next Sync",
    "pricingSyncFailedWithReason": "فشلت مزامنة التسعير: {reason}",
    "clearSyncedPricing": "Clear Synced Pricing",
    "compressionTitle": "Prompt Compression",
    "compressionDesc": "Reduce token usage by compressing prompts before sending to providers",
    "compressionMode": "Compression Mode",
    "compressionModeOff": "Off",
    "compressionModeOffDesc": "No compression applied",
    "compressionModeLite": "Lite",
    "compressionModeLiteDesc": "Whitespace and blank line reduction",
    "compressionModeStandard": "Standard (Caveman)",
    "compressionModeStandardDesc": "Rule-based compression with 30+ patterns, preserves code blocks and URLs",
    "compressionModeAggressive": "Aggressive",
    "compressionModeAggressiveDesc": "Summarization + tool result compression + progressive aging for maximum savings",
    "compressionModeUltra": "Ultra",
    "compressionModeUltraDesc": "Maximum compression with all techniques including semantic deduplication",
    "compressionAggressiveConfig": "تكوين المحرك العدواني",
    "compressionAggressiveConfigDesc": "تلخيص دقيق، وضغط الأدوات، وعتبات التقادم",
    "compressionUltraConfig": "تكوين المحرك الفائق",
    "compressionUltraConfigDesc": "ضبط التقليم الإرشادي، والاحتياطي SLM، والعتبات لكل رسالة",
    "compressionUltraRate": "الحفاظ على المعدل",
    "compressionUltraMinScore": "عتبة الحد الأدنى للنتيجة",
    "compressionUltraSlmFallback": "العودة إلى العدوانية",
    "compressionUltraModelPath": "مسار نموذج SLM",
    "compressionSummarizerEnabled": "تمكين الملخص",
    "compressionMaxTokensPerMessage": "الحد الأقصى من الرموز لكل رسالة",
    "compressionMinSavings": "الحد الأدنى لعتبة الادخار",
    "compressionAgingThresholds": "عتبات الشيخوخة",
    "compressionAgingThresholdsDesc": "عدد الرسائل الحديثة المحفوظة في كل طبقة تقادم (أعلى = أكثر حفظًا)",
    "compressionToolStrategies": "استراتيجيات نتيجة الأداة",
    "compressionToolStrategiesDesc": "تبديل إستراتيجيات الضغط لأنواع نتائج الأدوات المختلفة",
    "compressionGeneral": "General Settings",
    "compressionAutoTrigger": "Auto-Trigger Threshold",
    "compressionCacheTTL": "Cache TTL",
    "compressionPreserveSystem": "Preserve System Prompt",
    "compressionCavemanConfig": "Caveman Engine Configuration",
    "compressionCavemanConfigDesc": "Fine-tune the rule-based compression engine",
    "compressionRoles": "Compress Message Roles",
    "compressionRoleUser": "User",
    "compressionRoleAssistant": "Assistant",
    "compressionRoleSystem": "System",
    "compressionMinLength": "Minimum Message Length",
    "compressionSkipRules": "Skip Compression Rules",
    "compressionSkipRulesDesc": "Click rules to skip them during compression",
    "compressionPreservePatterns": "Preserve Patterns",
    "compressionPreservePatternsDesc": "Regex patterns that are never compressed (one per line)",
    "compressionLogTitle": "Compression Log",
    "compressionLogEmpty": "No compressed requests yet. Compression stats will appear here when requests are processed with compression enabled.",
    "minutes": "دقائق",
    "compressionModeRtk": "RTK",
    "compressionModeRtkDesc": "Command-aware tool output filtering",
    "compressionModeStacked": "Stacked",
    "compressionModeStackedDesc": "RTK tool-output filtering followed by Caveman message compression",
    "qdrantTitle": "Qdrant (Vector memory)",
    "qdrantDesc": "Optional. Indexes semantic memories in an external vector database for faster retrieval.",
    "qdrantStatusActive": "Active",
    "qdrantStatusError": "Error",
    "qdrantStatusDisabled": "Disabled",
    "qdrantEnable": "Enable Qdrant",
    "qdrantEnableDesc": "When enabled, semantic/hybrid strategy can use Qdrant to retrieve memories.",
    "qdrantTesting": "Testing...",
    "qdrantTestConnection": "Test connection",
    "qdrantSaved": "Configuration saved",
    "qdrantSaveError": "Failed to save configuration",
    "qdrantHostHint": "Without port. Example: 127.0.0.1 or http://qdrant",
    "qdrantPort": "Port",
    "qdrantPortHint": "Qdrant default: 6333",
    "qdrantCollectionHint": "Where memory points will be stored.",
    "qdrantEmbeddingModel": "Embedding model",
    "qdrantHelpTitle": "Quick setup help",
    "qdrantHelpQuickTitle": "Quick setup (Qdrant + OpenRouter)",
    "qdrantHelpStep1": "1. Host: Qdrant IP/URL, Port: 6333, Collection: omniroute_memory.",
    "qdrantHelpStep2": "2. If using nvidia/llama-nemotron-embed-vl-1b-v2:free, use collection dimension 2048.",
    "qdrantHelpStep3": "3. Model field: openrouter/nvidia/llama-nemotron-embed-vl-1b-v2:free.",
    "qdrantHelpStep4": "4. Save, test connection, then test search.",
    "qdrantEmbeddingQuickSelect": "Quick select from discovered models...",
    "qdrantEmbeddingInputPlaceholder": "openai/text-embedding-3-small",
    "qdrantEmbeddingHint": "Format: provider/model. The provider credential must be configured.",
    "qdrantApiKeyPlaceholderKeep": "(leave empty to keep current key)",
    "qdrantApiKeyPlaceholderOptional": "(leave empty if not used)",
    "qdrantSaveHint": "Tip: edit host/port/collection/model and click Save. API key is optional.",
    "qdrantSearchTestTitle": "Search test",
    "qdrantSearchTestDesc": "Generates embedding and searches in Qdrant.",
    "qdrantSearchPlaceholder": "Example: user preferences, history, etc",
    "qdrantNoResults": "No results (or Qdrant is not configured).",
    "qdrantCleanupTitle": "Retention and cleanup",
    "qdrantCleanupDesc": "Removes expired and old points based on",
    "searching": "Searching...",
    "cleaning": "Cleaning...",
    "cleanNow": "Clean now",
    "optional": "اختياري",
    "current": "الحالي",
    "remove": "إزالة",
    "search": "بحث",
    "oneproxyTitle": "1proxy سوق الوكيل المجاني",
    "oneproxyTotalProxies": "مجموع الوكلاء",
    "oneproxyAvgQuality": "متوسط الجودة",
    "resilienceScope": "النطاق:",
    "resilienceTrigger": "الزناد:",
    "resilienceEffect": "التأثير:",
    "resilienceRequestQueueTitle": "Request Queue & Rate",
    "resilienceAutoEnableApiKeyProviders": "Auto-enable for API-key providers",
    "resilienceRequestsPerMinute": "Requests per minute",
    "resilienceMinTimeBetweenRequests": "Minimum time between requests",
    "resilienceConcurrentRequests": "Concurrent requests",
    "resilienceMaxQueueWaitTime": "الحد الأقصى لوقت الانتظار في قائمة الانتظار",
    "resilienceBaseCooldown": "Base cooldown",
    "resilienceUseUpstreamRetryHints": "Use upstream retry hints",
    "resilienceDefaultPerProvider": "Default (per provider)",
    "resilienceAlwaysOn": "Always on",
    "resilienceAlwaysOff": "Always off",
    "routingRemoveEntry": "إزالة الإدخال",
    "routingNeedlesSubstrings": "الإبر (سلاسل فرعية لتتناسب)",
    "routingCaseSensitive": "حساسة لحالة الأحرف",
    "routingPrefixes": "البادئات",
    "routingMatch": "مباراة",
    "routingReplacement": "استبدال",
    "routingReplaceAllOccurrences": "استبدال كافة الأحداث",
    "routingPatternRegex": "النمط (التعبير العادي)",
    "routingFlags": "أعلام",
    "routingNeedles": "الإبر",
    "routingBlockText": "حظر النص",
    "routingIdempotencyKey": "مفتاح العجز",
    "routingEntrypoint": "نقطة الدخول",
    "routingVersionFormat": "تنسيق الإصدار",
    "routingCchAlgorithm": "خوارزمية CCH",
    "routingWordsToObfuscate": "الكلمات المراد تشويشها (يتم إدراج ZWJ بعد الحرف الأول)",
    "logsSettingsTitle": "إعدادات السجلات",
    "detailedLogsLabel": "تم تمكين السجلات التفصيلية",
    "detailedLogsDesc": "تمكين التسجيل التفصيلي للطلب/الاستجابة",
    "callLogPipelineLabel": "خط أنابيب سجل المكالمات",
    "callLogPipelineDesc": "تمكين مسار معالجة سجل المكالمات",
    "maxDetailSizeLabel": "الحد الأقصى لحجم التفاصيل (كيلو بايت)",
    "maxDetailSizeDesc": "الحد الأقصى لحجم إدخالات السجل التفصيلية",
    "ringBufferSizeLabel": "حجم المخزن المؤقت الدائري",
    "ringBufferSizeDesc": "حجم المخزن المؤقت الدائري للسجلات",
    "semanticCacheEnabledLabel": "تم تمكين ذاكرة التخزين المؤقت الدلالية",
    "semanticCacheMaxSizeLabel": "الحد الأقصى لحجم ذاكرة التخزين المؤقت الدلالية",
    "semanticCacheMaxSizeDesc": "الحد الأقصى لعدد إدخالات ذاكرة التخزين المؤقت الدلالية",
    "semanticCacheTTLLabel": "ذاكرة التخزين المؤقت الدلالية TTL",
    "promptCacheEnabledLabel": "تم تمكين ذاكرة التخزين المؤقت السريعة",
    "promptCacheEnabledDesc": "تمكين التخزين المؤقت الفوري",
    "promptCacheStrategyLabel": "استراتيجية التخزين المؤقت الفوري",
    "promptCacheStrategyDesc": "استراتيجية للتخزين المؤقت السريع",
    "alwaysPreserveClientCacheLabel": "الحفاظ دائمًا على ذاكرة التخزين المؤقت للعميل",
    "alwaysPreserveClientCacheDesc": "سياسة الحفاظ على ذاكرة التخزين المؤقت للعميل",
    "logRetentionPolicyTitle": "سياسة الاحتفاظ بالسجل",
    "resilienceUseUpstream429HintsForBreaker": "استخدم تلميحات المنبع 429 (الكسارة)",
    "appearanceLogoPreviewAlt": "معاينة الشعار",
    "appearanceFaviconPreviewAlt": "معاينة الأيقونة المفضلة",
    "oneproxyLastSync": "آخر مزامنة",
    "oneproxyAllProtocols": "جميع البروتوكولات",
    "oneproxyCountryCodePlaceholder": "رمز البلد (مثل الولايات المتحدة)",
    "oneproxyMinQualityPlaceholder": "الحد الأدنى من الجودة",
    "oneproxyLoadingProxies": "جارٍ تحميل الوكلاء...",
    "oneproxyLastSyncLabel": "آخر مزامنة:",
    "oneproxyProxiesFetched": "تم جلب الوكلاء:",
    "oneproxyConsecutiveFailures": "الإخفاقات المتتالية:",
    "oneproxyErrorLabel": "خطأ:",
    "oneproxyNever": "أبدا",
    "oneproxySyncStatusTitle": "حالة المزامنة",
    "oneproxySuccess": "النجاح",
    "oneproxyFailed": "فشل",
    "routingAntigravitySignatureTitle": "وضع ذاكرة التخزين المؤقت للتوقيع المضاد للجاذبية",
    "routingAntigravitySignatureDesc": "__MISSING__:Control whether OmniRoute reuses only stored Gemini thought signatures or accepts validated client-provided signatures in Antigravity-compatible tool-call flows.",
    "routingAntigravitySignatureEnabledLabel": "__MISSING__:Enabled",
    "routingAntigravitySignatureEnabledDesc": "__MISSING__:Current behavior. Ignore client-provided signatures and keep using the stored OmniRoute flow.",
    "routingAntigravitySignatureBypassLabel": "__MISSING__:Bypass",
    "routingAntigravitySignatureBypassDesc": "__MISSING__:Accept client-provided signatures after lightweight validation and fall back to the stored signature when invalid.",
    "routingAntigravitySignatureBypassStrictLabel": "__MISSING__:Bypass Strict",
    "routingAntigravitySignatureBypassStrictDesc": "__MISSING__:Require full protobuf validation before accepting a client-provided signature.",
    "routingHeaderFingerprintTitle": "بصمة الرأس (لكل مزود)",
    "routingServerRejectedSave": "⚠ تم رفض الخادم حفظ:",
    "routingAddTransformOp": "أضف عملية تحويل",
    "routingClientCacheControlTitle": "التحكم في ذاكرة التخزين المؤقت للعميل",
    "routingClientCacheControlDesc": "__MISSING__:Configure whether OmniRoute preserves client-provided cache_control markers",
    "routingClientCacheControlAutoDesc": "__MISSING__:For deterministic Claude-compatible flows, preserve client-provided cache_control as-is. If the request has no cache_control, OmniRoute does not inject any bridge-owned markers for CC-compatible third-party proxy compatibility.",
    "routingClientCacheControlAlwaysLabel": "__MISSING__:Always Preserve",
    "routingClientCacheControlAlwaysDesc": "__MISSING__:Always forward client-provided cache_control headers to upstream providers as-is.",
    "routingClientCacheControlNeverLabel": "__MISSING__:Never Preserve",
    "routingClientCacheControlNeverDesc": "__MISSING__:Always remove client cache_control headers and let OmniRoute manage caching where native provider flows support it.",
    "routingZeroConfigTitle": "التوجيه التلقائي بدون تكوين",
    "routingZeroConfigDesc": "__MISSING__:Enable automatic provider selection using the auto/ prefix. When enabled, requests to auto, auto/coding, auto/fast, etc. will dynamically route across all connected providers.",
    "routingDefaultAutoVariant": "البديل التلقائي الافتراضي",
    "visionBridge": "جسر الرؤية",
    "visionBridgeDesc": "__MISSING__:Run an automatic vision-to-text fallback before routing image requests to text-only models.",
    "visionBridgeEnabledLabel": "__MISSING__:Enabled",
    "visionBridgeEnabledDesc": "__MISSING__:Toggle the pre-call bridge that replaces image parts with extracted text.",
    "visionBridgeModel": "نموذج الجسر",
    "visionBridgeModelPlaceholder": "openai/gpt-4o-mini",
    "visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
    "visionBridgePrompt": "موجه الجسر",
    "visionBridgePromptPlaceholder": "صف هذه الصورة بإيجاز.",
    "visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
    "visionBridgeTimeoutMs": "المهلة (مللي ثانية)",
    "visionBridgeMaxImagesPerRequest": "ماكس الصور لكل طلب",
    "resilienceMaxBackoffSteps": "Max backoff steps",
    "resilienceProviderBreakerTitle": "Circuit Breaker per Provider",
    "resilienceFailureThreshold": "Failure threshold",
    "resilienceResetTimeout": "إعادة تعيين المهلة",
    "resilienceFailureThresholdLabel": "عتبة الفشل",
    "resilienceResetTimeoutLabel": "إعادة تعيين المهلة",
    "resilienceConnectionCooldownTitle": "Connection Cooldown",
    "resilienceUseUpstreamRetryHintsLabel": "استخدم تلميحات إعادة المحاولة الأولية",
    "resilienceUseUpstream429BreakerLabel": "استخدم تلميحات المنبع 429 (الكسارة)",
    "resilienceMaxBackoffStepsLabel": "أقصى خطوات التراجع",
    "resilienceYes": "نعم",
    "resilienceNo": "لا",
    "resilienceDefault": "Default",
    "storageDatabaseBackupRetention": "الاحتفاظ بالنسخة الاحتياطية لقاعدة البيانات",
    "storagePurgeData": "تطهير البيانات",
    "retentionQuotaSnapshots": "لقطات الحصص (بالأيام)",
    "retentionMcpAudit": "تدقيق MCP (أيام)",
    "retentionA2aEvents": "أحداث A2A (أيام)",
    "retentionCallLogs": "سجلات المكالمات (أيام)",
    "retentionUsageHistory": "تاريخ الاستخدام (بالأيام)",
    "retentionMemoryEntries": "إدخالات الذاكرة (أيام)",
    "storageAutoVacuumMode": "وضع الفراغ التلقائي",
    "storageScheduledVacuum": "فراغ مجدول",
    "storageVacuumHour": "ساعة الفراغ (0-23)",
    "storagePageSize": "حجم الصفحة (بايت)",
    "storageDatabaseSize": "حجم قاعدة البيانات",
    "storagePageCount": "عدد الصفحات",
    "storageFreelistCount": "عدد القائمة الحرة",
    "storageLastVacuum": "الفراغ الأخير",
    "storageLastOptimization": "التحسين الأخير",
    "storageIntegrityCheck": "التحقق من النزاهة",
    "storageIntegrityOk": "✓ موافق",
    "storageIntegrityError": "✗ خطأ",
    "storageUsageTokenBuffer": "المخزن المؤقت لرمز الاستخدام",
    "compressionSettingsAutoTriggerMode": "وضع الزناد التلقائي",
    "compressionSettingsMcpDescriptionCompression": "ضغط وصف MCP",
    "compressionSettingsCavemanIntensity": "شدة رجل الكهف",
    "compressionSettingsCavemanOutputMode": "وضع إخراج رجل الكهف",
    "compressionSettingsOutputIntensity": "كثافة الإخراج",
    "compressionSettingsAutoClarityBypass": "تجاوز الوضوح التلقائي",
    "resilienceWaitForCooldown": "انتظر فترة التهدئة",
    "resilienceEnableServerSideWait": "تمكين الانتظار من جانب الخادم",
    "resilienceMaximumRetries": "الحد الأقصى لعدد مرات إعادة المحاولة",
    "resilienceMaximumWaitPerRetry": "الحد الأقصى للانتظار لكل إعادة المحاولة",
    "memorySkillsSkillsmpMarketplace": "سوق SkillsMP",
    "memorySkillsFailedToSave": "فشل الحفظ",
    "memorySkillsApiKey": "مفتاح واجهة برمجة التطبيقات",
    "memorySkillsActiveSkillsProvider": "مزود المهارات النشطة",
    "cliproxyapiFallback": "CLIProxyAPI الاحتياطي",
    "cliproxyapiEnableFallback": "تمكين خيار CLIPProxyAPI الاحتياطي",
    "cliproxyapiUrl": "عنوان URL لـ CLIProxyAPI",
    "cliproxyapiStatus": "حالة كليبروكسيابي",
    "cliproxyapiNotDetected": "لم يتم الكشف عنها",
    "payloadRulesTitle": "قواعد الحمولة",
    "payloadRulesDesc": "__MISSING__:Configure request payload mutations by model and protocol. Changes are persisted in settings and hot reloaded into the runtime immediately after save.",
    "payloadRuleDefaultTitle": "__MISSING__:default",
    "payloadRuleDefaultDesc": "__MISSING__:Applies params only when the target path is missing from the outgoing payload.",
    "payloadRuleOverrideTitle": "__MISSING__:override",
    "payloadRuleOverrideDesc": "__MISSING__:Forces values onto the payload, replacing anything already present at that path.",
    "payloadRuleFilterTitle": "__MISSING__:filter",
    "payloadRuleFilterDesc": "__MISSING__:Removes blocked params from the payload before the upstream request is sent.",
    "payloadRuleDefaultRawTitle": "__MISSING__:defaultRaw",
    "payloadRuleDefaultRawDesc": "__MISSING__:Like default, but string values are parsed as JSON first when possible. The legacy input alias default-raw is also accepted on save.",
    "payloadEditorTitle": "__MISSING__:Editor",
    "payloadEditorDesc": "__MISSING__:Use the runtime schema shape: default, override, filter, defaultRaw. The API also accepts the legacy input key default-raw.",
    "payloadEditorReady": "__MISSING__:Ready",
    "payloadResetInfo": "__MISSING__:Editor reset to the neutral template. Save to apply it.",
    "payloadSaveSuccess": "__MISSING__:Payload rules saved and hot reloaded.",
    "payloadJsonParseError": "__MISSING__:JSON parse error: {error}",
    "payloadMustBeObject": "__MISSING__:Payload rules must be a JSON object.",
    "payloadInvalidJson": "__MISSING__:Invalid JSON payload.",
    "payloadValidJsonRequired": "__MISSING__:Payload rules must be valid JSON before saving.",
    "savePayloadRules": "__MISSING__:Save Payload Rules",
    "requestLimitsTitle": "__MISSING__:Request Limits",
    "requestLimitsDesc": "__MISSING__:Configure global request limits and concurrency guards.",
    "maxRequestSizeLabel": "__MISSING__:Max Request Size (MB)",
    "maxRequestSizeDesc": "__MISSING__:Maximum allowed size for incoming API requests.",
    "maxResponseSizeLabel": "__MISSING__:Max Response Size (MB)",
    "maxResponseSizeDesc": "__MISSING__:Maximum allowed size for outgoing API responses.",
    "maxRequestTokensLabel": "__MISSING__:Max Request Tokens",
    "maxRequestTokensDesc": "__MISSING__:Maximum total tokens allowed in a single request.",
    "maxResponseTokensLabel": "__MISSING__:Max Response Tokens",
    "maxResponseTokensDesc": "__MISSING__:Maximum total tokens allowed in a single response.",
    "modelCooldownsTitle": "نماذج في فترة التهدئة",
    "modelCooldownsEmpty": "لا توجد نماذج في فترة التهدئة الآن.",
    "codexFastTierTitle": "طبقة الدستور الغذائي السريعة",
    "codexFastTierDesc": "قم بإدخال Service_tier=priority عالميًا لطلبات OpenAI Codex.",
    "codexFastTierHint": "عند التمكين، يضيف OmniRoute خدمة_الطبقة=الأولوية إلى طلبات Codex الصادرة للاتصالات التي لا تحدد طبقة بالفعل. تتطلب طبقة الأولوية مفتاح OpenAI Enterprise API أو مسار ChatGPT-auth Codex؛ ستتلقى أنواع المفاتيح الأخرى خطأ متعلقًا بالطبقة من OpenAI. تكون الأولوية لإعدادات كل اتصال في صفحة موفر Codex.",
    "codexFastTierSaveError": "فشل في تحديث إعداد Codex Fast Tier",
    "codexFastTierTierLabel": "__MISSING__:Service tier",
    "codexFastTierTierPriority": "__MISSING__:Priority",
    "codexFastTierTierFlex": "__MISSING__:Flex",
    "codexFastTierTierDefault": "__MISSING__:Default",
    "codexFastTierModelsLabel": "__MISSING__:Fast-tier models",
    "codexFastTierModelsHint": "__MISSING__:Only checked models receive service_tier when Fast Tier is enabled.",
    "codexFastTierModelCheckbox": "__MISSING__:Enable Fast Tier for {model}",
    "claudeFastModeTitle": "كلود الوضع السريع",
    "claudeFastModeDesc": "قم باختيار طلبات Claude المحددة في الوضع الأنثروبي السريع (السرعة: \"سريع\").",
    "claudeFastModeHint": "لا يدعم Anthropic الوضع السريع رسميًا لعملاء نمط SDK. عند التمكين، يقوم OmniRoute بإعادة توجيه رأس X-CPA-Force-Fast-Mode حتى يتمكن إصدار CLIProxyAPI المقترن من الاشتراك في محاكاة ساخرة لنقطة الدخول. يتم فحص نماذج Opus المدرجة فقط من خلال فحص جانب العميل الخاص بـ Anthropic. لا تزال طبقة الاشتراك وخطة Max والرصيد الائتماني للوضع السريع مفروضة من جانب الخادم - قد تقوم Anthropic بإرجاع out_of_credits حتى عندما يكون التبديل قيد التشغيل.",
    "claudeFastModeModelsLabel": "يتم تطبيقه على النماذج ({count})",
    "claudeFastModeModelCheckbox": "تمكين الوضع السريع لـ {model}",
    "claudeFastModeSaveError": "فشل في تحديث إعداد Claude Fast Mode",
    "authz": {
      "title": "__MISSING__:Authz Inventory",
      "description": "__MISSING__:5-tier route classification with live bypass policy. Read shows the full taxonomy; mutations re-prompt for the management password.",
      "loading": "__MISSING__:Loading inventory…",
      "loadError": "__MISSING__:Failed to load authz inventory",
      "tier": {
        "LOCAL_ONLY": "__MISSING__:Local only",
        "ALWAYS_PROTECTED": "__MISSING__:Always protected",
        "MANAGEMENT": "__MISSING__:Management",
        "CLIENT_API": "__MISSING__:Client API",
        "PUBLIC": "__MISSING__:Public"
      },
      "bypass": {
        "section": "__MISSING__:Manage-scope bypass",
        "kill_switch": {
          "label": "__MISSING__:Bypass kill-switch",
          "desc": "__MISSING__:Master toggle. When off, no LOCAL_ONLY prefix is reachable from non-loopback regardless of the per-prefix list."
        },
        "prefix": {
          "label": "__MISSING__:Bypassable prefixes",
          "desc": "__MISSING__:LOCAL_ONLY prefixes that manage-scope API keys (or dashboard sessions) may reach from non-loopback hosts.",
          "add": "__MISSING__:Add prefix",
          "placeholder": "__MISSING__:/api/mcp/v2/",
          "empty": "__MISSING__:No prefixes configured. Bypass effectively off."
        },
        "cli_tools_runtime_note": "__MISSING__:Spawn-capable prefix. Compile-time deny; cannot be made bypassable. Shown read-only."
      },
      "password": {
        "prompt": {
          "label": "__MISSING__:Current password",
          "desc": "__MISSING__:Re-confirm to apply security-impacting changes."
        },
        "placeholder": "__MISSING__:Current management password",
        "cancel": "__MISSING__:Cancel",
        "submit": "__MISSING__:Apply"
      },
      "save": "__MISSING__:Save changes",
      "saved": "__MISSING__:Authz settings updated",
      "pending": "__MISSING__:Unsaved changes",
      "badge": {
        "bypassable": "__MISSING__:Bypassable via manage scope",
        "strict": "__MISSING__:Strict loopback",
        "auth_required": "__MISSING__:Auth required",
        "public": "__MISSING__:Public",
        "always_protected": "__MISSING__:Always protected",
        "spawn_capable": "__MISSING__:Spawn-capable"
      },
      "error": {
        "PASSWORD_REQUIRED": "__MISSING__:Current password required to apply these changes.",
        "PASSWORD_MISMATCH": "__MISSING__:Current password is incorrect.",
        "INSUFFICIENT_SCOPE": "__MISSING__:API key lacks the manage scope.",
        "BYPASS_PREFIX_NOT_ALLOWED": "__MISSING__:One or more prefixes target spawn-capable routes and cannot be bypassed.",
        "GENERIC": "__MISSING__:Failed to update authz settings."
      }
    },
    "resilienceBaseCooldownLabel": "التهدئة الأساسية",
    "scopeLabel": "النطاق",
    "triggerLabel": "الزناد",
    "effectLabel": "تأثير",
    "statusEnabled": "ممكّن",
    "statusDisabled": "معطل",
    "resilienceRequestQueueScope": "لكل قائمة انتظار الطلب",
    "resilienceRequestQueueTrigger": "قبل إرسالها إلى المنبع",
    "resilienceRequestQueueEffect": "طلبات قوائم الانتظار، وتقييد التزامن، ومسافات المكالمات",
    "resilienceRequestQueueDesc": "تتحكم هذه الطبقة في الصف والسرعة فقط. لا يقوم بتخزين فترات التهدئة أو قواطع الدائرة المفتوحة.",
    "resilienceAutoEnableApiKeyProvidersDesc": "لتمكين حماية قائمة الانتظار بشكل افتراضي لاتصالات مفتاح API النشطة.",
    "resilienceMaxQueueWait": "الحد الأقصى لوقت الانتظار في قائمة الانتظار",
    "resilienceConnectionCooldownScope": "اتصال فردي",
    "resilienceConnectionCooldownTrigger": "عندما يُرجع الاتصال فشلًا عابرًا في المنبع",
    "resilienceConnectionCooldownEffect": "يتخطى هذا الاتصال مؤقتًا ويزيد من التراجع في حالة الفشل المتكرر",
    "resilienceConnectionCooldownDesc": "يغطي التباطؤ الأساسي حالات فشل الاتصال العابر. عند تمكين تلميحات إعادة المحاولة الأولية، تتجاوز النافذة الصريحة للموفر فترة التهدئة المحلية.",
    "resilienceUseUpstreamRetryHintsDesc": "يستخدم قيم إعادة المحاولة بعد/إعادة التعيين من الموفر الرئيسي عندما يكون ذلك متاحًا.",
    "resilienceUseUpstream429BreakerHints": "استخدم 429 تلميحًا من المنبع لتهدئة الكسارة",
    "resilienceUseUpstream429BreakerHintsShort": "استخدم تلميحات المنبع 429",
    "resilienceUseUpstream429BreakerHintsDesc": "قم بتطبيق إشارات \"إعادة المحاولة بعد\" / استنفاد الحصة من 429 ردًا على مدة تهدئة قاطع الدائرة. يستخدم الإعداد الافتراضي سياسة لكل موفر: يتم تشغيل موفري السحابة المباشرين بشكل افتراضي؛ يتم إيقاف تشغيل موفري الوكيل العكسي والمستضافين ذاتيًا والمدعومين من CLI بشكل افتراضي. مستقل عن \"استخدام تلميحات إعادة المحاولة الأولية\".",
    "resilienceProviderBreakerScope": "المزود بالكامل",
    "resilienceProviderBreakerTrigger": "فشل النقل/الخادم النهائي بعد استنفاد الاتصال الاحتياطي",
    "resilienceProviderBreakerEffect": "قم بحظر هذا الموفر مؤقتًا حتى انتهاء وقت إعادة التعيين",
    "resilienceProviderBreakerDesc": "تظهر حالة الاستراحة المباشرة على صفحة الصحة فقط. تظل حدود معدل الاتصال البالغة 429 في فترة تهدئة الاتصال ولا تتعطل قاطع الموفر.",
    "resilienceResetTime": "إعادة ضبط الوقت",
    "resilienceWaitForCooldownTitle": "انتظر فترة التهدئة",
    "resilienceWaitForCooldownScope": "طلب العميل الحالي",
    "resilienceWaitForCooldownTrigger": "عندما تكون كافة الاتصالات المرشحة باردة بالفعل",
    "resilienceWaitForCooldownEffect": "ينتظر على الخادم ويعيد المحاولة عند انتهاء فترة التهدئة الأولى",
    "resilienceWaitForCooldownDesc": "وهذا يؤثر فقط على الطلب الحالي. لا يقوم بتخزين الاتصال أو حالة الموفر.",
    "resilienceEnableServerWait": "تمكين الانتظار من جانب الخادم",
    "resilienceEnableServerWaitDesc": "عند تمكينه، ينتظر OmniRoute انتهاء فترة التهدئة الأولى ويعيد المحاولة تلقائيًا.",
    "resilienceMaxAttempts": "الحد الأقصى للمحاولات",
    "resilienceMaxWaitPerAttempt": "الحد الأقصى للانتظار لكل محاولة",
    "forcedFingerprintTitle": "Always enabled for {provider} — required for OAuth account safety; cannot be turned off.",
    "forcedFingerprintBadge": "Required",
    "codexSessionAffinityTitle": "تقارب جلسة الدستور الغذائي",
    "codexSessionAffinityDesc": "يحتفظ بمحادثة Codex واحدة على نفس الحساب لعدة ثوانٍ. 0 تعطيله.",
    "codexSessionAffinityTtl": "تقارب TTL (بالثواني)",
    "resetAwareQuotaCacheTitle": "إعادة ضبط ذاكرة التخزين المؤقت للحصص النسبية",
    "resetAwareQuotaCacheDesc": "يقوم بتخزين قياس الحصص عن بعد مؤقتًا للطلب الذي يتم إعادة تعيينه فقط. لا يزال الاختبار المبدئي للحصة يحمي الطلبات. 0/0 يستمر في الجلب المباشر.",
    "resetAwareQuotaCacheTtl": "TTL الطازجة (ثواني)",
    "resetAwareQuotaCacheMaxStale": "الحد الأقصى للتلف (بالثواني)",
    "qdrantCleanupSuccess": "حسنًا: تمت إزالة {count} نقطة (نقاط) (الاحتفاظ: {days} يوم)",
    "qdrantCleanupFailed": "فشلت عملية التنظيف",
    "qdrantCleanupError": "خطأ: {error}",
    "vercelRelaySuccess": "__MISSING__:Vercel Relay deployed successfully",
    "vercelRelayButton": "__MISSING__:Deploy Vercel Relay",
    "vercelRelayModalTitle": "__MISSING__:Deploy Vercel Relay",
    "vercelRelayWarning": "__MISSING__:Warning: A Vercel deployment token is required. This token will only be used to create the serverless relay and will never be stored by OmniRoute.",
    "vercelRelayTokenLabel": "__MISSING__:Vercel Access Token",
    "vercelRelayProjectNameLabel": "__MISSING__:Vercel Project Name",
    "vercelRelayFreeTierNote": "__MISSING__:Relays are lightweight proxy endpoints deployed on Vercel's free tier to bypass local network/region limitations.",
    "vercelRelayDeploying": "__MISSING__:Deploying...",
    "vercelRelayDeploy": "__MISSING__:Deploy",
    "homePinProviderQuotaToHome": "Pin Information to Home Page",
    "homeProviderQuotaLimits": "Provider Quota Limits",
    "homeProviderQuotaLimitsDesc": "Pin the Provider Quota status container (with Refresh All button) to the top of the Home page.",
    "homeQuickStart": "Quick Start",
    "homeQuickStartDesc": "Show the Quick Start panel on the Home page.",
    "homeProviderTopology": "Provider Topology",
    "homeProviderTopologyDesc": "Show the Provider Topology on the Home page."
  },
  "contextRtk": {
    "title": "RTK Engine",
    "description": "Command-aware compression for tool output, terminal logs and build results.",
    "enabled": "Enabled",
    "intensity": "Intensity",
    "intensityMinimal": "Minimal",
    "intensityStandard": "Standard",
    "intensityAggressive": "Aggressive",
    "toolResults": "Tool results",
    "assistantMessages": "Assistant messages",
    "codeBlocks": "Code blocks",
    "filterCatalog": "كتالوج التصفية",
    "filterCatalogDesc": "مرشحات الإخراج المتاحة حسب الفئة",
    "guidedConfig": "التكوين",
    "guidedConfigDesc": "اضبط كيفية قيام RTK بتصفية مخرجات المحطة الطرفية",
    "maxLines": "Max lines",
    "maxChars": "Max chars",
    "deduplicateThreshold": "عتبة إلغاء التكرار",
    "customFilters": "مرشحات مخصصة",
    "detectedType": "النوع المكتشف",
    "confidence": "الثقة",
    "beforeAfter": "قبل / بعد",
    "trustProjectFilters": "مرشحات المشروع الثقة",
    "rawOutputRetention": "الاحتفاظ بالمخرجات الخام",
    "rawOutputNever": "أبدا",
    "rawOutputFailures": "الفشل",
    "rawOutputAlways": "دائما",
    "rawOutputMaxBytes": "الحد الأقصى للإخراج الخام",
    "filterTesting": "Filter Testing",
    "pasteOutput": "Paste tool output to test filtering...",
    "presetHigh": "عدوانية",
    "presetLow": "ضوء",
    "presetMaxChars": "الحد الأقصى لأحرف الإخراج",
    "presetMaxLines": "الحد الأقصى لخطوط الإخراج",
    "presetMedium": "قياسي",
    "run": "Run",
    "result": "Result",
    "previewEmpty": "Run a sample to preview RTK output.",
    "detected": "Detected",
    "masterSwitchOffAlert": "__MISSING__:Token Saver master switch is OFF — these settings will not affect requests until you turn it on from the Endpoint page.",
    "tokensFiltered": "Tokens filtered",
    "filtersActive": "Filters active",
    "requests": "Requests",
    "avgSavings": "Avg savings",
    "simpleMode": "بسيط",
    "advancedMode": "متقدم",
    "searchFilters": "مرشحات البحث...",
    "tooltipDedup": "مدى قوة إزالة الخطوط المتكررة.",
    "tooltipMaxChars": "الحد الأقصى لعدد الأحرف لكل كتلة الإخراج.",
    "tooltipMaxLines": "الحد الأقصى للأسطر التي يجب الاحتفاظ بها من إخراج الأمر. يتم اقتطاع الزائدة."
  },
  "contextCombos": {
    "title": "Compression Combos",
    "description": "Define how engines are combined for different routing scenarios.",
    "createCombo": "Create Compression Combo",
    "editCombo": "Edit",
    "deleteCombo": "Delete",
    "deleteConfirm": "Delete this compression combo?",
    "pipeline": "Pipeline",
    "addStep": "Add Step",
    "removeStep": "Remove",
    "name": "Name",
    "descriptionField": "Description",
    "languagePacks": "Language Packs",
    "outputMode": "Output Mode",
    "assignToRouting": "Assign to Routing Combos",
    "noAssignments": "No routing combos available",
    "default": "Default",
    "setAsDefault": "Set as Default",
    "save": "Save",
    "cancel": "Cancel",
    "enabled": "Enabled"
  },
  "contextCaveman": {
    "title": "Caveman Engine",
    "description": "Rule-based message compression, language packs, analytics and output mode controls.",
    "advancedConfig": "التكوين المتقدم",
    "advancedConfigDesc": "ضبط سلوك الضغط",
    "aggressiveSettings": "الإعدادات العدوانية",
    "aggressiveSettingsDesc": "الحد الأقصى من الضغط مع مقايضات الجودة المحتملة",
    "requests": "Requests",
    "tokensSaved": "Tokens saved",
    "savingsPercent": "Savings %",
    "avgLatency": "Avg latency",
    "languagePacks": "Language Packs",
    "languagePacksDesc": "Enable compression rules for specific languages.",
    "labelAutoTrigger": "الضغط التلقائي عندما يتجاوز السياق",
    "labelCompressionRate": "قوة الضغط",
    "labelMaxTokens": "الرموز المستهدفة لكل رسالة",
    "labelMinLength": "الحد الأدنى لطول الرسالة",
    "labelMinSavings": "الحد الأدنى من الرموز للحفظ",
    "enabled": "Enabled",
    "autoDetect": "Auto-detect language",
    "rulesCount": "{count} rules",
    "inputCompressionTitle": "__MISSING__:Input compression",
    "inputCompressionDesc": "__MISSING__:Rewrite chat history with shorter wording. Reduces input tokens by ~50%.",
    "analyticsTitle": "Compression Analytics",
    "noAnalytics": "No compression analytics yet.",
    "outputMode": "وضع الإخراج",
    "outputModeDesc": "Instructs the LLM to respond in a terse, compact format.",
    "outputModeTitle": "Output Mode",
    "quickSettings": "الإعدادات السريعة",
    "quickSettingsDesc": "إعدادات الضغط الأساسية للبدء",
    "autoClarity": "Auto-Clarity Bypass",
    "bypassConditions": "Bypass conditions",
    "bypassConditionsList": "الأمن، لا رجعة فيه، والتوضيح، وحساسة للنظام",
    "simpleMode": "بسيط",
    "advancedMode": "متقدم",
    "tooltipAutoTrigger": "يتم الضغط تلقائيًا عندما يتجاوز السياق هذا الحجم.",
    "tooltipCompressionRate": "0.0 = لا شيء، 1.0 = الحد الأقصى. 0.5 = متوازن.",
    "tooltipMaxTokens": "عدد الرموز المميزة المستهدفة بعد الضغط. أقل = أكثر عدوانية.",
    "tooltipMinLength": "لا يتم ضغط الرسائل الأقصر من ذلك. أقل = المزيد من الضغط.",
    "tooltipMinSavings": "قم بالضغط فقط إذا كان يحفظ هذا العدد من الرموز المميزة على الأقل.",
    "ultraSettings": "إعدادات الترا",
    "ultraSettingsDesc": "الضغط الدلالي الذي يعمل بنظام SLM",
    "preview": {
      "lite": "Respond concise. Preserve technical terms, code, errors, URLs, and identifiers.",
      "full": "Respond terse and compact. Preserve all technical substance.",
      "ultra": "Respond ultra terse with common technical abbreviations. Preserve exact symbols."
    }
  },
  "translator": {
    "title": "مترجم",
    "metaTitle": "ملعب المترجم | OmniRoute",
    "metaDescription": "تصحيح واختبار وتصور ترجمات تنسيق واجهة برمجة التطبيقات (API) بين مقدمي الخدمة",
    "playgroundTitle": "ملعب المترجم",
    "playground": "ملعب",
    "realtime": "نشاط الترجمة في الوقت الحقيقي",
    "chatTester": "اختبار الدردشة",
    "testBench": "مقعد الاختبار",
    "liveMonitor": "مراقب مباشر",
    "modeDescriptionPlayground": "الصق أي نص طلب واجهة برمجة التطبيقات (API) وشاهد كيف يقوم OmniRoute بترجمته بين تنسيقات الموفر (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)",
    "modeDescriptionChatTester": "أرسل طلبات دردشة حقيقية من خلال OmniRoute وافحص الرحلة الكاملة ذهابًا وإيابًا: الإدخال، والطلب المترجم، واستجابة الموفر، والمخرجات المترجمة.",
    "modeDescriptionTestBench": "قم بتشغيل السيناريوهات المحددة مسبقًا وقارن التوافق عبر الموفرين والنماذج.",
    "modeDescriptionLiveMonitor": "شاهد أحداث الترجمة في الوقت الفعلي أثناء تدفق الطلبات عبر OmniRoute.",
    "modeDescriptionFallback": "تصحيح الأخطاء واختبارها وتصور كيفية قيام OmniRoute بترجمة طلبات واجهة برمجة التطبيقات (API) بين مقدمي الخدمة.",
    "recentTranslations": "الترجمات الأخيرة",
    "noTranslations": "لا توجد ترجمات بعد",
    "source": "المصدر",
    "target": "الهدف",
    "time": "الوقت",
    "model": "نموذج",
    "status": "الحالة",
    "latency": "الكمون",
    "totalTranslations": "إجمالي الترجمات",
    "successful": "ناجح",
    "errors": "أخطاء",
    "avgLatency": "متوسط الكمون",
    "millisecondsShort": "{value}ms",
    "notAvailableSymbol": "—",
    "liveAutoRefreshing": "مباشر - التحديث التلقائي",
    "paused": "متوقف مؤقتًا",
    "eventsAppearHint": "تظهر أحداث الترجمة هنا أثناء تدفق الطلبات عبر OmniRoute. استخدم أيًا من هذه الطرق لإنشاء الأحداث:",
    "chatTesterTab": "علامة تبويب اختبار الدردشة",
    "testBenchTab": "علامة التبويب اختبار البدلاء",
    "externalApiCalls": "مكالمات API الخارجية",
    "ideCliIntegrations": "تكاملات IDE/CLI",
    "inMemoryNote": "ملاحظة: يتم تخزين الأحداث في الذاكرة وإعادة تعيينها عند إعادة تشغيل الخادم.",
    "ok": "حسنًا",
    "errorShort": "خطأ",
    "formatConverter": "محول التنسيق",
    "formatConverterDescription": "الصق أو اكتب نص طلب JSON. سيقوم المترجم بالكشف التلقائي عن التنسيق المصدر وتحويله إلى التنسيق الهدف. استخدم هذا لتصحيح كيفية ترجمة OmniRoute للطلبات بين التنسيقات (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).",
    "translationPathHubSpoke": "{source} → OpenAI (متوسط) → {target}",
    "translationPathDirect": "{source} → {target} (مترجم مباشر)",
    "translationPathPassthrough": "نفس التنسيق - لا حاجة للترجمة",
    "openaiIntermediatePanel": "OpenAI المتوسطة",
    "autoFeaturesTitle": "ما يفعله OmniRoute تلقائيًا",
    "autoFeaturesCount": "8 ميزات",
    "featureReasoningCache": "ذاكرة التخزين المؤقت المنطق",
    "featureReasoningCacheDesc": "يعيد إدخال محتوى الاستدلال المخزن مؤقتًا لنماذج وضع التفكير (DeepSeek V4، وKimi K2، وQwen) عندما يحذفه العملاء من سجل المحادثات.",
    "featureSchemaCoercion": "إكراه المخطط",
    "featureSchemaCoercionDesc": "إصلاح مخططات الأدوات المعطلة: إضافة خصائص إضافية مفقودة، وتصحيح الأوصاف الطويلة، وتطبيع الكائنات المتداخلة.",
    "featureRoleNormalization": "تطبيع الدور",
    "featureRoleNormalizationDesc": "مطور الخرائط → نظام للأهداف غير التابعة لـ OpenAI. نظام الخرائط → مستخدم للنماذج التي لا تدعم دور النظام.",
    "featureToolCallIds": "أداة تطبيع معرف المكالمة",
    "featureToolCallIdsDesc": "يُنشئ معرفات Tool_call فريدة في حالة فقدها. يتم التطبيع إلى تنسيق 9 أحرف لمقدمي الخدمات مثل Mistral.",
    "featureMissingToolResponse": "حقن استجابة الأداة",
    "featureMissingToolResponseDesc": "يُدخل رسائل نتيجة أداة فارغة عندما يرسل العملاء مكالمات أداة بدون استجابات مقابلة.",
    "featureThinkingBudget": "ميزانية التفكير",
    "featureThinkingBudgetDesc": "يدير تكوين التفكير تلقائيًا. يزيل معلمات التفكير عندما لا تكون الرسالة الأخيرة من المستخدم.",
    "featureDirectPaths": "مسارات الترجمة المباشرة",
    "featureDirectPathsDesc": "تحتوي بعض أزواج التنسيق (Claude → Gemini) على مترجمين مباشرين يتجاوزون مركز OpenAI، مما ينتج عنه مخرجات أكثر دقة.",
    "featureImageMapping": "تعيين حجم الصورة",
    "featureImageMappingDesc": "يترجم اصطلاحات أبعاد الصورة بين تنسيقات واجهة برمجة التطبيقات (على سبيل المثال، مستويات تفاصيل OpenAI ← أبعاد الجوزاء).",
    "input": "الإدخال",
    "output": "الإخراج",
    "auto": "تلقائي",
    "swapFormats": "تبادل الصيغ",
    "translateAction": "ترجمة",
    "clear": "واضح",
    "inputPlaceholder": "الصق نص الطلب هنا أو حدد القالب أدناه...",
    "exampleTemplates": "قوالب سبيل المثال",
    "exampleTemplatesHint": "- انقر للتحميل",
    "templateLoadHint": "يقوم القالب بتحميل الطلب بتنسيق {format}. قم بتغيير تنسيق المصدر للتحميل بتنسيق مختلف.",
    "compatibilityTester": "اختبار التوافق",
    "compatibilityReport": "تقرير التوافق",
    "testBenchDescription": "قم بتشغيل سيناريوهات محددة مسبقًا (الدردشة البسيطة، واستدعاء الأدوات، وما إلى ذلك) للتحقق من توافق الترجمة وموفر الخدمة. حدد تنسيق المصدر والموفر المستهدف، ثم قم بإجراء جميع الاختبارات لمعرفة نسبة التوافق. استخدم هذا للعثور على الميزات التي تعمل عبر مقدمي الخدمة.",
    "targetProvider": "مقدم الهدف",
    "runAllTests": "تشغيل كافة الاختبارات",
    "runTest": "تشغيل الاختبار",
    "reRun": "إعادة تشغيل",
    "running": "جارٍ...",
    "passed": "مرت",
    "failed": "فشل",
    "passedIconLabel": "✅ نجح",
    "chunks": "قطع",
    "scenarioSimpleChat": "دردشة بسيطة",
    "scenarioToolCalling": "استدعاء الأداة",
    "scenarioMultiTurn": "متعدد المنعطفات",
    "scenarioThinking": "التفكير",
    "scenarioSystemPrompt": "موجه النظام",
    "scenarioStreaming": "الجري",
    "templateNames": {
      "simple-chat": "دردشة بسيطة",
      "tool-calling": "استدعاء الأداة",
      "multi-turn": "متعدد المنعطفات",
      "thinking": "التفكير",
      "system-prompt": "موجه النظام",
      "streaming": "الجري",
      "vision": "الرؤية",
      "schema-coercion": "إكراه المخطط"
    },
    "templateDescriptions": {
      "simple-chat": "رسالة نصية أساسية",
      "tool-calling": "استدعاء الوظيفة/الأداة",
      "multi-turn": "حوار مع التاريخ",
      "thinking": "التفكير الموسع / الاستدلال",
      "system-prompt": "تعليمات النظام المعقدة",
      "streaming": "طلب تدفق SSE",
      "vision": "طلب متعدد الوسائط مع إدخال الصورة",
      "schema-coercion": "إخراج منظم / تنفيذ مخطط JSON"
    },
    "templatePayloads": {
      "simpleChat": {
        "system": "أنت مساعد مفيد.",
        "userGreeting": "مرحبا! كيف حالك اليوم؟"
      },
      "toolCalling": {
        "userWeather": "ما هو الطقس في ساو باولو ؟",
        "toolDescription": "الحصول على الطقس الحالي لموقع ما",
        "cityNameDescription": "اسم المدينة"
      },
      "multiTurn": {
        "system": "أنت مساعد الترميز.",
        "userInitial": "اكتب دالة لفرز مصفوفة في بايثون.",
        "assistantExample": "إليك وظيفة فرز بسيطة:\n\n```بيثون\nتعريفsort_array(arr):\n    العودة مرتبة (arr)\n```",
        "userFollowUp": "الآن قم بفرزها بترتيب تنازلي."
      },
      "thinking": {
        "question": "ما هو مجموع أول 100 عدد أولي؟"
      },
      "systemPrompt": {
        "systemInstruction": "أنت مهندس برمجيات كبير متخصص في الأنظمة الموزعة. أجب عن الأسئلة بإيجاز باستخدام أفضل ممارسات الصناعة. قم دائمًا بتقديم أمثلة التعليمات البرمجية عندما يكون ذلك مناسبًا. قم بتنسيق ردودك باستخدام تخفيض السعر.",
        "question": "كيف يمكنني تنفيذ نمط قاطع الدائرة؟"
      },
      "streaming": {
        "prompt": "أخبرني قصة قصيرة عن روبوت يتعلم الرسم."
      },
      "vision": {
        "system": "أنت مساعد يصف الصور بدقة.",
        "userPrompt": "ما هو مبين في هذه الصورة؟",
        "imageUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/600px-PNG_transparency_demonstration_1.png"
      },
      "schemaCoercion": {
        "userPrompt": "ابحث عن الطقس في طوكيو باستخدام الوحدات المترية وقم بتضمين التفاصيل بالساعة.",
        "toolDescription": "جلب الطقس لمدينة مع خيارات منظمة.",
        "cityDescription": "المدينة المراد الاستعلام عنها، على سبيل المثال. \"طوكيو\" أو \"نيويورك\"."
      }
    },
    "openaiCompatibleLabel": "متوافق مع OpenAI",
    "anthropicCompatibleLabel": "متوافق مع الأنثروبولوجيا",
    "noTemplateForFormat": "لا يوجد قالب لهذا التنسيق",
    "translationFailed": "فشلت الترجمة: {error}",
    "pipelineDebugger": "مصحح أخطاء خطوط الأنابيب",
    "translationPipeline": "خط أنابيب الترجمة",
    "pipelineVisualization": "تصور خطوط الأنابيب",
    "pipelineVisualizationHint": "أرسل رسالة لترى كيف يتدفق طلبك من خلال الكشف → الترجمة → الاتصال بالمزود.",
    "chatTesterDescription": "أرسل الرسائل بتنسيق عميل محدد وافحص كل خطوة من خطوات الترجمة.",
    "chatTesterFlow": "طلب العميل ← اكتشاف التنسيق ← OpenAI Intermediate ← تنسيق الموفر ← الاستجابة",
    "clickStepToInspect": "انقر فوق أي خطوة لفحص البيانات في تلك المرحلة.",
    "clientFormat": "تنسيق العميل",
    "provider": "مزود",
    "modelPlaceholder": "حدد أو اكتب اسم الطراز...",
    "sendMessageToSeePipeline": "أرسل رسالة لرؤية مسار الترجمة",
    "chatMessageHintPrefix": "سيتم تنسيق رسالتك كـ",
    "chatMessageHintSuffix": "الطلب، وترجمته عبر المسار، وإرساله إلى الموفر المحدد.",
    "youWithFormat": "أنت ({format})",
    "assistant": "مساعد",
    "typeMessage": "اكتب رسالة...",
    "send": "أرسل",
    "clientRequest": "طلب العميل",
    "clientRequestDescription": "نص الطلب كما سيرسله عميلك",
    "formatDetected": "تم الكشف عن التنسيق",
    "formatDetectedDescription": "يقوم OmniRoute بالكشف التلقائي عن تنسيق واجهة برمجة التطبيقات (API) من بنية الطلب",
    "openaiIntermediate": "OpenAI المتوسطة",
    "openaiIntermediateDescription": "يتم أولاً تطبيع جميع التنسيقات إلى تنسيق OpenAI (الجسر العالمي)",
    "providerFormat": "تنسيق الموفر",
    "providerFormatDescription": "تتم ترجمة تنسيق OpenAI إلى التنسيق الأصلي للموفر",
    "providerResponse": "استجابة المزود",
    "providerResponseRawDescription": "الاستجابة الأولية من واجهة برمجة تطبيقات الموفر",
    "providerResponseSseDescription": "دفق SSE الخام من واجهة برمجة تطبيقات الموفر",
    "unexpectedError": "حدث خطأ غير متوقع",
    "error": "خطأ",
    "errorMessage": "خطأ: {message}",
    "requestFailed": "فشل الطلب",
    "noTextExtracted": "(لم يتم استخراج النص)",
    "liveMonitorMemoryNote": "يتم تخزين الأحداث في الذاكرة وتفقد عند إعادة التشغيل.",
    "liveMonitorMemoryCapNote": "تم الاحتفاظ بحد أقصى 200 حدث.",
    "eventSourcesLabel": "مصادر الحدث:",
    "eventSourceTranslatorPage": "• صفحة المترجم (مختبر الدردشة، مقعد الاختبار)",
    "eventSourceMainPipeline": "• مسار الطلب الرئيسي (حركة مرور CLI/IDE/API)",
    "liveMonitorDescriptionPrefix": "يعرض أحداث الترجمة أثناء تدفق مكالمات API عبر OmniRoute. تأتي الأحداث من المخزن المؤقت في الذاكرة (يتم إعادة التعيين عند إعادة التشغيل). استخدم",
    "liveMonitorDescriptionSuffix": "أو مكالمات API الخارجية لإنشاء الأحداث.",
    "streamTransformer": "محول الدفق",
    "modeDescriptionStreamTransformer": "قم بتشغيل تدفقات SSE الخاصة بإكمالات الدردشة من خلال محول الردود.",
    "streamTransformerTitle": "ردود تيار المحولات",
    "streamTransformerDescription": "الصق دفق SSE لاستكمالات الدردشة، وقم بتشغيله من خلال محول استجابات OmniRoute، وافحص الاستجابة المنبعثة.* الأحداث قبل توصيل العميل.",
    "loadTextSample": "تحميل عينة النص",
    "loadToolSample": "تحميل نموذج استدعاء الأداة",
    "transformToResponses": "تحويل إلى ردود",
    "rawChatSseInput": "استكمالات الدردشة الأولية SSE",
    "transformedResponsesSse": "الاستجابات المحولة API SSE",
    "noResultsYet": "لا توجد نتائج حتى الآن",
    "transformedEvents": "الأحداث المتحولة",
    "uniqueEventTypes": "أنواع الأحداث الفريدة",
    "inputLines": "خطوط الإدخال",
    "outputLines": "خطوط الإخراج",
    "transformedEventTimeline": "تحول الجدول الزمني للحدث",
    "transformerTimelineHint": "قم بتشغيل المحول لفحص أحداث Response.output_* المنبعثة بالترتيب.",
    "eventType": "نوع الحدث",
    "eventPreview": "معاينة",
    "comboRouted": "تم توجيه التحرير والسرد",
    "uniqueEndpoints": "نقاط النهاية الفريدة",
    "routeDetails": "تفاصيل الطريق",
    "comboBadge": "كومبو",
    "routeEndpointLabel": "نقطة النهاية",
    "routeConnectionLabel": "اتصال",
    "scenarioVision": "الرؤية (فهم الصورة)",
    "scenarioSchemaCoercion": "إكراه المخطط (الإخراج المنظم)",
    "techniques": "التقنيات:"
  },
  "usage": {
    "title": "الاستخدام",
    "loggerTab": "المسجل",
    "proxyTab": "وكيل",
    "budgetManagement": "إدارة الميزانية",
    "budgetSaved": "تم حفظ حدود الميزانية",
    "budgetSaveFailed": "فشل في حفظ الميزانية",
    "loadingBudgetData": "جارٍ تحميل بيانات الميزانية...",
    "noApiKeysTitle": "لا توجد مفاتيح API",
    "noApiKeysDescription": "أضف مفاتيح واجهة برمجة التطبيقات (API) أولاً لإعداد حدود الميزانية.",
    "apiKey": "مفتاح واجهة برمجة التطبيقات",
    "todaysSpend": "إنفاق اليوم",
    "thisMonth": "هذا الشهر",
    "setLimits": "تعيين الحدود",
    "dailyLimitUsd": "الحد اليومي (دولار أمريكي)",
    "monthlyLimitUsd": "الحد الشهري (دولار أمريكي)",
    "warningThresholdPercent": "عتبة التحذير (%)",
    "dailyLimitPlaceholder": "على سبيل المثال 5.00",
    "monthlyLimitPlaceholder": "على سبيل المثال 50.00",
    "warningThresholdPlaceholder": "80",
    "saveLimits": "حفظ الحدود",
    "budgetOk": "الميزانية جيدة — {remaining} متبقية",
    "budgetExceeded": "تم تجاوز الميزانية — قد يتم حظر الطلبات",
    "totalRequests": "إجمالي الطلبات",
    "noDataYet": "لا توجد بيانات حتى الآن",
    "latency": "الكمون",
    "latencyP50": "ص50",
    "latencyP95": "ص95",
    "latencyP99": "ص99",
    "promptCache": "ذاكرة التخزين المؤقت الفوري",
    "systemHealth": "صحة النظام",
    "entries": "إدخالات",
    "activeCount": "{count} نشط",
    "openCircuitBreakersDetected": "تم اكتشاف قواطع الدائرة المفتوحة",
    "hitRate": "معدل الإصابة",
    "hitsMisses": "الزيارات / الأخطاء",
    "circuitBreakers": "قواطع الدائرة",
    "lockedIPs": "عناوين IP المقفلة",
    "lockoutsAutoRefreshHint": "أقفال حد المعدل لكل طراز • التحديث التلقائي لمدة 10 ثوانٍ",
    "lockedCount": "{count, plural, one {# locked} other {# locked}}",
    "timeLeft": "{time} اليسار",
    "howItWorks": "كيف يعمل",
    "howItWorksSubtitle": "تعرف على كيفية التحقق من صحة التقييمات من استجابات LLM الخاصة بك",
    "define": "تحديد",
    "defineStepDescription": "أنشئ حالات اختبار باستخدام مطالبات الإدخال ومعايير الإخراج المتوقعة باستخدام إستراتيجيات مثل الاحتواء أو التعبير العادي أو المطابقة التامة.",
    "run": "تشغيل",
    "runStepDescription": "قم بتنفيذ حالات الاختبار على نقاط نهاية LLM الخاصة بك من خلال OmniRoute. يتم إرسال كل حالة كطلب API حقيقي.",
    "evaluate": "تقييم",
    "evaluateStepDescription": "تتم مقارنة الاستجابات بالمعايير المتوقعة. راجع النجاح/الفشل لكل حالة باستخدام مقاييس زمن الاستجابة والتعليقات التفصيلية.",
    "evalsStrategyContainsLabel": "__MISSING__:Contains",
    "evalsStrategyExactLabel": "__MISSING__:Exact Match",
    "evalsStrategyRegexLabel": "__MISSING__:Regex",
    "evalsStrategyCustomLabel": "__MISSING__:Custom Logic",
    "evalsStrategyContainsDescription": "__MISSING__:Checks if the LLM output contains the expected substring.",
    "evalsStrategyExactDescription": "__MISSING__:Checks if the LLM output exactly matches the expected value.",
    "evalsStrategyRegexDescription": "__MISSING__:Validates the LLM output against a regular expression pattern.",
    "evalsStrategyCustomDescription": "__MISSING__:Custom evaluation logic (configured via JSON).",
    "historyColumnSuiteName": "__MISSING__:Suite Name",
    "historyColumnTarget": "__MISSING__:Target",
    "historyColumnPassRate": "__MISSING__:Pass Rate",
    "historyColumnAvgLatencyMs": "__MISSING__:Avg Latency",
    "historyColumnCreatedAt": "__MISSING__:Executed",
    "evalSuites": "أجنحة التقييم",
    "evalSuitesHint": "انقر فوق مجموعة لعرض حالات الاختبار، ثم قم بالتشغيل لتقييم نقاط نهاية LLM الخاصة بك",
    "evalsLoading": "جارٍ تحميل مجموعات التقييم...",
    "noEvalSuitesFound": "لم يتم العثور على أجنحة Eval",
    "noEvalSuitesDescription": "يمكن تعريف مجموعات Eval عبر واجهة برمجة التطبيقات (API) أو في التعليمات البرمجية. يقومون باختبار مخرجات النموذج مقابل النتائج المتوقعة باستخدام إستراتيجيات مثل الاحتواء والتعبير العادي والمطابقة التامة والوظائف المخصصة.",
    "columnCase": "القضية",
    "columnStatus": "الحالة",
    "columnLatency": "الكمون",
    "columnDetails": "التفاصيل",
    "columnModel": "نموذج",
    "columnStrategy": "استراتيجية",
    "columnExpected": "متوقع",
    "statsSuites": "أجنحة",
    "statsTestCases": "حالات الاختبار",
    "statsModels": "نماذج",
    "statsCoverage": "التغطية",
    "statsStrategiesCount": "إستراتيجيات {count}",
    "evaluationStrategies": "استراتيجيات التقييم",
    "modelsUnderTest": "نماذج تحت الاختبار",
    "searchSuitesPlaceholder": "أجنحة البحث...",
    "passSuffix": "تمرير",
    "casesCount": "{count, plural, one {# case} other {# cases}}",
    "runEval": "تشغيل التقييم",
    "runAllSuites": "تشغيل الكل",
    "runAllRunning": "تشغيل الكل...",
    "runAllProgress": "تشغيل {current}/{total}: {name}",
    "runAllFailedSuites": "{count, plural, one {# suite failed} other {# suites failed}}",
    "runAllCompleted": "تم تشغيل {suites} مجموعة — تم نجاح {passed}، وفشل {failed}",
    "runAllCompletedWithFailures": "تم تشغيل {completed} من الأجنحة؛ فشل إكمال {failedSuites}",
    "runningProgress": "جارٍ تشغيل {current}/{total}...",
    "passRate": "معدل النجاح",
    "summaryBreakdown": "تم اجتياز {passed} · فشل {failed} · {total} الإجمالي",
    "passedIconLabel": "✅ نجح",
    "failedIconLabel": "❌فشل",
    "resultPassed": "مرت",
    "resultFailed": "فشل",
    "expandResult": "توسيع تفاصيل النتيجة",
    "collapseResult": "طي تفاصيل النتيجة",
    "detailsContains": "يحتوي على: \"{term}\"",
    "detailsRegex": "التعبير العادي: {pattern}",
    "detailsExpected": "المتوقع: \"{expected}\"",
    "expectedOutputLabel": "الناتج المتوقع",
    "noResultsYet": "لا توجد نتائج حتى الآن",
    "testCasesCount": "حالات الاختبار ({count})",
    "noTestCasesDefined": "لم يتم تحديد حالات الاختبار",
    "runEvalHint": "انقر فوق \"Run Eval\" لتنفيذ جميع الحالات ضد نقطة نهاية LLM الخاصة بك. يرسل كل اختبار طلبًا حقيقيًا عبر OmniRoute.",
    "notifyNoTestCases": "لم يتم تحديد حالات اختبار لهذه المجموعة",
    "notifyAllCasesPassed": "تم اجتياز جميع حالات {total} ✅",
    "notifySomeCasesFailed": "تم اجتياز {passed}/{total}، وفشل {failed}",
    "notifyEvalRunFailed": "فشل تشغيل التقييم",
    "notifyEvalTitle": "التقييم: {name}",
    "modelEvals": "التقييمات النموذجية",
    "evalsHeroDescription": "قم باختبار نقاط نهاية LLM الخاصة بك والتحقق من صحتها عن طريق تشغيل مجموعات التقييم المحددة مسبقًا. تحتوي كل مجموعة على حالات اختبار ترسل مطالبات حقيقية من خلال OmniRoute وتقارن الاستجابات بالمعايير المتوقعة - مما يساعدك على اكتشاف التراجعات ومقارنة النماذج وضمان جودة الاستجابة عبر مقدمي الخدمة.",
    "qualityValidation": "التحقق من الجودة",
    "modelComparison": "مقارنة النماذج",
    "regressionDetection": "كشف الانحدار",
    "latencyBenchmarks": "مقاييس الكمون",
    "modelLockouts": "عمليات الإغلاق النموذجية",
    "noLockouts": "لا توجد نماذج مقفلة حاليا",
    "activeSessions": "الجلسات النشطة",
    "noSessions": "لا توجد جلسات نشطة",
    "sessionsHint": "تظهر الجلسات أثناء تدفق الطلبات عبر الوكيل",
    "sessionsTrackedHint": "تتبع عن طريق طلب البصمات • التحديث التلقائي 5S",
    "session": "جلسة",
    "age": "العمر",
    "requests": "الطلبات",
    "connection": "اتصال",
    "durationMillisecondsShort": "{value}ms",
    "durationSecondsShort": "{value}s",
    "durationMinutesShort": "{value}م",
    "durationHoursShort": "{value}h",
    "reasonSeparator": " - ",
    "notAvailableSymbol": "-",
    "providerLimits": "حدود المزود",
    "noProviders": "لا يوجد مقدمي خدمات متصلين",
    "connectProvidersForQuota": "اتصل بموفري خدمة OAuth لتتبع حدود حصص واجهة برمجة التطبيقات (API) واستخدامها.",
    "accountsCount": "{count, plural, one {# account} other {# accounts}}",
    "filteredFromCount": "(تمت التصفية من {count})",
    "autoRefresh": "التحديث التلقائي",
    "refreshAll": "تحديث الكل",
    "loadingQuotas": "جار التحميل...",
    "account": "الحساب",
    "modelQuotas": "الحصص النموذجية",
    "lastUsed": "Last Refreshed",
    "actions": "الإجراءات",
    "refreshQuota": "تحديث الحصة",
    "today": "اليوم",
    "tomorrow": "غدا",
    "dayTimeFormat": "{day}، {time}",
    "inDuration": "في {duration}",
    "notApplicable": "لا يوجد",
    "rawPlanWithValue": "الخطة الأولية: {plan}",
    "noPlanFromProvider": "لا توجد خطة من المزود",
    "noQuotaData": "لا توجد بيانات الحصص",
    "cardExpand": "__MISSING__:Expand",
    "cardCollapse": "__MISSING__:Collapse",
    "moreQuotas": "__MISSING__:+{count} more",
    "ungrouped": "Ungrouped",
    "viewFlat": "Flat",
    "viewByEnvironment": "By Environment",
    "noQuotaDataAvailable": "لا توجد بيانات الحصص المتاحة",
    "noAccountsForTierFilter": "لم يتم العثور على حسابات لمرشح الطبقة",
    "tierAll": "الكل",
    "tierEnterprise": "المؤسسة",
    "tierTeam": "فريق",
    "tierBusiness": "الأعمال",
    "tierUltra": "الترا",
    "tierPro": "برو",
    "tierPlus": "زائد",
    "tierFree": "مجاني",
    "tierLite": "__MISSING__:Lite",
    "tierUnknown": "غير معروف",
    "statTotal": "__MISSING__:Total",
    "statCritical": "__MISSING__:Critical",
    "statAlert": "__MISSING__:Alert",
    "statHealthy": "__MISSING__:Healthy",
    "filterPurchaseTypeLabel": "__MISSING__:Type",
    "filterTierLabel": "__MISSING__:Tier",
    "purchaseAll": "__MISSING__:All",
    "purchaseOauthSub": "__MISSING__:Subscription",
    "purchaseOauthFree": "__MISSING__:OAuth Free",
    "purchaseApiKey": "__MISSING__:API Key",
    "creditsLabel": "__MISSING__:Credits",
    "creditBalanceHint": "__MISSING__:Remaining balance",
    "unlimitedLabel": "__MISSING__:Unlimited",
    "refreshing": "__MISSING__:Refreshing",
    "resetsIn": "__MISSING__:Resets in",
    "editCutoffs": "تحرير القطع",
    "forceRefresh": "قم بالتحديث الآن",
    "suiteBuilderSaveFailed": "Failed to save suite",
    "clone": "استنساخ",
    "exportSuite": "تصدير",
    "importSuite": "استيراد",
    "suiteExported": "تم تصدير الجناح",
    "suiteExportFailed": "فشل تصدير المجموعة",
    "suiteImportReady": "تم تحميل استيراد المجموعة للمراجعة",
    "suiteImportFailed": "فشل استيراد المجموعة",
    "suiteImportInvalid": "مجموعة التقييم JSON غير صالحة",
    "suiteBuilderCloneSuffix": "نسخة",
    "suiteBuilderImportedSuite": "جناح مستورد",
    "scorecardTitle": "Scorecard",
    "evalApiKey": "API Key",
    "scorecardPassRate": "Pass Rate",
    "targetTypeModel": "Model",
    "actualOutputLabel": "Actual Output",
    "evalTargetHint": "Select a model or combo to evaluate.",
    "suiteBuilderDeleted": "Suite deleted successfully",
    "suiteBuilderCaseCardHint": "Define the input prompt and expected output criteria.",
    "nextResetUtc": "Next reset (UTC)",
    "scorecardHint": "Aggregated pass rates across all evaluation suites.",
    "suiteLatestRunsHint": "Most recent evaluation runs for this suite.",
    "saving": "Saving",
    "suiteBuilderCaseModelLabel": "Model (optional)",
    "evalControlsTitle": "Evaluation Controls",
    "suiteBuilderEditTitle": "Edit Eval Suite",
    "suiteBuilderCaseStrategyLabel": "Validation Strategy",
    "notifySelectDifferentCompareTarget": "Please select a different target for comparison",
    "recentRunsHint": "Showing the most recent evaluation runs. Click a run to see detailed results.",
    "evalCompareHint": "Optionally compare results against a second target.",
    "suiteBuilderCaseInvalid": "This case has validation errors. Please fix before saving.",
    "historyEmpty": "No evaluation history yet",
    "suiteBuilderUpdated": "Suite updated successfully",
    "resetInterval": "Reset Interval",
    "suiteBuilderCreateTitle": "Create Eval Suite",
    "activePeriodSpend": "Active Period Spend",
    "evalApiKeyHint": "Select which API key to use for evaluation requests.",
    "evalCompareOptional": "Compare (optional)",
    "suiteBuilderDeleteFailed": "Failed to delete suite",
    "suiteBuilderCaseSystemPromptPlaceholder": "Optional system instructions...",
    "scorecardCases": "Cases",
    "runCompletedWithScore": "Evaluation completed — {score}% pass rate",
    "suiteBuilderCustomBadge": "Custom",
    "targetSuiteDefaults": "Suite defaults",
    "suiteBuilderDeleteConfirm": "Are you sure you want to delete this suite? This action cannot be undone.",
    "suiteBuilderNameLabel": "Suite Name",
    "scorecardSuites": "Suites",
    "evalCompareTarget": "Compare Target",
    "suiteBuilderCaseModelPlaceholder": "e.g. gpt-4o-mini",
    "evalControlsHint": "Configure your evaluation target and API key, then run suites to validate model quality.",
    "recentRunsTitle": "Recent Runs",
    "suiteBuilderCaseSystemPromptLabel": "System Prompt",
    "suiteBuilderCaseExpectedPlaceholder": "e.g. def fibonacci",
    "suiteBuilderCaseExpectedPlaceholderContains": "على سبيل المثال ديف فيبوناتشي",
    "suiteBuilderCaseExpectedPlaceholderExact": "الصق الاستجابة المتوقعة بالضبط",
    "suiteBuilderCaseExpectedPlaceholderRegex": "على سبيل المثال ^\\\\s*\\\\{.*\\\\}\\\\s*$",
    "suiteBuilderCaseExpectedHintRegex": "استخدم تعبير جافا سكريبت العادي دون التفاف الخطوط المائلة.",
    "suiteBuilderNamePlaceholder": "e.g. Coding Quality Suite",
    "suiteBuilderAddCase": "Add Case",
    "cancel": "Cancel",
    "evalTarget": "Target",
    "suiteBuilderCaseNameLabel": "Case Name",
    "weeklyLimitUsd": "Weekly Limit (USD)",
    "suiteBuilderCaseUserPromptPlaceholder": "e.g. Write a fibonacci function in Python",
    "suiteBuilderNameRequired": "Suite name is required",
    "suiteBuilderCaseUserPromptLabel": "User Prompt",
    "daily": "Daily",
    "resultErrorLabel": "Error",
    "suiteBuilderBuiltInBadge": "Built-in",
    "suiteBuilderCaseCardTitle": "Test Case",
    "suiteBuilderDuplicateCase": "مكررة",
    "weeklyLimitPlaceholder": "e.g. 50.00",
    "suiteBuilderCaseTagsHint": "Comma-separated tags for organizing test cases.",
    "notifyEvalRunFailedWithReason": "Evaluation failed: {reason}",
    "weekly": "Weekly",
    "runEvalRunning": "Running evaluation...",
    "delete": "Delete",
    "resetTimeUtc": "Reset Time (UTC)",
    "evalApiKeyAuto": "Auto (use default)",
    "suiteBuilderDescriptionPlaceholder": "Optional description of what this suite tests...",
    "targetComparisonTitle": "Target Comparison",
    "save": "Save",
    "suiteBuilderCreated": "Suite created successfully",
    "suiteLatestRuns": "Latest Runs",
    "suiteBuilderCaseExpectedLabel": "Expected Value",
    "historyLatency": "Latency",
    "suiteBuilderCaseTagsPlaceholder": "e.g. coding, python",
    "targetTypeCombo": "Combo",
    "scorecardPassed": "Passed",
    "suiteBuilderCaseTagsLabel": "Tags",
    "suiteBuilderNewSuite": "New Suite",
    "notifyEvalLoadFailed": "Failed to load evaluation data",
    "notConfigured": "Not Configured",
    "suiteBuilderCaseNamePlaceholder": "e.g. Python fibonacci test",
    "intervalLabel": "Interval",
    "suiteBuilderCreateAction": "Create Suite",
    "suiteBuilderCasesHint": "Each case sends a prompt and validates the response.",
    "suiteBuilderUpdatedAt": "Updated",
    "errorBadge": "Error",
    "suiteBuilderCasesTitle": "Test Cases",
    "edit": "Edit",
    "monthly": "Monthly",
    "suiteBuilderCasesRequired": "At least one test case is required",
    "weeklyLimitSummary": "Weekly budget limit summary",
    "suiteBuilderDescriptionLabel": "Description",
    "targetComparisonHint": "Side-by-side comparison of evaluation results between targets.",
    "compareCompletedWithScore": "Comparison completed — {score}% pass rate",
    "staleQuotaTooltip": "Last refresh failed — showing cached data",
    "quotaThresholdLabel": "مين اليسار",
    "quotaCutoffsColumnHelp": "قم بإيقاف الطلبات عندما تنخفض الحصة المتبقية إلى هذه النسبة أو أقل.",
    "quotaCutoffsButtonDefault": "الافتراضي",
    "quotaCutoffsButtonHelp": "تعديل الحد الأدنى لحصص الحصص المتبقية لهذا الحساب.",
    "quotaCutoffsButtonDisabled": "لا تتوفر أي نوافذ للحصص لهذا الحساب حتى الآن.",
    "quotaCutoffsTitle": "قطع الحصص لـ {name} ({provider})",
    "quotaCutoffsExplainer": "تجاوز الحد الأدنى لنسبة الحصة النسبية المتبقية حيث يتوقف تحديد هذا الحساب لكل نافذة حصة. اتركه فارغًا لوراثة الموفر الافتراضي.",
    "quotaCutoffsDefaultHint": "الحد الأدنى الافتراضي المتبقي: {default}%",
    "quotaCutoffsResetAll": "إعادة ضبط الكل",
    "quotaCutoffsNoWindows": "لا تتوفر أي نوافذ للحصص لهذا الحساب حتى الآن.",
    "quotaThresholdInvalid": "أدخل رقمًا صحيحًا من 0 إلى 100.",
    "budgetKpiToday": "اليوم",
    "budgetKpiThisMonth": "هذا الشهر",
    "budgetKpiProjEom": "مشروع EOM",
    "budgetKpiBlocked": "محظور",
    "budgetKpiAtRisk": "في خطر",
    "budgetKpiActiveKeys": "مفاتيح نشطة",
    "budgetSearchKeysPlaceholder": "مفاتيح البحث...",
    "budgetSortPctUsed": "الترتيب: النسبة المستخدمة ↓",
    "budgetSortTodayDollar": "النوع: اليوم $ ↓",
    "budgetSortMonthDollar": "الترتيب: الشهر $ ↓",
    "budgetSortNameAZ": "الفرز: الاسم (أ–ي)",
    "budgetColDailyLim": "الحد اليومي",
    "budgetColMonthlyLim": "ليم شهري",
    "budgetColUsedPct": "النسبة المستخدمة",
    "budgetLoading": "جارٍ التحميل…",
    "budgetNoKeysMatch": "لا توجد مفاتيح تتطابق مع المرشحات",
    "budgetLinearExtrapolation": "الاستقراء الخطي",
    "budgetThisMonthSoFar": "هذا الشهر حتى الآن",
    "budgetProjectedEndOfMonth": "نهاية الشهر المتوقعة",
    "budgetByProvider": "بواسطة المزود",
    "budgetDailyDollar": "يوميا $",
    "budgetWeeklyDollar": "اسبوعية $",
    "budgetMonthlyDollar": "شهريا $",
    "budgetWarnAtPct": "تحذير عند %",
    "quotaAlerts": "تنبيهات الحصص",
    "quotaTableRefreshing": "⟳ منعش...",
    "noSpendLast30Days": "لا يوجد إنفاق في آخر 30 يومًا",
    "updatedShort": "__MISSING__:Updated",
    "lastRefreshed": "__MISSING__:Last refreshed",
    "providerQuota": "__MISSING__:Provider Quota",
    "providerQuotaHomeHint": "__MISSING__:Live status across connected accounts"
  },
  "modals": {
    "waitingAuth": "في انتظار التصريح",
    "verificationUrl": "عنوان URL للتحقق",
    "yourCode": "الرمز الخاص بك",
    "remoteAccess": "الوصول عن بعد:",
    "connectedSuccess": "تم الاتصال بنجاح!",
    "connectionFailed": "فشل الاتصال",
    "chooseAuthMethod": "اختر طريقة المصادقة الخاصة بك:",
    "awsBuilderId": "معرف منشئ AWS",
    "awsIamIdentity": "مركز هوية AWS IAM",
    "googleAccount": "حساب جوجل",
    "githubAccount": "حساب جيثب",
    "importToken": "رمز الاستيراد",
    "pasteToken": "قم بلصق رمز التحديث من Kiro IDE.",
    "awsRegion": "منطقة أوس",
    "autoDetecting": "الكشف التلقائي عن الرموز...",
    "readingFromCache": "القراءة من ذاكرة التخزين المؤقت لـ AWS SSO",
    "readingFromCursor": "القراءة من قاعدة بيانات المؤشر IDE",
    "initializing": "جارٍ التهيئة...",
    "pricingConfig": "تكوين التسعير",
    "loadingPricing": "جارٍ تحميل بيانات الأسعار...",
    "pricingRatesFormat": "تنسيق أسعار التسعير",
    "noPricingData": "لا توجد بيانات التسعير المتاحة",
    "noModelsFound": "لم يتم العثور على نماذج"
  },
  "loggers": {
    "allProviders": "جميع مقدمي الخدمات",
    "allModels": "جميع الموديلات",
    "allAccounts": "جميع الحسابات",
    "allApiKeys": "جميع مفاتيح API",
    "allTypes": "جميع الأنواع",
    "allLevels": "جميع المستويات",
    "modelAZ": "الموديل أ-ي",
    "modelZA": "الموديل Z-A",
    "loadingLogs": "جارٍ تحميل السجلات...",
    "loadingProxyLogs": "جارٍ تحميل سجلات الوكيل...",
    "noLogEntries": "لم يتم العثور على إدخالات السجل",
    "noPayloadData": "لا توجد بيانات حمولة متاحة لإدخال السجل هذا.",
    "proxyEvent": "حدث الوكيل",
    "proxy": "وكيل",
    "level": "المستوى",
    "directNative": "مباشر (وطني)",
    "combo": "كومبو",
    "inputTokens": "أنا:",
    "outputTokens": "يا:"
  },
  "stats": {
    "usageOverview": "نظرة عامة على الاستخدام",
    "outputTokens": "رموز الإخراج",
    "totalCost": "التكلفة الإجمالية",
    "usageByModel": "الاستخدام حسب الموديل",
    "usageByAccount": "الاستخدام عن طريق الحساب",
    "failedToLoad": "فشل تحميل إحصائيات الاستخدام.",
    "tokenHealth": "صحة الرمز",
    "totalOAuth": "إجمالي OAuth",
    "healthy": "صحي",
    "warning": "تحذير",
    "errored": "خطأ",
    "lastCheck": "الاختيار الأخير",
    "noData": "لا توجد بيانات",
    "share": "شارك",
    "unableToLoad": "غير قادر على تحميل مقاييس النظام",
    "product": "المنتج",
    "resources": "الموارد",
    "company": "الشركة"
  },
  "auth": {
    "welcome": "مرحبًا",
    "signIn": "تسجيل الدخول",
    "enterPassword": "أدخل كلمة المرور الخاصة بك للمتابعة",
    "password": "كلمة المرور",
    "unifiedProxy": "وكيل API موحّد للذكاء الاصطناعي",
    "unifiedAiApiProxy": "وكيل API موحّد للذكاء الاصطناعي",
    "unifiedAiApiProxyDesc": "توجيه الطلبات إلى موفري الذكاء الاصطناعي المتعددين من خلال نقطة نهاية واحدة. موازنة التحميل وتجاوز الفشل وتتبع الاستخدام المدمج.",
    "passwordNotEnabled": "لم يتم تمكين الحماية بكلمة المرور",
    "loading": "جار التحميل...",
    "invalidPassword": "كلمة المرور غير صالحة",
    "errorOccurredRetry": "حدث خطأ. يرجى المحاولة مرة أخرى.",
    "configureInstance": "دعنا نقوم بتكوين مثيل OmniRoute الخاص بك",
    "runOnboardingWizard": "قم بتشغيل معالج الإعداد لإعداد كلمة المرور الخاصة بك وتوصيل أول مزود للذكاء الاصطناعي.",
    "startOnboarding": "ابدأ الإعداد",
    "secureYourInstance": "تأمين المثيل الخاص بك",
    "setPasswordDescription": "قم بتعيين كلمة مرور لحماية لوحة المعلومات الخاصة بك وتأمين نقاط نهاية API الخاصة بك من الوصول غير المصرح به.",
    "configurePassword": "تكوين كلمة المرور",
    "continue": "متابعة",
    "windowWillClose": "ستغلق هذه النافذة تلقائيا...",
    "closeTabNow": "يمكنك إغلاق علامة التبويب هذه الآن.",
    "copyUrlManual": "انسخ عنوان URL من شريط العنوان والصقه داخل التطبيق.",
    "accessDeniedDescription": "ليس لديك إذن للوصول إلى هذا المورد. تحقق من مفتاح API الخاص بك أو اتصل بالمسؤول.",
    "goToDashboard": "انتقل إلى لوحة المعلومات",
    "featureMultiProviderTitle": "متعدد الموفر",
    "featureMultiProviderDesc": "OpenAI، وAnthropic، وGoogle، والمزيد",
    "featureLoadBalancingTitle": "موازنة التحميل",
    "featureLoadBalancingDesc": "توزيع الطلبات بذكاء",
    "featureUsageTrackingTitle": "تتبع الاستخدام",
    "featureUsageTrackingDesc": "مراقبة التكاليف والرموز",
    "resetPassword": "إعادة تعيين كلمة المرور",
    "resetDescription": "اختر طريقة لاستعادة الوصول إلى لوحة المعلومات الخاصة بك",
    "stopServer": "أوقف خادم OmniRoute",
    "processing": "جارٍ المعالجة...",
    "pleaseWait": "يرجى الانتظار حتى نكمل التفويض.",
    "authSuccess": "تم التفويض بنجاح!",
    "copyUrl": "انسخ عنوان URL هذا",
    "accessDenied": "تم رفض الوصول",
    "methodCliTitle": "الطريقة الأولى: إعادة تعيين CLI",
    "methodCliDescription": "قم بتشغيل الأمر التالي على الخادم الذي يعمل عليه OmniRoute:",
    "methodCliHint": "سيطالبك هذا بتعيين كلمة مرور جديدة. يجب إيقاف الخادم أولاً.",
    "methodManualTitle": "الطريقة الثانية: إعادة الضبط اليدوي",
    "methodManualDescription": "احذف كلمة المرور من قاعدة البيانات وقم بتعيين كلمة مرور جديدة عند بدء التشغيل:",
    "setPasswordInYour": "عيّن كلمة مرور جديدة في ملف",
    "fileLabelSuffix": "ملف:",
    "newPasswordPlaceholder": "كلمة_مرور_جديدة",
    "deleteSettingsFile": "حذف",
    "orRemovePasswordHashField": "أو قم بإزالة حقل كلمة المرور",
    "restartServerWithNewPassword": "أعد تشغيل الخادم وسيتم استخدام كلمة المرور الجديدة",
    "backToLogin": "العودة إلى تسجيل الدخول",
    "forgotPassword": "هل نسيت كلمة المرور؟",
    "defaultPasswordHint": "Default password: CHANGEME (unless INITIAL_PASSWORD was set)",
    "Authorization": "إذن",
    "Content-Disposition": "التصرف في المحتوى",
    "waitingForAuthorization": "في انتظار الترخيص...",
    "waitingForGoogleAuthorization": "في انتظار إذن Google...",
    "waitingForOpenAIAuthorization": "في انتظار ترخيص OpenAI...",
    "waitingForAntigravityAuthorization": "في انتظار تصريح مكافحة الجاذبية...",
    "waitingForQoderAuthorization": "في انتظار ترخيص Qoder...",
    "exchangingCodeForTokens": "استبدال الكود بالرموز...",
    "nodeIncompatibleTitle": "Incompatible Node.js Version",
    "nodeIncompatibleDesc": "You are running Node.js {version}, which is outside OmniRoute's supported secure runtime policy. Use a patched Node.js 20.x or 22.x LTS release.",
    "nodeIncompatibleFixLabel": "Fix: install a patched Node.js 22 LTS release",
    "nodeIncompatibleHint": "OmniRoute requires Node.js 20.20.2+ (20.x LTS), 22.22.2+ (22.x LTS) or 24.0.0+ (24.x LTS). Node 24 LTS is recommended."
  },
  "landing": {
    "brandName": "OmniRoute",
    "navigateHome": "انتقل إلى المنزل",
    "toggleMenu": "تبديل القائمة",
    "featuresLink": "الميزات",
    "docsLink": "المستندات",
    "github": "جيثب",
    "versionLive": "الإصدار 1.0 أصبح الآن مباشرًا",
    "oneEndpoint": "نقطة نهاية واحدة ل",
    "allProviders": "جميع مقدمي الذكاء الاصطناعي",
    "heroDescription": "وكيل نقطة النهاية AI مع لوحة تحكم الويب - منفذ JavaScript لـ CLIProxyAPI. يعمل بسلاسة مع Claude Code وOpenAI Codex وCline وRooCode وأدوات CLI الأخرى.",
    "getStarted": "ابدأ",
    "viewOnGithub": "عرض على جيثب",
    "powerfulFeatures": "ميزات قوية",
    "featuresSubtitle": "كل ما تحتاجه لإدارة البنية الأساسية للذكاء الاصطناعي لديك في مكان واحد، مصمم خصيصًا للتوسع.",
    "featureUnifiedEndpointTitle": "نقطة النهاية الموحدة",
    "featureUnifiedEndpointDesc": "الوصول إلى جميع مقدمي الخدمة عبر عنوان URL قياسي واحد لواجهة برمجة التطبيقات (API).",
    "featureEasySetupTitle": "إعداد سهل",
    "featureEasySetupDesc": "ابدأ العمل في دقائق معدودة باستخدام أمر npx.",
    "featureModelFallbackTitle": "نموذج احتياطي",
    "featureModelFallbackDesc": "تبديل مقدمي الخدمة تلقائيًا في حالة الفشل أو زمن الوصول العالي.",
    "featureUsageTrackingTitle": "تتبع الاستخدام",
    "featureUsageTrackingDesc": "تحليلات مفصلة ومراقبة التكاليف عبر جميع النماذج.",
    "featureOAuthApiKeysTitle": "مفاتيح OAuth وAPI",
    "featureOAuthApiKeysDesc": "إدارة بيانات الاعتماد بشكل آمن في قبو واحد.",
    "featureCloudSyncTitle": "مزامنة السحابة",
    "featureCloudSyncDesc": "مزامنة التكوينات الخاصة بك عبر الأجهزة على الفور.",
    "featureCliSupportTitle": "دعم سطر الأوامر",
    "featureCliSupportDesc": "يعمل مع Claude Code وCodex وCline وCursor والمزيد.",
    "featureDashboardTitle": "لوحة القيادة",
    "featureDashboardDesc": "لوحة تحكم مرئية لتحليل حركة المرور في الوقت الحقيقي.",
    "howItWorks": "كيف يعمل OmniRoute",
    "howItWorksDescription": "تتدفق البيانات بسلاسة من تطبيقك عبر طبقة التوجيه الذكية الخاصة بنا إلى أفضل مزود لهذه المهمة.",
    "howItWorksStep1Title": "1. واجهة سطر الأوامر (CLI) ومجموعات SDK",
    "howItWorksStep1Description": "تبدأ طلباتك من أدواتك المفضلة أو SDK الموحد الخاص بنا. فقط قم بتغيير عنوان URL الأساسي.",
    "howItWorksStep2Title": "2. مركز OmniRoute",
    "howItWorksStep2Description": "يقوم محركنا بتحليل الموجه، والتحقق من صحة مقدم الخدمة، والمسارات للحصول على أقل زمن وصول أو تكلفة.",
    "howItWorksStep3Title": "3. مقدمو الذكاء الاصطناعي",
    "howItWorksStep3Description": "يتم تنفيذ الطلب بواسطة OpenAI أو Anthropic أو Gemini أو غيرهم على الفور.",
    "getStartedIn30Seconds": "ابدأ في 30 ثانية",
    "getStartedDescription": "قم بتثبيت OmniRoute، وقم بتكوين موفري الخدمة عبر لوحة تحكم الويب، وابدأ في توجيه طلبات الذكاء الاصطناعي.",
    "installOmniRoute": "قم بتثبيت OmniRoute",
    "installStepDescription": "قم بتشغيل الأمر npx لبدء الخادم على الفور",
    "openDashboard": "افتح لوحة المعلومات",
    "openDashboardStepDescription": "تكوين مقدمي الخدمات ومفاتيح API عبر واجهة الويب",
    "routeRequests": "طلبات الطريق",
    "routeRequestsStepDescription": "قم بتوجيه أدوات CLI الخاصة بك إلى {endpoint}",
    "terminal": "محطة",
    "copy": "نسخ",
    "copied": "✓ منقول",
    "startingOmniRoute": "بدء تشغيل OmniRoute...",
    "serverRunningOnLabel": "الخادم قيد التشغيل",
    "dashboardLabel": "لوحة القيادة",
    "readyToRoute": "جاهز للتوجيه! ✓",
    "configureProvidersNote": "📝 تكوين مقدمي الخدمات في لوحة القيادة أو استخدام متغيرات البيئة",
    "dataLocation": "موقع البيانات:",
    "dataLocationMacLinux": " ماك/لينكس:",
    "dataLocationWindows": " ويندوز:",
    "product": "المنتج",
    "dashboardLink": "لوحة القيادة",
    "changelog": "سجل التغيير",
    "resources": "الموارد",
    "documentation": "التوثيق",
    "npm": "الآلية الوقائية الوطنية",
    "legal": "قانوني",
    "mitLicense": "رخصة معهد ماساتشوستس للتكنولوجيا",
    "footerTagline": "نقطة النهاية الموحدة لتوليد الذكاء الاصطناعي. يمكنك الاتصال بموفري خدمات الذكاء الاصطناعي وتوجيههم وإدارتهم بسهولة.",
    "copyright": "© {year} أومنيروتي. جميع الحقوق محفوظة.",
    "flowToolClaudeCode": "كلود كود",
    "flowToolOpenAICodex": "مخطوطة OpenAI",
    "flowToolCline": "كلاين",
    "flowToolCursor": "المؤشر",
    "flowProviderOpenAI": "OpenAI",
    "flowProviderAnthropic": "أنثروبي",
    "flowProviderGemini": "الجوزاء",
    "flowProviderGithubCopilot": "جيثب مساعد الطيار",
    "interactiveDiagram": "رسم تخطيطي تفاعلي مرئي على سطح المكتب",
    "ctaTitle": "هل أنت مستعد لتبسيط البنية الأساسية للذكاء الاصطناعي لديك؟",
    "ctaDescription": "انضم إلى المطورين الذين يقومون بتبسيط عمليات تكامل الذكاء الاصطناعي الخاصة بهم مع OmniRoute. مفتوح المصدر ومجاني للبدء.",
    "startFree": "ابدأ مجانًا",
    "readDocumentation": "قراءة الوثائق"
  },
  "docs": {
    "title": "التوثيق",
    "quickStart": "بداية سريعة",
    "deploymentGuides": "أدلة النشر",
    "features": "الميزات",
    "supportedProviders": "مقدمي الخدمات المدعومة",
    "supportedProvidersToc": "مقدمي الخدمات",
    "commonUseCases": "حالات الاستخدام الشائعة",
    "clientCompatibility": "توافق العميل",
    "protocolsToc": "البروتوكولات",
    "apiReference": "مرجع واجهة برمجة التطبيقات",
    "managementApiReference": "Management API Reference",
    "managementApiDescription": "Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.",
    "method": "الطريقة",
    "path": "المسار",
    "notes": "ملاحظات",
    "modelPrefixes": "البادئات النموذجية",
    "prefix": "بادئة",
    "troubleshooting": "استكشاف الأخطاء وإصلاحها",
    "supportsChat": "يدعم كلاً من نقاط نهاية الدردشة والردود.",
    "oauthAutoRefresh": "اتصال OAuth مع التحديث التلقائي للرمز المميز.",
    "fullStreaming": "دعم البث الكامل لجميع الموديلات.",
    "docsLabel": "المستندات",
    "docsHeroDescription": "بوابة الذكاء الاصطناعي لبرامج LLM متعددة الموفرين. نقطة نهاية واحدة لـ OpenAI وAnthropic وGemini وGitHub Copilot وClaude Code وCursor وأكثر من 20 مزودًا آخر.",
    "openDashboard": "افتح لوحة المعلومات",
    "endpointPage": "صفحة نقطة النهاية",
    "github": "جيثب",
    "reportIssue": "تقرير المشكلة",
    "onThisPage": "في هذه الصفحة",
    "documentationVersion": "التوثيق - v{version}",
    "quickStartStep1Title": "1. التثبيت والتشغيل",
    "quickStartStep1Prefix": "تشغيل",
    "quickStartStep1Middle": "أو استنساخ من GitHub وتشغيله",
    "quickStartStep2Title": "2. إنشاء مفتاح API",
    "quickStartStep2Text": "انتقل إلى نقطة النهاية -> المفاتيح المسجلة. إنشاء مفتاح واحد لكل بيئة.",
    "quickStartStep3Title": "3. ربط مقدمي الخدمات",
    "quickStartStep3Text": "أضف حسابات الموفر عبر تسجيل الدخول إلى OAuth، أو مفتاح API، أو الاتصال التلقائي للطبقة المجانية.",
    "quickStartStep4Title": "4. قم بتعيين عنوان URL لقاعدة العميل",
    "quickStartStep4Prefix": "قم بتوجيه عميل IDE أو API الخاص بك إلى",
    "quickStartStep4Suffix": "استخدم بادئة الموفر، على سبيل المثال",
    "deploySetupTitle": "دليل الإعداد",
    "deploySetupText": "التثبيت خطوة بخطوة، وتكوين البيئة، والإرشادات التفصيلية التي يتم تشغيلها لأول مرة لـ OmniRoute.",
    "deployElectronTitle": "سطح المكتب الإلكتروني",
    "deployElectronText": "قم بتشغيل OmniRoute كتطبيق سطح مكتب أصلي على أنظمة التشغيل Windows وmacOS وLinux.",
    "deployDockerTitle": "عامل ميناء",
    "deployDockerText": "النشر في حاويات باستخدام Docker Compose؛ جاهز لمكدسات الإنتاج وKubernetes.",
    "deployVmTitle": "الآلة الافتراضية",
    "deployVmText": "استضافة ذاتية على أي جهاز افتراضي يعمل بنظام التشغيل Linux. يتضمن وحدة النظام، وتدوير السجل، وأدوات النسخ الاحتياطي.",
    "deployFlyTitle": "Fly.io",
    "deployFlyText": "النشر في وقت تشغيل Fly.io edge باستخدام fly.toml واحد وأمر نشر واحد.",
    "deployPwaTitle": "PWA",
    "deployPwaText": "قم بتثبيت OmniRoute كتطبيق ويب تقدمي على متصفحات Android وiOS ومتصفحات سطح المكتب.",
    "deployTermuxTitle": "Termux (Android)",
    "deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser.",
    "featureRoutingTitle": "التوجيه متعدد الموفرين",
    "featureRoutingText": "توجيه الطلبات إلى أكثر من 30 من موفري خدمات الذكاء الاصطناعي من خلال نقطة نهاية واحدة متوافقة مع OpenAI. يدعم واجهات برمجة التطبيقات للدردشة والاستجابات والصوت والصورة.",
    "featureCombosTitle": "المجموعات والموازنة",
    "featureCombosText": "أنشئ مجموعات نماذج باستخدام سلاسل احتياطية واستراتيجيات موازنة: دورة روبن، والأولوية، والعشوائية، والأقل استخدامًا، والمُحسَّنة من حيث التكلفة.",
    "featureUsageTitle": "تتبع الاستخدام والتكلفة",
    "featureUsageText": "عد الرموز المميزة في الوقت الفعلي، وحساب التكلفة لكل مزود/نموذج، وتوزيع تفصيلي للاستخدام حسب مفتاح واجهة برمجة التطبيقات والحساب.",
    "featureAnalyticsTitle": "لوحة تحكم التحليلات",
    "featureAnalyticsText": "التحليلات المرئية مع الرسوم البيانية للطلبات والرموز المميزة والأخطاء ووقت الاستجابة والتكاليف وشعبية النموذج بمرور الوقت.",
    "featureHealthTitle": "مراقبة الصحة",
    "featureHealthText": "فحوصات صحية حية، وحالة المزود، وحالات قاطع الدائرة، والكشف التلقائي عن حد المعدل مع التراجع الأسي.",
    "featureCliTitle": "أدوات سطر الأوامر",
    "featureCliText": "إدارة تكوينات IDE، وتصدير/استيراد النسخ الاحتياطية، واكتشاف ملفات تعريف المخطوطة، وتكوين الإعدادات من لوحة المعلومات.",
    "featureSecurityTitle": "الأمن والسياسات",
    "featureSecurityText": "مصادقة مفتاح واجهة برمجة التطبيقات (API)، وتصفية IP، وحارس الحقن الفوري، وسياسات المجال، وإدارة الجلسة، وتسجيل التدقيق.",
    "featureCloudSyncTitle": "مزامنة السحابة",
    "featureCloudSyncText": "قم بمزامنة التكوين الخاص بك مع Cloudflare Workers للوصول عن بعد باستخدام بيانات الاعتماد المشفرة وتجاوز الفشل التلقائي.",
    "providersAcrossConnectionTypes": "موفرو {count} عبر ثلاثة أنواع من الاتصال.",
    "manageProviders": "إدارة مقدمي الخدمة",
    "providersCount": "{count} مقدمو الخدمة",
    "providerTypeFree": "الطبقة الحرة",
    "providerTypeOAuth": "OAuth",
    "providerTypeApiKey": "مفتاح واجهة برمجة التطبيقات",
    "useCaseSingleEndpointTitle": "نقطة نهاية واحدة للعديد من مقدمي الخدمة",
    "useCaseSingleEndpointText": "قم بتوجيه العملاء إلى عنوان URL أساسي واحد وتوجيههم حسب بادئة النموذج (على سبيل المثال: gh/، cc/، kr/، openai/).",
    "useCaseFallbackTitle": "الاحتياطي وتبديل النموذج مع المجموعات",
    "useCaseFallbackText": "قم بإنشاء نماذج مجمعة في Dashboard وحافظ على استقرار تكوين العميل أثناء تدوير مقدمي الخدمة داخليًا.",
    "useCaseUsageVisibilityTitle": "الاستخدام والتكلفة ورؤية التصحيح",
    "useCaseUsageVisibilityText": "تتبع الرموز المميزة والتكلفة حسب الموفر والحساب ومفتاح واجهة برمجة التطبيقات في علامتي التبويب \"الاستخدام\" و\"التحليلات\".",
    "clientCherryStudioTitle": "ستوديو الكرز",
    "baseUrlLabel": "عنوان URL الأساسي",
    "chatEndpointLabel": "نقطة نهاية الدردشة",
    "modelRecommendationLabel": "توصية النموذج: بادئة صريحة",
    "clientCodexTitle": "نماذج Codex / GitHub Copilot",
    "clientCodexBullet1": "استخدم معرفات النماذج مع",
    "clientCodexBullet2": "نماذج عائلة Codex تتجه تلقائيًا إلى",
    "clientCodexBullet3": "وتستمر النماذج غير التابعة للدستور الغذائي",
    "clientCursorTitle": "بيئة تطوير متكاملة للمؤشر",
    "clientCursorBullet1": "استخدم",
    "clientCursorBullet1Suffix": "بادئة لنماذج المؤشر.",
    "clientCursorBullet2": "اتصال OAuth - قم بتسجيل الدخول من صفحة مقدمي الخدمة.",
    "clientClaudeTitle": "كلود كود / مضاد الجاذبية",
    "clientClaudeBullet1Prefix": "استخدم",
    "clientClaudeBullet1Middle": "(كلود) أو",
    "clientClaudeBullet1Suffix": "(مضاد الجاذبية) البادئة.",
    "clientWindsurfTitle": "ركوب الأمواج",
    "clientWindsurfBullet1": "استخدم OmniRoute كعنوان URL أساسي متوافق مع OpenAI واحتفظ ببادئات الموفر الصريحة للتوجيه الحتمي.",
    "clientWindsurfBullet2": "قم بتوجيه النماذج إلى `/v1/chat/completions` لحركة المرور العامة واحتفظ بـ`/v1/responses` للتدفقات بنمط Codex.",
    "clientWindsurfBullet3": "استخدم لوحة المعلومات -> أدوات CLI للحصول على دليل تكوين Windsurf الجاهز.",
    "clientClineTitle": "كلاين",
    "clientClineBullet1": "يعمل Cline بشكل أفضل مع بادئات الموفر/النموذج الصريحة بحيث لا يضطر جهاز التوجيه أبدًا إلى تخمين الواجهة الخلفية.",
    "clientClineBullet2": "استخدم `/v1/chat/completions` للنماذج العامة وأعد استخدام نفس عنوان URL الأساسي لـ OmniRoute عبر حسابات مختلفة.",
    "clientClineBullet3": "استخدم لوحة معلومات الموفرين للتحقق من صحة مفتاح OAuth/API قبل تصحيح مشكلات وقت تشغيل Cline.",
    "clientKimiTitle": "ترميز كيمي",
    "clientKimiBullet1": "استخدم OmniRoute كعنوان URL أساسي ثابت أثناء تدوير الحسابات أو مجموعات الموفرين الموجودة أسفلها.",
    "clientKimiBullet2": "قم بتفضيل النماذج البادئة في تدفقات الترميز بحيث يظل المسار الاحتياطي ومسار التدقيق واضحًا.",
    "clientKimiBullet3": "استخدم `/v1/responses` عندما تريد توجيه نمط الاستجابات الأصلي للعملاء الذين يستخدمون الأدوات.",
    "protocolsTitle": "البروتوكولات: MCP & A2A",
    "protocolsDescription": "تعرض OmniRoute بروتوكولين تشغيليين بالإضافة إلى واجهات برمجة التطبيقات المتوافقة مع OpenAI: MCP لتنفيذ الأداة و A2A لسير العمل من وكيل إلى وكيل.",
    "protocolMcpTitle": "MCP (بروتوكول السياق النموذجي)",
    "protocolMcpDesc": "استخدم MCP عبر stdio للسماح للعملاء باكتشاف أدوات OmniRoute والاتصال بها مع رؤية التدقيق.",
    "protocolMcpStep1": "ابدأ نقل MCP باستخدام `omniroute --mcp`.",
    "protocolMcpStep2": "قم بتوجيه عميل MCP الخاص بك إلى STDIO TRANSPORT.",
    "protocolMcpStep3": "اتصل بـ `omniroute_get_health` و `omniroute_list_combos` للتحقق من الاتصال.",
    "protocolA2aTitle": "A2A (Agent2Agent)",
    "protocolA2aDesc": "استخدم A2A JSON - RPC لإرسال المهام بشكل متزامن أو عبر بث SSE.",
    "protocolA2aStep1": "اقرأ `/.well-known/agent.json` لاكتشاف الوكيل.",
    "protocolA2aStep2": "إرسال طلبات @@PH0 @@ أو `message/stream` إلى `POST /a2a`.",
    "protocolA2aStep3": "إدارة دورة حياة المهمة باستخدام @@PH0 @@ و `tasks/cancel`.",
    "protocolTroubleshootingTitle": "استكشاف أخطاء البروتوكول وإصلاحها",
    "protocolTroubleshooting1": "إذا كانت حالة MCP غير متصلة بالإنترنت، فتحقق من تشغيل عملية stdio وتحديث ملف نبضات القلب.",
    "protocolTroubleshooting2": "إذا بقيت مهام A2A في `working`، فافحص `/api/a2a/tasks/:id` ودفق الأحداث للحالة الطرفية.",
    "protocolTroubleshooting3": "استخدم `/dashboard/mcp` و `/dashboard/a2a` لعناصر التحكم التشغيلية ورؤية التدقيق.",
    "endpointChatNote": "نقطة نهاية الدردشة المتوافقة مع OpenAI (افتراضي).",
    "endpointResponsesNote": "نقطة نهاية واجهة برمجة التطبيقات للاستجابات (Codex، o-series).",
    "endpointModelsNote": "كتالوج نموذجي لجميع مقدمي الخدمات المتصلين.",
    "endpointAudioNote": "النسخ الصوتي (Deepgram، AssemblyAI).",
    "endpointSpeechNote": "توليد تحويل النص إلى كلام (ElevenLabs، OpenAI TTS).",
    "endpointEmbeddingsNote": "إنشاء تضمين النص (OpenAI، Cohere، Voyage).",
    "endpointImagesNote": "توليد الصور (NanoBanana).",
    "endpointRewriteChatNote": "إعادة كتابة المساعد للعملاء بدون /v1.",
    "endpointRewriteResponsesNote": "أعد كتابة المساعد للاستجابات بدون /v1.",
    "endpointRewriteModelsNote": "أعد كتابة المساعد لاكتشاف النموذج بدون /v1.",
    "mgmtProxiesListNote": "List saved proxy registry items (supports pagination).",
    "mgmtProxiesCreateNote": "Create a reusable proxy item in the registry.",
    "mgmtProxiesHealthNote": "Get 24h/rolling health metrics per saved proxy from proxy logs.",
    "mgmtProxiesBulkAssignNote": "Assign or clear one proxy across many scope IDs in one request.",
    "mgmtAssignmentsListNote": "List proxy assignments by scope, scope_id, or proxy_id.",
    "mgmtAssignmentsUpdateNote": "Assign or clear proxy for global/provider/account/combo scope.",
    "mgmtLegacyMigrationNote": "Import legacy proxyConfig maps into registry assignments.",
    "modelPrefixesDescriptionStart": "استخدم بادئة الموفر قبل اسم الطراز للتوجيه إلى موفر محدد. مثال:",
    "modelPrefixesDescriptionEnd": "طرق إلى GitHub Copilot.",
    "provider": "مزود",
    "type": "اكتب",
    "troubleshootingModelRouting": "إذا فشل العميل في توجيه النموذج، فاستخدم الموفر/النموذج الصريح (على سبيل المثال: gh/gpt-5.1-codex).",
    "troubleshootingAmbiguousModels": "إذا تلقيت أخطاء نموذجية غامضة، فاختر بادئة الموفر بدلاً من معرف النموذج المجرد.",
    "troubleshootingCodexFamily": "بالنسبة لنماذج عائلة GitHub Codex، احتفظ بالنموذج كـ gh/codex-model; يقوم جهاز التوجيه بتحديد/الاستجابات تلقائيًا.",
    "troubleshootingTestConnection": "استخدم لوحة المعلومات > الموفرون > اختبار الاتصال قبل الاختبار من بيئات تطوير متكاملة أو عملاء خارجيين.",
    "troubleshootingCircuitBreaker": "إذا أظهر مقدم الخدمة أن قاطع الدائرة مفتوح، فانتظر حتى فترة التهدئة أو راجع صفحة الصحة للحصول على التفاصيل.",
    "troubleshootingOAuth": "بالنسبة لموفري OAuth، قم بإعادة المصادقة إذا انتهت صلاحية الرموز المميزة. تحقق من مؤشر حالة بطاقة المزود.",
    "endpointCompletionsNote": "نقطة نهاية الإكمالات القديمة لإنشاء النص.",
    "endpointModerationsNote": "الإشراف على المحتوى وتصنيف السلامة.",
    "endpointRerankNote": "إعادة ترتيب المستندات من أجل توليد الاسترجاع المعزز (Cohere، Jina).",
    "endpointSearchNote": "بحث الويب مع 5 مقدمي خدمات (Serper، Brave، Exa، Tavily، Perplexity).",
    "endpointSearchAnalyticsNote": "التحليلات والمقاييس لطلبات البحث.",
    "endpointVideoNote": "إنشاء الفيديو (سير عمل ComfyUI وSD WebUI).",
    "endpointMusicNote": "توليد الموسيقى عبر سير عمل ComfyUI.",
    "endpointMessagesNote": "نقطة نهاية الرسائل الإنسانية الأصلية.",
    "endpointCountTokensNote": "عد الرموز المميزة لحمولة رسالة معينة.",
    "endpointFilesNote": "تحميل الملف للمدخلات متعددة الوسائط.",
    "endpointBatchesNote": "المعالجة المجمعة لطلبات API المجمعة.",
    "endpointWsNote": "نقطة نهاية WebSocket للبث في الوقت الفعلي.",
    "mgmtProvidersListNote": "قم بإدراج كافة اتصالات المزود المسجل.",
    "mgmtProvidersCreateNote": "إنشاء اتصال مزود جديد.",
    "mgmtProvidersUpdateNote": "قم بتحديث اتصال الموفر الحالي.",
    "mgmtProvidersDeleteNote": "حذف اتصال الموفر.",
    "mgmtProvidersTestNote": "اختبار الاتصال والمصادقة لموفر.",
    "mgmtProvidersModelsNote": "قائمة النماذج المتاحة لمزود معين.",
    "mgmtSettingsGetNote": "استرداد إعدادات التطبيق الحالية.",
    "mgmtSettingsUpdateNote": "تحديث إعدادات التطبيق.",
    "mgmtPayloadRulesGetNote": "احصل على قواعد تحويل الحمولة.",
    "mgmtPayloadRulesUpdateNote": "تحديث قواعد تحويل الحمولة.",
    "mcpToolsTitle": "أدوات MCP",
    "mcpToolsDescription": "يعرض OmniRoute أدوات {count} عبر بروتوكول سياق النموذج لتنسيق الوكيل.",
    "mcpToolsCount": "{count} الأدوات",
    "mcpToolsToc": "أدوات MCP",
    "mcpToolsRoutingTitle": "التوجيه والاكتشاف",
    "mcpToolsRoutingDesc": "عمليات التحقق من الصحة وإدارة التحرير والسرد ومراقبة الحصص وإعداد تقارير التكلفة والوصول إلى كتالوج النماذج.",
    "mcpToolsOperationsTitle": "العمليات والاستراتيجية",
    "mcpToolsOperationsDesc": "محاكاة الطريق، وحراس الميزانية، وتبديل الاستراتيجيات، وملفات تعريف المرونة، ومقاييس المزود.",
    "mcpToolsCacheTitle": "إدارة ذاكرة التخزين المؤقت",
    "mcpToolsCacheDesc": "عرض إحصائيات ذاكرة التخزين المؤقت ومسح ذاكرة التخزين المؤقت الدلالية أو التوقيع.",
    "mcpToolsCompressionTitle": "محركات الضغط",
    "mcpToolsCompressionDesc": "قم بتكوين ضغط RTK/Brotli ومحركات التبديل وفحص تحليلات الضغط من خلال التحرير والسرد.",
    "mcpToolsOneProxyTitle": "1 الوكيل / الأنفاق",
    "mcpToolsOneProxyDesc": "إدارة الوكلاء الصادرين، وتدوير عناوين IP السكنية، وفحص صحة الوكيل.",
    "mcpToolsMemoryTitle": "الذاكرة",
    "mcpToolsMemoryDesc": "البحث عن إدخالات ذاكرة المحادثة المستمرة وإضافتها ومسحها.",
    "mcpToolsSkillsTitle": "المهارات",
    "mcpToolsSkillsDesc": "سرد وتمكين وتنفيذ ومراقبة عمليات تنفيذ المهارات المخصصة.",
    "featureAutoComboTitle": "التحرير والسرد التلقائي",
    "featureAutoComboText": "قم بإنشاء مجموعات محسنة تلقائيًا استنادًا إلى موفري الخدمة المتصلين وأنماط الاستخدام وإمكانيات النموذج.",
    "featureSearchTitle": "بحث الويب",
    "featureSearchText": "بحث متكامل على الويب مع 5 مقدمي خدمات (Serper، وBrave، وExa، وTavily، وPerplexity) بما في ذلك التحليلات وتتبع التكلفة.",
    "featureMemoryTitle": "نظام الذاكرة",
    "featureMemoryText": "ذاكرة محادثة مستمرة مع الاستخراج والحقن والاسترجاع والتلخيص عبر الجلسات.",
    "featureSkillsTitle": "إطار المهارات",
    "featureSkillsText": "نظام مهارات قابل للتوسيع مع مهارات مدمجة ومخصصة، وتنفيذ وضع الحماية، واعتراض الطلب، وحقن السياق.",
    "featureAcpTitle": "اتصالات الوكيل",
    "featureAcpText": "سجل بروتوكول اتصال الوكيل (ACP) لإدارة سير العمل من وكيل إلى وكيل وتنسيق الأدوات.",
    "protocolAcpTitle": "ACP (اتصال الوكيل)",
    "protocolAcpDesc": "قم بتسجيل الوكلاء وإدارتهم عبر سجل ACP للتواصل بين الوكلاء ومشاركة الأدوات.",
    "protocolAcpStep1": "انتقل إلى لوحة المعلومات → الوكلاء لعرض وكلاء ACP المسجلين.",
    "protocolAcpStep2": "قم بتسجيل وكلاء جدد يتمتعون بالإمكانيات وتكوين نقطة النهاية.",
    "protocolAcpStep3": "استخدم أدوات CLI لتكوين قنوات اتصال الوكيل."
  },
  "legal": {
    "privacyPolicy": "سياسة الخصوصية",
    "termsOfService": "شروط الخدمة",
    "providerConfigurations": "تكوينات الموفر",
    "apiKeys": "مفاتيح واجهة برمجة التطبيقات",
    "usageLogs": "سجلات الاستخدام",
    "applicationSettings": "إعدادات التطبيق",
    "viewExportAnalytics": "عرض وتصدير تحليلات الاستخدام",
    "clearHistory": "مسح سجل الاستخدام في أي وقت",
    "configureRetention": "تكوين سياسات الاحتفاظ بالسجل",
    "backupRestore": "النسخ الاحتياطي واستعادة قاعدة البيانات الخاصة بك",
    "privacyMetadataTitle": "سياسة الخصوصية | OmniRoute",
    "privacyMetadataDescription": "سياسة الخصوصية لجهاز التوجيه الوكيل OmniRoute AI API.",
    "termsMetadataTitle": "شروط الخدمة | OmniRoute",
    "termsMetadataDescription": "شروط الخدمة لجهاز التوجيه الوكيل OmniRoute AI API.",
    "backToHome": "العودة إلى المنزل",
    "lastUpdated": "آخر تحديث: {date}",
    "policyLastUpdatedDate": "13 فبراير 2026",
    "listSeparator": "-",
    "questionsVisit": "أسئلة؟ قم بزيارة موقعنا",
    "githubRepository": "مستودع جيثب",
    "privacySection1Title": "1. العمارة المحلية الأولى",
    "privacySection1Text": "تم تصميم OmniRoute كتطبيق محلي أولاً. تتم جميع عمليات معالجة البيانات وتخزينها بالكامل على جهازك. لا يوجد خادم مركزي يجمع معلوماتك.",
    "privacySection2Title": "2. البيانات التي نقوم بتخزينها",
    "privacyDataStoredIn": "يتم تخزين البيانات التالية محليًا في",
    "privacyDataProviderConfigurationsDesc": "عناوين URL للاتصال وأنواع الموفرين وإعدادات الأولوية",
    "privacyDataApiKeysDesc": "مشفرة ومخزنة محليًا للمصادقة مع موفري الذكاء الاصطناعي",
    "privacyDataUsageLogsDesc": "عدد الطلبات واستخدام الرمز المميز وأسماء النماذج والطوابع الزمنية وأوقات الاستجابة",
    "privacyDataApplicationSettingsDesc": "تفضيلات السمة، وإستراتيجية التوجيه، وتكوينات التحرير والسرد",
    "privacySection3Title": "3. لا يوجد قياس عن بعد",
    "privacySection3Text": "لا يقوم OmniRoute بجمع بيانات القياس عن بعد أو التحليلات أو تقارير الأعطال. لا يتم إرسال أي بيانات إلينا أو إلى أي طرف ثالث. تظل أنماط الاستخدام واستدعاءات API والتكوينات خاصة تمامًا.",
    "privacySection4Title": "4. موفرو الذكاء الاصطناعي التابعون لجهات خارجية",
    "privacySection4Text": "عند إجراء استدعاءات واجهة برمجة التطبيقات من خلال OmniRoute، تتم إعادة توجيه طلباتك إلى موفري الذكاء الاصطناعي الذين قمت بتكوينهم (على سبيل المثال: OpenAI، وAnthropic، وGoogle). لدى هؤلاء المزودين سياسات خصوصية خاصة بهم تحكم كيفية تعاملهم مع بياناتك. يرجى مراجعة:",
    "privacyOpenAiPolicy": "سياسة خصوصية OpenAI",
    "privacyAnthropicPolicy": "سياسة الخصوصية الإنسانية",
    "privacyGooglePolicy": "سياسة خصوصية جوجل",
    "privacySection5Title": "5. المزامنة السحابية (اختياري)",
    "privacySection5Text": "إذا قمت بتمكين ميزة المزامنة السحابية الاختيارية، فقد يتم نقل تكوينات الموفر ومفاتيح API إلى نقطة نهاية سحابية تم تكوينها. يتم تعطيل هذه الميزة افتراضيًا وتتطلب الاشتراك الصريح.",
    "privacySection6Title": "6. التسجيل",
    "privacyLoggingIntro": "يمكن تكوين سجلات الطلب من خلال إعدادات لوحة المعلومات. يمكنك:",
    "privacySection7Title": "7. حقوقك",
    "privacySection7TextStart": "وبما أن جميع البيانات مخزنة محليًا، فلديك السيطرة الكاملة. يمكنك حذف بياناتك في أي وقت عن طريق إزالة",
    "privacySection7TextEnd": "الدليل أو استخدام ميزات النسخ الاحتياطي واستعادة قاعدة البيانات في لوحة المعلومات.",
    "termsSection1Title": "1. نظرة عامة",
    "termsSection1Text": "OmniRoute هو أول جهاز توجيه وكيل محلي لواجهة برمجة التطبيقات (AI API) يعمل بالكامل على جهازك. يقوم بتوجيه الطلبات إلى العديد من موفري الذكاء الاصطناعي مع موازنة التحميل وتجاوز الفشل وتتبع الاستخدام.",
    "termsSection2Title": "2. مسؤوليات المستخدم",
    "termsResponsibilityApiKeys": "أنت وحدك المسؤول عن إدارة مفاتيح واجهة برمجة التطبيقات وبيانات الاعتماد الخاصة بك لموفري الذكاء الاصطناعي التابعين لجهات خارجية (OpenAI وAnthropic وGoogle وما إلى ذلك).",
    "termsResponsibilityCompliance": "يجب عليك الالتزام بشروط الخدمة الخاصة بكل مزود للذكاء الاصطناعي الذي يمكنك الوصول إلى واجهة برمجة التطبيقات (API) الخاصة به من خلال OmniRoute.",
    "termsResponsibilitySecurity": "أنت مسؤول عن أمان تثبيت OmniRoute المحلي لديك، بما في ذلك تعيين كلمة مرور وتقييد الوصول إلى الشبكة.",
    "termsSection3Title": "3. كيف يعمل",
    "termsSection3Text": "يعمل OmniRoute كوكيل وسيط. تتم ترجمة مكالمات API المرسلة إلى OmniRoute وإعادة توجيهها إلى موفري الذكاء الاصطناعي الذين تم تكوينهم. لا يقوم OmniRoute بتعديل محتوى طلباتك أو استجاباتك بما يتجاوز ترجمة البروتوكول الضرورية.",
    "termsSection4Title": "4. التعامل مع البيانات",
    "termsDataStoredLocally": "يتم تخزين جميع البيانات محليًا على جهازك في قاعدة بيانات SQLite.",
    "termsNoTransmission": "لا يقوم OmniRoute بنقل أي بيانات إلى خوادم خارجية إلا إذا قمت بتمكين ميزات المزامنة السحابية بشكل صريح.",
    "termsDataLocationText": "يتم تخزين سجلات الاستخدام ومفاتيح API والتكوين في",
    "termsSection5Title": "5. إخلاء المسؤولية",
    "termsSection5Text": "يتم توفير OmniRoute \"كما هو\" دون أي ضمان من أي نوع. نحن لسنا مسؤولين عن أي تكاليف يتم تكبدها من خلال استخدام واجهة برمجة التطبيقات (API)، أو انقطاع الخدمة، أو فقدان البيانات. احتفظ دائمًا بنسخ احتياطية من التكوين الخاص بك.",
    "termsSection6Title": "6. المصدر المفتوح",
    "termsSection6Text": "OmniRoute هو برنامج مفتوح المصدر. ولك الحرية في فحصه وتعديله وتوزيعه بموجب شروط ترخيصه."
  },
  "agents": {
    "title": "CLI Agents",
    "description": "Discover installed CLI agents on your system. Add custom agents for auto-detection.",
    "refresh": "Refresh",
    "installed": "Installed",
    "notFound": "Not Found",
    "builtIn": "Built-in",
    "custom": "Custom",
    "remove": "Remove",
    "addCustomAgent": "Add Custom Agent",
    "addCustomAgentDesc": "Register any CLI tool for detection. It will be scanned automatically on refresh.",
    "agentName": "Agent Name",
    "binaryName": "Binary Name",
    "versionCommand": "Version Command",
    "spawnArgs": "Spawn Args",
    "addAgent": "Add Agent",
    "scanning": "Scanning system for CLI agents...",
    "opencodeIntegration": "OpenCode Integration",
    "opencodeDetected": "opencode {version} detected",
    "opencodeDesc": "Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.",
    "downloadConfig": "Download {file}",
    "downloaded": "Downloaded!",
    "setupGuideTitle": "Setup guide",
    "openCliTools": "Open CLI Tools",
    "setupGuideDetectCliTitle": "Detect installed CLIs",
    "setupGuideDetectCliDesc": "Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.",
    "setupGuideCustomAgentTitle": "Register custom binary",
    "setupGuideCustomAgentDesc": "Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.",
    "setupGuideCommandMissingTitle": "Fix 'command not found'",
    "setupGuideCommandMissingDesc": "Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh.",
    "cliToolsRedirectTitle": "Cli Tools Redirect Title",
    "cliToolsRedirectDesc": "Cli Tools Redirect Desc",
    "spawnArgsPlaceholder": "Spawn Args Placeholder",
    "binaryNamePlaceholder": "Binary Name Placeholder",
    "versionCommandPlaceholder": "Version Command Placeholder",
    "architectureTitle": "Architecture Title",
    "flowLocalBinary": "Flow Local Binary",
    "flowOmniRoute": "Flow Omni Route",
    "agentNamePlaceholder": "Agent Name Placeholder",
    "architectureDescription": "Architecture Description",
    "flowExecute": "Flow Execute",
    "flowSpawn": "Flow Spawn",
    "cliToolsRedirectCta": "Cli Tools Redirect Cta",
    "comparisonTitle": "أدوات CLI مقابل أهداف الوكيل - ما الفرق؟",
    "comparisonCliToolsLabel": "صفحة أدوات CLI",
    "comparisonCliToolsTitle": "يرسل IDE الخاص بك الطلبات عبر OmniRoute",
    "comparisonCliToolsDesc": "قم بتكوين Claude Code وCodex وCursor وIDEs الأخرى لاستخدام OmniRoute كعنوان URL الأساسي لواجهة برمجة التطبيقات (API) الخاصة بهم. يعمل OmniRoute كوكيل، حيث يقوم بتوجيه الطلبات إلى موفري الخدمة الذين تم تكوينهم.",
    "comparisonAgentsLabel": "هذه الصفحة (أهداف الوكيل)",
    "comparisonAgentsTitle": "يرسل OmniRoute الطلبات إلى أدوات CLI المحلية",
    "comparisonAgentsDesc": "يمكن لـ OmniRoute إنتاج ثنائيات CLI المحلية (كلود، كودكس، أوزة) كواجهات خلفية للتنفيذ. تقوم أداة CLI بمعالجة الطلب باستخدام المصادقة الخاصة بها وإرجاع النتيجة.",
    "comparisonSummary": "باختصار: أدوات CLI = تقوم بتكوين الأدوات للإشارة إلى OmniRoute. أهداف الوكيل = يستخدم OmniRoute الأدوات كنقاط النهاية الخاصة به.",
    "agentUseCaseHint": "يمكن استخدامه كهدف تنفيذ عبر بروتوكول ACP",
    "flowDiagramClient": "تطبيق العميل",
    "flowDiagramClientDesc": "SDK أو API أو الخدمة الأولية",
    "flowDiagramOmniRoute": "OmniRoute",
    "flowDiagramOmniRouteDesc": "يتلقى الطلب ويختار الهدف",
    "flowDiagramSpawn": "عملية التكاثر",
    "flowDiagramSpawnDesc": "يطلق ثنائي CLI عبر stdio",
    "flowDiagramCli": "وكيل CLI",
    "flowDiagramCliDesc": "العمليات مع المصادقة/النموذج الخاص",
    "fingerprintSettingsHint": "يمكن تكوين مطابقة بصمة CLI (طلبات التمويه كأدوات CLI محددة).",
    "settingsRoutingLink": "الإعدادات/التوجيه",
    "openSettings": "الإعدادات",
    "copyRawUrlTitle": "انسخ عنوان URL الأولي إلى الحافظة",
    "copied": "منسوخ!",
    "copyUrl": "انسخ عنوان URL",
    "startHere": "ابدأ هنا",
    "badgeNew": "جديد",
    "viewOnGithub": "عرض على جيثب",
    "howToUse": "كيفية الاستخدام",
    "browseAllSkillsOnGithub": "تصفح جميع المهارات على GitHub",
    "apiSkills": "مهارات واجهة برمجة التطبيقات",
    "cliSkills": "مهارات CLI",
    "apiSkillsSubtitle": "__MISSING__:{count} skills — control OmniRoute via REST / HTTP",
    "cliSkillsSubtitle": "__MISSING__:{count} skills — control OmniRoute via the omniroute terminal binary",
    "howToUseStep1": "__MISSING__:Click <bold>{copyUrl}</bold> on the skill you want your agent to know about.",
    "howToUseStep2": "__MISSING__:In your AI agent (Claude, Cursor, Cline…), say:",
    "howToUseStep2Code": "__MISSING__:Use the skill at [pasted-url]",
    "howToUseStep3": "__MISSING__:The agent fetches the SKILL.md and learns OmniRoute's API or CLI — no manual docs needed."
  },
  "cloudAgents": {
    "title": "وكلاء السحابة",
    "description": "إدارة وكلاء الترميز المستقلين (Jules وDevin وCodex Cloud)",
    "loading": "جارٍ تحميل المهام...",
    "aboutTitle": "حول وكلاء السحابة",
    "aboutDescription": "وكلاء السحابة هم مساعدون للتشفير بالذكاء الاصطناعي عن بعد ويمكنهم تنفيذ المهام بشكل مستقل. إنهم يعملون بشكل مختلف عن وكلاء CLI المحليين - حيث تتفاعل معهم من خلال واجهة برمجة تطبيقات OmniRoute.",
    "howItWorksTitle": "كيف يعمل:",
    "howItWorksDesc": "أنشئ مهمة ← يقوم الوكيل بتحليل الخطة واقتراحها ← الموافقة ← تنفيذ الوكيل ← إرجاع النتائج",
    "newTaskTitle": "إنشاء مهمة جديدة",
    "newTaskDescription": "ابدأ مهمة جديدة مع وكيل السحابة",
    "selectAgent": "حدد الوكيل",
    "taskDescription": "وصف المهمة",
    "taskDescriptionPlaceholder": "قم بوصف ما تريد من الوكيل أن يفعله...",
    "startTask": "ابدأ المهمة",
    "tasks": "المهام",
    "taskDetail": "تفاصيل المهمة",
    "noTasks": "لا توجد مهام حتى الآن. قم بإنشاء واحدة للبدء.",
    "noTasksTitle": "__MISSING__:No tasks yet",
    "noTasksDesc": "__MISSING__:Create your first task to get started.",
    "tasksTab": "__MISSING__:Tasks",
    "agentsTab": "__MISSING__:Agents",
    "settingsTab": "__MISSING__:Settings",
    "agentsEnabled": "__MISSING__:Enabled",
    "agentsDisabled": "__MISSING__:Disabled",
    "filterAllProviders": "__MISSING__:All Providers",
    "filterAll": "__MISSING__:All",
    "autoRefreshing": "__MISSING__:Auto-refreshing",
    "viewPR": "__MISSING__:View Pull Request",
    "connected": "__MISSING__:Connected",
    "notConnected": "__MISSING__:Not connected",
    "configure": "__MISSING__:Configure",
    "settingsTitle": "__MISSING__:Cloud Agent Settings",
    "settingsDesc": "__MISSING__:Configure local preferences for cloud agents.",
    "settingEnableAgents": "__MISSING__:Enable cloud agents",
    "settingEnableAgentsDesc": "__MISSING__:Allow OmniRoute to orchestrate autonomous coding agents.",
    "settingAutoPR": "__MISSING__:Auto-create PR",
    "settingAutoPRDesc": "__MISSING__:When a task is completed, automatically create a Pull Request with the changes.",
    "settingRequireApproval": "__MISSING__:Require plan approval",
    "settingRequireApprovalDesc": "__MISSING__:Always wait for manual approval before an agent executes a proposed plan.",
    "untitledTask": "مهمة بلا عنوان",
    "created": "تم إنشاؤها",
    "conversation": "محادثة",
    "result": "النتيجة",
    "error": "خطأ",
    "planReady": "الخطة جاهزة للموافقة عليها",
    "approvePlan": "الموافقة على الخطة",
    "rejectPlan": "رفض وإلغاء",
    "sendMessagePlaceholder": "أرسل رسالة إلى الوكيل...",
    "cancel": "إلغاء",
    "delete": "حذف",
    "selectTaskPrompt": "حدد مهمة لعرض التفاصيل",
    "statusPending": "في انتظار",
    "statusRunning": "الجري",
    "statusWaitingApproval": "في انتظار الموافقة",
    "statusCompleted": "مكتمل",
    "statusFailed": "فشل",
    "statusCancelled": "تم الإلغاء",
    "repositoryName": "اسم المستودع",
    "repositoryUrl": "عنوان URL للمستودع",
    "branch": "فرع"
  },
  "templateNames": {
    "simple-chat": "دردشة بسيطة",
    "streaming": "الجري",
    "system-prompt": "موجه النظام",
    "thinking": "التفكير",
    "tool-calling": "استدعاء الأداة",
    "multi-turn": "متعدد المنعطفات",
    "vision": "الرؤية",
    "schema-coercion": "إكراه المخطط"
  },
  "templateDescriptions": {
    "simple-chat": "قالب الدردشة الأساسي مع رسالة النظام",
    "streaming": "نموذج لتدفق الردود",
    "system-prompt": "قالب مع موجه النظام المخصص",
    "thinking": "قالب مع ميزانية التفكير/الاستدلال",
    "tool-calling": "نموذج لاستدعاء الأداة/الوظيفة",
    "multi-turn": "قالب للمحادثات متعددة المنعطفات",
    "vision": "قالب متعدد الوسائط مع إدخال الصور",
    "schema-coercion": "إخراج منظم / تنفيذ مخطط JSON"
  },
  "templatePayloads": {
    "simpleChat": {
      "system": "أنت مساعد AI مفيد.",
      "userGreeting": "مرحبا! كيف يمكنني مساعدتك اليوم؟"
    },
    "streaming": {
      "prompt": "اكتب قصة عنه"
    },
    "systemPrompt": {
      "question": "ما هو معنى الحياة؟",
      "systemInstruction": "تقديم إجابة مدروسة وفلسفية."
    },
    "thinking": {
      "question": "شرح الحوسبة الكمومية"
    },
    "toolCalling": {
      "cityNameDescription": "اسم المدينة لمعرفة الطقس لها",
      "toolDescription": "الحصول على الطقس الحالي لموقع ما",
      "userWeather": "ما هو الطقس في طوكيو ؟"
    },
    "multiTurn": {
      "system": "أنت مساعد مفيد.",
      "assistantExample": "سأكون سعيدًا بمساعدتك في ذلك.",
      "userInitial": "انا بحاجة الى مساعدة مع",
      "userFollowUp": "هل يمكنك توضيح ذلك؟"
    }
  },
  "cache": {
    "title": "Cache Management",
    "description": "Monitor and manage semantic response cache, hit rates, and token savings.",
    "refresh": "Refresh",
    "clearAll": "Clear All",
    "memoryEntries": "Memory Entries",
    "memoryEntriesSub": "In-memory LRU",
    "dbEntries": "DB Entries",
    "dbEntriesSub": "Persisted (SQLite)",
    "cacheHits": "Cache Hits",
    "cacheHitsSub": "of {total} total",
    "tokensSaved": "Tokens Saved",
    "tokensSavedSub": "Estimated from hits",
    "hitRate": "Hit Rate",
    "performance": "Cache Performance",
    "autoRefresh": "Auto-refreshes every {seconds}s",
    "hits": "Hits",
    "misses": "Misses",
    "total": "Total",
    "behavior": "Cache Behavior",
    "behaviorDeterministic": "Only non-streaming requests with temperature=0 are cached.",
    "behaviorBypass": "Bypass with header {header}.",
    "behaviorTwoTier": "Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).",
    "behaviorTtl": "Default TTL: 30 minutes. Configure via {envVar}.",
    "idempotency": "Idempotency Layer",
    "activeDedupKeys": "Active Dedup Keys",
    "dedupWindow": "Dedup Window",
    "clearSuccess": "Cache cleared. {count} expired entries removed.",
    "clearError": "Failed to clear cache.",
    "unavailable": "Cache unavailable",
    "unavailableDesc": "Could not fetch cache statistics. Make sure the server is running.",
    "loadingCacheAria": "__MISSING__:Loading cache",
    "promptCache": "Prompt Cache (Provider-Side)",
    "semanticCache": "Semantic Cache",
    "promptCacheSectionDesc": "Shows provider-side prompt caching activity from usage history so you can see where cache control is active and how much input reuse you are getting.",
    "promptTrendDesc": "Hourly request volume, cache coverage, and cache read volume across the last 24 hours.",
    "cachedRequests": "Cached Requests",
    "cachedRequests24h": "Cached Requests (24h)",
    "cacheHitRate": "Cache Hit Rate",
    "cacheRate": "Cache Rate",
    "cacheRateDesc": "of total requests",
    "cachedTokens": "Cached Tokens",
    "cacheCreationTokens": "Cache Creation Tokens",
    "cacheMetrics": "Prompt Cache Metrics",
    "withCacheControl": "With Cache Control",
    "cachedTokensRead": "Cached Tokens (Read)",
    "cacheCreationWrite": "Cache Creation (Write)",
    "cacheReuseRatio": "Cache Reuse Ratio",
    "cacheReuseRatioDesc": "Cached tokens / Total input tokens",
    "estCostSaved": "Est. Cost Saved",
    "lastUpdated": "Last updated",
    "hoursTracked": "hours tracked",
    "busiestHour": "Busiest Hour",
    "peakCacheRate": "Peak Cache Rate",
    "trendHour": "Hour",
    "activityVolume": "Activity",
    "requestsShort": "reqs",
    "inputShort": "In",
    "cachedShort": "Cached",
    "writeShort": "Write",
    "resetting": "Resetting...",
    "resetMetrics": "Reset Metrics",
    "byProvider": "Breakdown by Provider",
    "providerCacheRateDesc": "Each provider exposes total input tokens, cache read tokens, and cache write tokens so you can verify the reuse ratio against raw totals.",
    "provider": "Provider",
    "requests": "Requests",
    "inputTokens": "Input Tokens",
    "cachedTokensCol": "Cached",
    "cacheCreation": "Creation",
    "trend24h": "Cache Trend (24h)",
    "peakCached": "Peak cached",
    "cached": "Cached",
    "overview": "Overview",
    "tableProvider": "__MISSING__:Provider",
    "tableModel": "__MISSING__:Model",
    "performanceTitle": "__MISSING__:Performance",
    "semanticCacheSectionDesc": "OmniRoute's own deterministic response cache. When enabled, repeated non-streaming temperature=0 requests can be served locally without hitting the upstream provider.",
    "semanticCacheDisabledDesc": "Semantic cache is disabled. OmniRoute will skip local response reuse until you turn it back on in Settings.",
    "semanticEntriesDesc": "Persisted semantic cache records currently stored in SQLite. Provider-side prompt cache activity is not listed here.",
    "searchEntries": "Search entries...",
    "search": "Search",
    "loading": "Loading...",
    "entriesLoadError": "Failed to load semantic cache entries.",
    "noEntries": "No cache entries found",
    "noPromptCacheData": "No provider-side prompt cache activity has been recorded yet.",
    "noTrendData": "No prompt cache activity has been recorded over the last 24 hours.",
    "signature": "Signature",
    "model": "Model",
    "created": "Created",
    "expires": "Expires",
    "actions": "Actions",
    "deduplicatedRequests": "Deduplicated Requests",
    "savedCalls": "Saved API Calls",
    "totalProcessed": "Total Requests Processed",
    "disabled": "Disabled",
    "totalRequests": "Total Requests",
    "reasoningCache": "إعادة التفكير",
    "reasoningCacheDesc": "يحافظ على التفكير النموذجي لتدفقات استدعاء الأدوات متعددة المنعطفات",
    "reasoningEntries": "الإدخالات النشطة",
    "reasoningReplayRate": "معدل إعادة التشغيل",
    "reasoningReplays": "إجمالي الإعادة",
    "reasoningCharsCached": "الأحرف مخبأة",
    "reasoningMisses": "يفتقد ذاكرة التخزين المؤقت",
    "reasoningByProvider": "بواسطة المزود",
    "reasoningByModel": "حسب الموديل",
    "reasoningRecentEntries": "الإدخالات الأخيرة",
    "reasoningToolCallId": "معرف استدعاء الأداة",
    "reasoningChars": "الشخصيات",
    "reasoningAge": "العمر",
    "reasoningView": "عرض",
    "reasoningDetail": "محتوى المنطق",
    "reasoningBehavior": "السلوك",
    "reasoningBehaviorCapture": "يلتقط محتوى المنطق من الاستجابات المتدفقة",
    "reasoningBehaviorReplay": "يُعاد حقنه في المنعطف التالي عندما يغفله العميل",
    "reasoningBehaviorFallback": "الذاكرة أولاً مع خيار SQLite الاحتياطي لاستعادة الأعطال",
    "reasoningBehaviorTtl": "مدة البقاء: ساعتان | الحد الأقصى للإدخالات: 2000 (الذاكرة)",
    "reasoningBehaviorModels": "المدعومة: DeepSeek، Kimi، Qwen-Thinking، GLM",
    "reasoningClearAll": "مسح ذاكرة التخزين المؤقت المنطق",
    "reasoningClearSuccess": "تم مسح {count} من إدخالات ذاكرة التخزين المؤقت المنطقية",
    "reasoningClearError": "فشل في مسح ذاكرة التخزين المؤقت للاستدلال",
    "reasoningNoData": "لم يتم تخزين إدخالات المنطق مؤقتًا حتى الآن. تظهر الإدخالات عندما تستخدم نماذج التفكير استدعاء الأداة.",
    "cachePerformanceRetry": "أعد المحاولة",
    "cachePerformanceHitRate": "معدل الإصابة",
    "cachePerformanceAvgLatency": "متوسط زمن الوصول (ملي ثانية)",
    "cachePerformanceP95Latency": "الكمون p95 (مللي ثانية)",
    "retry": "أعد المحاولة",
    "reasoningAvgChars": "متوسط الأحرف",
    "tableShare": "__MISSING__:Share",
    "justNow": "__MISSING__:just now",
    "minutesAgo": "__MISSING__:{minutes}m ago",
    "hoursAgo": "__MISSING__:{hours}h ago",
    "daysAgo": "__MISSING__:{days}d ago",
    "entries": "Entries"
  },
  "proxyConfigModal": {
    "levelGlobal": "عالمي",
    "levelProvider": "مزود",
    "levelCombo": "كومبو",
    "levelKey": "مفتاح",
    "levelDirect": "مباشر (بدون وكيل)",
    "titleGlobal": "تكوين الوكيل العالمي",
    "titleLevel": "{level} الوكيل — {label}",
    "loading": "جارٍ تحميل تكوين الوكيل...",
    "inheritingFrom": "يرث من",
    "source": "المصدر",
    "savedProxy": "الوكيل المحفوظ",
    "custom": "مخصص",
    "selectSavedProxyPlaceholder": "حدد الوكيل المحفوظ...",
    "proxyType": "نوع الوكيل",
    "host": "المضيف",
    "hostPlaceholder": "1.2.3.4 أو proxy.example.com",
    "port": "ميناء",
    "authOptional": "المصادقة (اختياري)",
    "username": "اسم المستخدم",
    "usernamePlaceholder": "اسم المستخدم",
    "password": "كلمة المرور",
    "passwordPlaceholder": "كلمة المرور",
    "connected": "متصل",
    "ip": "الملكية الفكرية:",
    "connectionFailed": "فشل الاتصال",
    "testConnection": "اتصال الاختبار",
    "clear": "واضح",
    "cancel": "إلغاء",
    "save": "حفظ",
    "errorSelectSavedProxy": "الرجاء تحديد الوكيل المحفوظ أولاً.",
    "errorSelectProxyFirst": "الرجاء تحديد الوكيل أولاً.",
    "errorProxyNotFound": "لم يتم العثور على الوكيل المحدد.",
    "errorClearSavedProxy": "فشل في مسح الوكيل المحفوظ",
    "errorSaveProxy": "فشل حفظ تكوين الوكيل",
    "errorClearProxy": "فشل في مسح تكوين الوكيل",
    "errorSocks5Hidden": "تم تكوين SOCKS5 ولكنه مخفي لأن NEXT_PUBLIC_ENABLE_SOCKS5_PROXY=خطأ."
  },
  "oauthModal": {
    "title": "الاتصال {providerName}",
    "waiting": "في انتظار الترخيص",
    "completeAuthInPopup": "إذن كامل في النافذة المنبثقة.",
    "popupClosedHint": "إذا تم إغلاق النافذة المنبثقة دون إعادة التوجيه مرة أخرى (على سبيل المثال، Qoder)، فسيتحول مربع الحوار هذا تلقائيًا إلى وضع الإدخال اليدوي لعنوان URL.",
    "popupBlocked": "هل تم حظر النافذة المنبثقة؟ أدخل عنوان URL يدويًا",
    "deviceCodeVisitUrl": "قم بزيارة عنوان URL أدناه وأدخل الرمز:",
    "deviceCodeVerificationUrl": "عنوان URL للتحقق",
    "deviceCodeYourCode": "الرمز الخاص بك",
    "deviceCodeWaiting": "في انتظار الترخيص...",
    "googleOAuthWarning": "الوصول عن بعد + Google OAuth: لا تقبل بيانات الاعتماد الافتراضية سوى عمليات إعادة التوجيه إلى <code>localhost</code>. بعد التفويض، سيحاول متصفحك فتح <code>localhost</code> - انسخ عنوان URL الكامل والصقه أدناه. للاستخدام عن بعد بالكامل بدون هذه الخطوة اليدوية، <a>قم بتكوين بيانات اعتماد OAuth الخاصة بك</a>.",
    "remoteAccessInfo": "الوصول عن بعد: نظرًا لأنك تصل إلى OmniRoute عن بُعد، فبعد الحصول على الترخيص، ستظهر لك صفحة خطأ (لم يتم العثور على المضيف المحلي). وهذا أمر طبيعي — ما عليك سوى نسخ عنوان URL الكامل من شريط عنوان المتصفح لديك ولصقه أدناه.",
    "step1OpenUrl": "الخطوة 1: افتح عنوان URL هذا في متصفحك",
    "copy": "نسخ",
    "step2PasteCallback": "الخطوة 2: الصق عنوان URL لرد الاتصال أو رمز التفويض هنا",
    "step2Hint": "بعد الترخيص، الصق عنوان URL الكامل لرد الاتصال. بالنسبة لـ Claude Code وCline، يمكنك أيضًا لصق رمز المصادقة مباشرة، على سبيل المثال. <code>code#state</code>.",
    "connect": "الاتصال",
    "cancel": "إلغاء",
    "success": "تم الاتصال بنجاح!",
    "successMessage": "لقد تم ربط حسابك {providerName}.",
    "done": "تم",
    "error": "فشل الاتصال",
    "tryAgain": "حاول مرة أخرى"
  },
  "cursorAuthModal": {
    "title": "ربط IDE المؤشر",
    "autoDetecting": "الكشف التلقائي عن الرموز...",
    "readingFromCursor": "القراءة من المؤشر IDE أو وكيل المؤشر",
    "tokensAutoDetected": "تم اكتشاف الرموز المميزة تلقائيًا من Cursor IDE!",
    "cursorNotDetected": "لم يتم الكشف عن IDE للمؤشر. يرجى لصق الرمز المميز الخاص بك يدويًا.",
    "accessToken": "رمز الوصول",
    "required": "*",
    "accessTokenPlaceholder": "سيتم ملء رمز الوصول تلقائيًا...",
    "machineId": "معرف الآلة",
    "optional": "(اختياري)",
    "machineIdPlaceholder": "سيتم ملء معرف الجهاز تلقائيًا...",
    "importing": "جارٍ الاستيراد...",
    "importToken": "رمز الاستيراد",
    "cancel": "إلغاء",
    "errorAutoDetect": "غير قادر على اكتشاف الرموز المميزة تلقائيًا",
    "errorAutoDetectFailed": "فشل الكشف التلقائي عن الرموز المميزة",
    "errorEnterToken": "الرجاء إدخال رمز الوصول",
    "errorImportFailed": "فشل الاستيراد"
  },
  "pricingModal": {
    "title": "تكوين التسعير",
    "loading": "جارٍ تحميل بيانات الأسعار...",
    "pricingRatesFormat": "تنسيق أسعار التسعير",
    "ratesDescription": "جميع الأسعار بـ <strong>دولار لكل مليون رمز</strong> ($/1 مليون رمز). مثال: معدل الإدخال 2.50 يعني 2.50 دولارًا لكل 1,000,000 رمز إدخال.",
    "model": "نموذج",
    "input": "الإدخال",
    "output": "الإخراج",
    "cached": "مخبأة",
    "reasoning": "المنطق",
    "cacheCreation": "إنشاء ذاكرة التخزين المؤقت",
    "noPricingData": "لا توجد بيانات التسعير المتاحة",
    "resetToDefaults": "إعادة التعيين إلى الإعدادات الافتراضية",
    "cancel": "إلغاء",
    "saving": "جارٍ الحفظ...",
    "saveChanges": "حفظ التغييرات",
    "resetConfirm": "هل تريد إعادة ضبط جميع الأسعار على الإعدادات الافتراضية؟ لا يمكن التراجع عن هذا.",
    "errorSaveFailed": "فشل حفظ الأسعار",
    "errorResetFailed": "فشل في إعادة تعيين التسعير"
  },
  "proxyRegistry": {
    "title": "Title",
    "description": "Description",
    "importLegacy": "Import Legacy",
    "bulkAssign": "Bulk Assign",
    "addProxy": "Add Proxy",
    "loading": "Loading",
    "noProxies": "No Proxies",
    "tableName": "Table Name",
    "tableEndpoint": "Table Endpoint",
    "tableStatus": "Table Status",
    "tableHealth": "Table Health",
    "tableUsage": "Table Usage",
    "tableActions": "Table Actions",
    "test": "Test",
    "edit": "Edit",
    "delete": "Delete",
    "modalCreateTitle": "Modal Create Title",
    "modalEditTitle": "Modal Edit Title",
    "labelName": "Label Name",
    "labelType": "اكتب",
    "labelHost": "المضيف",
    "labelPort": "ميناء",
    "labelUsername": "اسم المستخدم",
    "labelPassword": "كلمة المرور",
    "labelRegion": "المنطقة",
    "labelStatus": "الحالة",
    "labelNotes": "ملاحظات",
    "usernamePlaceholderEdit": "اتركه فارغًا للاحتفاظ باسم المستخدم الحالي",
    "passwordPlaceholderEdit": "اتركه فارغًا للاحتفاظ بكلمة المرور الحالية",
    "statusActive": "نشط",
    "statusInactive": "غير نشط",
    "cancel": "إلغاء",
    "save": "حفظ",
    "bulkModalTitle": "تعيين الوكيل بالجملة",
    "bulkLabelScope": "النطاق",
    "bulkLabelProxy": "وكيل",
    "bulkClearAssignment": "(مهمة واضحة)",
    "bulkLabelScopeIds": "معرفات النطاق (مفصولة بفاصلة أو سطر جديد)",
    "bulkScopeIdsPlaceholder": "مزود openai، مزود الأنثروبي",
    "bulkApply": "تطبيق",
    "labelScope": "__MISSING__:Scope",
    "labelProxy": "__MISSING__:Proxy",
    "scopeGlobal": "__MISSING__:global",
    "scopeProvider": "__MISSING__:provider",
    "scopeAccount": "__MISSING__:account",
    "scopeCombo": "__MISSING__:combo",
    "bulkImportErrorMissingName": "الاسم مفقود",
    "bulkImportErrorMissingHost": "المضيف مفقود",
    "bulkImportErrorInvalidPort": "منفذ غير صالح (يجب أن يكون 1-65535)",
    "bulkImportErrorInvalidType": "TYPE غير صالح (استخدم http، أو https، أو socks5)",
    "bulkImportErrorInvalidStatus": "حالة غير صالحة (استخدام نشط أو غير نشط)",
    "errorLoadFailed": "Error Load Failed",
    "errorNameHostRequired": "Error Name Host Required",
    "errorSaveFailed": "Error Save Failed",
    "errorDeleteFailed": "Error Delete Failed",
    "errorForceDeleteConfirm": "Error Force Delete Confirm",
    "errorMigrateFailed": "Error Migrate Failed",
    "errorBulkFailed": "Error Bulk Failed",
    "success": "✓",
    "failure": "✗",
    "failed": "Failed",
    "successRate": "{rate}% نجاح",
    "avgLatency": "{latency} مللي ثانية في المتوسط",
    "assignmentsCount": "{count} المهام",
    "noData": "No Data",
    "testSuccess": "✓ {ip}",
    "testLatency": "{latency}ms",
    "testFailure": "✗ {error}",
    "bulkImport": "استيراد بالجملة",
    "bulkImportTitle": "وكلاء الاستيراد بالجملة",
    "bulkImportDescription": "قم بلصق ملفات تعريف الوكيل باستخدام التنسيق المحدد بأنابيب. وكيل واحد لكل سطر. سيتم تحديث الوكلاء الحاليين (نفس المضيف + المنفذ).",
    "bulkImportParse": "تحليل",
    "bulkImportImport": "استيراد {count} الوكلاء",
    "bulkImportImporting": "جارٍ الاستيراد...",
    "bulkImportParsed": "{count} تم تحليل الوكلاء",
    "bulkImportSkipped": "تم تخطي {count} أسطر",
    "bulkImportParseErrors": "{count} أخطاء",
    "bulkImportNoValidEntries": "لم يتم العثور على إدخالات صالحة. تحقق من التنسيق وحاول مرة أخرى.",
    "bulkImportSuccess": "اكتمل الاستيراد: تم إنشاء {created}، وتحديث {updated}، وفشل {failed}",
    "bulkImportErrorLine": "السطر {line}: {reason}",
    "bulkImportMaxExceeded": "الحد الأقصى 100 وكيل لكل عملية استيراد",
    "bulkImportPreview": "معاينة",
    "clearAssignment": "(مهمة واضحة)",
    "bulkProxyAssignment": "تعيين الوكيل بالجملة"
  },
  "playground": {
    "title": "Title",
    "description": "Description",
    "endpoint": "Endpoint",
    "provider": "Provider",
    "model": "Model",
    "accountKey": "Account Key",
    "autoAccounts": "تلقائي ({count} حسابات)",
    "noAccounts": "No Accounts",
    "send": "Send",
    "cancel": "Cancel",
    "audioFile": "Audio File",
    "attachImages": "Attach Images",
    "multipartFormData": "Multipart Form Data",
    "upToImages": "Up To Images",
    "selectAudioFile": "Select Audio File",
    "clearAll": "Clear All",
    "request": "Request",
    "response": "Response",
    "transcription": "Transcription",
    "copy": "Copy",
    "resetToDefault": "Reset To Default",
    "downloadAudio": "Download Audio",
    "copyText": "Copy Text",
    "transcriptionHint": "Transcription Hint",
    "imagesGenerated": "تم إنشاء {count} من الصور",
    "generatedImage": "الصورة المولدة {index}",
    "save": "Save",
    "endpointOptions": {
      "chat": "Chat",
      "responses": "Responses",
      "images": "Images",
      "embeddings": "Embeddings",
      "speech": "Speech",
      "transcription": "Transcription",
      "video": "Video",
      "music": "Music",
      "rerank": "Rerank",
      "search": "Search"
    },
    "conversationalChat": "الدردشة الحوارية",
    "clearChat": "مسح الدردشة",
    "typeMessagePlaceholder": "اكتب رسالة... (Shift+Enter للسطر الجديد)",
    "tabChat": "Chat",
    "tabCompare": "Compare",
    "tabApi": "API",
    "tabBuild": "Build",
    "configPane": "Config",
    "systemPrompt": "System prompt",
    "systemPromptPlaceholder": "You are a helpful assistant.",
    "modelPlaceholder": "e.g. openai/gpt-4o",
    "endpointLabel": "Endpoint",
    "parametersLabel": "Parameters",
    "collapseConfig": "Collapse config pane",
    "expandConfig": "Expand config pane",
    "temperature": "Temperature",
    "maxTokens": "Max tokens",
    "topP": "Top-p",
    "presencePenalty": "Presence penalty",
    "frequencyPenalty": "Frequency penalty",
    "seedPlaceholder": "Random (leave empty)",
    "presetsLabel": "Presets",
    "loadPreset": "Load preset",
    "savePreset": "Save preset",
    "noPresets": "No presets",
    "presetNamePlaceholder": "Preset name",
    "savingPreset": "Saving…",
    "nameRequired": "Name is required",
    "failedToSavePreset": "Failed to save preset",
    "improvePrompt": "Improve prompt",
    "improvingPrompt": "Improving…",
    "improvePromptTitle": "Improve your prompt with AI",
    "setModelFirst": "Set a model first",
    "improveQuotaWarning": "This will consume quota from the model configured in Config.",
    "improveConfirm": "Improve",
    "exportCode": "Export code",
    "exportCodeTitle": "Export Code",
    "noStateToExport": "No playground state available to export.",
    "copyCode": "Copy",
    "copiedCode": "Copied!",
    "addModel": "+ Add model",
    "runAll": "Run all",
    "cancelAll": "Cancel all",
    "maxColumnsReached": "Maximum {max} columns",
    "modelPlaceholderCompare": "Model (Cmd+K)…",
    "ttft": "TTFT",
    "tps": "TPS",
    "metricsDisclaimer": "client-side estimate",
    "tokensLabel": "Tokens",
    "costLabel": "Cost",
    "costEstimated": "(estimated)",
    "toolsLabel": "Tools",
    "addTool": "Add tool",
    "toolNamePlaceholder": "Function name",
    "toolDescPlaceholder": "Description (optional)",
    "toolParamsInvalid": "Parameters must be valid JSON",
    "structuredOutputLabel": "Structured Output",
    "enableJsonMode": "Enable JSON mode",
    "disableJsonMode": "Disable JSON mode",
    "invalidJson": "Invalid JSON",
    "running": "Running…",
    "runLabel": "Run",
    "enterToolResult": "Enter tool result…"
  },
  "miniPlayground": {
    "endpoint": "__MISSING__:Endpoint",
    "apiKey": "__MISSING__:API Key",
    "model": "__MISSING__:Model",
    "voice": "__MISSING__:Voice",
    "speed": "__MISSING__:Speed",
    "input": "__MISSING__:Input",
    "url": "__MISSING__:URL",
    "format": "__MISSING__:Format",
    "depth": "__MISSING__:Depth",
    "copyCurl": "__MISSING__:Copy cURL",
    "copied": "__MISSING__:Copied!",
    "run": "__MISSING__:Run",
    "running": "__MISSING__:Running...",
    "response": "__MISSING__:Response",
    "tunnel": "__MISSING__:Tunnel",
    "send": "__MISSING__:Send",
    "selectKey": "__MISSING__:Select key",
    "testLabel": "__MISSING__:Test",
    "expandTest": "__MISSING__:Expand test",
    "collapseTest": "__MISSING__:Collapse test",
    "revealKey": "__MISSING__:Reveal key",
    "hideKey": "__MISSING__:Hide key",
    "download": "__MISSING__:Download",
    "play": "__MISSING__:Play",
    "query": "__MISSING__:Query",
    "numResults": "__MISSING__:Max results",
    "prompt": "__MISSING__:Prompt",
    "size": "__MISSING__:Size",
    "duration": "__MISSING__:Duration",
    "question": "__MISSING__:Question",
    "audioFile": "__MISSING__:Audio file",
    "noKeysFound": "__MISSING__:No API keys found. Add one in the Keys section.",
    "exampleLabel": "__MISSING__:Example",
    "latency": "__MISSING__:{ms}ms",
    "statsLine": "__MISSING__:{ms}ms · {tokensIn} in / {tokensOut} out tokens"
  },
  "requestLogger": {
    "recording": "Recording",
    "paused": "Paused",
    "pipelineLogsOn": "Pipeline logs on",
    "pipelineLogsOff": "Pipeline logs off",
    "updatingPipelineLogs": "Updating pipeline logs...",
    "updatePipelineFailed": "Failed to update pipeline logging",
    "capturePipeline": "Capture pipeline payloads for new requests",
    "searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
    "allProviders": "All providers",
    "allModels": "All models",
    "allAccounts": "All accounts",
    "allApiKeys": "All API keys",
    "total": "Total",
    "ok": "Success",
    "err": "Error",
    "combo": "Combo",
    "keys": "Keys",
    "shown": "Shown",
    "sortNewest": "Newest",
    "sortOldest": "Oldest",
    "sortTokensDesc": "Tokens ↓",
    "sortTokensAsc": "Tokens ↑",
    "sortDurationDesc": "Duration ↓",
    "sortDurationAsc": "Duration ↑",
    "sortStatusDesc": "Status ↓",
    "sortStatusAsc": "Status ↑",
    "sortModelAsc": "Model A-Z",
    "sortModelDesc": "Model Z-A",
    "sortLogs": "Sort logs",
    "refresh": "Refresh",
    "columnsLabel": "Columns",
    "cacheSem": "SEM",
    "cacheUp": "UP",
    "semantic": "Semantic",
    "upstream": "Upstream",
    "semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
    "upstreamResponse": "Upstream provider response",
    "noApiKey": "No API key",
    "requestedRoutedTitle": "Requested {requested}, routed as {routed}",
    "statusFilters": {
      "all": "All",
      "error": "Errors",
      "success": "Success",
      "combo": "Combo"
    },
    "columns": {
      "status": "Status",
      "cacheSource": "Cache Source",
      "model": "Model",
      "requested": "Requested",
      "provider": "Provider",
      "protocol": "Request Protocol",
      "account": "Account",
      "apiKey": "API Key",
      "combo": "Combo",
      "tokens": "Tokens",
      "compressed": "ضغط",
      "tps": "TPS",
      "duration": "Duration",
      "time": "Time"
    },
    "loadingLogs": "Loading logs...",
    "noLogs": "No logs yet. Make some API calls to see them here.",
    "noMatchingLogs": "No logs matching current filters.",
    "callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
  },
  "proxyLogger": {
    "filterAll": "All",
    "filterErrors": "Errors",
    "filterSuccess": "Success",
    "filterTimeout": "Timeout",
    "colStatus": "Status",
    "colProxy": "Proxy",
    "colTls": "TLS",
    "colType": "Type",
    "colLevel": "Level",
    "colProvider": "Provider",
    "colTarget": "Target",
    "colLatency": "Latency",
    "colClientIp": "Client IP",
    "colTime": "Time",
    "recording": "Recording",
    "paused": "Paused",
    "searchPlaceholder": "Search host, provider, target, IP...",
    "allTypes": "All Types",
    "allLevels": "All Levels",
    "allProviders": "All Providers",
    "total": "total",
    "ok": "OK",
    "err": "ERR",
    "timeoutShort": "TMO",
    "direct": "direct",
    "newest": "Newest",
    "oldest": "Oldest",
    "latencyDesc": "Latency ↓",
    "latencyAsc": "Latency ↑",
    "refresh": "Refresh",
    "columns": "Columns",
    "loadingProxyLogs": "Loading proxy logs...",
    "noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
    "noMatchingLogs": "No logs match the current filters.",
    "tlsFingerprint": "Chrome 124 TLS Fingerprint"
  },
  "endpointOptions": {
    "speech": "Speech",
    "search": "Search",
    "images": "Images",
    "chat": "Chat",
    "music": "Music",
    "responses": "Responses",
    "rerank": "Rerank",
    "video": "Video",
    "embeddings": "Embeddings",
    "transcription": "Transcription"
  },
  "toolDescriptions": {
    "cline": "Cline",
    "openclaw": "Openclaw",
    "droid": "Droid",
    "codex": "Codex",
    "claude": "Claude",
    "kilo": "Kilo"
  },
  "runtime": {
    "title": "Runtime",
    "description": "Realtime observability — 3-layer resilience + sessions + quota alerts",
    "pause": "Pause",
    "resume": "Resume",
    "refreshNow": "Refresh now",
    "kpiSessions": "Sessions",
    "kpiCircuits": "Circuits",
    "kpiCooldowns": "Cooldowns",
    "kpiLockouts": "Lockouts",
    "hintStickyBound": "{count} sticky-bound",
    "hintRecovering": "{count} recovering",
    "hintAllHealthy": "all healthy",
    "hintOpen": "open",
    "hintConnsCooling": "connections cooling",
    "hintModelsBlocked": "models blocked",
    "resilienceTitle": "3-Layer Resilience",
    "resilienceSubtitle": "Mirrors the documented resilience model",
    "providersHealthy": "{percent}% providers healthy",
    "layer": "Layer {n}",
    "layer1Title": "Provider Circuit Breakers",
    "layer1Desc": "Stop traffic to providers failing at the upstream level",
    "layer2Title": "Connection Cooldowns",
    "layer2Desc": "Skip one bad account/key; other connections keep serving",
    "layer3Title": "Model Lockouts",
    "layer3Desc": "Per-model rate-limit locks; same connection still serves other models",
    "badgeAffectedOf": "{affected} of {total} affected",
    "badgeCooling": "{count} cooling",
    "badgeLocked": "{count} locked",
    "emptyCircuits": "No circuit breakers active yet",
    "emptyCooldowns": "No connection cooldowns active",
    "emptyLockouts": "No model lockouts",
    "moreCooldowns": "+{count} more cooldowns",
    "moreLockouts": "+{count} more lockouts",
    "feedTitle": "Live Feed",
    "feedSubtitle": "Last {count} events",
    "feedFilterAll": "All",
    "feedFilterCircuits": "Circuits",
    "feedFilterCooldowns": "Cooldowns",
    "feedFilterLockouts": "Lockouts",
    "feedFilterSessions": "Sessions",
    "feedFilterQuotas": "Quotas",
    "feedClear": "Clear",
    "feedEmptyWaiting": "Waiting for events... (polled every 5s)",
    "feedEmptyFiltered": "No events match this filter",
    "sessionsTitle": "Active Sessions",
    "sessionsSubtitle": "Sticky-bound request fingerprints (live)",
    "sessionsActive": "{count} active",
    "sessionsEmptyTitle": "No active sessions",
    "sessionsEmptyHint": "Sessions appear as requests flow through the proxy",
    "tblSession": "Session",
    "tblAge": "Age",
    "tblIdle": "Idle",
    "tblReqs": "Reqs",
    "tblBoundTo": "Bound to",
    "topApiKeys": "Top API keys",
    "quotaMonitorsTitle": "Quota Monitors",
    "quotaMonitorsSubtitle": "Live quota state per account window",
    "openQuota": "Open Quota",
    "allQuotasHealthy": "All quotas healthy",
    "statusExhausted": "EXHAUSTED",
    "statusAlerting": "ALERTING",
    "statusError": "ERROR",
    "moreSuffix": "+{count} more"
  },
  "quotaShare": {
    "title": "Quota Sharing",
    "description": "Share provider quotas across API keys with % limits",
    "newPool": "New pool",
    "betaTitle": "Beta — UI preview.",
    "betaDescription": "Configuration is saved in localStorage (not yet persisted on the server). Per-request cap enforcement is not yet wired into the proxy pipeline. This screen lets you design and visualize the quota split; real enforcement will land in a future iteration with DB persistence and upstream call interception.",
    "kpiActivePools": "Active pools",
    "kpiKeysAllocated": "Keys allocated",
    "kpiAvgUnallocated": "Avg unallocated",
    "kpiProvidersWithQuota": "Providers w/ quota",
    "emptyTitle": "No pools configured",
    "emptyDescription": "Create a pool to assign API keys to share a provider's quota window with % allocations.",
    "loading": "Loading…",
    "removePool": "Remove pool",
    "removeConfirm": "Remove this pool?",
    "pool": "Pool",
    "used": "used",
    "allocationsCount": "Allocations ({count})",
    "allocatedFree": "{allocated}% allocated · {free}% free",
    "noAllocations": "No keys allocated yet",
    "capLabel": "cap {value}",
    "notTrackedYet": "(not tracked yet)",
    "policy": "Policy",
    "policyHard": "hard",
    "policySoft": "soft",
    "policyBurst": "burst",
    "policyHardHint": "Block when key exhausts allocation",
    "policySoftHint": "Allow overflow, alert only",
    "policyBurstHint": "Allow burst into free pool",
    "editAllocations": "Edit allocations",
    "newPoolTitle": "New quota pool",
    "providerConnection": "Provider connection (account)",
    "selectConnection": "Select a connection…",
    "noEligibleConnections": "No connections with quota data. Refresh from /dashboard/quota first.",
    "quotaWindow": "Quota window",
    "selectWindow": "Select a window…",
    "alreadyUsedSuffix": "(already used)",
    "windowReset": "Reset",
    "duplicatePoolError": "A pool for this connection + window already exists",
    "cancel": "Cancel",
    "createPool": "Create pool",
    "editTitle": "Edit allocations",
    "noKeysAdded": "No keys allocated. Add one below.",
    "totalLabel": "Total: {percent}%",
    "totalExceeded": "⚠ exceeds 100%",
    "addKey": "+ Add key…",
    "equalSplit": "Equal split",
    "save": "Save allocations",
    "betaPreviewLabel": "بيتا - معاينة واجهة المستخدم.",
    "betaConfigSavedPrefix": "يتم حفظ التكوين في",
    "betaConfigSavedSuffix": "(لم يستمر بعد على الخادم). لم يتم بعد ربط تطبيق الحد الأقصى لكل طلب في مسار الوكيل. تتيح لك هذه الشاشة تصميم وتصور تقسيم الحصص؛ سيتم التنفيذ الحقيقي في التكرار المستقبلي مع استمرار قاعدة البيانات واعتراض المكالمات الأولية.",
    "policyLabel": "السياسة:",
    "resetIn": "إعادة تعيين في",
    "quotaTotal": "المجموع"
  },
  "plugins": {
    "title": "Plugins",
    "description": "Install and manage plugins for extending OmniRoute functionality",
    "loading": "Loading plugins...",
    "scanning": "Scanning...",
    "scanForPlugins": "Scan for Plugins",
    "noPlugins": "No plugins installed",
    "noPluginsDescription": "Place plugin directories in ~/.omniroute/plugins/ and click Scan.",
    "activate": "Activate",
    "deactivate": "Deactivate",
    "uninstall": "Uninstall",
    "uninstallConfirm": "Uninstall plugin \"{name}\"?",
    "pluginScanComplete": "Plugin scan complete",
    "pluginScanFailed": "Plugin scan failed",
    "activated": "{name} activated",
    "deactivated": "{name} deactivated",
    "activateFailed": "Failed to activate {name}",
    "deactivateFailed": "Failed to deactivate {name}",
    "uninstalled": "{name} uninstalled",
    "uninstallFailed": "Failed to uninstall {name}",
    "configure": "Configure: {name}",
    "configurePlugin": "Configure",
    "noConfigSettings": "This plugin has no configurable settings.",
    "saving": "Saving...",
    "saveConfiguration": "Save Configuration",
    "configurationSaved": "Configuration saved",
    "saveConfigurationFailed": "Failed to save configuration",
    "pluginNotFound": "Plugin not found",
    "version": "Version",
    "author": "Author",
    "description_label": "Description",
    "status": "Status",
    "enabled": "Enabled",
    "disabled": "Disabled",
    "hooks": "Hooks"
  }
}
