feat(i18n): synchronize missing keys across all locales

This commit is contained in:
Ronaldo Davi
2026-05-22 15:55:39 -03:00
parent 09e7a4bda2
commit 2f8a01d336
40 changed files with 17640 additions and 1240 deletions

View File

@@ -54,6 +54,8 @@
"none": "لا شيء",
"yes": "نعم",
"no": "لا",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "تحذير",
"note": "ملاحظة",
"free": "مجاني",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "الصفحة الرئيسية",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "التحليلات",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "نظرة عامة",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "مفاتيح واجهة برمجة التطبيقات",
@@ -1288,6 +1373,7 @@
"keyName": "اسم المفتاح",
"keyNamePlaceholder": "على سبيل المثال، مفتاح الإنتاج، مفتاح التطوير",
"keyNameDesc": "اختر اسمًا وصفيًا لتحديد غرض هذا المفتاح",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "تم إنشاء مفتاح API",
"keyCreatedSuccess": "تم إنشاء المفتاح بنجاح!",
"keyCreatedNote": "انسخ هذا المفتاح وقم بتخزينه الآن - لن يتم عرضه مرة أخرى.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "نقطة نهاية واجهة برمجة التطبيقات",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "آخر نبضة قلب",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "جارٍ تحميل لوحة معلومات A2A...",
@@ -2654,6 +2767,7 @@
"cancelled": "تم الإلغاء"
},
"agentCard": "بطاقة الوكيل",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "الإصدار",
"url": "الرابط الالكتروني",
"capabilities": "القدرات",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "صحة النظام",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "ذاكرة التخزين المؤقت",
"resilience": "المرونة",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "موجه النظام",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "جارٍ تحميل مجموعات التقييم...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "في انتظار التصريح",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "__MISSING__:AI Settings",
"settingsSecurity": "__MISSING__:Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "__MISSING__:Routing",
"settingsResilience": "__MISSING__:Resilience",
"settingsAdvanced": "__MISSING__:Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g. Production Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "Previous Half",
"currentPeriod": "Current Half",
"exportCSV": "Export as CSV",
"exportJSON": "Export as JSON"
"exportJSON": "Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "my-gcp-project-id",
"antigravityProjectIdHint": "Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "Clone",
"exportSuite": "Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "Tasks",
"taskDetail": "Task Detail",
"noTasks": "No tasks yet. Create one to get started.",
"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": "Untitled Task",
"created": "Created",
"conversation": "Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "Missing NAME",
"bulkImportErrorMissingHost": "Missing HOST",
"bulkImportErrorInvalidPort": "Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "Line {line}: {reason}",
"bulkImportMaxExceeded": "Maximum 100 proxies per import",
"bulkImportPreview": "Preview",
"bulkImportErrorMissingName": "Missing NAME",
"bulkImportErrorMissingHost": "Missing HOST",
"bulkImportErrorInvalidPort": "Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Няма",
"yes": "да",
"no": "не",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Предупреждение",
"note": "Забележка",
"free": "безплатно",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Начало",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Анализ",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Преглед",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API ключове",
@@ -1288,6 +1373,7 @@
"keyName": "Име на ключ",
"keyNamePlaceholder": "напр. производствен ключ, ключ за разработка",
"keyNameDesc": "Изберете описателно име, за да идентифицирате целта на този ключ",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Ключът за API е създаден",
"keyCreatedSuccess": "Ключът е създаден успешно!",
"keyCreatedNote": "Копирайте и запазете този ключ сега — няма да се показва отново.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Крайна точка на API",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "ПИДprocess heading",
"sessionUptime": "Продължителност на сесията",
"lastHeartbeat": "Последен сърдечен ритъм",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Зареждане на таблото за управление на A2A...",
@@ -2654,6 +2767,7 @@
"cancelled": "отказанa"
},
"agentCard": "Агентска карта",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Версия",
"url": "URL",
"capabilities": "Възможности",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Здраве на системата",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Кеш памет",
"resilience": "Устойчивост",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Системен ред",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "Зареждат се пакетите eval...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Изчакване на разрешение",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Žádný",
"yes": "Ano",
"no": "Ne",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Varování",
"note": "Poznámka",
"free": "Uvolnit",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Domov",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytika",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Sledujte vzorce používání API, spotřebu tokenů, náklady a trendy aktivity napříč všemi poskytovateli a modely.",
"evalsDescription": "Spusťte sady vyhodnocovacích programů pro test a ověření LLM koncových bodů. Porovnejte kvalitu modelů, detekujte zhoršení a porovnejte latenci.",
"overview": "Přehled",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Klíče",
@@ -1288,6 +1373,7 @@
"keyName": "Název Klíče",
"keyNamePlaceholder": "např. Produkční Klíč, Vývojový Klíč",
"keyNameDesc": "Zvolte popisný název, který identifikuje účel tohoto klíče.",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Klíč vytvořen",
"keyCreatedSuccess": "Klíč úspěšně vytvořen!",
"keyCreatedNote": "Teď di zkopírujte a uložte tento klíč už se vám nezobrazí.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Doporučení aplikováno na toto kombo.",
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Koncový bod",
@@ -2572,6 +2672,20 @@
"processStatus": "Stav procesu",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Doba provozuschopnosti relace",
"lastHeartbeat": "Poslední tep",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Načítám nástěnku A2A...",
@@ -2654,6 +2767,7 @@
"cancelled": "zrušeno"
},
"agentCard": "Karta agenta",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Verze",
"url": "URL",
"capabilities": "Schopnosti",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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": "Správa paměti",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Stav systému",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Mezipaměť",
"resilience": "Odolnost",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systémový Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Spustí testovací případy na vašich koncových bodech LLM pomocí OmniRoute. Každý případ je odeslán jako skutečný API požadavek.",
"evaluate": "Vyhodnotit",
"evaluateStepDescription": "Odpovědi jsou porovnávány s očekávanými kritérii. Pro každý případ se zobrazí výsledky s metrikami latence a podrobnou zpětnou vazbou.",
"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": "Vyhodnocovací sady",
"evalSuitesHint": "Kliknutím na sadu zobrazíte testovací případy a poté je spusťte a vyhodnoťte své koncové body LLM.",
"evalsLoading": "Načítám sady hodnocení...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Zdarma",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Neznámý",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Očekávám Autorizaci",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"clearError": "Vymazání mezipaměti selhalo.",
"unavailable": "Mezipaměť nedostupná",
"unavailableDesc": "Nepodařilo se načíst statistiky mezipaměti. Ujistěte se, že server běží.",
"loadingCacheAria": "__MISSING__:Loading cache",
"promptCache": "Prompt mezipaměť (na straně poskytovatele)",
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Vrchol mezipaměti",
"cached": "V mezipaměti",
"overview": "Přehled",
"entries": "Položky",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Ingen",
"yes": "Ja",
"no": "Nej",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Advarsel",
"note": "Bemærk",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Hjem",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Overvåg dine API-brugsmønstre, tokenforbrug, omkostninger og aktivitetstendenser på tværs af alle udbydere og modeller.",
"evalsDescription": "Kør evalueringspakker for at teste og validere dine LLM-endepunkter. Sammenlign modelkvalitet, detekter regressioner og benchmark-forsinkelse.",
"overview": "Oversigt",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API nøgler",
@@ -1288,6 +1373,7 @@
"keyName": "Nøglenavn",
"keyNamePlaceholder": "f.eks. Produktionsnøgle, Udviklingsnøgle",
"keyNameDesc": "Vælg et beskrivende navn for at identificere denne nøgles formål",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-nøgle oprettet",
"keyCreatedSuccess": "Nøglen blev oprettet!",
"keyCreatedNote": "Kopiér og gem denne nøgle nu den vises ikke igen.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-endepunkt",
@@ -2572,6 +2672,20 @@
"processStatus": "Processtatus.",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "Underlivsbetaendelse",
"sessionUptime": "Sessionens oppetid",
"lastHeartbeat": "Sidste hjerteslag",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Indlæser A2A-dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "annulleret"
},
"agentCard": "Agentkort",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Evner",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Systemsundhed",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Modstandsdygtighed",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systemprompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Udfør testsager mod dine LLM-endepunkter gennem OmniRoute. Hver sag sendes som en ægte API-anmodning.",
"evaluate": "Evaluer",
"evaluateStepDescription": "Svar sammenlignes med forventede kriterier. Se bestået/ikke bestået for hver sag med latency-metrics og detaljeret feedback.",
"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": "Evalueringssuiter",
"evalSuitesHint": "Klik på en suite for at se testcases, og kør derefter for at evaluere dine LLM-endepunkter",
"evalsLoading": "Indlæser eval suiter...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Ukendt",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Venter på autorisation",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Keine",
"yes": "Ja",
"no": "Nein",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warnung",
"note": "Hinweis",
"free": "Kostenlos",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Zuhause",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytik",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Überwachen Sie Ihre API-Nutzungsmuster, Token-Verbrauch, Kosten und Aktivitätstrends bei allen Anbietern und Modellen.",
"evalsDescription": "Führen Sie Evaluierungssuiten aus, um Ihre LLM-Endpunkte zu testen und zu validieren. Vergleichen Sie die Modellqualität, erkennen Sie Regressionen und messen Sie die Latenz.",
"overview": "Übersicht",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-Schlüssel",
@@ -1288,6 +1373,7 @@
"keyName": "Schlüsselname",
"keyNamePlaceholder": "z. B. Produktionsschlüssel, Entwicklungsschlüssel",
"keyNameDesc": "Wählen Sie einen aussagekräftigen Namen, um den Zweck dieses Schlüssels zu identifizieren",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-Schlüssel erstellt",
"keyCreatedSuccess": "Schlüssel erfolgreich erstellt!",
"keyCreatedNote": "Kopieren und speichern Sie diesen Schlüssel jetzt er wird nicht mehr angezeigt.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Empfehlungen für dieses Combo wurden angewendet.",
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-Endpunkt",
@@ -2572,6 +2672,20 @@
"processStatus": "Prozessstatus",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Sitzungsverfügbarkeit",
"lastHeartbeat": "Letzter Herzschlag",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agentenkarte",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Fähigkeiten",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Systemgesundheit",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Belastbarkeit",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systemaufforderung",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "Codex Fast Tier",
"codexFastTierDesc": "service_tier=priority global für OpenAI Codex-Anfragen einfügen.",
"codexFastTierHint": "Wenn aktiviert, fügt OmniRoute ausgehenden Codex-Anfragen service_tier=priority hinzu, sofern für die Verbindung noch kein Tier festgelegt ist. Der Priority-Tier erfordert einen OpenAI Enterprise API-Schlüssel oder den ChatGPT-Auth-Codex-Pfad; andere Schlüsseltypen erhalten von OpenAI einen tier-bezogenen Fehler. Pro-Verbindung-Einstellungen auf der Codex-Provider-Seite haben Vorrang.",
"codexFastTierSaveError": "Codex Fast Tier-Einstellung konnte nicht aktualisiert werden",
"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": "Claude Fast Mode",
"claudeFastModeDesc": "Aktiviert den Fast Mode (speed:\"fast\") für ausgewählte Claude-Anfragen.",
"claudeFastModeHint": "Anthropic unterstützt Fast Mode für SDK-Clients offiziell nicht. Wenn aktiviert, fügt OmniRoute den Header X-CPA-Force-Fast-Mode hinzu, sodass ein kompatibler CLIProxyAPI-Build den Entrypoint umschreiben kann. Nur die aufgeführten Opus-Modelle passieren die clientseitige Anthropic-Prüfung. Abonnement, Max-Plan und Fast-Mode-Credit-Saldo werden weiterhin serverseitig durchgesetzt — Anthropic kann auch bei aktiviertem Toggle out_of_credits zurückgeben.",
"claudeFastModeModelsLabel": "Auf Modelle angewendet ({count})",
"claudeFastModeModelCheckbox": "Fast Mode für {model} aktivieren",
"claudeFastModeSaveError": "Claude Fast Mode-Einstellung konnte nicht aktualisiert werden"
"claudeFastModeSaveError": "Claude Fast Mode-Einstellung konnte nicht aktualisiert werden",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Führen Sie Testfälle für Ihre LLM-Endpunkte über OmniRoute aus. Jeder Fall wird als echte API-Anfrage gesendet.",
"evaluate": "Bewerten",
"evaluateStepDescription": "Die Antworten werden mit den erwarteten Kriterien verglichen. Sehen Sie sich für jeden Fall das Bestehen/Nichtbestehen mit Latenzmetriken und detailliertem Feedback an.",
"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": "Evaluierungssuiten",
"evalSuitesHint": "Klicken Sie auf eine Suite, um Testfälle anzuzeigen, und führen Sie sie dann aus, um Ihre LLM-Endpunkte zu bewerten",
"evalsLoading": "Evaluierungssuiten werden geladen...",
@@ -5058,7 +5406,25 @@
"tierPro": "Profi",
"tierPlus": "Plus",
"tierFree": "Kostenlos",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unbekannt",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Warten auf Autorisierung",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Ninguno",
"yes": "Sí",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Advertencia",
"note": "Nota",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Inicio",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analítica",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Supervise sus patrones de uso de API, consumo de tokens, costos y tendencias de actividad en todos los proveedores y modelos.",
"evalsDescription": "Ejecute conjuntos de evaluación para probar y validar sus puntos finales de LLM. Compare la calidad del modelo, detecte regresiones y compare la latencia.",
"overview": "Descripción general",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Claves API",
@@ -1288,6 +1373,7 @@
"keyName": "Nombre clave",
"keyNamePlaceholder": "por ejemplo, clave de producción, clave de desarrollo",
"keyNameDesc": "Elija un nombre descriptivo para identificar el propósito de esta clave",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Clave API creada",
"keyCreatedSuccess": "¡Clave creada exitosamente!",
"keyCreatedNote": "Copie y almacene esta clave ahora; no se volverá a mostrar.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Se aplicaron recomendaciones a este 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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Punto final API",
@@ -2572,6 +2672,20 @@
"processStatus": "Estado del proceso",
"online": "En línea",
"offline": "Desconectado",
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "tiempo de actividad de la sesión",
"lastHeartbeat": "último latido",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelado"
},
"agentCard": "tarjeta de agente",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Versión",
"url": "URL",
"capabilities": "Capacidades",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Estado del sistema",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "caché",
"resilience": "Resiliencia",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Aviso del sistema",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "Codex Fast Tier",
"codexFastTierDesc": "Inyectar globalmente service_tier=priority para las solicitudes de OpenAI Codex.",
"codexFastTierHint": "Cuando está habilitado, OmniRoute añade service_tier=priority a las solicitudes salientes de Codex para las conexiones que aún no especifican un tier. El tier priority requiere una clave API de OpenAI Enterprise o la ruta de Codex con autenticación ChatGPT; otros tipos de claves recibirán un error relacionado con el tier de OpenAI. Los ajustes por conexión en la página del proveedor Codex tienen prioridad.",
"codexFastTierSaveError": "Error al actualizar el ajuste de 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": "Claude Fast Mode",
"claudeFastModeDesc": "Activar el Fast Mode de Anthropic (speed:\"fast\") en las solicitudes Claude seleccionadas.",
"claudeFastModeHint": "Anthropic no admite oficialmente Fast Mode para clientes en modo SDK. Cuando está habilitado, OmniRoute reenvía un encabezado X-CPA-Force-Fast-Mode para que una compilación compatible de CLIProxyAPI pueda reescribir el entrypoint. Solo los modelos Opus listados pasan la verificación del binario de Anthropic. La suscripción, el plan Max y el saldo de créditos Fast Mode siguen aplicándose en el servidor — Anthropic puede devolver out_of_credits incluso con el toggle activado.",
"claudeFastModeModelsLabel": "Aplicado a los modelos ({count})",
"claudeFastModeModelCheckbox": "Activar Fast Mode para {model}",
"claudeFastModeSaveError": "Error al actualizar el ajuste de Claude Fast Mode"
"claudeFastModeSaveError": "Error al actualizar el ajuste de 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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Cada caso se envía como una solicitud API real.",
"evaluate": "evaluar",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Suites de evaluación",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Cargando suites de evaluación...",
@@ -5058,7 +5406,25 @@
"tierPro": "profesional",
"tierPlus": "Más",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Desconocido",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Esperando autorización",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Ei mitään",
"yes": "Kyllä",
"no": "Ei",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Varoitus",
"note": "Huom",
"free": "Ilmainen",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Kotiin",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Tarkkaile sovellusliittymän käyttötapoja, tunnuksen kulutusta, kustannuksia ja toimintatrendejä kaikilla palveluntarjoajilla ja malleilla.",
"evalsDescription": "Testaa ja vahvista LLM-päätepisteesi suorittamalla arviointipaketteja. Vertaile mallin laatua, havaitse regressiot ja vertaile viivettä.",
"overview": "Yleiskatsaus",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-avaimet",
@@ -1288,6 +1373,7 @@
"keyName": "Avaimen nimi",
"keyNamePlaceholder": "esim. tuotantoavain, kehitysavain",
"keyNameDesc": "Valitse kuvaava nimi tämän avaimen tarkoituksen tunnistamiseksi",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-avain luotu",
"keyCreatedSuccess": "Avain luotu onnistuneesti!",
"keyCreatedNote": "Kopioi ja tallenna tämä avain nyt sitä ei näytetä uudelleen.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-päätepiste",
@@ -2572,6 +2672,20 @@
"processStatus": "Prosessin tila",
"online": "verkossa",
"offline": "Offline-tilassa",
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Istunnon käyttöaika",
"lastHeartbeat": "Viimeinen sydämenlyönti",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Ladataan A2A-hallintapaneelia...",
@@ -2654,6 +2767,7 @@
"cancelled": "peruutettu"
},
"agentCard": "Agenttikortti",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Versio",
"url": "URL-osoite",
"capabilities": "Ominaisuudet",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Järjestelmän terveys",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Välimuisti",
"resilience": "Joustavuus",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Järjestelmäkehote",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Suorita testitapauksia LLM-päätepisteitäsi vastaan OmniRouten kautta. Jokainen tapaus lähetetään todellisena API-pyyntönä.",
"evaluate": "Arvioi",
"evaluateStepDescription": "Vastauksia verrataan odotettuihin kriteereihin. Katso kunkin tapauksen hyväksyntä/hylkäys viivemittareiden ja yksityiskohtaisen palautteen avulla.",
"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": "Arviointisviitit",
"evalSuitesHint": "Napsauta sarjaa tarkastellaksesi testitapauksia ja suorita sitten LLM-päätepisteiden arvioiminen",
"evalsLoading": "Ladataan eval-sviittejä...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Ilmainen",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Tuntematon",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Odotetaan valtuutusta",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Aucun",
"yes": "Oui",
"no": "Non",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Avertissement",
"note": "Remarque",
"free": "Gratuit",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Accueil",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analyse",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Surveillez vos modèles d'utilisation des API, la consommation de jetons, les coûts et les tendances d'activité sur tous les fournisseurs et modèles.",
"evalsDescription": "Exécutez des suites d'évaluation pour tester et valider vos points de terminaison LLM. Comparez la qualité des modèles, détectez les régressions et évaluez la latence.",
"overview": "Aperçu",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Clés API",
@@ -1288,6 +1373,7 @@
"keyName": "Nom de la clé",
"keyNamePlaceholder": "par exemple, clé de production, clé de développement",
"keyNameDesc": "Choisissez un nom descriptif pour identifier l'objectif de cette clé",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Clé API créée",
"keyCreatedSuccess": "Clé créée avec succès !",
"keyCreatedNote": "Copiez et stockez cette clé maintenant elle ne sera plus affichée.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Recommandations appliquées à ce 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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Point de terminaison de l'API",
@@ -2572,6 +2672,20 @@
"processStatus": "Statut du processus",
"online": "En ligne",
"offline": "Hors ligne",
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Disponibilité de la session",
"lastHeartbeat": "Dernier battement de coeur",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "annulé"
},
"agentCard": "Carte d'agent",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capacités",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Santé du système",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Résilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Invite système",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "Codex Fast Tier",
"codexFastTierDesc": "Injecter globalement service_tier=priority pour les requêtes OpenAI Codex.",
"codexFastTierHint": "Lorsqu'activé, OmniRoute ajoute service_tier=priority aux requêtes Codex sortantes pour les connexions qui n'ont pas déjà défini un tier. Le tier priority nécessite une clé API OpenAI Enterprise ou le chemin Codex avec authentification ChatGPT ; les autres types de clés recevront une erreur liée au tier de la part d'OpenAI. Les paramètres par connexion sur la page du provider Codex prévalent.",
"codexFastTierSaveError": "Échec de la mise à jour du paramètre 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": "Claude Fast Mode",
"claudeFastModeDesc": "Activer le Fast Mode Anthropic (speed:\"fast\") pour les requêtes Claude sélectionnées.",
"claudeFastModeHint": "Anthropic ne prend pas officiellement en charge le Fast Mode pour les clients de type SDK. Lorsque activé, OmniRoute transmet un en-tête X-CPA-Force-Fast-Mode permettant à un CLIProxyAPI compatible de réécrire l'entrypoint. Seuls les modèles Opus listés sont autorisés par la vérification côté binaire d'Anthropic. L'abonnement, le plan Max et le solde de crédits Fast Mode restent appliqués côté serveur — Anthropic peut renvoyer out_of_credits même lorsque le toggle est activé.",
"claudeFastModeModelsLabel": "Appliqué aux modèles ({count})",
"claudeFastModeModelCheckbox": "Activer le Fast Mode pour {model}",
"claudeFastModeSaveError": "Échec de la mise à jour du paramètre Claude Fast Mode"
"claudeFastModeSaveError": "Échec de la mise à jour du paramètre 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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Exécutez des cas de test sur vos points de terminaison LLM via OmniRoute. Chaque cas est envoyé comme une véritable requête API.",
"evaluate": "Évaluer",
"evaluateStepDescription": "Les réponses sont comparées aux critères attendus. Voir réussite/échec pour chaque cas avec des mesures de latence et des commentaires détaillés.",
"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": "Suites d'évaluation",
"evalSuitesHint": "Cliquez sur une suite pour afficher les cas de test, puis exécutez-la pour évaluer vos points de terminaison LLM.",
"evalsLoading": "Chargement des suites d'évaluation...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Gratuit",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Inconnu",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "En attente d'autorisation",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "אין",
"yes": "כן",
"no": "לא",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "אזהרה",
"note": "הערה",
"free": "חינם",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "בית",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "אנליטיקס",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "סקירה כללית",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "מפתחות API",
@@ -1288,6 +1373,7 @@
"keyName": "שם מפתח",
"keyNamePlaceholder": "למשל מפתח ייצור, מפתח פיתוח",
"keyNameDesc": "בחר שם תיאורי כדי לזהות את מטרת מפתח זה",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "מפתח API נוצר",
"keyCreatedSuccess": "מפתח נוצר בהצלחה!",
"keyCreatedNote": "העתק ואחסן את המפתח הזה עכשיו - הוא לא יוצג שוב.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "נקודת קצה API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "בריאות המערכת",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "מטמון",
"resilience": "חוסן",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "הנחית מערכת",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "טוען סוויטות eval...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "ממתין לאישור",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "कोई नहीं",
"yes": "हाँ",
"no": "नहीं",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "चेतावनी",
"note": "नोट",
"free": "निःशुल्क",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "घर",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "विश्लेषिकी",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "सभी प्रदाताओं और मॉडलों में अपने एपीआई उपयोग पैटर्न, टोकन खपत, लागत और गतिविधि रुझान की निगरानी करें।",
"evalsDescription": "अपने एलएलएम समापन बिंदुओं का परीक्षण और सत्यापन करने के लिए मूल्यांकन सुइट चलाएँ। मॉडल गुणवत्ता की तुलना करें, प्रतिगमन और बेंचमार्क विलंबता का पता लगाएं।",
"overview": "सिंहावलोकन",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "एपीआई कुंजी",
@@ -1288,6 +1373,7 @@
"keyName": "कुंजी का नाम",
"keyNamePlaceholder": "उदाहरण के लिए, उत्पादन कुंजी, विकास कुंजी",
"keyNameDesc": "इस कुंजी के उद्देश्य को पहचानने के लिए एक वर्णनात्मक नाम चुनें",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "एपीआई कुंजी बनाई गई",
"keyCreatedSuccess": "कुंजी सफलतापूर्वक बनाई गई!",
"keyCreatedNote": "इस कुंजी को अभी कॉपी करें और संग्रहीत करें - इसे दोबारा नहीं दिखाया जाएगा।",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "एपीआई समापन बिंदु",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "सिस्टम स्वास्थ्य",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "कैश",
"resilience": "लचीलापन",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "सिस्टम प्रॉम्प्ट",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "ओम्निरूट के माध्यम से अपने एलएलएम समापन बिंदुओं के विरुद्ध परीक्षण मामले निष्पादित करें। प्रत्येक मामले को वास्तविक एपीआई अनुरोध के रूप में भेजा जाता है।",
"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": "परीक्षण मामलों को देखने के लिए एक सूट पर क्लिक करें, फिर अपने एलएलएम समापन बिंदुओं का मूल्यांकन करने के लिए चलाएं",
"evalsLoading": "इवल सूट लोड हो रहा है...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "प्राधिकरण की प्रतीक्षा की जा रही है",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Egyik sem",
"yes": "Igen",
"no": "Nem",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Figyelmeztetés",
"note": "Megjegyzés",
"free": "Ingyenes",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Otthon",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Kövesse nyomon API-használati mintáit, tokenfelhasználását, költségeit és tevékenységi trendjeit az összes szolgáltatónál és modellnél.",
"evalsDescription": "Futtasson kiértékelő csomagokat az LLM-végpontok teszteléséhez és érvényesítéséhez. Hasonlítsa össze a modell minőségét, észlelje a regressziókat és mérje fel a késleltetést.",
"overview": "Áttekintés",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API kulcsok",
@@ -1288,6 +1373,7 @@
"keyName": "Kulcs neve",
"keyNamePlaceholder": "pl. Gyártási kulcs, Fejlesztési Kulcs",
"keyNameDesc": "Válasszon egy leíró nevet a kulcs céljának azonosításához",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-kulcs létrehozva",
"keyCreatedSuccess": "A kulcs sikeresen létrehozva!",
"keyCreatedNote": "Másolja ki és tárolja ezt a kulcsot most többé nem jelenik meg.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API végpont",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Rendszer egészsége",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Gyorsítótár",
"resilience": "Rugalmasság",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Rendszer Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Végezzen teszteseteket LLM-végpontjaival szemben az OmniRoute segítségével. Minden eset valódi API-kérésként kerül elküldésre.",
"evaluate": "Értékelje",
"evaluateStepDescription": "A válaszokat a várt kritériumokhoz hasonlítják. Tekintse meg az egyes esetek sikerességét/sikertelenségét a késleltetési mutatók és a részletes visszajelzések segítségével.",
"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": "Értékelő lakosztályok",
"evalSuitesHint": "Kattintson egy csomagra a tesztesetek megtekintéséhez, majd futtassa az LLM-végpontok kiértékeléséhez",
"evalsLoading": "Eval Suite betöltése...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plusz",
"tierFree": "Ingyenes",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Ismeretlen",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Várakozás az engedélyezésre",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Tidak ada",
"yes": "Ya",
"no": "Tidak",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Peringatan",
"note": "Catatan",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Rumah",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analisis",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Pantau pola penggunaan API Anda, konsumsi token, biaya, dan tren aktivitas di semua penyedia dan model.",
"evalsDescription": "Jalankan rangkaian evaluasi untuk menguji dan memvalidasi titik akhir LLM Anda. Bandingkan kualitas model, deteksi regresi, dan latensi tolok ukur.",
"overview": "Ikhtisar",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Kunci API",
@@ -1288,6 +1373,7 @@
"keyName": "Nama Kunci",
"keyNamePlaceholder": "misalnya, Kunci Produksi, Kunci Pengembangan",
"keyNameDesc": "Pilih nama deskriptif untuk mengidentifikasi tujuan kunci ini",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Kunci API Dibuat",
"keyCreatedSuccess": "Kunci berhasil dibuat!",
"keyCreatedNote": "Salin dan simpan kunci ini sekarang — kunci ini tidak akan ditampilkan lagi.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Titik Akhir API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Kesehatan Sistem",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Tembolok",
"resilience": "Ketahanan",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Perintah Sistem",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Jalankan kasus uji terhadap titik akhir LLM Anda melalui OmniRoute. Setiap kasus dikirim sebagai permintaan API nyata.",
"evaluate": "Evaluasi",
"evaluateStepDescription": "Tanggapan dibandingkan dengan kriteria yang diharapkan. Lihat lulus/gagal untuk setiap kasus dengan metrik latensi dan masukan terperinci.",
"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": "Ruang Evaluasi",
"evalSuitesHint": "Klik rangkaian untuk melihat kasus pengujian, lalu jalankan untuk mengevaluasi titik akhir LLM Anda",
"evalsLoading": "Memuat suite eval...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Ditambah lagi",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Tidak diketahui",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Menunggu Otorisasi",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Nessuno",
"yes": "SÌ",
"no": "NO",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Avvertimento",
"note": "Nota",
"free": "Gratuito",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Casa",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analitica",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitora i modelli di utilizzo delle API, il consumo di token, i costi e le tendenze delle attività su tutti i provider e modelli.",
"evalsDescription": "Esegui suite di valutazione per testare e convalidare i tuoi endpoint LLM. Confronta la qualità del modello, rileva le regressioni e confronta la latenza.",
"overview": "Panoramica",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Chiavi API",
@@ -1288,6 +1373,7 @@
"keyName": "Nome chiave",
"keyNamePlaceholder": "ad esempio, Chiave di produzione, Chiave di sviluppo",
"keyNameDesc": "Scegli un nome descrittivo per identificare lo scopo di questa chiave",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Chiave API creata",
"keyCreatedSuccess": "Chiave creata con successo!",
"keyCreatedNote": "Copia e memorizza questa chiave adesso: non verrà più mostrata.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Endpoint API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "annullato"
},
"agentCard": "Carta dell'agente",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Versione",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Salute del sistema",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilienza",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Richiesta di sistema",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Esegui casi di test sugli endpoint LLM tramite OmniRoute. Ogni caso viene inviato come una vera richiesta API.",
"evaluate": "Valutare",
"evaluateStepDescription": "Le risposte vengono confrontate con i criteri attesi. Visualizza il superamento/fallimento per ciascun caso con parametri di latenza e feedback dettagliato.",
"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": "Suite di valutazione",
"evalSuitesHint": "Fai clic su una suite per visualizzare i casi di test, quindi esegui per valutare i tuoi endpoint LLM",
"evalsLoading": "Caricamento suite di valutazione...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Più",
"tierFree": "Gratuito",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Sconosciuto",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "In attesa di autorizzazione",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "なし",
"yes": "はい",
"no": "いいえ",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "警告",
"note": "注記",
"free": "無料",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "ホーム",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "分析",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "概要",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "APIキー",
@@ -1288,6 +1373,7 @@
"keyName": "キー名",
"keyNamePlaceholder": "例: プロダクションキー、開発キー",
"keyNameDesc": "このキーの目的を識別するためのわかりやすい名前を選択してください",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "APIキーが作成されました",
"keyCreatedSuccess": "キーが正常に作成されました。",
"keyCreatedNote": "このキーをコピーして保存してください。再度表示されなくなります。",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "APIエンドポイント",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "システムの健全性",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "キャッシュ",
"resilience": "回復力",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "システムプロンプト",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "OmniRoute を通じて LLM エンドポイントに対してテスト ケースを実行します。各ケースは実際の 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": "評価スイートを読み込み中...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "承認を待っています",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "없음",
"yes": "예",
"no": "아니요",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "경고",
"note": "참고",
"free": "무료",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "홈",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "분석",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "개요",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API 키",
@@ -1288,6 +1373,7 @@
"keyName": "키 이름",
"keyNamePlaceholder": "예: 생산 키, 개발 키",
"keyNameDesc": "이 키의 목적을 식별하려면 설명이 포함된 이름을 선택하세요.",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API 키가 생성되었습니다.",
"keyCreatedSuccess": "키가 생성되었습니다!",
"keyCreatedNote": "지금 이 키를 복사하여 저장하세요. 다시 표시되지 않습니다.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API 엔드포인트",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "시스템 상태",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "캐시",
"resilience": "탄력성",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "시스템 프롬프트",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "OmniRoute를 통해 LLM 엔드포인트에 대해 테스트 케이스를 실행하세요. 각 사례는 실제 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": "평가 모음 로드 중...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "승인을 기다리는 중",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "tiada",
"yes": "ya",
"no": "Tidak",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Amaran",
"note": "Nota",
"free": "Percuma",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Rumah",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analitis",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Pantau corak penggunaan API anda, penggunaan token, kos dan aliran aktiviti merentas semua pembekal dan model.",
"evalsDescription": "Jalankan suite penilaian untuk menguji dan mengesahkan titik akhir LLM anda. Bandingkan kualiti model, mengesan regresi dan kependaman penanda aras.",
"overview": "Gambaran keseluruhan",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Kunci API",
@@ -1288,6 +1373,7 @@
"keyName": "Nama Kunci",
"keyNamePlaceholder": "cth., Kunci Pengeluaran, Kunci Pembangunan",
"keyNameDesc": "Pilih nama deskriptif untuk mengenal pasti tujuan kunci ini",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Kunci API Dicipta",
"keyCreatedSuccess": "Kunci berjaya dibuat!",
"keyCreatedNote": "Salin dan simpan kunci ini sekarang — ia tidak akan ditunjukkan lagi.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Titik Akhir API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Kesihatan Sistem",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Ketahanan",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Gesaan Sistem",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Laksanakan kes ujian terhadap titik akhir LLM anda melalui OmniRoute. Setiap kes dihantar sebagai permintaan API sebenar.",
"evaluate": "nilaikan",
"evaluateStepDescription": "Jawapan dibandingkan dengan kriteria yang dijangkakan. Lihat lulus/gagal untuk setiap kes dengan metrik kependaman dan maklum balas terperinci.",
"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": "Suite Penilaian",
"evalSuitesHint": "Klik suite untuk melihat kes ujian, kemudian jalankan untuk menilai titik akhir LLM anda",
"evalsLoading": "Memuatkan suite eval...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Tambahan pula",
"tierFree": "Percuma",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Tidak diketahui",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Menunggu Keizinan",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Geen",
"yes": "Ja",
"no": "Nee",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Waarschuwing",
"note": "Let op",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Thuis",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analyses",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Houd toezicht op uw API-gebruikspatronen, tokenverbruik, kosten en activiteitstrends voor alle providers en modellen.",
"evalsDescription": "Voer evaluatiesuites uit om uw LLM-eindpunten te testen en te valideren. Vergelijk de modelkwaliteit, detecteer regressies en benchmark de latentie.",
"overview": "Overzicht",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-sleutels",
@@ -1288,6 +1373,7 @@
"keyName": "Sleutelnaam",
"keyNamePlaceholder": "bijvoorbeeld productiesleutel, ontwikkelingssleutel",
"keyNameDesc": "Kies een beschrijvende naam om het doel van deze sleutel te identificeren",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-sleutel gemaakt",
"keyCreatedSuccess": "Sleutel succesvol aangemaakt!",
"keyCreatedNote": "Kopieer en bewaar deze sleutel nu. Deze wordt niet meer weergegeven.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-eindpunt",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agentenkaart",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Versie",
"url": "URL",
"capabilities": "Mogelijkheden",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Systeemgezondheid",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Veerkracht",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systeemprompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Voer testcases uit op uw LLM-eindpunten via OmniRoute. Elke case wordt verzonden als een echt API-verzoek.",
"evaluate": "Evalueer",
"evaluateStepDescription": "De antwoorden worden vergeleken met de verwachte criteria. Bekijk voor elk geval de geslaagde/mislukte resultaten met latentiestatistieken en gedetailleerde feedback.",
"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": "Evaluatiesuites",
"evalSuitesHint": "Klik op een suite om testcases te bekijken en voer deze vervolgens uit om uw LLM-eindpunten te evalueren",
"evalsLoading": "Evaluatiesuites laden...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Onbekend",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Wachten op toestemming",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Ingen",
"yes": "Ja",
"no": "Nei",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Advarsel",
"note": "Merk",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Hjem",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Overvåk API-bruksmønstre, tokenforbruk, kostnader og aktivitetstrender på tvers av alle leverandører og modeller.",
"evalsDescription": "Kjør evalueringspakker for å teste og validere LLM-endepunktene dine. Sammenlign modellkvalitet, registrer regresjoner og benchmark latens.",
"overview": "Oversikt",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-nøkler",
@@ -1288,6 +1373,7 @@
"keyName": "Nøkkelnavn",
"keyNamePlaceholder": "f.eks. produksjonsnøkkel, utviklingsnøkkel",
"keyNameDesc": "Velg et beskrivende navn for å identifisere formålet med denne nøkkelen",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-nøkkel opprettet",
"keyCreatedSuccess": "Nøkkel ble opprettet!",
"keyCreatedNote": "Kopier og lagre denne nøkkelen nå den vises ikke igjen.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-endepunkt",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Systemhelse",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Spenst",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systemmelding",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Utfør testsaker mot LLM-endepunktene dine gjennom OmniRoute. Hver sak sendes som en ekte API-forespørsel.",
"evaluate": "Vurder",
"evaluateStepDescription": "Svar sammenlignes mot forventede kriterier. Se bestått/ikke bestått for hver sak med ventetid og detaljert tilbakemelding.",
"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": "Evalueringssuiter",
"evalSuitesHint": "Klikk på en suite for å se testtilfeller, og kjør deretter for å evaluere LLM-endepunktene dine",
"evalsLoading": "Laster inn eval suiter...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Pluss",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Ukjent",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Venter på autorisasjon",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "wala",
"yes": "Oo",
"no": "Hindi",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Babala",
"note": "Tandaan",
"free": "Libre",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Bahay",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Subaybayan ang iyong mga pattern ng paggamit ng API, pagkonsumo ng token, gastos, at mga trend ng aktibidad sa lahat ng provider at modelo.",
"evalsDescription": "Magpatakbo ng mga evaluation suite para subukan at patunayan ang iyong mga LLM endpoint. Ihambing ang kalidad ng modelo, tuklasin ang mga regression, at benchmark na latency.",
"overview": "Pangkalahatang-ideya",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Mga API Key",
@@ -1288,6 +1373,7 @@
"keyName": "Pangalan ng Susing",
"keyNamePlaceholder": "hal., Production Key, Development Key",
"keyNameDesc": "Pumili ng mapaglarawang pangalan para matukoy ang layunin ng susi na ito",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Nagawa ang API Key",
"keyCreatedSuccess": "Matagumpay na nagawa ang susi!",
"keyCreatedNote": "Kopyahin at iimbak ang key na ito ngayon — hindi na ito muling ipapakita.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Endpoint ng API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Kalusugan ng System",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Katatagan",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Magsagawa ng mga pagsubok na kaso laban sa iyong mga LLM na endpoint sa pamamagitan ng OmniRoute. Ang bawat kaso ay ipinadala bilang isang tunay na kahilingan sa API.",
"evaluate": "Suriin",
"evaluateStepDescription": "Inihahambing ang mga tugon ayon sa inaasahang pamantayan. Tingnan ang pass/fail para sa bawat kaso na may mga sukatan ng latency at detalyadong feedback.",
"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": "Mga Suite sa Pagsusuri",
"evalSuitesHint": "Mag-click ng suite para tingnan ang mga test case, pagkatapos ay tumakbo para suriin ang iyong mga LLM endpoint",
"evalsLoading": "Nilo-load ang mga eval suite...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Dagdag pa",
"tierFree": "Libre",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Hindi alam",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Naghihintay ng Awtorisasyon",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Żadne",
"yes": "Tak",
"no": "Nie",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Ostrzeżenie",
"note": "Uwaga",
"free": "Bezpłatny",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Dom",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analityka",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitoruj wzorce wykorzystania interfejsu API, zużycie tokenów, koszty i trendy aktywności u wszystkich dostawców i modeli.",
"evalsDescription": "Uruchom pakiety ewaluacyjne, aby przetestować i zweryfikować punkty końcowe LLM. Porównaj jakość modelu, wykryj regresje i porównaj opóźnienia.",
"overview": "Przegląd",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Klucze API",
@@ -1288,6 +1373,7 @@
"keyName": "Nazwa klucza",
"keyNamePlaceholder": "np. klucz produkcyjny, klucz rozwojowy",
"keyNameDesc": "Wybierz opisową nazwę identyfikującą przeznaczenie tego klucza",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Utworzono klucz API",
"keyCreatedSuccess": "Klucz został utworzony pomyślnie!",
"keyCreatedNote": "Skopiuj i zapisz ten klucz teraz — nie będzie on więcej wyświetlany.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Punkt końcowy interfejsu API",
@@ -2572,6 +2672,20 @@
"processStatus": "Stan procesu",
"online": "W Internecie",
"offline": "Nieaktywny",
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Stan systemu",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Pamięć podręczna",
"resilience": "Odporność",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Monit systemowy",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Wykonuj przypadki testowe na punktach końcowych LLM za pośrednictwem OmniRoute. Każdy przypadek wysyłany jest jako prawdziwe żądanie API.",
"evaluate": "Oceń",
"evaluateStepDescription": "Odpowiedzi porównuje się z oczekiwanymi kryteriami. Zobacz wynik pozytywny/nieudany dla każdego przypadku ze wskaźnikami opóźnień i szczegółowymi informacjami zwrotnymi.",
"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": "Zestawy ewaluacyjne",
"evalSuitesHint": "Kliknij zestaw, aby wyświetlić przypadki testowe, a następnie uruchom, aby ocenić punkty końcowe LLM",
"evalsLoading": "Ładowanie pakietów eval...",
@@ -5058,7 +5406,25 @@
"tierPro": "Zawodowiec",
"tierPlus": "Dodatkowo",
"tierFree": "Bezpłatny",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Nieznany",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Oczekiwanie na autoryzację",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Nenhum",
"yes": "Sim",
"no": "Não",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Aviso",
"note": "Nota",
"free": "Grátis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Página inicial",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "Configurações do proxy HTTP",
"mitmProxySubtitle": "Interceptação MITM",
"oneProxySubtitle": "Gateway proxy público",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Estatísticas de tráfego e uso",
"analyticsComboHealthSubtitle": "Confiabilidade dos targets do combo",
"analyticsUtilizationSubtitle": "Utilização de provedores",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Opções avançadas",
"settingsSecuritySubtitle": "Auth e criptografia",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentação",
"issuesSubtitle": "Reportar um bug",
"changelogSubtitle": "Notas de versão"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Análise",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitore seus padrões de uso de API, consumo de tokens, custos e tendências de atividades em todos os provedores e modelos.",
"evalsDescription": "Execute conjuntos de avaliação para testar e validar seus endpoints LLM. Compare a qualidade do modelo, detecte regressões e compare a latência.",
"overview": "Visão geral",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Chaves de API",
@@ -1288,6 +1373,7 @@
"keyName": "Nome da chave",
"keyNamePlaceholder": "por exemplo, chave de produção, chave de desenvolvimento",
"keyNameDesc": "Escolha um nome descritivo para identificar a finalidade desta chave",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Chave de API criada",
"keyCreatedSuccess": "Chave criada com sucesso!",
"keyCreatedNote": "Copie e armazene esta chave agora — ela não será mostrada novamente.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Ponto final da API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capacidades",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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": "Gerenciamento de Memória",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Saúde do sistema",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resiliência",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Alerta do sistema",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute casos de teste em seus endpoints LLM por meio do OmniRoute. Cada caso é enviado como uma solicitação de API real.",
"evaluate": "Avaliar",
"evaluateStepDescription": "As respostas são comparadas com os critérios esperados. Veja aprovação/reprovação para cada caso com métricas de latência e feedback detalhado.",
"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": "Suítes de avaliação",
"evalSuitesHint": "Clique em um conjunto para visualizar casos de teste e execute para avaliar seus endpoints LLM",
"evalsLoading": "Carregando suítes de avaliação...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pró",
"tierPlus": "Mais",
"tierFree": "Grátis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Desconhecido",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Aguardando autorização",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Niciuna",
"yes": "Da",
"no": "Nu",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Avertisment",
"note": "Notă",
"free": "Gratuit",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Acasă",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitorizați-vă modelele de utilizare a API-ului, consumul de simboluri, costurile și tendințele activității la toți furnizorii și modelele.",
"evalsDescription": "Rulați suite de evaluare pentru a testa și valida punctele finale LLM. Comparați calitatea modelului, detectați regresiile și evaluați latența.",
"overview": "Prezentare generală",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Chei API",
@@ -1288,6 +1373,7 @@
"keyName": "Nume cheie",
"keyNamePlaceholder": "de exemplu, cheie de producție, cheie de dezvoltare",
"keyNameDesc": "Alegeți un nume descriptiv pentru a identifica scopul acestei chei",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Cheia API creată",
"keyCreatedSuccess": "Cheie creată cu succes!",
"keyCreatedNote": "Copiați și stocați această cheie acum - nu va fi afișată din nou.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Starea procesului",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Sănătatea sistemului",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Reziliență",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Prompt de sistem",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execută cazuri de testare împotriva punctelor finale LLM prin OmniRoute. Fiecare caz este trimis ca o cerere API reală.",
"evaluate": "Evaluează",
"evaluateStepDescription": "Răspunsurile sunt comparate cu criteriile așteptate. Vedeți succes/eșec pentru fiecare caz cu valori de latență și feedback detaliat.",
"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": "Suite de evaluare",
"evalSuitesHint": "Faceți clic pe o suită pentru a vedea cazurile de testare, apoi rulați pentru a evalua punctele finale LLM",
"evalsLoading": "Se încarcă apartamentele de evaluare...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Gratuit",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Necunoscut",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "În așteptarea autorizației",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Нет",
"yes": "Да",
"no": "Нет",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Предупреждение",
"note": "Примечание",
"free": "Бесплатно",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Главная",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Аналитика",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Обзор",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-ключи",
@@ -1288,6 +1373,7 @@
"keyName": "Имя ключа",
"keyNamePlaceholder": "например, Ключ производства, Ключ разработки",
"keyNameDesc": "Выберите описательное имя, чтобы определить назначение этого ключа.",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Ключ API создан",
"keyCreatedSuccess": "Ключ успешно создан!",
"keyCreatedNote": "Скопируйте и сохраните этот ключ сейчас — он больше не будет отображаться.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Рекомендации применены к этому комбо.",
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Конечная точка API",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Время работы сеанса",
"lastHeartbeat": "Последний heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Загрузка панели A2A...",
@@ -2654,6 +2767,7 @@
"cancelled": "отменена"
},
"agentCard": "Карточка агента",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Версия",
"url": "URL",
"capabilities": "Возможности",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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": "Память",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Здоровье системы",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Кэш",
"resilience": "Устойчивость",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Системная подсказка",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "Загрузка тестовых пакетов...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Ожидание авторизации",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"clearError": "Не удалось очистить кэш.",
"unavailable": "Кэш недоступен",
"unavailableDesc": "Не удалось получить статистику кэша. Убедитесь, что сервер запущен.",
"loadingCacheAria": "__MISSING__:Loading cache",
"promptCache": "Кэш промптов (на стороне провайдера)",
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Пик кэша",
"cached": "В кэше",
"overview": "Обзор",
"entries": "Записи",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "žiadne",
"yes": "áno",
"no": "Nie",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Upozornenie",
"note": "Poznámka",
"free": "Zadarmo",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Domov",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitorujte svoje vzorce používania API, spotrebu tokenov, náklady a trendy aktivity u všetkých poskytovateľov a modelov.",
"evalsDescription": "Spustite vyhodnocovacie súpravy na testovanie a overovanie vašich koncových bodov LLM. Porovnajte kvalitu modelu, zistite regresie a benchmarkovú latenciu.",
"overview": "Prehľad",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API kľúče",
@@ -1288,6 +1373,7 @@
"keyName": "Názov kľúča",
"keyNamePlaceholder": "napr. Výrobný kľúč, Vývojový kľúč",
"keyNameDesc": "Vyberte popisný názov na identifikáciu účelu tohto kľúča",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Kľúč API bol vytvorený",
"keyCreatedSuccess": "Kľúč bol úspešne vytvorený!",
"keyCreatedNote": "Skopírujte a uložte tento kľúč teraz už sa nebude zobrazovať.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Koncový bod API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Zdravie systému",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Odolnosť",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systémová výzva",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Vykonajte testovacie prípady na vašich koncových bodoch LLM prostredníctvom OmniRoute. Každý prípad je odoslaný ako skutočná požiadavka API.",
"evaluate": "Vyhodnoťte",
"evaluateStepDescription": "Odpovede sa porovnávajú s očakávanými kritériami. Pozrite si úspešnosť/neúspešnosť pre každý prípad s metrikami latencie a podrobnou spätnou väzbou.",
"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": "Hodnotiace suity",
"evalSuitesHint": "Kliknutím na sadu zobrazíte testovacie prípady a potom spustite vyhodnotiť svoje koncové body LLM",
"evalsLoading": "Načítavajú sa hodnotné suity...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Navyše",
"tierFree": "Zadarmo",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Neznámy",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Čaká sa na autorizáciu",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Inga",
"yes": "Ja",
"no": "Nej",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Varning",
"note": "Obs",
"free": "Gratis",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Hem",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Övervaka dina API-användningsmönster, tokenförbrukning, kostnader och aktivitetstrender för alla leverantörer och modeller.",
"evalsDescription": "Kör utvärderingssviter för att testa och validera dina LLM-slutpunkter. Jämför modellkvalitet, upptäck regressioner och benchmark latens.",
"overview": "Översikt",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API-nycklar",
@@ -1288,6 +1373,7 @@
"keyName": "Nyckelnamn",
"keyNamePlaceholder": "t.ex. produktionsnyckel, utvecklingsnyckel",
"keyNameDesc": "Välj ett beskrivande namn för att identifiera denna nyckels syfte",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API-nyckel skapad",
"keyCreatedSuccess": "Nyckel skapad framgångsrikt!",
"keyCreatedNote": "Kopiera och lagra den här nyckeln nu den kommer inte att visas igen.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API-slutpunkt",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Systemhälsa",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Motståndskraft",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Systemprompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Utför testfall mot dina LLM-slutpunkter genom OmniRoute. Varje ärende skickas som en riktig API-förfrågan.",
"evaluate": "Utvärdera",
"evaluateStepDescription": "Svar jämförs mot förväntade kriterier. Se godkänt/underkänt för varje fall med latensstatistik och detaljerad feedback.",
"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": "Utvärderingssviter",
"evalSuitesHint": "Klicka på en svit för att se testfall och kör sedan för att utvärdera dina LLM-slutpunkter",
"evalsLoading": "Laddar eval-sviter...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Gratis",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Okänd",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Väntar på auktorisering",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "ไม่มี",
"yes": "ใช่",
"no": "ไม่",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "คำเตือน",
"note": "หมายเหตุ",
"free": "ฟรี",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "บ้าน",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "การวิเคราะห์",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "ภาพรวม",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "คีย์ API",
@@ -1288,6 +1373,7 @@
"keyName": "ชื่อคีย์",
"keyNamePlaceholder": "เช่น คีย์การผลิต คีย์การพัฒนา",
"keyNameDesc": "เลือกชื่อที่สื่อความหมายเพื่อระบุวัตถุประสงค์ของคีย์นี้",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "สร้างคีย์ API แล้ว",
"keyCreatedSuccess": "สร้างคีย์สำเร็จแล้ว!",
"keyCreatedNote": "คัดลอกและจัดเก็บคีย์นี้ทันที ซึ่งจะไม่แสดงอีก",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "จุดสิ้นสุด API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "กำลังโหลดแดชบอร์ด A2A...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "สุขภาพของระบบ",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "แคช",
"resilience": "ความยืดหยุ่น",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "พร้อมท์ระบบ",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "กำลังโหลดห้องสวีท eval...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "รอการอนุญาต",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Yok",
"yes": "Evet",
"no": "Hayır",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Uyarı",
"note": "Not",
"free": "Ücretsiz",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Ana Sayfa",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analitik",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Tüm sağlayıcılar ve modeller genelinde API kullanım kalıplarınızı, jeton tüketiminizi, maliyetlerinizi ve etkinlik eğilimlerinizi izleyin.",
"evalsDescription": "LLM uç noktalarınızı test etmek ve doğrulamak için değerlendirme paketlerini çalıştırın. Model kalitesini karşılaştırın, regresyonları tespit edin ve gecikmeyi kıyaslayın.",
"overview": "Genel Bakış",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Anahtarları",
@@ -1288,6 +1373,7 @@
"keyName": "Anahtar Adı",
"keyNamePlaceholder": "Örn. Üretim Anahtarı, Geliştirme Anahtarı",
"keyNameDesc": "Bu anahtarın amacını tanımlamak için açıklayıcı bir ad seçin",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Anahtarı Oluşturuldu",
"keyCreatedSuccess": "Anahtar başarıyla oluşturuldu!",
"keyCreatedNote": "Bu anahtarı şimdi kopyalayıp saklayın; bir daha gösterilmeyecek.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "Öneriler bu komboya uygulandı.",
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Uç Noktası",
@@ -2572,6 +2672,20 @@
"processStatus": "İşlem durumu",
"online": "Çevrimiçi",
"offline": "Çevrimdışı",
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Oturumun çalışma süresi",
"lastHeartbeat": "Son kalp atışı",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "A2A kontrol paneli yükleniyor...",
@@ -2654,6 +2767,7 @@
"cancelled": "iptal edildi"
},
"agentCard": "Agent kartı",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Sürüm",
"url": "URL",
"capabilities": "Yetenekler",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Sistem Sağlığı",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Önbellek",
"resilience": "Dayanıklılık",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Sistem İstemi",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "OmniRoute aracılığıyla LLM uç noktalarınızda test senaryoları çalıştırın. Her senaryo gerçek bir API isteği olarak gönderilir.",
"evaluate": "Değerlendir",
"evaluateStepDescription": "Yanıtlar beklenen ölçütlerle karşılaştırılır. Her senaryonun başarılı/başarısız sonucu, gecikme metrikleri ve ayrıntılı geri bildirimle gösterilir.",
"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": "Değerlendirme Süitleri",
"evalSuitesHint": "Test senaryolarını görmek için bir süite tıklayın, ardından LLM uç noktalarınızı değerlendirmek için çalıştırın.",
"evalsLoading": "Değerlendirme süitleri yükleniyor...",
@@ -5058,7 +5406,25 @@
"tierPro": "Profesyonel",
"tierPlus": "Artı",
"tierFree": "Ücretsiz",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Bilinmiyor",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Yetkilendirme bekleniyor",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "Жодного",
"yes": "так",
"no": "немає",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Попередження",
"note": "Примітка",
"free": "безкоштовно",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "додому",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Аналітика",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Огляд",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Ключі API",
@@ -1288,6 +1373,7 @@
"keyName": "Назва ключа",
"keyNamePlaceholder": "наприклад, ключ виробництва, ключ розробки",
"keyNameDesc": "Виберіть описову назву, щоб визначити призначення цього ключа",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Ключ API створено",
"keyCreatedSuccess": "Ключ успішно створено!",
"keyCreatedNote": "Скопіюйте та збережіть цей ключ зараз — він більше не відображатиметься.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Кінцева точка API",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Час роботи сесії",
"lastHeartbeat": "Останній удар серця",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Здоров'я системи",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Кеш",
"resilience": "Стійкість",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Системна підказка",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"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": "Завантаження eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Очікування авторизації",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "None",
"yes": "Yes",
"no": "No",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Warning",
"note": "Note",
"free": "Free",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Home",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Analytics",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Monitor your API usage patterns, token consumption, costs, and activity trends across all providers and models.",
"evalsDescription": "Run evaluation suites to test and validate your LLM endpoints. Compare model quality, detect regressions, and benchmark latency.",
"overview": "Overview",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API Keys",
@@ -1288,6 +1373,7 @@
"keyName": "Key Name",
"keyNamePlaceholder": "e.g., Production Key, Development Key",
"keyNameDesc": "Choose a descriptive name to identify this key's purpose",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API Key Created",
"keyCreatedSuccess": "Key created successfully!",
"keyCreatedNote": "Copy and store this key now — it won't be shown again.",
@@ -1625,6 +1711,7 @@
"amp": "Use when you want Amp shorthand workflows but still need OmniRoute alias and routing rules enforcement.",
"qwen": "Use when you need Alibaba Qwen Code CLI for coding tasks.",
"hermes": "Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API Endpoint",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "System Health",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Cache",
"resilience": "Resilience",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "System Prompt",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Execute test cases against your LLM endpoints through OmniRoute. Each case is sent as a real API request.",
"evaluate": "Evaluate",
"evaluateStepDescription": "Responses are compared against expected criteria. See pass/fail for each case with latency metrics and detailed feedback.",
"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": "Evaluation Suites",
"evalSuitesHint": "Click a suite to view test cases, then run to evaluate your LLM endpoints",
"evalsLoading": "Loading eval suites...",
@@ -5058,7 +5406,25 @@
"tierPro": "Pro",
"tierPlus": "Plus",
"tierFree": "Free",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Unknown",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Waiting for Authorization",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Failed to load proxy registry",
"errorNameHostRequired": "Name and host are required",
"errorSaveFailed": "Failed to save proxy",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "không có",
"yes": "Có",
"no": "Không",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "Cảnh báo",
"note": "Lưu ý",
"free": "miễn phí",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "Trang chủ",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "Phân tích",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "Giám sát mô hình sử dụng API, mức tiêu thụ mã thông báo, chi phí và xu hướng hoạt động của bạn trên tất cả các nhà cung cấp và mô hình.",
"evalsDescription": "Chạy bộ đánh giá để kiểm tra và xác thực điểm cuối LLM của bạn. So sánh chất lượng mô hình, phát hiện hồi quy và độ trễ điểm chuẩn.",
"overview": "Tổng quan",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "Khóa API",
@@ -1288,6 +1373,7 @@
"keyName": "Tên khóa",
"keyNamePlaceholder": "ví dụ: Khóa sản xuất, Khóa phát triển",
"keyNameDesc": "Chọn tên mô tả để xác định mục đích của khóa này",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "Đã tạo khóa API",
"keyCreatedSuccess": "Đã tạo khóa thành công!",
"keyCreatedNote": "Sao chép và lưu trữ khóa này ngay bây giờ — nó sẽ không được hiển thị lại.",
@@ -1625,6 +1711,7 @@
"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": "__MISSING__:Use when you need a lightweight terminal-native AI assistant for quick tasks.",
"hermes-agent": "__MISSING__:Use when you need Hermes Agent (by Nousresearch) with default, delegation, vision and auxiliary models routed through OmniRoute.",
"custom": "__MISSING__:Use for custom tool implementations or generic OpenAI-compatible configurations."
},
"toolDescriptions": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp coding assistant CLI",
"hermes": "__MISSING__:Hermes AI Terminal Assistant",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "__MISSING__:Generic OpenAI-compatible CLI or SDK configuration generator"
},
"guides": {
@@ -2030,6 +2118,17 @@
"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.",
@@ -2339,7 +2438,8 @@
"previousPeriod": "__MISSING__:Previous Half",
"currentPeriod": "__MISSING__:Current Half",
"exportCSV": "__MISSING__:Export as CSV",
"exportJSON": "__MISSING__:Export as JSON"
"exportJSON": "__MISSING__:Export as JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "Điểm cuối API",
@@ -2572,6 +2672,20 @@
"processStatus": "Process status",
"online": "Online",
"offline": "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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "Session uptime",
"lastHeartbeat": "Last heartbeat",
@@ -2626,8 +2740,7 @@
"apiKeyId": "Api Key Id",
"offset": "Offset",
"limit": "Limit",
"tool": "Tool",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "Tool"
},
"a2aDashboard": {
"loading": "Loading A2A dashboard...",
@@ -2654,6 +2767,7 @@
"cancelled": "cancelled"
},
"agentCard": "Agent card",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "Version",
"url": "URL",
"capabilities": "Capabilities",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "Tình trạng hệ thống",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "Grok Web Cookie Hint",
@@ -3729,6 +3893,65 @@
"cache": "Bộ nhớ đệm",
"resilience": "khả năng phục hồi",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "Lời nhắc hệ thống",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK Engine",
@@ -4603,6 +4935,7 @@
"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",
@@ -4657,6 +4990,8 @@
"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": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "Thực hiện các trường hợp kiểm thử đối với điểm cuối LLM của bạn thông qua OmniRoute. Mỗi trường hợp được gửi dưới dạng một yêu cầu API thực sự.",
"evaluate": "Đánh giá",
"evaluateStepDescription": "Các câu trả lời được so sánh với các tiêu chí dự kiến. Xem đạt/không đạt cho từng trường hợp với số liệu về độ trễ và phản hồi chi tiết.",
"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": "Bộ đánh giá",
"evalSuitesHint": "Nhấp vào một bộ để xem các trường hợp thử nghiệm, sau đó chạy để đánh giá điểm cuối LLM của bạn",
"evalsLoading": "Đang tải bộ đánh giá...",
@@ -5058,7 +5406,25 @@
"tierPro": "chuyên nghiệp",
"tierPlus": "Cộng thêm",
"tierFree": "miễn phí",
"tierLite": "__MISSING__:Lite",
"tierUnknown": "Không xác định",
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "Failed to save suite",
"clone": "__MISSING__:Clone",
"exportSuite": "__MISSING__:Export",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "Đang chờ cấp phép",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"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.",
@@ -5920,7 +6317,9 @@
"peakCached": "Peak cached",
"cached": "Cached",
"overview": "Overview",
"entries": "Entries",
"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.",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "__MISSING__:Global",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "__MISSING__:Scope IDs (comma or newline separated)",
"bulkScopeIdsPlaceholder": "__MISSING__:provider-openai,provider-anthropic",
"bulkApply": "__MISSING__:Apply",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"errorLoadFailed": "Error Load Failed",
"errorNameHostRequired": "Error Name Host Required",
"errorSaveFailed": "Error Save Failed",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "__MISSING__:Line {line}: {reason}",
"bulkImportMaxExceeded": "__MISSING__:Maximum 100 proxies per import",
"bulkImportPreview": "__MISSING__:Preview",
"bulkImportErrorMissingName": "__MISSING__:Missing NAME",
"bulkImportErrorMissingHost": "__MISSING__:Missing HOST",
"bulkImportErrorInvalidPort": "__MISSING__:Invalid PORT (must be 1-65535)",
"bulkImportErrorInvalidType": "__MISSING__:Invalid TYPE (use http, https, or socks5)",
"bulkImportErrorInvalidStatus": "__MISSING__:Invalid STATUS (use active or inactive)",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},

