fix(i18n): fix placeholder mismatches in cs.json

Fixed 14 placeholders that were translated instead of preserved:
- usage.inDuration: {trvání} -> {duration}
- usage.detailsContains: {termín} -> {term}
- usage.dayTimeFormat: {den} -> {day}
- translator.youWithFormat: {formát} -> {format}
- providers.testedCount: added missing {count} placeholder
- providers.allTestsPassed: added missing {total} placeholder
- All ICU plural formats now correctly preserve {# X} inner format
This commit is contained in:
zenobit
2026-03-30 05:02:20 +02:00
parent d4b64ba26b
commit 603db8ce6a
3 changed files with 185 additions and 7 deletions

View File

@@ -2265,7 +2265,7 @@
"sendMessageToSeePipeline": "Odešlete zprávu a zobrazte si proces překladu",
"chatMessageHintPrefix": "Vaše zpráva bude formátována jako",
"chatMessageHintSuffix": "požadavek, přeložený kanálem a odeslaný vybranému poskytovateli.",
"youWithFormat": "Vy ({formát})",
"youWithFormat": "Vy ({format})",
"assistant": "Asistent",
"typeMessage": "Napište zprávu...",
"send": "Poslat",

View File

@@ -58,7 +58,85 @@
"free": "निःशुल्क",
"skipToContent": "सामग्री पर जाएं",
"maintenanceServerIssues": "Server is experiencing issues. Some features may be unavailable.",
"maintenanceServerUnreachable": "Server is unreachable. Reconnecting..."
"maintenanceServerUnreachable": "Server is unreachable. Reconnecting...",
"Failed to reset pricing": "Failed to reset pricing",
"hex": "Hex",
"tool": "Tool",
"musicGeneration": "Music Generation",
"Failed to save pricing": "Failed to save pricing",
"error_description": "Error Description",
"windowMs": "Window (ms)",
"content-type": "Content Type",
"http": "HTTP",
"text": "Text",
"sortOrder": "Sort Order",
"musicDesc": "Music Description",
"oauth": "OAuth",
"file": "File",
"textarea": "Textarea",
"host": "Host",
"chat-completions": "Chat Completions",
"better-sqlite3": "better-sqlite3",
"connectionId": "Connection ID",
"open": "Open",
"skill": "Skill",
"content-length": "Content Length",
"scope_id": "Scope ID",
"accept": "Accept",
"apiKeyName": "API Key Name",
"resolveConnectionId": "Resolve Connection ID",
"scope": "Scope",
"selfsigned": "Self-signed",
"builder-id": "Builder ID",
"toolId": "Tool ID",
"apiKeyId": "API Key ID",
"promptTokens": "Prompt Tokens",
"cloud-status-changed": "Cloud status changed",
"sortBy": "Sort By",
"code": "Code",
"redirect_uri": "Redirect URI",
"alias": "Alias",
"id": "ID",
"social-github": "GitHub",
"jwtSecret": "JWT Secret",
"TOOL_DENYLIST": "Tool Denylist",
"scopeId": "Scope ID",
"totalTokens": "Total Tokens",
"proxy_id": "Proxy ID",
"idempotency-key": "Idempotency Key",
"TOOL_ALLOWLIST": "Tool Allowlist",
"apiKeySecret": "API Key Secret",
"social-google": "Google",
"tab": "Tab",
"keytar": "Keytar",
"where_used": "Where Used",
"resolve_connection_id": "Resolve Connection ID",
"offset": "Offset",
"crypto": "Crypto",
"compatible": "Compatible",
"base64url": "Base64 URL",
"undici": "undici",
"import": "Import",
"blacklist": "Blacklist",
"apikey": "API Key",
"resolve": "Resolve",
"whitelist": "Whitelist",
"whereUsed": "Where Used",
"accountId": "Account ID",
"component": "Component",
"authorization": "Authorization",
"force": "Force",
"idc": "IDC",
"rawModel": "Raw Model",
"origin": "Origin",
"web": "Web",
"cookie": "Cookie",
"completionTokens": "Completion Tokens",
"range": "Range",
"proxyId": "Proxy ID",
"auth_token": "Auth Token",
"limit": "Limit",
"hours": "Hours"
},
"sidebar": {
"home": "घर",
@@ -186,7 +264,11 @@
"requestsShort": "{count} अनुरोध",
"providerModelsTitle": "{provider} - मॉडल",
"copiedModel": "कॉपी किया गया: {model}",
"aliasLabel": "उपनाम"
"aliasLabel": "उपनाम",
"updateStarted": "Update started...",
"updateNow": "Update Now",
"updateAvailableDesc": "A new version is available. Click to update.",
"updating": "Updating..."
},
"analytics": {
"title": "विश्लेषिकी",
@@ -1558,7 +1640,16 @@
"codexAuthApplyFailed": "Failed to apply Codex auth.json locally",
"codexAuthExportFailed": "Failed to export Codex auth.json",
"codexAuthExported": "Codex auth.json exported",
"exportCodexAuthFile": "Export auth"
"exportCodexAuthFile": "Export auth",
"autoSync": "Auto-Sync",
"clearAllModels": "Clear All Models",
"autoSyncTooltip": "Automatically refresh model list every 24h (configurable via MODEL_SYNC_INTERVAL_HOURS)",
"autoSyncEnabled": "Auto-sync enabled — models will refresh periodically",
"clearAllModelsConfirm": "Are you sure you want to remove all models for this provider? This cannot be undone.",
"clearAllModelsSuccess": "All models cleared",
"clearAllModelsFailed": "Failed to clear models",
"autoSyncToggleFailed": "Failed to toggle auto-sync",
"autoSyncDisabled": "Auto-sync disabled"
},
"settings": {
"title": "सेटिंग्स",
@@ -2388,7 +2479,15 @@
"restartServerWithNewPassword": "सर्वर को पुनरारंभ करें - यह नए पासवर्ड का उपयोग करेगा",
"backToLogin": "लॉगइन पर वापस जाएँ",
"forgotPassword": "पासवर्ड भूल गए?",
"defaultPasswordHint": "Default password: 123456 (unless INITIAL_PASSWORD was set)"
"defaultPasswordHint": "Default password: 123456 (unless INITIAL_PASSWORD was set)",
"Content-Disposition": "Content-Disposition",
"waitingForAuthorization": "Waiting for authorization...",
"waitingForOpenAIAuthorization": "Waiting for OpenAI authorization...",
"waitingForGoogleAuthorization": "Waiting for Google authorization...",
"waitingForIFlowAuthorization": "Waiting for iFlow authorization...",
"waitingForAntigravityAuthorization": "Waiting for Antigravity authorization...",
"Authorization": "Authorization",
"exchangingCodeForTokens": "Exchanging code for tokens..."
},
"landing": {
"brandName": "ओम्निरूट",
@@ -2595,7 +2694,9 @@
"mgmtProxiesBulkAssignNote": "Assign or clear one proxy across many scope IDs in one request.",
"mgmtAssignmentsListNote": "List proxy assignments by scope, scope_id, or proxy_id.",
"mgmtAssignmentsUpdateNote": "Assign or clear proxy for global/provider/account/combo scope.",
"mgmtLegacyMigrationNote": "Import legacy proxyConfig maps into registry assignments."
"mgmtLegacyMigrationNote": "Import legacy proxyConfig maps into registry assignments.",
"endpointSpeechNote": "Text-to-speech generation (ElevenLabs, OpenAI TTS).",
"endpointEmbeddingsNote": "Text embedding generation (OpenAI, Cohere, Voyage)."
},
"legal": {
"privacyPolicy": "गोपनीयता नीति",
@@ -2805,5 +2906,48 @@
"behaviorTtl": "Default TTL: 30 minutes. Configure via {envVar}.",
"activeDedupKeys": "Active Dedup Keys",
"dedupWindow": "Dedup Window"
},
"templatePayloads": {
"toolCalling": {
"toolDescription": "Get current weather for a location",
"userWeather": "What's the weather in Tokyo?",
"cityNameDescription": "The name of the city to get weather for"
},
"multiTurn": {
"assistantExample": "I'd be happy to help you with that.",
"userFollowUp": "Can you elaborate on that?",
"userInitial": "I need help with",
"system": "You are a helpful assistant."
},
"systemPrompt": {
"question": "What is the meaning of life?",
"systemInstruction": "Provide a thoughtful, philosophical answer."
},
"simpleChat": {
"userGreeting": "Hello! How can I help you today?",
"system": "You are a helpful AI assistant."
},
"thinking": {
"question": "Explain quantum computing"
},
"streaming": {
"prompt": "Write a story about"
}
},
"templateNames": {
"tool-calling": "Tool Calling",
"thinking": "Thinking",
"simple-chat": "Simple Chat",
"system-prompt": "System Prompt",
"streaming": "Streaming",
"multi-turn": "Multi-turn"
},
"templateDescriptions": {
"simple-chat": "Basic chat template with system message",
"multi-turn": "Template for multi-turn conversations",
"thinking": "Template with reasoning/thinking budget",
"tool-calling": "Template for tool/function calling",
"system-prompt": "Template with custom system prompt",
"streaming": "Template for streaming responses"
}
}

