fix(dashboard): correct loadPresets ReferenceError in CostOverviewTab

This commit is contained in:
Antigravity Assistant
2026-04-30 11:40:12 -03:00
parent dff22ade64
commit 42daf741c5
47 changed files with 4542 additions and 177 deletions

View File

@@ -259,7 +259,7 @@ export default function CostOverviewTab() {
}
}
void loadPresets();
void loadRange();
return () => {
active = false;

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "مرحبًا",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "الإعدادات",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "بالنسبة لنماذج عائلة GitHub Codex، احتفظ بالنموذج كـ gh/codex-model; يقوم جهاز التوجيه بتحديد/الاستجابات تلقائيًا.",
"troubleshootingTestConnection": "استخدم لوحة المعلومات > الموفرون > اختبار الاتصال قبل الاختبار من بيئات تطوير متكاملة أو عملاء خارجيين.",
"troubleshootingCircuitBreaker": "إذا أظهر مقدم الخدمة أن قاطع الدائرة مفتوح، فانتظر حتى فترة التهدئة أو راجع صفحة الصحة للحصول على التفاصيل.",
"troubleshootingOAuth": "بالنسبة لموفري OAuth، قم بإعادة المصادقة إذا انتهت صلاحية الرموز المميزة. تحقق من مؤشر حالة بطاقة المزود."
"troubleshootingOAuth": "بالنسبة لموفري OAuth، قم بإعادة المصادقة إذا انتهت صلاحية الرموز المميزة. تحقق من مؤشر حالة بطاقة المزود.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "سياسة الخصوصية",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Добре дошли",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Настройки",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "За модели от семейството на GitHub Codex, запазете модела като gh/codex-model; рутерът избира /отговаря автоматично.",
"troubleshootingTestConnection": "Използвайте Табло > Доставчици > Тестване на връзката, преди да тествате от IDE или външни клиенти.",
"troubleshootingCircuitBreaker": "Ако доставчикът покаже отворен прекъсвач, изчакайте охлаждането или проверете страницата Health за подробности.",
"troubleshootingOAuth": "За доставчици на OAuth, повторно удостоверяване, ако токените изтекат. Проверете индикатора за състояние на картата на доставчика."
"troubleshootingOAuth": "За доставчици на OAuth, повторно удостоверяване, ако токените изтекат. Проверете индикатора за състояние на картата на доставчика.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Политика за поверителност",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Vítejte",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Nastavení",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Pro modely z rodiny Codex ponechte model jako gh/codex-model; router automaticky vybere /responses.",
"troubleshootingTestConnection": "Před testováním z IDE nebo externích klientů použijte Nstěnka > Poskytovatelé > Test Připojení.",
"troubleshootingCircuitBreaker": "Pokud poskytovatel zobrazuje vypnutý jistič, počkejte na ochlazení nebo si pro podrobnosti prohlédněte stránku Stav.",
"troubleshootingOAuth": "U poskytovatelů OAuth proveďte opětovné ověření, pokud platnost tokenů vyprší. Zkontrolujte indikátor stavu karty poskytovatele."
"troubleshootingOAuth": "U poskytovatelů OAuth proveďte opětovné ověření, pokud platnost tokenů vyprší. Zkontrolujte indikátor stavu karty poskytovatele.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Zásady ochrany osobních údajů",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Velkommen",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Indstillinger",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "For GitHub Codex-familiemodeller skal du beholde modellen som gh/codex-model; routeren vælger /svar automatisk.",
"troubleshootingTestConnection": "Brug Dashboard > Udbydere > Test forbindelse, før du tester fra IDE'er eller eksterne klienter.",
"troubleshootingCircuitBreaker": "Hvis en udbyder viser en afbryder åben, skal du vente på nedkøling eller tjekke Health-siden for detaljer.",
"troubleshootingOAuth": "For OAuth-udbydere skal du godkende igen, hvis tokens udløber. Tjek udbyderkortets statusindikator."
"troubleshootingOAuth": "For OAuth-udbydere skal du godkende igen, hvis tokens udløber. Tjek udbyderkortets statusindikator.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privatlivspolitik",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Willkommen",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Einstellungen",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Behalten Sie für Modelle der GitHub Codex-Familie das Modell bei gh/codex-model; Der Router wählt /responses automatisch aus.",
"troubleshootingTestConnection": "Verwenden Sie Dashboard > Anbieter > Verbindung testen, bevor Sie Tests mit IDEs oder externen Clients durchführen.",
"troubleshootingCircuitBreaker": "Wenn ein Anbieter anzeigt, dass der Leistungsschalter geöffnet ist, warten Sie auf die Abklingzeit oder schauen Sie auf der Seite „Zustand“ nach, um Einzelheiten zu erfahren.",
"troubleshootingOAuth": "Führen Sie bei OAuth-Anbietern eine erneute Authentifizierung durch, wenn die Token ablaufen. Überprüfen Sie die Statusanzeige der Anbieterkarte."
"troubleshootingOAuth": "Führen Sie bei OAuth-Anbietern eine erneute Authentifizierung durch, wenn die Token ablaufen. Überprüfen Sie die Statusanzeige der Anbieterkarte.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Datenschutzrichtlinie",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -5037,6 +5037,7 @@
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Bienvenido",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Configuración",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Para los modelos de la familia GitHub Codex, mantenga el modelo como gh/codex-model; El enrutador selecciona/respuestas automáticamente.",
"troubleshootingTestConnection": "Utilice Panel > Proveedores > Probar conexión antes de realizar pruebas desde IDE o clientes externos.",
"troubleshootingCircuitBreaker": "Si un proveedor muestra el disyuntor abierto, espere el tiempo de reutilización o consulte la página de Salud para obtener más detalles.",
"troubleshootingOAuth": "Para los proveedores de OAuth, vuelva a autenticarse si los tokens caducan. Verifique el indicador de estado de la tarjeta del proveedor."
"troubleshootingOAuth": "Para los proveedores de OAuth, vuelva a autenticarse si los tokens caducan. Verifique el indicador de estado de la tarjeta del proveedor.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Política de privacidad",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Tervetuloa",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Asetukset",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Säilytä GitHub Codex -perheen mallien mallina muodossa gh/codex-model; reititin valitsee / vastaa automaattisesti.",
"troubleshootingTestConnection": "Käytä Dashboard > Providers > Test Connection ennen testaamista IDE:istä tai ulkoisista asiakkaista.",
"troubleshootingCircuitBreaker": "Jos palveluntarjoaja näyttää katkaisijan auki, odota jäähtymistä tai katso lisätietoja Terveys-sivulta.",
"troubleshootingOAuth": "OAuth-palveluntarjoajat todenna uudelleen, jos tunnukset vanhenevat. Tarkista palveluntarjoajan kortin tilailmaisin."
"troubleshootingOAuth": "OAuth-palveluntarjoajat todenna uudelleen, jos tunnukset vanhenevat. Tarkista palveluntarjoajan kortin tilailmaisin.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Tietosuojakäytäntö",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Bienvenue",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Paramètres",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Pour les modèles de la famille GitHub Codex, conservez le modèle sous la forme gh/codex-model ; Le routeur sélectionne /réponses automatiquement.",
"troubleshootingTestConnection": "Utilisez Tableau de bord > Fournisseurs > Tester la connexion avant de tester à partir d'IDE ou de clients externes.",
"troubleshootingCircuitBreaker": "Si un fournisseur indique que le disjoncteur est ouvert, attendez le temps de recharge ou consultez la page Santé pour plus de détails.",
"troubleshootingOAuth": "Pour les fournisseurs OAuth, réauthentifiez-vous si les jetons expirent. Vérifiez l'indicateur d'état de la carte du fournisseur."
"troubleshootingOAuth": "Pour les fournisseurs OAuth, réauthentifiez-vous si les jetons expirent. Vérifiez l'indicateur d'état de la carte du fournisseur.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Politique de confidentialité",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "ברוך הבא",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "הגדרות",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "עבור מודלים של משפחת GitHub Codex, שמור את הדגם בתור gh/codex-model; הנתב בוחר / תגובות באופן אוטומטי.",
"troubleshootingTestConnection": "השתמש בלוח מחוונים > ספקים > בדוק חיבור לפני בדיקה מ-IDEs או לקוחות חיצוניים.",
"troubleshootingCircuitBreaker": "אם ספק מציג מפסק פתוח, המתן להתקררות או בדוק את דף הבריאות לפרטים.",
"troubleshootingOAuth": "עבור ספקי OAuth, בצע אימות מחדש אם פג תוקפם של אסימונים. בדוק את מחוון מצב כרטיס הספק."
"troubleshootingOAuth": "עבור ספקי OAuth, בצע אימות מחדש אם פג תוקפם של אסימונים. בדוק את מחוון מצב כרטיס הספק.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "מדיניות פרטיות",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "स्वागत है",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "सेटिंग्स",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "GitHub कोडेक्स-फ़ैमिली मॉडल के लिए, मॉडल को gh/codex-model के रूप में रखें; राउटर स्वचालित रूप से/प्रतिक्रियाओं का चयन करता है।",
"troubleshootingTestConnection": "आईडीई या बाहरी क्लाइंट से परीक्षण करने से पहले डैशबोर्ड > प्रदाता > परीक्षण कनेक्शन का उपयोग करें।",
"troubleshootingCircuitBreaker": "यदि कोई प्रदाता सर्किट ब्रेकर खुला दिखाता है, तो कूलडाउन की प्रतीक्षा करें या विवरण के लिए स्वास्थ्य पृष्ठ देखें।",
"troubleshootingOAuth": "OAuth प्रदाताओं के लिए, यदि टोकन समाप्त हो जाते हैं तो पुनः प्रमाणित करें। प्रदाता कार्ड स्थिति संकेतक की जाँच करें।"
"troubleshootingOAuth": "OAuth प्रदाताओं के लिए, यदि टोकन समाप्त हो जाते हैं तो पुनः प्रमाणित करें। प्रदाता कार्ड स्थिति संकेतक की जाँच करें।",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "गोपनीयता नीति",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Üdvözöljük",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Beállítások elemre",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "A GitHub Codex-családhoz tartozó modelleknél tartsa a modellt gh/codex-model; a router automatikusan kiválasztja a /válaszokat.",
"troubleshootingTestConnection": "Az IDE-kből vagy külső kliensekből történő tesztelés előtt használja az Irányítópult > Szolgáltatók > Kapcsolat tesztelése menüpontot.",
"troubleshootingCircuitBreaker": "Ha a szolgáltató azt mutatja, hogy az áramkör megszakítója nyitva van, várja meg a lehűlést, vagy nézze meg az Egészség oldalt a részletekért.",
"troubleshootingOAuth": "OAuth-szolgáltatók esetén hitelesítse újra, ha a tokenek lejárnak. Ellenőrizze a szolgáltatói kártya állapotjelzőjét."
"troubleshootingOAuth": "OAuth-szolgáltatók esetén hitelesítse újra, ha a tokenek lejárnak. Ellenőrizze a szolgáltatói kártya állapotjelzőjét.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Adatvédelmi szabályzat",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Selamat datang",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Pengaturan",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Untuk model keluarga GitHub Codex, pertahankan model sebagai gh/codex-model; router memilih / merespons secara otomatis.",
"troubleshootingTestConnection": "Gunakan Dasbor > Penyedia > Uji Koneksi sebelum menguji dari IDE atau klien eksternal.",
"troubleshootingCircuitBreaker": "Jika penyedia menunjukkan pemutus sirkuit terbuka, tunggu hingga cooldown atau periksa halaman Kesehatan untuk detailnya.",
"troubleshootingOAuth": "Untuk penyedia OAuth, autentikasi ulang jika masa berlaku token habis. Periksa indikator status kartu penyedia."
"troubleshootingOAuth": "Untuk penyedia OAuth, autentikasi ulang jika masa berlaku token habis. Periksa indikator status kartu penyedia.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Kebijakan Privasi",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Benvenuto",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Impostazioni",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Per i modelli della famiglia GitHub Codex, mantieni il modello come gh/codex-model; il router seleziona/risponde automaticamente.",
"troubleshootingTestConnection": "Utilizza Dashboard > Provider > Verifica connessione prima di effettuare test da IDE o client esterni.",
"troubleshootingCircuitBreaker": "Se un fornitore mostra l'interruttore aperto, attendi il raffreddamento o controlla la pagina Salute per i dettagli.",
"troubleshootingOAuth": "Per i provider OAuth, eseguire nuovamente l'autenticazione se i token scadono. Controlla l'indicatore di stato della carta del fornitore."
"troubleshootingOAuth": "Per i provider OAuth, eseguire nuovamente l'autenticazione se i token scadono. Controlla l'indicatore di stato della carta del fornitore.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "politica sulla riservatezza",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "ようこそ",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "設定",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "GitHub Codex ファミリ モデルの場合、モデルを gh/codex-model として保持します。ルーターは自動的に選択/応答します。",
"troubleshootingTestConnection": "IDE または外部クライアントからテストする前に、[ダッシュボード] > [プロバイダー] > [接続のテスト] を使用します。",
"troubleshootingCircuitBreaker": "プロバイダーがサーキット ブレーカーが開いていることを示している場合は、クールダウンするまで待つか、詳細について [ヘルス] ページを確認してください。",
"troubleshootingOAuth": "OAuth プロバイダーの場合、トークンの有効期限が切れた場合は再認証します。プロバイダー カードのステータス インジケーターを確認します。"
"troubleshootingOAuth": "OAuth プロバイダーの場合、トークンの有効期限が切れた場合は再認証します。プロバイダー カードのステータス インジケーターを確認します。",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "プライバシーポリシー",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "환영합니다",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "설정",
@@ -3969,7 +3982,9 @@
"troubleshootingCodexFamily": "GitHub Codex 계열 모델의 경우 모델을 gh/codex-model로 유지합니다. 라우터는 /responses를 자동으로 선택합니다.",
"troubleshootingTestConnection": "IDE 또는 외부 클라이언트에서 테스트하기 전에 대시보드 > 공급자 > 연결 테스트를 사용하세요.",
"troubleshootingCircuitBreaker": "공급자가 회로 차단기를 열었다고 표시하는 경우 대기 시간을 기다리거나 상태 페이지에서 자세한 내용을 확인하세요.",
"troubleshootingOAuth": "OAuth 공급자의 경우 토큰이 만료되면 다시 인증하세요. 공급자 카드 상태 표시기를 확인하십시오."
"troubleshootingOAuth": "OAuth 공급자의 경우 토큰이 만료되면 다시 인증하세요. 공급자 카드 상태 표시기를 확인하십시오.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "개인 정보 보호 정책",
@@ -4360,5 +4375,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Selamat datang",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "tetapan",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Untuk model keluarga Codex GitHub, kekalkan model sebagai gh/codex-model; penghala memilih /membalas secara automatik.",
"troubleshootingTestConnection": "Gunakan Papan Pemuka > Pembekal > Uji Sambungan sebelum menguji daripada IDE atau pelanggan luaran.",
"troubleshootingCircuitBreaker": "Jika pembekal menunjukkan pemutus litar terbuka, tunggu masa bertenang atau semak halaman Kesihatan untuk mendapatkan butiran.",
"troubleshootingOAuth": "Untuk pembekal OAuth, sahkan semula jika token tamat tempoh. Semak penunjuk status kad pembekal."
"troubleshootingOAuth": "Untuk pembekal OAuth, sahkan semula jika token tamat tempoh. Semak penunjuk status kad pembekal.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Dasar Privasi",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welkom",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Instellingen",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Voor modellen uit de GitHub Codex-familie behoudt u het model als gh/codex-model; router selecteert /responses automatisch.",
"troubleshootingTestConnection": "Gebruik Dashboard > Providers > Verbinding testen voordat u gaat testen vanaf IDE's of externe clients.",
"troubleshootingCircuitBreaker": "Als een provider aangeeft dat de stroomonderbreker open is, wacht dan op de cooldown of kijk op de Gezondheidspagina voor meer informatie.",
"troubleshootingOAuth": "Voor OAuth-providers geldt dat u opnieuw moet verifiëren als tokens verlopen. Controleer de statusindicator van de providerkaart."
"troubleshootingOAuth": "Voor OAuth-providers geldt dat u opnieuw moet verifiëren als tokens verlopen. Controleer de statusindicator van de providerkaart.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacybeleid",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Velkommen",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Innstillinger",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "For GitHub Codex-familiemodeller, behold modellen som gh/codex-model; ruteren velger /responser automatisk.",
"troubleshootingTestConnection": "Bruk Dashboard > Leverandører > Test tilkobling før du tester fra IDE-er eller eksterne klienter.",
"troubleshootingCircuitBreaker": "Hvis en leverandør viser at strømbryteren er åpen, vent på nedkjøling eller sjekk helsesiden for detaljer.",
"troubleshootingOAuth": "For OAuth-leverandører, autentiser på nytt hvis tokens utløper. Sjekk leverandørkortets statusindikator."
"troubleshootingOAuth": "For OAuth-leverandører, autentiser på nytt hvis tokens utløper. Sjekk leverandørkortets statusindikator.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Personvernerklæring",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Maligayang pagdating",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Mga setting",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Para sa mga modelo ng pamilya ng GitHub Codex, panatilihing gh/codex-model ang modelo; awtomatikong pinipili /tugon ng router.",
"troubleshootingTestConnection": "Gamitin ang Dashboard > Mga Provider > Subukan ang Koneksyon bago subukan mula sa mga IDE o external na kliyente.",
"troubleshootingCircuitBreaker": "Kung ipinapakita ng provider na bukas ang circuit breaker, hintayin ang cooldown o tingnan ang page ng Health para sa mga detalye.",
"troubleshootingOAuth": "Para sa mga provider ng OAuth, muling i-authenticate kung mag-e-expire ang mga token. Suriin ang tagapagpahiwatig ng katayuan ng provider card."
"troubleshootingOAuth": "Para sa mga provider ng OAuth, muling i-authenticate kung mag-e-expire ang mga token. Suriin ang tagapagpahiwatig ng katayuan ng provider card.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Patakaran sa Privacy",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Witamy",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Ustawienia",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "W przypadku modeli z rodziny GitHub Codex zachowaj model jako gh/codex-model; router wybiera opcję /odpowiada automatycznie.",
"troubleshootingTestConnection": "Użyj Panelu sterowania > Dostawcy > Testuj połączenie przed testowaniem z IDE lub klientów zewnętrznych.",
"troubleshootingCircuitBreaker": "Jeśli dostawca pokazuje, że wyłącznik jest otwarty, poczekaj na ochłodzenie lub sprawdź stronę Zdrowie, aby uzyskać szczegółowe informacje.",
"troubleshootingOAuth": "W przypadku dostawców OAuth należy ponownie uwierzytelnić, jeśli tokeny wygasną. Sprawdź wskaźnik stanu karty dostawcy."
"troubleshootingOAuth": "W przypadku dostawców OAuth należy ponownie uwierzytelnić, jeśli tokeny wygasną. Sprawdź wskaźnik stanu karty dostawcy.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Polityka prywatności",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2263,7 +2263,18 @@
"a": "A",
"offset": "Offset",
"limit": "Limit",
"tab": "Tab"
"tab": "Tab",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Bem-vindo",
@@ -2785,7 +2796,9 @@
"testingModel": "Testing Model",
"unhideModel": "Unhide Model",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Configurações",
@@ -4176,7 +4189,9 @@
"troubleshootingCodexFamily": "Para modelos da família GitHub Codex, mantenha o modelo como gh/codex-model; o roteador seleciona /responses automaticamente.",
"troubleshootingTestConnection": "Use Painel > Provedores > Testar Conexão antes de testar por IDEs ou clientes externos.",
"troubleshootingCircuitBreaker": "Se um provedor mostrar circuit breaker aberto, aguarde o cooldown ou verifique a página Health para detalhes.",
"troubleshootingOAuth": "Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status no card do provedor."
"troubleshootingOAuth": "Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status no card do provedor.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Política de Privacidade",
@@ -4507,5 +4522,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2235,7 +2235,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Bem vindo",
@@ -2755,7 +2766,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Configurações",
@@ -4039,7 +4052,9 @@
"troubleshootingCodexFamily": "Para modelos da família GitHub Codex, mantenha o modelo como gh/codex-model; roteador seleciona /respostas automaticamente.",
"troubleshootingTestConnection": "Use Painel > Provedores > Testar conexão antes de testar em IDEs ou clientes externos.",
"troubleshootingCircuitBreaker": "Se um provedor mostrar o disjuntor aberto, aguarde o resfriamento ou verifique a página de integridade para obter detalhes.",
"troubleshootingOAuth": "Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status do cartão do provedor."
"troubleshootingOAuth": "Para provedores OAuth, autentique novamente se os tokens expirarem. Verifique o indicador de status do cartão do provedor.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Política de Privacidade",
@@ -4375,5 +4390,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Bun venit",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Setări",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Pentru modelele din familia GitHub Codex, păstrați modelul ca gh/codex-model; routerul selectează/răspunde automat.",
"troubleshootingTestConnection": "Utilizați Tabloul de bord > Furnizori > Testați conexiunea înainte de a testa de la IDE-uri sau clienți externi.",
"troubleshootingCircuitBreaker": "Dacă un furnizor arată întrerupătorul deschis, așteptați răcirea sau verificați pagina Sănătate pentru detalii.",
"troubleshootingOAuth": "Pentru furnizorii OAuth, re-autentificați-vă dacă tokenurile expiră. Verificați indicatorul de stare a cardului furnizorului."
"troubleshootingOAuth": "Pentru furnizorii OAuth, re-autentificați-vă dacă tokenurile expiră. Verificați indicatorul de stare a cardului furnizorului.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Politica de confidențialitate",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2187,7 +2187,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Добро пожаловать",
@@ -2707,7 +2718,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Настройки",
@@ -3991,7 +4004,9 @@
"troubleshootingCodexFamily": "Для моделей семейства GitHub Codex сохраните модель как gh/codex-model; Маршрутизатор выбирает / отвечает автоматически.",
"troubleshootingTestConnection": "Используйте «Панель мониторинга» > «Поставщики» > «Проверить соединение» перед тестированием из IDE или внешних клиентов.",
"troubleshootingCircuitBreaker": "Если поставщик услуг показывает, что автоматический выключатель разомкнут, дождитесь охлаждения или посетите страницу «Здоровье» для получения подробной информации.",
"troubleshootingOAuth": "Для поставщиков OAuth выполните повторную аутентификацию, если срок действия токенов истечет. Проверьте индикатор состояния карты провайдера."
"troubleshootingOAuth": "Для поставщиков OAuth выполните повторную аутентификацию, если срок действия токенов истечет. Проверьте индикатор состояния карты провайдера.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Политика конфиденциальности",
@@ -4382,5 +4397,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Vitajte",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Nastavenia",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Pre modely rodiny GitHub Codex ponechajte model ako gh/codex-model; router vyberá / odpovedá automaticky.",
"troubleshootingTestConnection": "Pred testovaním z IDE alebo externých klientov použite Dashboard > Providers > Test Connection.",
"troubleshootingCircuitBreaker": "Ak poskytovateľ zobrazí istič otvorený, počkajte na vychladnutie alebo skontrolujte stránku Zdravie, kde nájdete podrobnosti.",
"troubleshootingOAuth": "V prípade poskytovateľov OAuth znova overte, ak platnosť tokenov vyprší. Skontrolujte indikátor stavu karty poskytovateľa."
"troubleshootingOAuth": "V prípade poskytovateľov OAuth znova overte, ak platnosť tokenov vyprší. Skontrolujte indikátor stavu karty poskytovateľa.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Zásady ochrany osobných údajov",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Välkommen",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Inställningar",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "För GitHub Codex-familjens modeller, behåll modellen som gh/codex-model; routern väljer /svarar automatiskt.",
"troubleshootingTestConnection": "Använd Dashboard > Leverantörer > Testa anslutning innan du testar från IDE:er eller externa klienter.",
"troubleshootingCircuitBreaker": "Om en leverantör visar att strömbrytaren är öppen, vänta på nedkylning eller kolla Health-sidan för detaljer.",
"troubleshootingOAuth": "För OAuth-leverantörer, autentisera på nytt om tokens löper ut. Kontrollera leverantörskortets statusindikator."
"troubleshootingOAuth": "För OAuth-leverantörer, autentisera på nytt om tokens löper ut. Kontrollera leverantörskortets statusindikator.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Sekretesspolicy",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "ยินดีต้อนรับ",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "การตั้งค่า",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "สำหรับโมเดลตระกูล GitHub Codex ให้เก็บโมเดลเป็น gh/codex-model; เราเตอร์เลือก / ตอบสนองโดยอัตโนมัติ",
"troubleshootingTestConnection": "ใช้แดชบอร์ด > ผู้ให้บริการ > ทดสอบการเชื่อมต่อ ก่อนการทดสอบจาก IDE หรือไคลเอนต์ภายนอก",
"troubleshootingCircuitBreaker": "หากผู้ให้บริการแสดงเซอร์กิตเบรกเกอร์เปิดอยู่ ให้รอคูลดาวน์หรือตรวจสอบหน้าสุขภาพเพื่อดูรายละเอียด",
"troubleshootingOAuth": "สำหรับผู้ให้บริการ OAuth ให้ตรวจสอบสิทธิ์อีกครั้งหากโทเค็นหมดอายุ ตรวจสอบตัวบ่งชี้สถานะบัตรผู้ให้บริการ"
"troubleshootingOAuth": "สำหรับผู้ให้บริการ OAuth ให้ตรวจสอบสิทธิ์อีกครั้งหากโทเค็นหมดอายุ ตรวจสอบตัวบ่งชี้สถานะบัตรผู้ให้บริการ",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "นโยบายความเป็นส่วนตัว",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Hoş geldiniz",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Ayarlar",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "GitHub Codex ailesi modelleri için modeli gh/codex-model olarak tutun; yönlendirici /responses uç noktasını otomatik seçer.",
"troubleshootingTestConnection": "IDE'lerden veya harici istemcilerden test yapmadan önce Kontrol Paneli > Sağlayıcılar > Bağlantıyı Test Et'i kullanın.",
"troubleshootingCircuitBreaker": "Bir sağlayıcıda devre kesici açık görünüyorsa cooldown süresinin dolmasını bekleyin veya ayrıntılar için Sağlık sayfasını kontrol edin.",
"troubleshootingOAuth": "OAuth sağlayıcıları için belirteçlerin süresi dolduğunda yeniden kimlik doğrulaması yapın. Sağlayıcı kartı durum göstergesini kontrol edin."
"troubleshootingOAuth": "OAuth sağlayıcıları için belirteçlerin süresi dolduğunda yeniden kimlik doğrulaması yapın. Sağlayıcı kartı durum göstergesini kontrol edin.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Gizlilik Politikası",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Ласкаво просимо",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Налаштування",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Для моделей сімейства GitHub Codex збережіть модель як gh/codex-model; маршрутизатор вибирає /відповідає автоматично.",
"troubleshootingTestConnection": "Перед тестуванням із IDE або зовнішніх клієнтів скористайтеся інструментальною панеллю > Постачальники > Перевірити з’єднання.",
"troubleshootingCircuitBreaker": "Якщо постачальник показує, що автоматичний вимикач розімкнуто, дочекайтеся охолодження або подробиці перевірте на сторінці «Стан».",
"troubleshootingOAuth": "Для постачальників OAuth повторна автентифікація, якщо термін дії маркерів закінчився. Перевірте індикатор стану картки провайдера."
"troubleshootingOAuth": "Для постачальників OAuth повторна автентифікація, якщо термін дії маркерів закінчився. Перевірте індикатор стану картки провайдера.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Політика конфіденційності",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2323,7 +2323,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Welcome",
@@ -2844,7 +2855,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Settings",
@@ -4191,7 +4204,9 @@
"protocolAcpDesc": "Register and manage agents via the ACP registry for inter-agent communication and tool sharing.",
"protocolAcpStep1": "Navigate to Dashboard → Agents to view registered ACP agents.",
"protocolAcpStep2": "Register new agents with capabilities and endpoint configuration.",
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels."
"protocolAcpStep3": "Use CLI Tools to configure agent communication channels.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Privacy Policy",
@@ -4687,7 +4702,20 @@
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}.",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4708,5 +4736,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -2163,7 +2163,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "Chào mừng",
@@ -2683,7 +2694,9 @@
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing",
"perModelQuotaDescription": "Per Model Quota Description",
"perModelQuotaLabel": "Per Model Quota Label"
"perModelQuotaLabel": "Per Model Quota Label",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "Cài đặt",
@@ -3967,7 +3980,9 @@
"troubleshootingCodexFamily": "Đối với các mô hình dòng GitHub Codex, hãy giữ mô hình là gh/codex-model; bộ định tuyến chọn/phản hồi tự động.",
"troubleshootingTestConnection": "Sử dụng Trang tổng quan > Nhà cung cấp > Kiểm tra kết nối trước khi thử nghiệm từ IDE hoặc ứng dụng khách bên ngoài.",
"troubleshootingCircuitBreaker": "Nếu nhà cung cấp hiển thị cầu dao đang mở, hãy đợi thời gian hồi chiêu hoặc kiểm tra trang Sức khỏe để biết chi tiết.",
"troubleshootingOAuth": "Đối với nhà cung cấp OAuth, hãy xác thực lại nếu mã thông báo hết hạn. Kiểm tra chỉ báo trạng thái thẻ nhà cung cấp."
"troubleshootingOAuth": "Đối với nhà cung cấp OAuth, hãy xác thực lại nếu mã thông báo hết hạn. Kiểm tra chỉ báo trạng thái thẻ nhà cung cấp.",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "Chính sách bảo mật",
@@ -4358,5 +4373,108 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"requestLogger": {
"recording": "Recording",
"paused": "Paused",
"pipelineLogsOn": "Pipeline logs on",
"pipelineLogsOff": "Pipeline logs off",
"updatingPipelineLogs": "Updating pipeline logs...",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"searchPlaceholder": "Search models, providers, accounts, API keys, combos...",
"allProviders": "All providers",
"allModels": "All models",
"allAccounts": "All accounts",
"allApiKeys": "All API keys",
"total": "Total",
"ok": "Success",
"err": "Error",
"combo": "Combo",
"keys": "Keys",
"shown": "Shown",
"sortNewest": "Newest",
"sortOldest": "Oldest",
"sortTokensDesc": "Tokens ↓",
"sortTokensAsc": "Tokens ↑",
"sortDurationDesc": "Duration ↓",
"sortDurationAsc": "Duration ↑",
"sortStatusDesc": "Status ↓",
"sortStatusAsc": "Status ↑",
"sortModelAsc": "Model A-Z",
"sortModelDesc": "Model Z-A",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}",
"statusFilters": {
"all": "All",
"error": "Errors",
"success": "Success",
"combo": "Combo"
},
"columns": {
"status": "Status",
"cacheSource": "Cache Source",
"model": "Model",
"requested": "Requested",
"provider": "Provider",
"protocol": "Request Protocol",
"account": "Account",
"apiKey": "API Key",
"combo": "Combo",
"tokens": "Tokens",
"tps": "TPS",
"duration": "Duration",
"time": "Time"
},
"loadingLogs": "Loading logs...",
"noLogs": "No logs yet. Make some API calls to see them here.",
"noMatchingLogs": "No logs matching current filters.",
"callLogsInfo": "Call logs are also saved as JSON files to {dataDir} and rotated based on {retentionDays} and {maxEntries}."
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -1342,10 +1342,7 @@
"mitmClientsTab": "MITM 客户端",
"customCliTab": "自定义 CLI",
"toolCategories": "工具分类",
"visibleToolsCount": "{count} 个工具可用",
"installationGuide": "安装指南",
"whenToUseLabel": "何时使用",
"openToolDocs": "打开工具文档"
"visibleToolsCount": "{count} 个工具可用"
},
"combos": {
"title": "组合",
@@ -2265,7 +2262,18 @@
"clientPayload": "Client Request Payload",
"upstreamPayload": "Upstream Provider Payload",
"upstreamNotSentYet": "Not sent to upstream yet",
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}"
"runningRequestDetailMeta": "Account: {account} — Elapsed: {elapsed}",
"consoleViewer": {
"fetchFailed": "Failed to fetch logs",
"copyFailed": "Failed to copy log entry",
"copyLogEntry": "Copy log entry"
},
"export": "Export",
"exporting": "Exporting...",
"exportFailed": "Export failed",
"timeRange": "Time Range",
"lastNHours": "Last {hours}",
"defaultRange": "default"
},
"onboarding": {
"welcome": "欢迎",
@@ -2786,7 +2794,9 @@
"zedImportNetworkError": "Zed Import Network Error",
"zedImportNone": "Zed Import None",
"zedImportSuccess": "Zed Import Success",
"zedImporting": "Zed Importing"
"zedImporting": "Zed Importing",
"expiredBadge": "Expired",
"expiringSoonBadge": "Expiring Soon"
},
"settings": {
"title": "设置",
@@ -4070,7 +4080,9 @@
"troubleshootingCodexFamily": "对于 GitHub Codex 系列模型,请保持模型名为 `gh/codex-model`;路由器会自动选择 `/responses`。",
"troubleshootingTestConnection": "在从 IDE 或外部客户端进行测试之前,请使用仪表板 > 提供商 > 测试连接。",
"troubleshootingCircuitBreaker": "如果提供商显示断路器已打开,请等待冷却或查看运行状况页面以了解详细信息。",
"troubleshootingOAuth": "对于 OAuth 提供商,如果 Token 过期,请重新认证,并检查提供商卡片上的状态指示器。"
"troubleshootingOAuth": "对于 OAuth 提供商,如果 Token 过期,请重新认证,并检查提供商卡片上的状态指示器。",
"deployTermuxTitle": "Termux (Android)",
"deployTermuxText": "Run OmniRoute headless on Android via Termux. Access the dashboard from your mobile browser."
},
"legal": {
"privacyPolicy": "隐私政策",
@@ -4632,7 +4644,20 @@
"loadingLogs": "正在加载日志...",
"noLogs": "暂无日志记录。进行一些API调用以在此处查看它们。",
"noMatchingLogs": "没有匹配当前筛选器的日志。",
"callLogsInfo": "调用日志也保存为JSON文件到{dataDir},并根据{retentionDays}和{maxEntries}进行轮换。"
"callLogsInfo": "调用日志也保存为JSON文件到{dataDir},并根据{retentionDays}和{maxEntries}进行轮换。",
"updatePipelineFailed": "Failed to update pipeline logging",
"capturePipeline": "Capture pipeline payloads for new requests",
"sortLogs": "Sort logs",
"refresh": "Refresh",
"columnsLabel": "Columns",
"cacheSem": "SEM",
"cacheUp": "UP",
"semantic": "Semantic",
"upstream": "Upstream",
"semanticCacheHit": "Semantic cache hit (served by OmniRoute)",
"upstreamResponse": "Upstream provider response",
"noApiKey": "No API key",
"requestedRoutedTitle": "Requested {requested}, routed as {routed}"
},
"endpointOptions": {
"speech": "Speech",
@@ -4653,5 +4678,42 @@
"codex": "Codex",
"claude": "Claude",
"kilo": "Kilo"
},
"proxyLogger": {
"filterAll": "All",
"filterErrors": "Errors",
"filterSuccess": "Success",
"filterTimeout": "Timeout",
"colStatus": "Status",
"colProxy": "Proxy",
"colTls": "TLS",
"colType": "Type",
"colLevel": "Level",
"colProvider": "Provider",
"colTarget": "Target",
"colLatency": "Latency",
"colPublicIp": "Public IP",
"colTime": "Time",
"recording": "Recording",
"paused": "Paused",
"searchPlaceholder": "Search host, provider, target, IP...",
"allTypes": "All Types",
"allLevels": "All Levels",
"allProviders": "All Providers",
"total": "total",
"ok": "OK",
"err": "ERR",
"timeoutShort": "TMO",
"direct": "direct",
"newest": "Newest",
"oldest": "Oldest",
"latencyDesc": "Latency ↓",
"latencyAsc": "Latency ↑",
"refresh": "Refresh",
"columns": "Columns",
"loadingProxyLogs": "Loading proxy logs...",
"noProxyLogs": "No proxy logs yet. Configure proxies and make API calls to see them here.",
"noMatchingLogs": "No logs match the current filters.",
"tlsFingerprint": "Chrome 124 TLS Fingerprint"
}
}