View File

@@ -54,6 +54,8 @@
"none": "无",
"yes": "是的",
"no": "否",
"on": "__MISSING__:ON",
"off": "__MISSING__:OFF",
"warning": "警告",
"note": "注意事项",
"free": "免费",
@@ -705,7 +707,8 @@
"batchFileDetailFailedToLoad": "__MISSING__:Failed to load file contents",
"batchFilesListSearchPlaceholder": "__MISSING__:Search by ID or filename…",
"batchFilesListFilesTable": "__MISSING__:Files",
"batchPageLoadingMore": "__MISSING__:Loading more…"
"batchPageLoadingMore": "__MISSING__:Loading more…",
"recommended": "__MISSING__:Recommended"
},
"sidebar": {
"home": "首页",
@@ -842,6 +845,7 @@
"settingsAi": "AI Settings",
"settingsSecurity": "Security",
"settingsFeatureFlags": "__MISSING__:Feature Flags",
"settingsAuthz": "__MISSING__:Authz",
"settingsRouting": "Routing",
"settingsResilience": "Resilience",
"settingsAdvanced": "Advanced",
@@ -875,6 +879,12 @@
"proxySubtitle": "HTTP proxy settings",
"mitmProxySubtitle": "MITM interception",
"oneProxySubtitle": "Public proxy gateway",
"leaderboard": "__MISSING__:Leaderboard",
"profile": "__MISSING__:Profile",
"tokens": "__MISSING__:Tokens",
"leaderboardSubtitle": "__MISSING__:Gamification rankings",
"profileSubtitle": "__MISSING__:User achievements",
"tokensSubtitle": "__MISSING__:Manage token balance",
"usageSubtitle": "Traffic and usage stats",
"analyticsComboHealthSubtitle": "Combo target reliability",
"analyticsUtilizationSubtitle": "Provider utilization",
@@ -913,6 +923,7 @@
"settingsAdvancedSubtitle": "Power user options",
"settingsSecuritySubtitle": "Auth and encryption",
"settingsFeatureFlagsSubtitle": "__MISSING__:Toggle system capabilities",
"settingsAuthzSubtitle": "__MISSING__:Route inventory and bypass policy",
"docsSubtitle": "Documentation",
"issuesSubtitle": "Report a bug",
"changelogSubtitle": "Release notes"
@@ -1183,6 +1194,81 @@
},
"analytics": {
"title": "分析",
"usageAnalyticsTitle": "__MISSING__:Usage Analytics",
"diversityScoreTitle": "__MISSING__:Provider Diversity",
"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": "概述",
@@ -1239,8 +1325,7 @@
"providerUtilizationNoData": "__MISSING__:No utilization data available",
"providerUtilizationGettingStarted": "__MISSING__:Getting started",
"providerUtilizationLatestSnapshot": "__MISSING__:Latest quota snapshot",
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity",
"diversityScoreTitle": "__MISSING__:Provider Diversity"
"providerUtilizationRemainingCapacity": "__MISSING__:Remaining capacity"
},
"apiManager": {
"title": "API 密钥",
@@ -1288,6 +1373,7 @@
"keyName": "密钥名称",
"keyNamePlaceholder": "例如:生产环境密钥、开发环境密钥",
"keyNameDesc": "使用清晰的名称标识该密钥的用途",
"managementAccessDesc": "__MISSING__:Allow this API key to manage OmniRoute configuration.",
"keyCreated": "API 密钥已创建",
"keyCreatedSuccess": "密钥创建成功!",
"keyCreatedNote": "请立即复制并保存此密钥,它不会再次显示。",
@@ -1625,6 +1711,7 @@
"amp": "当您想要 Amp 简写工作流,但仍需要 OmniRoute 别名和路由规则支持时使用。",
"qwen": "当您需要使用阿里云 Qwen Code CLI 进行编码任务时使用。",
"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": {
@@ -1644,6 +1731,7 @@
"qwen": "Alibaba Qwen Code CLI",
"amp": "Sourcegraph Amp 编程助手 CLI",
"hermes": "Hermes AI 终端助手",
"hermes-agent": "__MISSING__:Hermes Agent (by Nousresearch) - Advanced terminal AI with multi-model support (delegation, vision, compression, etc.)",
"custom": "通用 OpenAI 兼容 CLI 或 SDK 配置生成器"
},
"guides": {
@@ -2030,6 +2118,17 @@
"recommendationsApplied": "推荐配置已应用到当前组合。",
"intelligentPanelTitle": "智能路由仪表盘",
"intelligentPanelDesc": "此自动路由组合的实时评分和健康状态。",
"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": "状态概览",
"normalOperation": "正常运行",
"allProvidersHealthy": "供应商报告路由状况良好。",
@@ -2339,7 +2438,8 @@
"previousPeriod": "上半期",
"currentPeriod": "当前半期",
"exportCSV": "导出为 CSV",
"exportJSON": "导出为 JSON"
"exportJSON": "导出为 JSON",
"legacyFreeLabel": "__MISSING__:Legacy / Free"
},
"endpoint": {
"title": "API 端点",
@@ -2572,6 +2672,20 @@
"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": "__MISSING__:Copy 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": "PID",
"sessionUptime": "会话运行时长",
"lastHeartbeat": "最近心跳",
@@ -2626,8 +2740,7 @@
"apiKeyId": "API Key ID",
"offset": "偏移量",
"limit": "限制",
"tool": "工具",
"mcpDashboardCopyUrl": "__MISSING__:Copy URL"
"tool": "工具"
},
"a2aDashboard": {
"loading": "正在加载 A2A 仪表板...",
@@ -2654,6 +2767,7 @@
"cancelled": "已取消"
},
"agentCard": "智能体卡片",
"agentCardPath": "__MISSING__:/.well-known/agent.json",
"version": "版本",
"url": "URL",
"capabilities": "能力",
@@ -2691,7 +2805,17 @@
"rpcMethodStream": "__MISSING__:message/stream",
"rpcMethodGet": "__MISSING__:tasks/get",
"rpcMethodCancel": "__MISSING__:tasks/cancel",
"serviceLabel": "__MISSING__:A2A"
"serviceLabel": "__MISSING__:A2A",
"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": "记忆管理",
@@ -2761,8 +2885,42 @@
"q": "Q",
"filterSkillsPlaceholder": "__MISSING__:Filter skills by name, description, or tag",
"allModes": "__MISSING__:All modes",
"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": "__MISSING__:Skills Marketplace",
"installSkill": "__MISSING__:Install Skill"
"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"
},
"health": {
"title": "系统健康状况",
@@ -3622,6 +3780,12 @@
"geminiCliProjectIdLabel": "__MISSING__:Google Cloud Project ID",
"geminiCliProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"antigravityProjectIdHint": "__MISSING__:Optional override for Antigravity Cloud Code requests. Leave blank to use the project discovered during 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": "__MISSING__:Google Cloud Project ID",
"antigravityProjectIdPlaceholder": "__MISSING__:my-gcp-project-id",
"grokWebCookieHint": "从 Grok Web 会话复制 Cookie。",
@@ -3729,6 +3893,65 @@
"cache": "缓存",
"resilience": "韧性",
"routingSettingsIntro": "__MISSING__:Controls how your requests are routed, transformed, and sent to AI providers.",
"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 'opencode'. 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": "__MISSING__:Automatic retry, cooldown, and fallback when providers fail.",
"aiSettingsIntro": "__MISSING__:AI-specific settings for thinking budget, model behavior, and compression.",
"systemPrompt": "系统提示",
@@ -4483,33 +4706,51 @@
"oneproxySuccess": "__MISSING__:Success",
"oneproxyFailed": "__MISSING__:Failed",
"routingAntigravitySignatureTitle": "__MISSING__:Antigravity Signature Cache Mode",
"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": "__MISSING__:Header fingerprint (per provider)",
"routingServerRejectedSave": "__MISSING__:⚠ Server rejected save:",
"routingAddTransformOp": "__MISSING__:Add a transform op",
"routingClientCacheControlTitle": "__MISSING__:Client Cache Control",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Zero-Config Auto-Routing",
"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": "__MISSING__:Default Auto Variant",
"visionBridge": "__MISSING__:Vision Bridge",
"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": "__MISSING__:Bridge Model",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceBaseCooldownLabel": "__MISSING__:Base cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceDefault": "__MISSING__:Default",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgeModelHint": "__MISSING__:Any OmniRoute model ID that supports vision can be used here.",
"visionBridgePrompt": "__MISSING__:Bridge Prompt",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"visionBridgePromptHint": "__MISSING__:Sent to the vision model before the extracted description is injected back into the original request.",
"visionBridgeTimeoutMs": "__MISSING__:Timeout (ms)",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"visionBridgeMaxImagesPerRequest": "__MISSING__:Max Images Per Request",
"resilienceMaxBackoffSteps": "__MISSING__:Max backoff steps",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceFailureThreshold": "__MISSING__:Failure threshold",
"resilienceResetTimeout": "__MISSING__:Reset timeout",
"resilienceFailureThresholdLabel": "__MISSING__:Failure threshold",
"resilienceResetTimeoutLabel": "__MISSING__:Reset timeout",
"visionBridgeModelPlaceholder": "__MISSING__:openai/gpt-4o-mini",
"visionBridgePromptPlaceholder": "__MISSING__:Describe this image concisely.",
"resilienceProviderBreakerTitle": "__MISSING__:Circuit Breaker per Provider",
"resilienceConnectionCooldownTitle": "__MISSING__:Connection Cooldown",
"resilienceUseUpstreamRetryHintsLabel": "__MISSING__:Use upstream retry hints",
"resilienceUseUpstream429BreakerLabel": "__MISSING__:Use upstream 429 hints (breaker)",
"resilienceMaxBackoffStepsLabel": "__MISSING__:Max backoff steps",
"resilienceYes": "__MISSING__:Yes",
"resilienceNo": "__MISSING__:No",
"resilienceDefault": "__MISSING__:Default",
"storageDatabaseBackupRetention": "__MISSING__:Database backup retention",
"storagePurgeData": "__MISSING__:Purge Data",
"retentionQuotaSnapshots": "__MISSING__:Quota Snapshots (days)",
@@ -4551,18 +4792,109 @@
"cliproxyapiStatus": "__MISSING__:CLIProxyAPI Status",
"cliproxyapiNotDetected": "__MISSING__:Not detected",
"payloadRulesTitle": "__MISSING__:Payload Rules",
"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": "__MISSING__:Models in cooldown",
"modelCooldownsEmpty": "__MISSING__:No models in cooldown right now.",
"codexFastTierTitle": "__MISSING__:Codex Fast Tier",
"codexFastTierDesc": "__MISSING__:Globally inject service_tier=priority for OpenAI Codex requests.",
"codexFastTierHint": "__MISSING__:When enabled, OmniRoute adds service_tier=priority to outbound Codex requests for connections that don't already specify a tier. Priority tier requires an OpenAI Enterprise API key or the ChatGPT-auth Codex path; other key types will receive a tier-related error from OpenAI. Per-connection settings on the Codex provider page take precedence.",
"codexFastTierSaveError": "__MISSING__:Failed to update Codex Fast Tier setting",
"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": "__MISSING__:Claude Fast Mode",
"claudeFastModeDesc": "__MISSING__:Opt selected Claude requests into Anthropic Fast Mode (speed:\"fast\").",
"claudeFastModeHint": "__MISSING__:Anthropic does not officially support Fast Mode for SDK-style clients. When enabled, OmniRoute forwards an X-CPA-Force-Fast-Mode header so a paired CLIProxyAPI build can opt-in spoof the entrypoint. Only the listed Opus models are gated by Anthropic's client-side check. Subscription tier, Max plan, and Fast Mode credit balance are still enforced server-side — Anthropic may return out_of_credits even when the toggle is on.",
"claudeFastModeModelsLabel": "__MISSING__:Applied to models ({count})",
"claudeFastModeModelCheckbox": "__MISSING__:Enable Fast Mode for {model}",
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting"
"claudeFastModeSaveError": "__MISSING__:Failed to update Claude Fast Mode setting",
"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."
}
}
},
"contextRtk": {
"title": "RTK 引擎",
@@ -4603,6 +4935,7 @@
"result": "结果",
"previewEmpty": "运行示例以预览 RTK 输出。",
"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": "已过滤 token",
"filtersActive": "活动过滤器",
"requests": "请求数",
@@ -4657,6 +4990,8 @@
"enabled": "已启用",
"autoDetect": "自动检测语言",
"rulesCount": "{count} 条规则",
"inputCompressionTitle": "__MISSING__:Input compression",
"inputCompressionDesc": "__MISSING__:Rewrite chat history with shorter wording. Reduces input tokens by ~50%.",
"analyticsTitle": "压缩分析",
"noAnalytics": "尚无压缩分析。",
"outputMode": "__MISSING__:Output Mode",
@@ -4951,6 +5286,19 @@
"runStepDescription": "通过 OmniRoute 对你的 LLM 端点执行测试用例。每个案例都会作为真实 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": "正在加载评估套件...",
@@ -5058,7 +5406,25 @@
"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": "__MISSING__:Edit cutoffs",
"forceRefresh": "__MISSING__:Refresh now",
"suiteBuilderSaveFailed": "保存套件失败",
"clone": "克隆",
"exportSuite": "导出",
@@ -5204,7 +5570,9 @@
"budgetWarnAtPct": "__MISSING__:Warn at %",
"quotaAlerts": "__MISSING__:Quota alerts",
"quotaTableRefreshing": "__MISSING__:⟳ Refreshing...",
"noSpendLast30Days": "__MISSING__:No spend in last 30 days"
"noSpendLast30Days": "__MISSING__:No spend in last 30 days",
"updatedShort": "__MISSING__:Updated",
"lastRefreshed": "__MISSING__:Last refreshed"
},
"modals": {
"waitingAuth": "等待授权",
@@ -5760,7 +6128,13 @@
"howToUse": "__MISSING__:How to use",
"browseAllSkillsOnGithub": "__MISSING__:Browse all skills on GitHub",
"apiSkills": "__MISSING__:API Skills",
"cliSkills": "__MISSING__:CLI Skills"
"cliSkills": "__MISSING__:CLI Skills",
"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": "__MISSING__:Cloud Agents",
@@ -5779,6 +6153,28 @@
"tasks": "__MISSING__:Tasks",
"taskDetail": "__MISSING__:Task Detail",
"noTasks": "__MISSING__:No tasks yet. Create one to get started.",
"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": "__MISSING__:Untitled Task",
"created": "__MISSING__:Created",
"conversation": "__MISSING__:Conversation",
@@ -5879,6 +6275,7 @@
"clearError": "清除缓存失败。",
"unavailable": "缓存不可用",
"unavailableDesc": "无法获取缓存统计信息。请确保服务器正在运行。",
"loadingCacheAria": "__MISSING__:Loading cache",
"promptCache": "Prompt 缓存(提供商侧)",
"semanticCache": "语义缓存",
"promptCacheSectionDesc": "基于 usage history 展示提供商侧 prompt cache 的活跃度,让你区分哪些请求真的启用了 cache control以及实际复用了多少输入。",
@@ -5920,7 +6317,9 @@
"peakCached": "峰值缓存量",
"cached": "已缓存",
"overview": "概览",
"entries": "条目",
"tableProvider": "__MISSING__:Provider",
"tableModel": "__MISSING__:Model",
"performanceTitle": "__MISSING__:Performance",
"semanticCacheSectionDesc": "OmniRoute 自己维护的确定性响应缓存。开启后重复的非流式、temperature=0 请求可以直接在本地命中,不再访问上游 provider。",
"semanticCacheDisabledDesc": "Semantic Cache 当前已禁用。重新在设置中开启之前OmniRoute 不会再做本地响应复用。",
"semanticEntriesDesc": "这里展示的是保存在 SQLite 里的 semantic cache 记录,不包含 provider-side prompt cache 的活动。",
@@ -5971,7 +6370,12 @@
"cachePerformanceAvgLatency": "__MISSING__:Avg Latency (ms)",
"cachePerformanceP95Latency": "__MISSING__:p95 Latency (ms)",
"retry": "__MISSING__:Retry",
"reasoningAvgChars": "__MISSING__:Avg Chars"
"reasoningAvgChars": "__MISSING__:Avg Chars",
"tableShare": "__MISSING__:Share",
"justNow": "__MISSING__:just now",
"minutesAgo": "__MISSING__:{minutes}m ago",
"hoursAgo": "__MISSING__:{hours}h ago",
"daysAgo": "__MISSING__:{days}d ago"
},
"proxyConfigModal": {
"levelGlobal": "全局",
@@ -6116,6 +6520,17 @@
"bulkLabelScopeIds": "范围 ID逗号或换行符分隔",
"bulkScopeIdsPlaceholder": "provider-openai,provider-anthropic",
"bulkApply": "应用",
"labelScope": "__MISSING__:Scope",
"labelProxy": "__MISSING__:Proxy",
"scopeGlobal": "__MISSING__:global",
"scopeProvider": "__MISSING__:provider",
"scopeAccount": "__MISSING__:account",
"scopeCombo": "__MISSING__:combo",
"bulkImportErrorMissingName": "缺少 NAME",
"bulkImportErrorMissingHost": "缺少 HOST",
"bulkImportErrorInvalidPort": "PORT 无效(必须为 1-65535",
"bulkImportErrorInvalidType": "TYPE 无效(使用 http、https 或 socks5",
"bulkImportErrorInvalidStatus": "STATUS 无效(使用 active 或 inactive",
"errorLoadFailed": "加载代理注册表失败",
"errorNameHostRequired": "名称和主机为必填项",
"errorSaveFailed": "保存代理失败",
@@ -6147,11 +6562,6 @@
"bulkImportErrorLine": "第 {line} 行:{reason}",
"bulkImportMaxExceeded": "每次最多导入 100 个代理",
"bulkImportPreview": "预览",
"bulkImportErrorMissingName": "缺少 NAME",
"bulkImportErrorMissingHost": "缺少 HOST",
"bulkImportErrorInvalidPort": "PORT 无效(必须为 1-65535",
"bulkImportErrorInvalidType": "TYPE 无效(使用 http、https 或 socks5",
"bulkImportErrorInvalidStatus": "STATUS 无效(使用 active 或 inactive",
"clearAssignment": "__MISSING__:(clear assignment)",
"bulkProxyAssignment": "__MISSING__:Bulk Proxy Assignment"
},