View File

@@ -190,7 +190,9 @@
"debugSection": "Debug",
"helpSection": "Help",
"primarySection": "Main",
"systemSection": "System"
"systemSection": "System",
"cache": "Cache",
"cacheShort": "Cache"
},
"themesPage": {
"title": "Temalar",
@@ -2925,5 +2927,37 @@
"userInitial": "Bir konuda yardıma ihtiyacım var.",
"userFollowUp": "Bunu detaylandırabilir misiniz?"
}
},
"cache": {
"title": "Cache Management",
"behavior": "Cache Behavior",
"behaviorBypass": "Bypass with header {header}.",
"tokensSavedSub": "Estimated from hits",
"unavailableDesc": "Could not fetch cache statistics. Make sure the server is running.",
"memoryEntries": "Memory Entries",
"dedupWindow": "Dedup Window",
"hitRate": "Hit Rate",
"idempotency": "Idempotency Layer",
"memoryEntriesSub": "In-memory LRU",
"tokensSaved": "Tokens Saved",
"cacheHits": "Cache Hits",
"autoRefresh": "Auto-refreshes every {seconds}s",
"dbEntriesSub": "Persisted (SQLite)",
"misses": "Misses",
"behaviorTtl": "Default TTL: 30 minutes. Configure via {envVar}.",
"cacheHitsSub": "of {total} total",
"total": "Total",
"refresh": "Refresh",
"clearAll": "Clear All",
"performance": "Cache Performance",
"unavailable": "Cache unavailable",
"description": "Monitor and manage semantic response cache, hit rates, and token savings.",
"clearError": "Failed to clear cache.",
"clearSuccess": "Cache cleared. {count} expired entries removed.",
"hits": "Hits",
"dbEntries": "DB Entries",
"behaviorTwoTier": "Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).",
"activeDedupKeys": "Active Dedup Keys",
"behaviorDeterministic": "Only non-streaming requests with temperature=0 are cached."
}
}