View File

@@ -100,6 +100,15 @@ const RENAMED_MIGRATION_COMPATIBILITY = [
},
] as const;
const LEGACY_VERSION_SLOT_MIGRATIONS = [
{ version: "028", name: "evals_tables" },
{ version: "029", name: "webhooks_templates" },
{ version: "030", name: "mcp_scopes_api_keys" },
{ version: "031", name: "api_keys_expires" },
{ version: "032", name: "detailed_logs_warnings" },
{ version: "033", name: "provider_connections_block_extra_usage" },
] as const;
const PHYSICAL_SCHEMA_SENTINELS = [
{ version: "028", tableName: "batches", description: "batches table" },
{ version: "024", tableName: "sync_tokens", description: "sync_tokens table" },
@@ -199,6 +208,25 @@ function ensureColumn(
}
}
function isProviderConnectionMaxConcurrentMigration(migration: {
version: string;
name: string;
}): boolean {
return migration.version === "029";
}
function applyProviderConnectionMaxConcurrentMigration(db: Database.Database): void {
ensureColumn(
db,
"provider_connections",
"max_concurrent",
"ALTER TABLE provider_connections ADD COLUMN max_concurrent INTEGER"
);
db.exec(
"CREATE INDEX IF NOT EXISTS idx_pc_max_concurrent ON provider_connections(provider, max_concurrent)"
);
}
function isApiKeyLifecycleMigration(migration: { version: string; name: string }): boolean {
return migration.version === "032";
}
@@ -368,6 +396,58 @@ function reconcileRenumberedMigrations(
return repaired;
}
function rehomeLegacyVersionSlotMigrations(
db: Database.Database,
files: Array<{ version: string; name: string; path: string }>
): boolean {
let repaired = false;
const diskNamesByVersion = new Map(files.map((file) => [file.version, file.name]));
for (const legacy of LEGACY_VERSION_SLOT_MIGRATIONS) {
const diskName = diskNamesByVersion.get(legacy.version);
if (!diskName || diskName === legacy.name) {
continue;
}
const legacyRow = db
.prepare("SELECT version, name FROM _omniroute_migrations WHERE version = ? AND name = ?")
.get(legacy.version, legacy.name) as { version: string; name: string } | undefined;
if (!legacyRow) {
continue;
}
const legacyVersion = `legacy-${legacy.version}-${legacy.name}`;
const applyRepair = db.transaction(() => {
const existingLegacyRow = db
.prepare("SELECT version FROM _omniroute_migrations WHERE version = ?")
.get(legacyVersion) as { version: string } | undefined;
if (existingLegacyRow) {
db.prepare("DELETE FROM _omniroute_migrations WHERE version = ? AND name = ?").run(
legacy.version,
legacy.name
);
return;
}
db.prepare("UPDATE _omniroute_migrations SET version = ? WHERE version = ? AND name = ?").run(
legacyVersion,
legacy.version,
legacy.name
);
});
applyRepair();
repaired = true;
console.warn(
`[Migration] Rehomed legacy migration ${legacy.version}_${legacy.name} ` +
`to ${legacyVersion} so current ${legacy.version}_${diskName} can apply.`
);
}
return repaired;
}
/**
* Create a pre-migration backup of the SQLite database using VACUUM INTO.
* Returns the backup path on success, null on failure.
@@ -410,6 +490,7 @@ export function runMigrations(db: Database.Database, options?: { isNewDb?: boole
ensureMigrationsTable(db);
const files = getMigrationFiles();
rehomeLegacyVersionSlotMigrations(db, files);
reconcileRenumberedMigrations(db, files);
const applied = getAppliedVersions(db);
const appliedRecords = getAppliedRecords(db);
@@ -495,7 +576,9 @@ export function runMigrations(db: Database.Database, options?: { isNewDb?: boole
for (const migration of pending) {
const applyMigration = db.transaction(() => {
if (isApiKeyLifecycleMigration(migration)) {
if (isProviderConnectionMaxConcurrentMigration(migration)) {
applyProviderConnectionMaxConcurrentMigration(db);
} else if (isApiKeyLifecycleMigration(migration)) {
applyApiKeyLifecycleMigration(db);
} else if (isSearchRequestTypeMigration(migration)) {
applySearchRequestTypeMigration(db);

View File

@@ -735,7 +735,10 @@ export default function RequestLoggerV2() {
}
title={
log.requestedModel !== log.model
? `Requested ${log.requestedModel}, routed as ${log.model}`
? t("requestedRoutedTitle", {
requested: log.requestedModel,
routed: log.model,
})
: log.requestedModel
}
>

View File

@@ -3,7 +3,7 @@
*
* Tests the proxy pipeline wiring: format detection, credential retry loop,
* circuit breaker integration, and the new Phase 2 modules (DI container,
* prompt versioning, plugin architecture, eval scheduler).
* prompt versioning, plugin architecture, eval cleanup).
*
* @module tests/integration/proxy-pipeline.test.ts
*/
@@ -336,36 +336,13 @@ describe("Prompt Template Versioning — prompts.ts module existence", () => {
});
// ═══════════════════════════════════════════════════
// 5. Eval Scheduler (L-7)
// 5. Eval cleanup (Task 28)
// ═══════════════════════════════════════════════════
describe("Eval Scheduler — scheduler.ts module existence", () => {
it("scheduler.ts should exist", () => {
describe("Eval cleanup — orphaned scheduler module", () => {
it("scheduler.ts should remain deleted", () => {
const full = join(ROOT, "src", "lib", "evals", "scheduler.ts");
assert.ok(existsSync(full), "scheduler.ts should exist");
});
it("should export scheduling functions", () => {
const src = readFileSync(join(ROOT, "src", "lib", "evals", "scheduler.ts"), "utf8");
assert.match(src, /export function schedule/);
assert.match(src, /export function unschedule/);
assert.match(src, /export function pause/);
assert.match(src, /export function resume/);
assert.match(src, /export\s+(async\s+)?function\s+runNow/);
assert.match(src, /export function getSchedules/);
assert.match(src, /export function getHistory/);
assert.match(src, /export function stopAll/);
});
it("should define ScheduledEval and EvalRunResult types", () => {
const src = readFileSync(join(ROOT, "src", "lib", "evals", "scheduler.ts"), "utf8");
assert.match(src, /export interface ScheduledEval/);
assert.match(src, /export interface EvalRunResult/);
});
it("should have pluggable output provider", () => {
const src = readFileSync(join(ROOT, "src", "lib", "evals", "scheduler.ts"), "utf8");
assert.match(src, /export function setOutputProvider/);
assert.equal(existsSync(full), false, "scheduler.ts should stay removed");
});
});

View File

@@ -676,6 +676,125 @@ test(
}
);
test(
"runMigrations rehomes legacy 028-033 version slots before applying current migrations",
serial,
async () => {
const runner = await importFresh("src/lib/db/migrationRunner.ts");
const db = createDb();
try {
db.exec(`
CREATE TABLE _omniroute_migrations (
version TEXT PRIMARY KEY,
name TEXT NOT NULL,
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
);
CREATE TABLE provider_connections (
id TEXT PRIMARY KEY,
provider TEXT NOT NULL
);
CREATE TABLE api_keys (
id TEXT PRIMARY KEY,
key TEXT NOT NULL
);
`);
const legacyRows = [
["028", "evals_tables"],
["029", "webhooks_templates"],
["030", "mcp_scopes_api_keys"],
["031", "api_keys_expires"],
["032", "detailed_logs_warnings"],
["033", "provider_connections_block_extra_usage"],
];
for (const row of legacyRows) {
db.prepare("INSERT INTO _omniroute_migrations (version, name) VALUES (?, ?)").run(
row[0],
row[1]
);
}
const count = withMockedMigrationFs(
{
"028_create_files_and_batches.sql": `
CREATE TABLE files (id TEXT PRIMARY KEY);
CREATE TABLE batches (id TEXT PRIMARY KEY);
`,
"029_provider_connection_max_concurrent.sql":
"ALTER TABLE provider_connections ADD COLUMN should_not_run INTEGER;",
"030_create_eval_runs.sql": "CREATE TABLE eval_runs (id TEXT PRIMARY KEY);",
"031_create_eval_suites.sql": `
CREATE TABLE eval_suites (id TEXT PRIMARY KEY);
CREATE TABLE eval_cases (id TEXT PRIMARY KEY);
`,
"032_apikey_lifecycle.sql": "ALTER TABLE api_keys ADD COLUMN should_not_run TEXT;",
"033_create_reasoning_cache.sql": "CREATE TABLE reasoning_cache (id TEXT PRIMARY KEY);",
},
() => runner.runMigrations(db)
);
assert.equal(count, 6);
const rows = db.prepare("SELECT version, name FROM _omniroute_migrations").all() as Array<{
version: string;
name: string;
}>;
const byVersion = new Map(rows.map((row) => [row.version, row.name]));
assert.equal(byVersion.get("028"), "create_files_and_batches");
assert.equal(byVersion.get("029"), "provider_connection_max_concurrent");
assert.equal(byVersion.get("030"), "create_eval_runs");
assert.equal(byVersion.get("031"), "create_eval_suites");
assert.equal(byVersion.get("032"), "apikey_lifecycle");
assert.equal(byVersion.get("033"), "create_reasoning_cache");
for (const [version, name] of legacyRows) {
assert.equal(byVersion.get(`legacy-${version}-${name}`), name);
}
for (const table of [
"files",
"batches",
"eval_runs",
"eval_suites",
"eval_cases",
"reasoning_cache",
]) {
assert.ok(
db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(table),
`${table} should exist`
);
}
const providerColumns = db.prepare("PRAGMA table_info(provider_connections)").all() as Array<{
name: string;
}>;
const providerColumnNames = new Set(providerColumns.map((column) => column.name));
assert.equal(providerColumnNames.has("max_concurrent"), true);
assert.equal(providerColumnNames.has("should_not_run"), false);
const apiKeyColumns = db.prepare("PRAGMA table_info(api_keys)").all() as Array<{
name: string;
}>;
const apiKeyColumnNames = new Set(apiKeyColumns.map((column) => column.name));
for (const expected of [
"revoked_at",
"expires_at",
"last_used_at",
"key_prefix",
"ip_allowlist",
"scopes",
]) {
assert.equal(apiKeyColumnNames.has(expected), true, `${expected} should exist`);
}
assert.equal(apiKeyColumnNames.has("should_not_run"), false);
} finally {
db.close();
}
}
);
test(
"memory FTS migrations upgrade existing UUID memories without datatype mismatches",
serial,

View File

@@ -13,22 +13,18 @@ interface EvalsRoutePayload {
targets: Array<{ type: string }>;
apiKeys: Array<{ id: string; name: string; key?: string }>;
recentRuns: Array<{ target: { key: string } }>;
}
interface ScorecardRoutePayload {
scorecard: { overallPassRate: number } | null;
runs: unknown[];
}
const core = await import("../../src/lib/db/core.ts");
const localDb = await import("../../src/lib/localDb.ts");
const evalsRoute = await import("../../src/app/api/evals/route.ts");
const evalsScorecardRoute = await import("../../src/app/api/evals/scorecard/route.ts");
const evalSuitesRoute = await import("../../src/app/api/evals/suites/route.ts");
const evalSuiteByIdRoute = await import("../../src/app/api/evals/suites/[suiteId]/route.ts");
function resetDb() {
core.resetDbInstance();
localDb.resetApiKeyState();
fs.rmSync(TEST_DATA_DIR, { recursive: true, force: true });
fs.mkdirSync(TEST_DATA_DIR, { recursive: true });
}
@@ -39,6 +35,7 @@ test.beforeEach(() => {
test.after(() => {
core.resetDbInstance();
localDb.resetApiKeyState();
fs.rmSync(TEST_DATA_DIR, { recursive: true, force: true });
});
@@ -98,7 +95,7 @@ test("evals GET returns suites, target options, api key metadata, and persisted
);
});
test("eval scorecard route exposes stored runs and aggregated pass rate", async () => {
test("evals GET exposes stored runs and aggregated pass rate inline", async () => {
localDb.saveEvalRun({
suiteId: "golden-set",
suiteName: "Golden Set",
@@ -109,16 +106,14 @@ test("eval scorecard route exposes stored runs and aggregated pass rate", async
createdAt: "2026-04-23T12:00:00.000Z",
});
const response = await evalsScorecardRoute.GET(
new Request("http://localhost/api/evals/scorecard?limit=10")
);
const response = await evalsRoute.GET(new Request("http://localhost/api/evals"));
assert.equal(response.status, 200);
const payload = (await response.json()) as ScorecardRoutePayload;
const payload = (await response.json()) as EvalsRoutePayload;
assert.ok(payload.scorecard);
assert.equal(payload.scorecard.overallPassRate, 100);
assert.equal(Array.isArray(payload.runs), true);
assert.equal(payload.runs.length, 1);
assert.equal(Array.isArray(payload.recentRuns), true);
assert.equal(payload.recentRuns.length, 1);
});
test("eval suite routes create, update, fetch, and delete custom suites", async () => {