omniroute 3.3.6 → 3.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__950558b8._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__9698d25e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__a32d3818._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__bc251fbe._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__d5a064d5._.js +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ar_json_e1d5145b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_bg_json_34495a0f._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_cs_json_db6f9ebc._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_da_json_7500ed02._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_de_json_b2a40318._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_es_json_82775c4a._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_fi_json_dcc6745e._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_fr_json_fe904570._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_he_json_3e3c1e1b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_hi_json_83a0b9e5._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_hu_json_651e00d3._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_id_json_725d4a34._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_in_json_2d7cd177._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_it_json_e23882ae._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ja_json_fc6af4d8._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ko_json_0ffdbdc6._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ms_json_610df819._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_nl_json_55ad1507._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_no_json_9f484a8c._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_phi_json_871ece45._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pl_json_79d0be4b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt-BR_json_e7b9e8db._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt_json_2fc13a82._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ro_json_d1a5f5ee._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ru_json_9d7a9dfe._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_sk_json_1c5bff4a._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_sv_json_e8ae9f28._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_th_json_6ed546bd._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_tr_json_c8d78b01._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_uk-UA_json_c72cdf08._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_vi_json_03ec9dfd._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{b9999bd9d2b99bf6.js → d3c3a9266158d9b0.js} +1 -1
- package/app/CHANGELOG.md +19 -1
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/handlers/responseTranslator.ts +1 -1
- package/app/open-sse/package.json +1 -1
- package/app/package-lock.json +3 -3
- package/app/package.json +1 -1
- package/app/src/i18n/messages/ar.json +2 -1
- package/app/src/i18n/messages/bg.json +2 -1
- package/app/src/i18n/messages/cs.json +2 -1
- package/app/src/i18n/messages/da.json +2 -1
- package/app/src/i18n/messages/de.json +2 -1
- package/app/src/i18n/messages/es.json +2 -1
- package/app/src/i18n/messages/fi.json +2 -1
- package/app/src/i18n/messages/fr.json +2 -1
- package/app/src/i18n/messages/he.json +2 -1
- package/app/src/i18n/messages/hi.json +2 -1
- package/app/src/i18n/messages/hu.json +2 -1
- package/app/src/i18n/messages/id.json +2 -1
- package/app/src/i18n/messages/in.json +2 -1
- package/app/src/i18n/messages/it.json +2 -1
- package/app/src/i18n/messages/ja.json +2 -1
- package/app/src/i18n/messages/ko.json +2 -1
- package/app/src/i18n/messages/ms.json +2 -1
- package/app/src/i18n/messages/nl.json +2 -1
- package/app/src/i18n/messages/no.json +2 -1
- package/app/src/i18n/messages/phi.json +2 -1
- package/app/src/i18n/messages/pl.json +2 -1
- package/app/src/i18n/messages/pt-BR.json +2 -1
- package/app/src/i18n/messages/pt.json +2 -1
- package/app/src/i18n/messages/ro.json +2 -1
- package/app/src/i18n/messages/ru.json +2 -1
- package/app/src/i18n/messages/sk.json +2 -1
- package/app/src/i18n/messages/sv.json +2 -1
- package/app/src/i18n/messages/th.json +2 -1
- package/app/src/i18n/messages/tr.json +2 -1
- package/app/src/i18n/messages/uk-UA.json +2 -1
- package/app/src/i18n/messages/vi.json +2 -1
- package/app/src/shared/services/opencodeConfig.ts +14 -13
- package/app/tests/unit/t40-opencode-cli-tools-integration.test.mjs +5 -5
- package/package.json +1 -1
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_buildManifest.js +0 -0
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[423638,a=>{a.v(JSON.parse('{"common":{"save":"Zapisz","cancel":"Anuluj","delete":"Usuń","loading":"Ładowanie...","error":"Wystąpił błąd","success":"Sukces","confirm":"Czy jesteś pewien?","refresh":"Odśwież","close":"Zamknij","add":"Dodaj","edit":"Edytuj","search":"Szukaj","back":"Powrót","next":"Następny","submit":"Prześlij","reset":"Zresetuj","copy":"Kopiuj","copied":"Skopiowano!","enabled":"Włączone","disabled":"Niepełnosprawny","active":"Aktywny","inactive":"Nieaktywny","noData":"Brak dostępnych danych","configure":"Skonfiguruj","manage":"Zarządzaj","name":"Imię","actions":"Działania","status":"Stan","type":"Wpisz","model":"Modelka","models":"modele","provider":"Dostawca","account":"Konto","time":"Czas","details":"Szczegóły","created":"Utworzono","lastUsed":"Ostatnio używany","loadMore":"Załaduj więcej","noResults":"Nie znaleziono żadnych wyników","reloadPage":"Załaduj ponownie stronę","connected":"Połączono","disconnected":"Rozłączony","notConfigured":"Nie skonfigurowano","testConnection":"Połączenie testowe","enable":"Włącz","disable":"Wyłącz","columns":"Kolumny","newest":"Najnowszy","oldest":"Najstarszy","all":"Wszystko","none":"Żadne","yes":"Tak","no":"Nie","warning":"Ostrzeżenie","note":"Uwaga","free":"Bezpłatny","skipToContent":"Przejdź do treści","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"accept","accountId":"accountId","alias":"alias","apiKeyId":"apiKeyId","apiKeyName":"apiKeyName","apiKeySecret":"apiKeySecret","authorization":"authorization","content-type":"content-type","content-length":"content-length","cookie":"cookie","file":"file","host":"host","id":"id","import":"import","limit":"limit","offset":"offset","open":"open","origin":"origin","promptTokens":"promptTokens","completionTokens":"completionTokens","totalTokens":"totalTokens","rawModel":"rawModel","scope":"scope","skill":"skill","sortBy":"sortBy","sortOrder":"sortOrder","tab":"tab","text":"text","textarea":"textarea","tool":"tool","toolId":"toolId","web":"web","whereUsed":"whereUsed","whitelist":"whitelist","blacklist":"blacklist","resolve":"resolve","force":"force","base64url":"base64url","hex":"hex","range":"range","component":"component","redirect_uri":"redirect_uri","idempotency-key":"idempotency-key","error_description":"error_description","code":"code","compatible":"compatible","chat-completions":"chat-completions","oauth":"oauth","auth_token":"auth_token","crypto":"crypto","hours":"hours","selfsigned":"selfsigned","proxy_id":"proxy_id","proxyId":"proxyId","connectionId":"connectionId","resolveConnectionId":"resolveConnectionId","resolve_connection_id":"resolve_connection_id","scope_id":"scope_id","scopeId":"scopeId","jwtSecret":"jwtSecret","keytar":"keytar","better-sqlite3":"better-sqlite3","undici":"undici","builder-id":"builder-id","musicDesc":"musicDesc","musicGeneration":"musicGeneration","idc":"idc","cloud-status-changed":"cloud-status-changed","where_used":"where_used","windowMs":"windowMs","social-github":"GitHub","social-google":"Google\'a","TOOL_ALLOWLIST":"Lista dozwolonych narzędzi","TOOL_DENYLIST":"Lista odrzuconych narzędzi","Failed to save pricing":"Nie udało się zapisać cen","Failed to reset pricing":"Nie udało się zresetować cen","apikey":"Klucz API","http":"HTTP"},"sidebar":{"home":"Dom","dashboard":"Pulpit nawigacyjny","providers":"Dostawcy","combos":"Kombinacje","usage":"Użycie","analytics":"Analityka","costs":"Koszty","health":"Zdrowie","limits":"Limity i kwoty","cliTools":"Narzędzia interfejsu wiersza polecenia","media":"Media","settings":"Ustawienia","translator":"Tłumacz","docs":"Dokumenty","issues":"Problemy","apiManager":"Menedżer API","logs":"Dzienniki","auditLog":"Dziennik audytu","shutdown":"Wyłączenie","restart":"Uruchom ponownie","shutdownConfirm":"Wyłączyć OmniRoute?","restartConfirm":"Zrestartować OmniRoute?","version":"v{version}","debug":"Debuguj","system":"Systemu","help":"Pomoc","serverDisconnected":"Serwer odłączony","serverDisconnectedMsg":"Serwer proxy został zatrzymany lub uruchamia się ponownie.","expandSidebar":"Rozwiń pasek boczny","collapseSidebar":"Zwiń pasek boczny","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Punkty końcowe","playground":"Plac zabaw","agents":"Agenci","cliToolsShort":"Narzędzia","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Wyloguj się","language":"Język","providers":"Dostawcy","providerDescription":"Zarządzaj połączeniami dostawców AI","combos":"Kombinacje","comboDescription":"Kombinacje modeli z rezerwą","usage":"Wykorzystanie i analityka","usageDescription":"Monitoruj wykorzystanie interfejsu API, zużycie tokenów i dzienniki żądań","analytics":"Analityka","analyticsDescription":"Wykresy, trendy i spostrzeżenia dotyczące ocen","cliTools":"Narzędzia interfejsu wiersza polecenia","cliToolsDescription":"Skonfiguruj narzędzia CLI","home":"Dom","homeDescription":"Witamy w OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Ustawienia","settingsDescription":"Zarządzaj swoimi preferencjami","openaiCompatible":"Kompatybilny z OpenAI","anthropicCompatible":"Kompatybilny z antropią","media":"Media","mediaDescription":"Generate images, videos, and music","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Szybki start","quickStartDesc":"Zacznij działać w 4 krokach. Łącz dostawców, kieruj modele, monitoruj wszystko.","fullDocs":"Pełna dokumentacja","step1Title":"1. Utwórz klucz API","step1Desc":"Przejdź do <endpoint>Endpoint</endpoint> -> Zarejestrowane klucze. Wygeneruj jeden klucz na środowisko.","step2Title":"2. Połącz dostawców","step2Desc":"Dodaj konta w <providers>Providers</providers>. Obsługuje OAuth, klucz API i bezpłatne poziomy.","step3Title":"3. Wskaż swojego klienta","step3Desc":"Ustaw podstawowy adres URL na {url} w swoim kliencie IDE lub API.","step4Title":"4. Monitoruj i optymalizuj","step4Desc":"Śledź tokeny, koszty i błędy w <logs>Dziennikach żądań</logs> i <analytics>Analytics</analytics>.","providersOverview":"Przegląd dostawców","configuredOf":"{configured} skonfigurowany z {total} dostępnych dostawców","noModelsAvailable":"Brak dostępnych modeli tego dostawcy.","configureFirst":"Najpierw skonfiguruj połączenie w {providers}","configureProvider":"Skonfiguruj dostawcę","modelAvailable":"Dostępny model {count}","modelsAvailable":"Dostępne modele {count}","connectionsActive":"{count} połączenie aktywne","connectionsActivePlural":"{count} aktywne połączenia","copyModelName":"Skopiuj nazwę modelu","documentation":"Dokumentacja","healthMonitor":"Monitor zdrowia","reportIssue":"Zgłoś problem","activeError":"{active} aktywny · {errors} błąd","oauthLabel":"OAuth","apiKeyLabel":"Klucz API","requestsShort":"{count} wymagania","providerModelsTitle":"{provider} - Modele","copiedModel":"Skopiowano: {model}","aliasLabel":"pseudonim","updateNow":"Zaktualizuj","updating":"Aktualizowanie...","updateAvailableDesc":"Dostępna jest nowa wersja. Kliknij, aby zaktualizować.","updateStarted":"Aktualizacja rozpoczęta..."},"analytics":{"title":"Analityka","overviewDescription":"Monitoruj wzorce wykorzystania interfejsu API, zużycie tokenów, koszty i trendy aktywności u wszystkich dostawców i modeli.","evalsDescription":"Uruchom pakiety ewaluacyjne, aby przetestować i zweryfikować punkty końcowe LLM. Porównaj jakość modelu, wykryj regresje i porównaj opóźnienia.","overview":"Przegląd","evals":"Ewaluacje"},"apiManager":{"title":"Klucze API","createKey":"Utwórz klucz API","key":"Klucz","revokeKey":"Unieważnij klucz","revokeConfirm":"Czy na pewno chcesz unieważnić ten klucz API?","noKeys":"Nie ma jeszcze kluczy API","noKeysDesc":"Utwórz swój pierwszy klucz API, aby uwierzytelniać żądania kierowane do punktu końcowego","keyLabel":"Etykieta klucza","permissions":"Uprawnienia","expiresAt":"Wygasa","never":"Nigdy","revoke":"Odwołaj","showKey":"Pokaż klucz","hideKey":"Ukryj klucz","copyKey":"Skopiuj klucz API","allModels":"Wszystkie modele","selectedModels":"Wybrane modele","readOnly":"Tylko do odczytu","fullAccess":"Pełny dostęp","keyManagement":"Zarządzanie kluczami API","keyManagementDesc":"Twórz klucze API i zarządzaj nimi w celu uwierzytelniania żądań kierowanych do punktu końcowego","totalKeys":"Razem klucze","restricted":"Ograniczone","totalRequests":"Łączna liczba żądań","modelsAvailable":"Dostępne modele","registeredKeys":"Zarejestrowane klucze","keysRegistered":"Zarejestrowano {count} kluczy","keyRegistered":"Zarejestrowano klucz {count}","keysSecurityNote":"Każdy klucz izoluje śledzenie użycia i może zostać odwołany niezależnie. Klucze są maskowane po utworzeniu ze względów bezpieczeństwa.","createFirstKey":"Utwórz swój pierwszy klucz","name":"Imię","usage":"Użycie","created":"Utworzono","actions":"Działania","reqs":"wymagania","neverUsed":"Nigdy nie używany","deleteConfirm":"Usunąć ten klucz API?","usageTips":"Wskazówki dotyczące użytkowania","tipAuth":"Użyj kluczy API w nagłówku autoryzacji jako Nośnik YOUR_KEY","tipSecure":"Klucze są wyświetlane tylko raz podczas tworzenia — przechowuj je bezpiecznie","tipSeparate":"Utwórz osobne klucze dla różnych klientów lub środowisk","tipRestrict":"Ogranicz klucze do określonych modeli, aby zapewnić większe bezpieczeństwo i kontrolę kosztów","keyName":"Nazwa klucza","keyNamePlaceholder":"np. klucz produkcyjny, klucz rozwojowy","keyNameDesc":"Wybierz opisową nazwę identyfikującą przeznaczenie tego klucza","keyCreated":"Utworzono klucz API","keyCreatedSuccess":"Klucz został utworzony pomyślnie!","keyCreatedNote":"Skopiuj i zapisz ten klucz teraz — nie będzie on więcej wyświetlany.","done":"Gotowe","savePermissions":"Zapisz uprawnienia","allowAll":"Zezwalaj na wszystko","restrict":"Ogranicz","allowAllInfo":"Ten klucz umożliwia dostęp do wszystkich dostępnych modeli.","restrictInfo":"Ten klucz umożliwia dostęp do {selected} z {total} modeli.","selected":"Wybrano {count}","all":"Wszystko","clear":"Jasne","searchModels":"Wyszukaj modele według nazwy lub dostawcy...","noModelsFound":"Nie znaleziono żadnych modeli","keyNameRequired":"Nazwa klucza jest wymagana","keyNameTooLong":"Nazwa klucza musi mieć maksymalnie {max} znaków","keyNameInvalid":"Nazwa klucza może zawierać tylko litery, cyfry, spacje, łączniki i podkreślenia","invalidKeyName":"Nieprawidłowa nazwa klucza","failedCreateKey":"Nie udało się utworzyć klucza","failedCreateKeyRetry":"Nie udało się utworzyć klucza. Spróbuj ponownie.","invalidKeyId":"Nieprawidłowy identyfikator klucza","failedDeleteKey":"Nie udało się usunąć klucza","failedDeleteKeyRetry":"Nie udało się usunąć klucza. Spróbuj ponownie.","invalidModelsSelection":"Nieprawidłowy wybór modeli","cannotSelectMoreThanModels":"Nie można wybrać więcej niż {max} modeli","failedUpdatePermissions":"Nie udało się zaktualizować uprawnień","failedUpdatePermissionsRetry":"Nie udało się zaktualizować uprawnień. Spróbuj ponownie.","unknownProvider":"nieznany","copyMaskedKey":"Skopiuj zamaskowany klucz","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ostatni: {date}","editPermissions":"Edytuj uprawnienia","deleteKey":"Usuń klucz","model":"Model {count}","models":"{count} modele","permissionsTitle":"Uprawnienia: {name}","allowAllDesc":"Ten klucz umożliwia dostęp do wszystkich dostępnych modeli.","restrictDesc":"Ten klucz umożliwia dostęp do {selectedCount} z {totalModels} modeli.","selectedCount":"Wybrano {count}","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Dziennik audytu","searchPlaceholder":"Wyszukaj działania...","action":"Akcja","actor":"Aktor","target":"Cel","ipAddress":"Adres IP","timestamp":"Znacznik czasu","noEntries":"Nie znaleziono wpisów audytu","filterByAction":"Filtruj według działania...","filterByActor":"Filtruj według aktora...","filterEntriesAria":"Filtruj wpisy dziennika audytu","filterByActionTypeAria":"Filtruj według typu akcji","filterByActorAria":"Filtruj według aktora","refreshAuditLogAria":"Odśwież dziennik audytu","tableAria":"Wpisy dziennika audytu","failedFetchAuditLog":"Nie udało się pobrać dziennika kontroli","notAvailable":"—","description":"Działania administracyjne i zdarzenia związane z bezpieczeństwem","showing":"Wyświetlanie wpisów {count} (przesunięcie {offset})","previous":"Poprzedni"},"media":{"title":"Studio multimediów","subtitle":"Generuj obrazy, wideo i muzykę","model":"Model","prompt":"Prompt","generate":"Generuj","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"Narzędzia interfejsu wiersza polecenia","noActiveProviders":"Brak aktywnych dostawców","noActiveProvidersDesc":"Najpierw dodaj i połącz dostawców, aby skonfigurować narzędzia CLI.","mapModels":"Modele map","testConnection":"Połączenie testowe","connectionStatus":"Stan połączenia","configureEndpoint":"Skonfiguruj punkt końcowy","instructions":"Instrukcje","modelMapping":"Mapowanie modelu","baseUrl":"Bazowy adres URL","apiKey":"Klucz API","configured":"Skonfigurowane","notConfigured":"Nie skonfigurowano","notInstalled":"Nie zainstalowano","custom":"Niestandardowe","unknown":"Nieznany","lastSavedAt":"Ostatnio zapisany: {date}","never":"Nigdy","justNow":"właśnie teraz","minutesAgoShort":"{count}m temu","hoursAgoShort":"{count}h temu","daysAgoShort":"{count}d temu","monthsAgoShort":"{count}miesiące temu","yearsAgoShort":"{count}y temu","runtimeCheckFailed":"Kontrola czasu wykonania nie powiodła się","yourApiKeyPlaceholder":"twój-api-key","modelPlaceholder":"dostawca/identyfikator modelu","configurationSaved":"Konfiguracja została zapisana pomyślnie.","failedToSave":"Nie udało się zapisać konfiguracji.","noApiKeysCreateOne":"Brak kluczy API — utwórz je na stronie Klucze","defaultOmnirouteKey":"sk_omniroute (domyślnie)","selectModel":"Wybierz Model","selectModelForAlias":"Wybierz model dla {alias}","selectModelForTool":"Wybierz model dla {tool}","select":"Wybierz","clear":"Jasne","comingSoon":"Już wkrótce","checkingRuntime":"Sprawdzam stan środowiska wykonawczego...","guideOnlyIntegration":"Integracja wyłącznie w trybie przewodnika (nie jest wymagane lokalne środowisko wykonawcze)","cliRuntimeDetected":"Środowisko wykonawcze CLI zostało wykryte i gotowe","cliFoundNotRunnable":"Znaleziono interfejs CLI, ale nie można go uruchomić{reason}","cliRuntimeNotDetected":"Nie wykryto środowiska wykonawczego CLI","binary":"Binarny","configPath":"Ścieżka konfiguracji","configPathShort":"Konfig","failedCheckRuntimeStatus":"Nie udało się sprawdzić stanu środowiska wykonawczego.","copy":"Kopiuj","copied":"Skopiowano","copyConfig":"Kopiuj konfigurację","saveConfig":"Zapisz konfigurację","selectionSaved":"Wybór został zapisany","guide":"Przewodnik","detected":"Wykryto","notReady":"Nie gotowy","active":"Aktywny","inactive":"Nieaktywny","startMitm":"Uruchom MITM","stopMitm":"Zatrzymaj MITM","mitmStarted":"MITM rozpoczęło się pomyślnie!","mitmStopped":"MITM został zatrzymany pomyślnie!","failedStart":"Nie udało się uruchomić MITM","failedStop":"Nie udało się zatrzymać MITM","saveMappings":"Zapisz mapowania","mappingsSaved":"Mapowania zapisane!","failedSaveMappings":"Nie udało się zapisać mapowań","howItWorks":"Jak to działa:","antigravityHowWorksDesc":"Antygrawitacja wysyła żądania do punktu końcowego Google. MITM przechwytuje i przekierowuje je do OmniRoute.","antigravityStep1":"1. Uruchom MITM, aby kierować żądania przez OmniRoute.","antigravityStep2Prefix":"2. Dodaj","antigravityStep2Suffix":"do pliku hosts jako 127.0.0.1.","antigravityStep3":"3. Otwórz Antygrawitację i żądania zostaną przesłane przez serwer proxy.","sudoPasswordRequiredTitle":"Wymagane hasło Sudo","sudoPasswordHint":"Aby zmodyfikować ustawienia pliku hosts i systemowego serwera proxy, wymagane jest hasło administratora.","enterSudoPassword":"Wprowadź hasło sudo","sudoPasswordRequiredError":"Wymagane jest hasło Sudo.","cancel":"Anuluj","confirm":"Potwierdź","settingsApplied":"Ustawienia zostały zastosowane pomyślnie!","failedApplySettings":"Nie udało się zastosować ustawień","settingsReset":"Ustawienia zostały zresetowane pomyślnie!","failedResetSettings":"Nie udało się zresetować ustawień","backupRestored":"Kopia zapasowa przywrócona!","failedRestore":"Nie udało się przywrócić","checkingCli":"Sprawdzam {tool} CLI...","cliNotRunnable":"{tool} Zainstalowano CLI, ale nie można go uruchomić","cliNotInstalled":"{tool} Interfejs CLI nie jest zainstalowany","cliNotDetected":"{tool} Nie wykryto interfejsu CLI","cliDetectedReady":"{tool} Wykryto interfejs CLI i jest on gotowy","cliFoundFailedHealthcheck":"{tool} Znaleziono interfejs CLI, ale kontrola stanu środowiska wykonawczego nie powiodła się{reason}.","installCliPrompt":"Aby móc korzystać z tej funkcji, zainstaluj {tool} CLI.","installCodexPrompt":"Aby skorzystać z funkcji automatycznego stosowania, zainstaluj Codex CLI.","hide":"Ukryj","howToInstall":"Jak zainstalować","installationGuide":"Przewodnik instalacji","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Po instalacji uruchom","toVerify":"zweryfikować.","current":"Aktualny","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Przywróć ustawienia domyślne","providerModelPlaceholder":"dostawca/identyfikator modelu","apply":"Zastosuj","reset":"Zresetuj","manualConfig":"Konfiguracja ręczna","backups":"Kopie zapasowe","configBackups":"Skonfiguruj kopie zapasowe","noBackupsYet":"Nie ma jeszcze kopii zapasowych. Kopie zapasowe są tworzone automatycznie przed każdym Zastosowaniem lub Resetem.","restore":"Przywróć","backupRestoredReloading":"Kopia zapasowa przywrócona! Stan ponownego ładowania...","failedRestoreBackup":"Nie udało się przywrócić kopii zapasowej","applied":"Zastosowano!","failed":"Nie udało się","resetDone":"Zresetuj!","omnirouteConfiguredOpenAiCompatible":"OmniRoute jest skonfigurowany jako dostawca zgodny z OpenAI","provider":"Dostawca","model":"Modelka","providers":"Dostawcy","auth":"Autoryt","noApiKeysAvailable":"Brak dostępnych kluczy API","usingDefaultOmniroute":"Używam domyślnego: sk_omniroute","updateConfig":"Zaktualizuj konfigurację","applyConfig":"Zastosuj konfigurację","noBackupsAvailable":"Brak dostępnych kopii zapasowych.","profileSaved":"Profil „{name}” został zapisany!","failedSaveProfile":"Nie udało się zapisać profilu","profileActivated":"Profil aktywowany!","failedActivateProfile":"Nie udało się aktywować profilu","profiles":"Profile","savedProfiles":"Zapisane profile","noProfilesYet":"Nie zapisano jeszcze żadnych profili. Zapisz bieżącą konfigurację jako profil poniżej.","activate":"Aktywuj","deleteProfile":"Usuń profil","profileNamePlaceholder":"Nazwa profilu (np. Konto Osobiste)","saveCurrent":"Zapisz bieżący","codexAuthNotePrefix":"Kodeks używa","codexAuthNoteMiddle":"z","codexAuthNoteSuffix":"Kliknij „Zastosuj”, aby przeprowadzić automatyczną konfigurację.","claudeManualConfiguration":"Claude CLI - Konfiguracja ręczna","codexManualConfiguration":"Codex CLI — konfiguracja ręczna","droidManualConfiguration":"Droid fabryczny – konfiguracja ręczna","openClawManualConfiguration":"Otwarty pazur - konfiguracja ręczna","clineManualConfiguration":"Konfiguracja ręczna Cline","kiloManualConfiguration":"Konfiguracja ręczna kodu Kilo","toolDescriptions":{"antigravity":"Google Antigravity IDE z MITM","claude":"Antropiczny kod Claude\'a CLI","codex":"Interfejs wiersza polecenia OpenAI Codex","droid":"Asystent sztucznej inteligencji droida fabrycznego","openclaw":"Otwórz asystenta AI Claw","cline":"Cline AI Asystent kodowania CLI","kilo":"Kilo Code AI Assistant CLI","cursor":"Edytor kodu AI kursora","continue":"Kontynuuj Asystenta AI","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Aby korzystać z tej funkcji, wymagane jest konto Cursor Pro.","1":"Kursor kieruje żądania przez własny serwer, więc lokalny punkt końcowy nie jest obsługiwany. Włącz punkt końcowy Cloud w Ustawieniach."},"steps":{"1":{"title":"Otwórz Ustawienia","desc":"Przejdź do Ustawienia -> Modele"},"2":{"title":"Włącz interfejs API OpenAI","desc":"Włącz opcję „Klucz API OpenAI”."},"3":{"title":"Bazowy adres URL"},"4":{"title":"Klucz API"},"5":{"title":"Dodaj model niestandardowy","desc":"Kliknij „Wyświetl wszystkie modele” -> „Dodaj model niestandardowy”"},"6":{"title":"Wybierz Model"}}},"continue":{"steps":{"1":{"title":"Otwórz konfigurację","desc":"Otwórz plik konfiguracyjny Kontynuuj"},"2":{"title":"Klucz API"},"3":{"title":"Wybierz Model"},"4":{"title":"Dodaj konfigurację modelu","desc":"Dodaj następującą konfigurację do tablicy modeli:"}},"notes":{"0":"Continue używa pliku konfiguracyjnego JSON."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode wymaga konfiguracji klucza API.","1":"Ustaw URL bazowy na swój endpoint OmniRoute."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Kiro wymaga konta Amazon."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Kiedy używać","openToolDocs":"Otwórz dokumentację narzędzi","toolUseCases":{"claude":"Użyj, jeśli chcesz mieć silne przepływy pracy związane z planowaniem i długie refaktoryzacje wielu plików za pomocą Claude Code.","codex":"Użyj, gdy Twój zespół jest ujednolicony w zakresie przepływów CLI OpenAI Codex i uwierzytelniania opartego na profilach.","droid":"Użyj, gdy potrzebujesz lekkiego agenta terminalowego skupionego na szybkim kodowaniu i pętlach wykonywania poleceń.","openclaw":"Użyj, jeśli chcesz agenta kodującego w stylu Open Claw, ale kierowanego przez zasady OmniRoute.","cline":"Użyj, gdy konfigurujesz agentów kodujących w edytorach i chcesz przeprowadzić konfigurację z pomocą modeli OmniRoute.","kilo":"Użyj, gdy przepływ pracy zależy od poleceń Kilo Code i szybkich edycji iteracyjnych.","cursor":"Użyj podczas kodowania w programie Cursor, jeśli potrzebujesz niestandardowych modeli zgodnych z OpenAI za pośrednictwem OmniRoute.","continue":"Użyj podczas uruchamiania Kontynuuj w środowiskach IDE, jeśli potrzebujesz przenośnej konfiguracji dostawcy opartej na formacie JSON.","opencode":"Użyj, jeśli wolisz uruchamianie agentów natywnych w terminalu i automatyzację skryptów za pośrednictwem OpenCode.","kiro":"Użyj podczas integracji Kiro i centralnego sterowania routingiem modeli z OmniRoute.","antigravity":"Użyj, gdy ruch antygrawitacyjny/Kiro musi zostać przechwycony przez MITM i skierowany do OmniRoute.","copilot":"Użyj, jeśli chcesz mieć UX w stylu czatu Copilot, jednocześnie wymuszając klucze OmniRoute i reguły routingu."}},"combos":{"title":"Kombinacje","description":"Twórz kombinacje modeli z obsługą routingu ważonego i obsługi rezerwowej","createCombo":"Utwórz kombinację","editCombo":"Edytuj kombinację","deleteCombo":"Usuń kombinację","noModels":"Żadnych modeli","noModelsYet":"Nie dodano jeszcze żadnych modeli","addModel":"Dodaj model","addModelToCombo":"Dodaj model do kombinacji","routingStrategy":"Strategia routingu","maxRetries":"Maksymalna liczba ponownych prób","timeout":"Limit czasu (ms)","healthcheck":"Kontrola stanu","priority":"Priorytet","fallback":"Powrót","roundRobin":"Okrągły Robin","random":"Losowe","leastLatency":"Najmniejsze opóźnienie","comboName":"Nazwa kombinacji","comboNamePlaceholder":"moja kombinacja","deleteConfirm":"Usunąć tę kombinację?","noCombosYet":"Nie ma jeszcze żadnych kombinacji","comboCreated":"Kombinacja utworzona pomyślnie","comboUpdated":"Kombinacja została pomyślnie zaktualizowana","comboDeleted":"Kombinacja usunięta","failedCreate":"Nie udało się utworzyć kombinacji","failedUpdate":"Nie udało się zaktualizować kombinacji","errorCreating":"Błąd podczas tworzenia kombinacji","errorUpdating":"Błąd aktualizacji kombinacji","errorDeleting":"Błąd podczas usuwania kombinacji","testFailed":"Żądanie testowe nie powiodło się","failedToggle":"Nie udało się przełączyć kombinacji","testResults":"Wyniki testu — {name}","resolvedBy":"Rozwiązane przez:","more":"+{count} więcej","reqs":"wymagania","success":"sukces","proxyConfigured":"Serwer proxy skonfigurowany","copyComboName":"Skopiuj nazwę kombinacji","enableCombo":"Włącz kombinację","disableCombo":"Wyłącz kombinację","testCombo":"Kombinacja testowa","duplicate":"Duplikat","proxyConfig":"Konfiguracja proxy","nameRequired":"Imię i nazwisko jest wymagane","nameInvalid":"Tylko litery, cyfry, -, _, / i . dozwolone","nameHint":"Litery, cyfry, -, _, / i . dozwolone","priorityDesc":"Sekwencyjne działanie awaryjne: najpierw wypróbowuje model 1, potem 2 itd.","weightedDesc":"Rozdziela ruch według procentu wagi z rezerwą","roundRobinDesc":"Dystrybucja kołowa: każde żądanie trafia do następnego modelu w rotacji","randomDesc":"Jednolity wybór losowy, a następnie powrót do pozostałych modeli","leastUsedDesc":"Wybiera model z najmniejszą liczbą żądań, równoważąc obciążenie w czasie","costOptimizedDesc":"Najpierw wybiera najtańszy model na podstawie ceny","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modele","autoBalance":"Automatyczne balansowanie","advancedSettings":"Ustawienia zaawansowane","retryDelay":"Opóźnienie ponownej próby (ms)","concurrencyPerModel":"Współbieżność/model","queueTimeout":"Limit czasu kolejki (ms)","advancedHint":"Pozostaw puste, aby użyć globalnych ustawień domyślnych. Zastępują one ustawienia poszczególnych dostawców.","moveUp":"Przesuń się w górę","moveDown":"Przesuń w dół","removeModel":"Usuń","saving":"Zapisywanie...","weighted":"Ważona","leastUsed":"Najrzadziej używany","costOpt":"Opcja kosztowa","strategyGuideTitle":"How to use this strategy","strategyGuideWhen":"When to use","strategyGuideAvoid":"Avoid when","strategyGuideExample":"Example","strategyGuide":{"priority":{"when":"You have one preferred model and only want fallback on failure.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Gotowy do zapisania?","readinessDescription":"Przed utworzeniem lub aktualizacją tej kombinacji przejrzyj listę kontrolną.","readinessCheckName":"Nazwa kombinacji jest prawidłowa","readinessCheckModels":"Wybrano co najmniej jeden model","readinessCheckWeights":"Suma ważona wynosi 100%","readinessCheckWeightsOptional":"Reguła wagi nie jest wymagana","readinessCheckPricing":"Dane cenowe są dostępne","readinessCheckPricingOptional":"Reguła cenowa nie jest wymagana","saveBlockedTitle":"Zapisywanie jest zablokowane do czasu naprawienia następujących elementów:","saveBlockName":"Zdefiniuj nazwę kombinacji.","saveBlockModels":"Dodaj co najmniej jeden model.","saveBlockWeighted":"Ustaw wagi na 100% (obecnie: {total}%).","saveBlockPricing":"Dodaj cenę dla co najmniej jednego modelu lub wybierz inną strategię.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Koszty","budget":"Budżet","totalCost":"Całkowity koszt","breakdown":"Podział kosztów","noData":"Brak danych o kosztach","byModel":"Według modelu","byProvider":"Przez Dostawcę"},"endpoint":{"title":"Punkt końcowy interfejsu API","available":"Dostępne punkty końcowe","cloudProxy":"Serwer proxy w chmurze","disableConfirm":"Czy na pewno chcesz wyłączyć serwer proxy w chmurze?","baseUrl":"Bazowy adres URL","apiKeyLabel":"Klucz API","registeredKeys":"Zarejestrowane klucze","chatCompletions":"Zakończenia czatu","responses":"Odpowiedzi","listModels":"Lista modeli","usingCloudProxy":"Korzystanie z serwera proxy w chmurze","usingLocalServer":"Korzystanie z serwera lokalnego","machineId":"Identyfikator maszyny: {id}...","disableCloud":"Wyłącz chmurę","enableCloud":"Włącz chmurę","modelsAcrossEndpoints":"{models} modele w {endpoints} punktach końcowych","chatDesc":"Czat strumieniowy i niestreamingowy ze wszystkimi dostawcami","embeddings":"Osadzenia","embeddingsDesc":"Osadzanie tekstu dla potoków wyszukiwania i RAG","imageGeneration":"Generowanie obrazu","imageDesc":"Generuj obrazy na podstawie podpowiedzi tekstowych","rerank":"Zmień rangę","rerankDesc":"Zmień rangę dokumentów według trafności dla zapytania","audioTranscription":"Transkrypcja dźwięku","audioTranscriptionDesc":"Transkrypcja plików audio na tekst (szeptem)","textToSpeech":"Tekst na mowę","textToSpeechDesc":"Konwertuj tekst na naturalnie brzmiącą mowę","moderations":"Moderacje","moderationsDesc":"Moderowanie treści i klasyfikacja bezpieczeństwa","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"Główne API","categoryMedia":"Media i Multi-Modal","categoryUtility":"Narzędzia i Zarządzanie","enableCloudTitle":"Włącz serwer proxy w chmurze","whatYouGet":"Co otrzymasz","cloudBenefitAccess":"Uzyskaj dostęp do swojego API z dowolnego miejsca na świecie","cloudBenefitShare":"Z łatwością udostępniaj punkt końcowy swojemu zespołowi","cloudBenefitPorts":"Nie ma potrzeby otwierania portów ani konfigurowania zapory ogniowej","cloudBenefitEdge":"Szybka globalna sieć brzegowa","cloudSessionNote":"Cloud będzie przechowywać Twoją sesję uwierzytelniania przez 1 dzień. Jeśli nie zostanie użyty, zostanie automatycznie usunięty.","cloudUnstableNote":"Chmura jest obecnie niestabilna z Claude Code OAuth w niektórych przypadkach.","cloudConnected":"Serwer proxy chmury podłączony!","connectingToCloud":"Łączę z chmurą...","verifyingConnection":"Weryfikacja połączenia...","connecting":"Łączenie...","verifying":"Weryfikuję...","connected":"Połączono!","disableCloudTitle":"Wyłącz serwer proxy w chmurze","disableWarning":"Wszystkie sesje autoryzacji zostaną usunięte z chmury.","syncingData":"Synchronizowanie najnowszych danych...","disablingCloud":"Wyłączam chmurę...","syncing":"Synchronizowanie...","disabling":"Wyłączam...","cloudConnectedVerified":"Cloud Proxy podłączony i zweryfikowany!","connectedVerificationPending":"Połączono — weryfikacja w toku","connectedVerificationPendingWithError":"Połączono — weryfikacja w toku: {error}","cloudDisabledSuccess":"Chmura została pomyślnie wyłączona","syncedSuccess":"Zsynchronizowano pomyślnie","failedDisable":"Nie udało się wyłączyć chmury","failedEnable":"Nie udało się włączyć chmury","cloudRequestTimeout":"Upłynął limit czasu żądania w chmurze","cloudRequestFailed":"Żądanie w chmurze nie powiodło się","cloudWorkerUnreachable":"Nie udało się połączyć z pracownikiem chmury. Upewnij się, że usługa w chmurze jest uruchomiona (npm run dev w /cloud).","connectionFailed":"Połączenie nie powiodło się","syncFailed":"Nie udało się zsynchronizować danych w chmurze","providerModelsTitle":"{provider} — Modele","noModelsForProvider":"Brak dostępnych modeli tego dostawcy.","chat":"Czat","embedding":"Osadzanie","image":"Obraz","custom":"niestandardowe","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Potwierdzić kombinację {action} „{combo}”?","switchComboFailed":"Nie udało się przełączyć stanu kombinacji.","switchComboSuccess":"Kombinacja „{combo}” została zaktualizowana.","confirmApplyProfile":"Zastosować profil odporności „{profile}”?","applyProfileFailed":"Nie udało się zastosować profilu odporności.","applyProfileSuccess":"Zastosowano profil „{profile}”.","confirmResetBreakers":"Zresetować wszystkie wyłączniki automatyczne?","resetBreakersFailed":"Nie udało się zresetować wyłączników automatycznych.","resetBreakersSuccess":"Reset wyłączników automatycznych.","processStatus":"Stan procesu","online":"W Internecie","offline":"Nieaktywny","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agent card","version":"Version","url":"URL","capabilities":"Capabilities","agentCardNotAvailable":"Agent card not available.","quickValidation":"Quick validation","quickValidationDescription":"Executes smoke calls through the live `/a2a` endpoint.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Stan systemu","description":"Monitorowanie w czasie rzeczywistym Twojej instancji OmniRoute","healthy":"Zdrowy","degraded":"Zdegradowany","down":"W dół","uptime":"Czas pracy","memory":"Pamięć","memoryRss":"Pamięć (RSS)","heap":"Kupa","cpu":"Procesor","database":"Baza danych","version":"Wersja","lastCheck":"Ostatnia kontrola","providerHealth":"Zdrowie dostawcy","systemMetrics":"Metryki systemu","tokenHealth":"Tokenowe zdrowie","refreshAll":"Odśwież wszystko","checkNow":"Sprawdź teraz","loadingHealth":"Ładowanie danych zdrowotnych...","failedToLoad":"Nie udało się załadować danych o stanie zdrowia: {error}","retry":"Spróbuj ponownie","allOperational":"Wszystkie systemy sprawne","issuesDetected":"Wykryto problemy systemowe","updatedAt":"Zaktualizowano {time}","latency":"Opóźnienie","latencyP50":"p50","latencyP95":"s. 95","latencyP99":"str. 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Łączna liczba żądań","noDataYet":"Brak danych","promptCache":"Natychmiastowa pamięć podręczna","entries":"Wpisy","hitRate":"Współczynnik trafień","hitsMisses":"Trafienia/chybienia","signatureCache":"Pamięć podręczna podpisów","signatureDefaults":"Domyślne","signatureTool":"Narzędzie","signatureFamily":"Rodzina","signatureSession":"Sesja","recovering":"Odzyskiwanie","noCBData":"Brak dostępnych danych dotyczących wyłącznika automatycznego. Najpierw złóż kilka próśb.","providerHealthStatusAria":"Stan zdrowia dostawcy","issuesLabel":"Wykryto problemy","operational":"Operacyjny","providers":"Dostawcy","healthyCount":"{count} zdrowy","nodeVersion":"Węzeł {version}","failures":"{count} błąd","failuresPlural":"{count} niepowodzenia","lastFailure":"Ostatni","rateLimitStatus":"Stan limitu stawki","activeLimiters":"{count} aktywny ogranicznik","activeLimitersPlural":"{count} aktywne limitery","queued":"W kolejce","queuedCount":"{count} w kolejce","running":"bieganie","runningCount":"{count} działa","ok":"OK","activeLockouts":"Aktywne blokady","resetConfirm":"Zresetować wszystkie wyłączniki automatyczne do stanu prawidłowego? Spowoduje to wyczyszczenie wszystkich liczników błędów i przywrócenie wszystkich dostawców do stanu operacyjnego.","resetAllTitle":"Zresetuj wszystkie wyłączniki automatyczne do stanu prawidłowego","resetting":"Resetuję...","resetAll":"Zresetuj wszystko","until":"Do {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Skonfigurowane w panelu kontrolnym","configuredProvidersHint":"Dostawcy z poświadczeniami zapisanymi w /dashboard/providers, niezależnie od stanu środowiska wykonawczego.","activeProvidersHint":"Skonfigurowani dostawcy aktualnie obsługują żądania routingu.","monitoredProvidersHint":"Dostawcy są obecnie śledzeni przez monitory stanu wyłączników."},"limits":{"title":"Limity i kwoty","rateLimit":"Limit stawki","remaining":"Pozostało","requestsPerMinute":"Żądania/min","tokensPerMinute":"Tokeny/min","dailyLimit":"Limit dzienny"},"logs":{"title":"Dzienniki","requestLogs":"Poproś o logi","proxyLogs":"Dzienniki proxy","auditLog":"Dziennik audytu","console":"Konsola","auditLogDesc":"Działania administracyjne i zdarzenia związane z bezpieczeństwem","loading":"Ładowanie...","refresh":"Odśwież","filterByAction":"Filtruj według działania...","filterByActor":"Filtruj według aktora...","filterEntriesAria":"Filtruj wpisy dziennika audytu","filterByActionTypeAria":"Filtruj według typu akcji","filterByActorAria":"Filtruj według aktora","refreshAuditLogAria":"Odśwież dziennik audytu","tableAria":"Wpisy dziennika audytu","failedFetchAuditLog":"Nie udało się pobrać dziennika kontroli","showing":"Wyświetlanie wpisów {count} (przesunięcie {offset})","search":"Szukaj","timestamp":"Znacznik czasu","action":"Akcja","actor":"Aktor","target":"Cel","details":"Szczegóły","ipAddress":"Adres IP","notAvailable":"—","noEntries":"Nie znaleziono wpisów w dzienniku kontroli","previous":"Poprzedni","next":"Następny"},"onboarding":{"welcome":"Witamy","security":"Bezpieczeństwo","test":"Testuj","ready":"Gotowy!","setPassword":"Ustaw hasło","addProvider":"Dodaj swojego pierwszego dostawcę","getStarted":"Rozpocznij","skip":"Pomiń","skipWizard":"Całkowicie pomiń kreatora","skipPassword":"Pomiń konfigurację hasła","skipAndContinue":"Pomiń i kontynuuj","passwordLabel":"Hasło","confirmPassword":"Potwierdź hasło","enterPassword":"Wprowadź hasło","confirmPasswordPlaceholder":"Potwierdź hasło","passwordsMismatch":"Hasła nie pasują","setupComplete":"Konfiguracja ukończona!","goToDashboard":"Przejdź do Panelu →","welcomeDesc":"OmniRoute to lokalny serwer proxy API AI. Kieruje żądania do wielu dostawców AI z równoważeniem obciążenia, przełączaniem awaryjnym i śledzeniem użycia.","multiProvider":"Wielu dostawców","usageTracking":"Śledzenie użycia","apiKeyMgmt":"Zarządzanie kluczami API","securityDesc":"Ustaw hasło, aby chronić swój pulpit nawigacyjny, lub na razie pomiń.","providerDesc":"Połącz swojego pierwszego dostawcę AI. Możesz dodać więcej później.","apiKeyRequired":"Klucz API (wymagany)","customUrlOptional":"Niestandardowy adres URL (opcjonalnie)","testDesc":"Sprawdźmy, czy połączenie Twojego dostawcy działa.","runTest":"Uruchom test połączenia","testingConnection":"Testowanie połączenia...","connectionSuccessful":"Połączenie pomyślne! Twój dostawca jest gotowy.","noProviderFound":"Nie znaleziono dostawcy. Możesz dodać je później z poziomu panelu kontrolnego.","testFailed":"Test nie powiódł się, ale możesz to skonfigurować później.","couldNotTest":"Nie można teraz przetestować. Możesz przetestować z poziomu pulpitu nawigacyjnego.","doneDesc":"Wszystko gotowe! Twoja instancja OmniRoute jest skonfigurowana i gotowa do zastępowania żądań AI.","yourEndpoint":"Twój punkt końcowy:","continue":"Kontynuuj","retry":"Spróbuj ponownie","failedSetPassword":"Nie udało się ustawić hasła. Spróbuj ponownie.","failedAddProvider":"Nie udało się dodać dostawcy. Spróbuj ponownie.","connectionError":"Błąd połączenia. Spróbuj ponownie.","provider":"Dostawca"},"providers":{"title":"Dostawcy","addProvider":"Dodaj dostawcę","editProvider":"Edytuj dostawcę","deleteProvider":"Usuń dostawcę","noProviders":"Nie skonfigurowano żadnych dostawców","modelAvailability":"Dostępność modelu","accounts":"Konta","newAccount":"Nowe konto","deleteConfirm":"Czy na pewno chcesz usunąć tego dostawcę?","testing":"Testowanie...","testConnection":"Połączenie testowe","testSuccess":"Połączenie pomyślne","testFailed":"Połączenie nie powiodło się","available":"Dostępne","cooldown":"Czas odnowienia","unavailable":"Niedostępne","unknown":"Nieznany","oauthLabel":"OAuth","compatibleLabel":"Kompatybilny","chat":"Czat","responses":"Odpowiedzi","messages":"Wiadomości","oauthProviders":"Dostawcy protokołu OAuth","freeProviders":"Bezpłatni dostawcy","apiKeyProviders":"Dostawcy kluczy API","compatibleProviders":"Dostawcy obsługujący klucz API","testAll":"Przetestuj wszystko","testAllOAuth":"Przetestuj wszystkie połączenia OAuth","testAllFree":"Przetestuj wszystkie bezpłatne połączenia","testAllApiKey":"Przetestuj wszystkie połączenia klucza API","testAllCompatible":"Przetestuj wszystkie kompatybilne połączenia","connected":"{count} Połączono","errorCount":"{count} Błąd ({code})","errorCountNoCode":"{count} Błąd","noConnections":"Brak połączeń","disabled":"Niepełnosprawny","enableProvider":"Włącz dostawcę","disableProvider":"Wyłącz dostawcę","testResults":"Wyniki testu","noCompatibleYet":"Nie dodano jeszcze żadnych kompatybilnych dostawców","compatibleHint":"Użyj powyższych przycisków, aby dodać punkty końcowe kompatybilne z OpenAI lub Anthropic","addOpenAICompatible":"Dodaj kompatybilność z OpenAI","addAnthropicCompatible":"Dodaj kompatybilność antropiczną","addNewProvider":"Dodaj nowego dostawcę","backToProviders":"Powrót do dostawców","configureNewProvider":"Skonfiguruj nowego dostawcę AI do użycia z aplikacjami.","providerLabel":"Dostawca","selectProvider":"Wybierz dostawcę","selectedProvider":"Wybrany dostawca","authMethod":"Metoda uwierzytelniania","apiKeyLabel":"Klucz API","apiKeyRequired":"Wymagany jest klucz API","selectProviderRequired":"Wybierz dostawcę","enterApiKey":"Wprowadź swój klucz API","apiKeySecure":"Twój klucz API zostanie zaszyfrowany i bezpiecznie przechowywany.","oauth2Connect":"Połącz się z OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Połącz swoje konto za pomocą uwierzytelniania OAuth2.","displayName":"Nazwa wyświetlana","displayNamePlaceholder":"np. produkcyjne API, środowisko deweloperskie","displayNameHint":"Opcjonalne. Przyjazna nazwa identyfikująca tę konfigurację.","active":"Aktywny","activeDescription":"Włącz tego dostawcę do użytku w swoich aplikacjach","cancel":"Anuluj","createProvider":"Utwórz dostawcę","failedCreate":"Nie udało się utworzyć dostawcy","errorOccurred":"Wystąpił błąd. Spróbuj ponownie.","modelStatus":"Stan modelu","allModelsOperational":"Wszystkie modele sprawne","modelsWithIssues":"{count} modele z problemami","allModelsNormal":"Wszystkie modele reagują normalnie.","cooldownCleared":"Czas odnowienia usunięty dla {model}","failedClearCooldown":"Nie udało się wyczyścić czasu odnowienia","loadingAvailability":"Ładowanie dostępności modelu...","clearCooldown":"Jasne","clearing":"Czyszczenie...","until":"Do {time}","providerTestFailed":"Test dostawcy nie powiódł się","modeTest":"{mode} Test","passedCount":"{count} zaliczone","failedCount":"{count} nie powiodło się","testedCount":"{count} przetestowane","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"BŁĄD","noActiveConnectionsInGroup":"Nie znaleziono aktywnych połączeń dla tej grupy.","allTestsPassed":"Wszystkie {total} testy zaliczone","testSummary":"{passed}/{total} zaliczone, {failed} nie powiodło się","nameLabel":"Imię","prefixLabel":"Przedrostek","baseUrlLabel":"Bazowy adres URL","apiTypeLabel":"Typ interfejsu API","prefixHint":"Wymagane. Unikalny przedrostek nazw modeli.","nameHint":"Wymagane. Przyjazna etykieta dla tego węzła.","baseUrlHint":"Wymagane. Podstawowy adres URL interfejsu API dostawcy.","anthropicPrefixPlaceholder":"AC-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Sprawdź połączenie","validating":"Sprawdzanie poprawności...","connectionValid":"Połączenie jest ważne!","connectionFailed":"Połączenie nie powiodło się. Sprawdź adres URL i klucz.","testKeyLabel":"Testuj klucz API","testKeyPlaceholder":"sk-... (tylko do sprawdzenia)","providerNotFound":"Nie znaleziono dostawcy","deleteConnectionConfirm":"Usunąć to połączenie?","failedSetAlias":"Nie udało się ustawić aliasu","failedSaveConnection":"Nie udało się zapisać połączenia","failedSaveConnectionRetry":"Nie udało się zapisać połączenia. Spróbuj ponownie.","failedRetestConnection":"Nie udało się ponownie przetestować połączenia","deleteCompatibleNodeConfirm":"Usunąć ten {type} Zgodny węzeł?","anthropicCompatibleDetails":"Szczegóły zgodności antropicznej","openaiCompatibleDetails":"Szczegóły zgodności z OpenAI","messagesApi":"Interfejs API wiadomości","responsesApi":"API odpowiedzi","chatCompletions":"Zakończenia czatu","importingModels":"Importowanie...","importFromModels":"Importuj z /modele","clearAllModels":"Wyczyść wszystkie modele","clearAllModelsConfirm":"Czy na pewno chcesz usunąć wszystkie modele dla tego dostawcy?","clearAllModelsSuccess":"Wszystkie modele wyczyszczone","clearAllModelsFailed":"Nie udało się wyczyścić modeli","addConnectionToImport":"Dodaj połączenie, aby umożliwić importowanie.","noModelsConfigured":"Nie skonfigurowano żadnych modeli","connectionCount":"{count} połączenia","fetchingModels":"Pobieram dostępne modele...","failedFetchModels":"Nie udało się pobrać modeli","noModelsFound":"Nie znaleziono żadnych modeli","importFailed":"Import nie powiódł się","noNewModelsAdded":"Nie dodano żadnych nowych modeli.","adding":"Dodawanie...","importingModelsTitle":"Importowanie modeli","copyModel":"Skopiuj model","removeModel":"Usuń model","rateLimitProtected":"Chronione","rateLimitUnprotected":"Niechroniony","enableRateLimitProtection":"Kliknij, aby włączyć ochronę limitu szybkości","disableRateLimitProtection":"Kliknij, aby wyłączyć ochronę limitu szybkości","productionKey":"Klucz produkcyjny","enterNewApiKey":"Wprowadź nowy klucz API","optional":"Opcjonalne","anthropicCompatibleName":"Kompatybilny z antropią","openaiCompatibleName":"Kompatybilny z OpenAI","failedImportModels":"Nie udało się zaimportować modeli","noModelsReturnedFromEndpoint":"Z punktu końcowego /models nie zwrócono żadnych modeli.","importingModelsProgress":"Importowanie {current} z {total} modeli...","foundModelsStartingImport":"Znaleziono {count} modeli. Rozpoczynam importowanie...","importingModelById":"Importowanie {modelId}...","importSuccessCount":"Pomyślnie zaimportowano {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Nie dodano żadnych nowych modeli (wszystkie już istnieją).","importDoneCount":"✓ Gotowe! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Wystąpił nieoczekiwany błąd","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"wiadomości","responsesPath":"odpowiedzi","chatCompletionsPath":"czat/uzupełnienia","add":"Dodaj","edit":"Edytuj","delete":"Usuń","anthropic":"Antropiczny","openai":"OpenAI","singleConnectionPerCompatible":"Dozwolone jest tylko jedno połączenie na kompatybilny węzeł. Dodaj kolejny węzeł, jeśli potrzebujesz więcej połączeń.","connections":"Połączenia","providerProxyTitleConfigured":"Serwer proxy dostawcy: {host}","configured":"skonfigurowany","providerProxyConfigureHint":"Skonfiguruj serwer proxy dla wszystkich połączeń tego dostawcy","providerProxy":"Pełnomocnik dostawcy","noConnectionsYet":"Nie ma jeszcze żadnych połączeń","addFirstConnectionHint":"Aby rozpocząć, dodaj swoje pierwsze połączenie","addConnection":"Dodaj połączenie","availableModels":"Dostępne modele","pageAutoRefresh":"Strona odświeży się automatycznie...","statusDisabled":"wyłączone","statusConnected":"podłączony","statusRuntimeIssue":"problem z czasem wykonania","statusAuthFailed":"autoryzacja nie powiodła się","statusRateLimited":"stawka ograniczona","statusNetworkIssue":"problem z siecią","statusTestUnsupported":"test nieobsługiwany","statusUnavailable":"niedostępne","statusFailed":"nie powiodło się","statusError":"błąd","oauthAccount":"Konto OAuth","errorTypeRuntime":"Lokalny czas wykonania","errorTypeUpstreamAuth":"Autoryzacja nadrzędna","errorTypeMissingCredential":"Brakujące poświadczenie","errorTypeRefreshFailed":"Odświeżanie nie powiodło się","errorTypeTokenExpired":"Token wygasł","errorTypeRateLimited":"Cena ograniczona","errorTypeUpstreamUnavailable":"Upstream niedostępny","errorTypeNetworkError":"Błąd sieci","errorTypeTestUnsupported":"Test nieobsługiwany","errorTypeUpstreamError":"Błąd w górę","proxySourceGlobal":"Globalny","proxySourceProvider":"Dostawca","proxySourceKey":"Klucz","proxyConfiguredBySource":"Pełnomocnik ({source}): {host}","autoPriority":"Automatycznie: {priority}","proxy":"Pełnomocnik","retestAuthentication":"Przetestuj ponownie uwierzytelnianie","retest":"Przetestuj ponownie","disableConnection":"Wyłącz połączenie","enableConnection":"Włącz połączenie","reauthenticateConnection":"Ponownie uwierzytelnij to połączenie","proxyConfig":"Konfiguracja proxy","aliasExistsAlert":"Alias „{alias}” już istnieje. Użyj innego modelu lub edytuj istniejący alias.","openRouterAnyModelHint":"OpenRouter obsługuje każdy model. Dodawaj modele i twórz aliasy, aby uzyskać szybki dostęp.","modelIdFromOpenRouter":"Identyfikator modelu (z OpenRouter)","openRouterModelPlaceholder":"antropiczny/claude-3-opus","customModels":"Modele niestandardowe","customModelsHint":"Dodaj identyfikatory modeli, których nie ma na liście domyślnej. Będą one dostępne do routingu.","modelId":"Identyfikator modelu","customModelPlaceholder":"np. gpt-4.5-turbo","loading":"Ładowanie...","removeCustomModel":"Usuń model niestandardowy","noCustomModels":"Nie dodano jeszcze żadnych modeli niestandardowych.","allSuggestedAliasesExist":"Wszystkie sugerowane aliasy już istnieją. Wybierz inny model lub usuń sprzeczne aliasy.","failedSaveCustomModel":"Nie udało się zapisać modelu niestandardowego","modelAddedSuccess":"Model {modelId} został pomyślnie dodany","failedAddModelTryAgain":"Nie udało się dodać modelu. Spróbuj ponownie.","failedSaveImportedModel":"Nie udało się zapisać zaimportowanego modelu w niestandardowej bazie danych","failedImportModelsTryAgain":"Nie udało się zaimportować modeli. Spróbuj ponownie.","failedRemoveModelFromDatabase":"Nie udało się usunąć modelu z bazy danych","modelRemovedSuccess":"Model został pomyślnie usunięty","failedDeleteModelTryAgain":"Nie udało się usunąć modelu. Spróbuj ponownie.","compatibleModelsDescription":"Dodaj ręcznie modele kompatybilne z {type} lub zaimportuj je z punktu końcowego /models.","anthropicCompatibleModelPlaceholder":"klauzula-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Weryfikacja klucza API nie powiodła się. Sprawdź swój klucz i spróbuj ponownie.","addProviderApiKeyTitle":"Dodaj klucz API {provider}","checking":"Sprawdzam...","check":"Sprawdź","valid":"Ważne","invalid":"Nieprawidłowe","creating":"Tworzenie...","validationChecksAnthropicCompatible":"Walidacja sprawdza {provider} poprzez weryfikację klucza API.","validationChecksOpenAiCompatible":"Walidacja sprawdza {provider} poprzez /models na podstawowym adresie URL.","priorityLabel":"Priorytet","saving":"Zapisywanie...","save":"Zapisz","editConnection":"Edytuj połączenie","accountName":"Nazwa konta","email":"E-mail","healthCheckMinutes":"Kontrola stanu (min)","healthCheckHint":"Proaktywny interwał odświeżania tokenu. 0 = wyłączone.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Nie udało się przetestować połączenia","failed":"Nie udało się","leaveBlankKeepCurrentApiKey":"Pozostaw puste, aby zachować bieżący klucz API.","editCompatibleTitle":"Edytuj {type} Kompatybilny","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"Klucz API (do sprawdzenia)","compatibleProdPlaceholder":"{type} Kompatybilny (Prod)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Automatyczna synchronizacja","autoSyncTooltip":"Automatycznie odświeża listę modeli co 24 godziny (konfigurowalne przez MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Automatyczna synchronizacja włączona — modele będą okresowo odświeżane","autoSyncDisabled":"Automatyczna synchronizacja wyłączona","autoSyncToggleFailed":"Nie udało się przełączyć automatycznej synchronizacji","allModelsAlreadyImported":"Wszystkie modele są już zaimportowane","noNewModelsToImport":"Brak nowych modeli do zaimportowania — wszystkie modele są już w rejestrze lub na liście modeli niestandardowych","skippingExistingModels":"Pomijanie {count} istniejących modeli"},"settings":{"title":"Ustawienia","general":"Generał","security":"Bezpieczeństwo","appearance":"Wygląd","routing":"Trasowanie","cache":"Pamięć podręczna","resilience":"Odporność","systemPrompt":"Monit systemowy","thinkingBudget":"Myślący budżet","proxy":"Pełnomocnik","pricing":"Ceny","storage":"Przechowywanie","policies":"Zasady","ipFilter":"Filtr IP","comboDefaults":"Domyślne ustawienia kombinacji","fallbackChains":"Łańcuchy rezerwowe","changePassword":"Zmień hasło","enablePassword":"Włącz hasło","darkMode":"Tryb ciemny","lightMode":"Tryb światła","systemTheme":"Temat systemu","enableCache":"Włącz pamięć podręczną","cacheTTL":"Pamięć podręczna TTL","maxCacheSize":"Maksymalny rozmiar pamięci podręcznej","clearCache":"Wyczyść pamięć podręczną","cacheHits":"Trafienia w pamięci podręcznej","cacheMisses":"Brak pamięci podręcznej","hitRate":"Współczynnik trafień","cacheEntries":"Wpisy w pamięci podręcznej","circuitBreaker":"Wyłącznik automatyczny","retryPolicy":"Zasady ponawiania prób","maxRetries":"Maksymalna liczba ponownych prób","retryDelay":"Opóźnienie ponownej próby","timeoutMs":"Limit czasu (ms)","enableSystemPrompt":"Włącz monit systemowy","systemPromptText":"Tekst monitu systemowego","enableThinking":"Włącz myślenie","maxThinkingTokens":"Żetony Max Thinking","enableProxy":"Włącz serwer proxy","proxyUrl":"Adres URL serwera proxy","pricingRates":"Format stawek cenowych","currentPricing":"Aktualny przegląd cen","loadingPricing":"Ładowanie danych cenowych...","noPricing":"Brak danych o cenach","input":"Wejście","output":"Wyjście","cached":"Buforowane","reasoning":"Rozumowanie","cacheCreation":"Tworzenie pamięci podręcznej","customPricing":"Ceny niestandardowe","databaseSize":"Rozmiar bazy danych","backupDb":"Kopia zapasowa bazy danych","restoreDb":"Przywróć bazę danych","exportData":"Eksportuj dane","importData":"Importuj dane","clearData":"Wyczyść wszystkie dane","clearDataConfirm":"Spowoduje to trwałe usunięcie wszystkich danych. Czy jesteś pewien?","enableRequestLogs":"Włącz dzienniki żądań","logRetention":"Przechowywanie dziennika","ipWhitelist":"Biała lista adresów IP","ipBlacklist":"Czarna lista adresów IP","addIP":"Dodaj adres IP","savedSuccessfully":"Ustawienia zostały zapisane pomyślnie","ai":"sztuczna inteligencja","advanced":"Zaawansowane","localMode":"Tryb lokalny — wszystkie dane przechowywane na Twoim komputerze","settingsSectionsAria":"Sekcje ustawień","switchThemes":"Przełączaj między jasnymi i ciemnymi motywami","themeSelectionAria":"Wybór tematu","themeLight":"Światło","themeDark":"Ciemny","themeSystem":"Systemu","hideHealthLogs":"Ukryj dzienniki kontroli stanu","hideHealthLogsDesc":"Gdy opcja jest włączona, pomiń komunikaty [HealthCheck] w konsoli serwera","themeAccent":"Kolor motywu","themeAccentDesc":"Wybierz gotowy kolor lub utwórz własny motyw z jednego koloru","themeCreate":"Utwórz motyw","themeCustom":"Motyw niestandardowy","themeBlue":"Niebieski","themeRed":"Czerwony","themeGreen":"Zielony","themeViolet":"Fioletowy","themeOrange":"Pomarańczowy","themeCyan":"Cyjan","promptCache":"Natychmiastowa pamięć podręczna","flushCache":"Opróżnij pamięć podręczną","flushing":"Płukanie…","size":"Rozmiar","hits":"Hity","evictions":"Eksmisje","loadingCacheStats":"Ładowanie statystyk pamięci podręcznej…","globalProxy":"Globalny pełnomocnik","globalProxyDesc":"Skonfiguruj globalny wychodzący serwer proxy dla wszystkich wywołań API. Poszczególni dostawcy, kombinacje i klucze mogą to zastąpić.","noGlobalProxy":"Nie skonfigurowano globalnego serwera proxy","globalLabel":"Globalny","configure":"Skonfiguruj","globalSystemPrompt":"Monit systemu globalnego","systemPromptDesc":"Wstrzykiwany do wszystkich żądań na poziomie serwera proxy","saved":"Zapisano","systemPromptPlaceholder":"Wprowadź monit systemowy, aby wprowadzić do wszystkich żądań...","systemPromptHint":"Ten monit jest dołączany do komunikatu systemowego każdego żądania. Używaj w przypadku instrukcji globalnych, wskazówek dotyczących bezpieczeństwa lub reguł formatowania odpowiedzi.","chars":"{count} znaków","thinkingBudgetTitle":"Myślący budżet","thinkingBudgetDesc":"Kontroluj użycie tokenu wnioskowania AI we wszystkich żądaniach","passthrough":"Przejście","passthroughDesc":"Żadnych zmian – klient kontroluje myślenie o budżecie","auto":"Automat","autoDesc":"Pozbądź się całej konfiguracji myślenia — pozwól dostawcy zdecydować","custom":"Niestandardowe","customDesc":"Ustaw stały budżet tokenów dla wszystkich żądań","adaptive":"Adaptacyjny","adaptiveDesc":"Skaluj budżet w oparciu o złożoność żądania","effortNone":"Brak (0 tokenów)","effortLow":"Niski (1 tys. tokenów)","effortMedium":"Średni (10 tys. tokenów)","effortHigh":"Wysoki (128 tys. tokenów)","tokenBudget":"Budżet tokenowy","tokens":"żetony","baseEffortLevel":"Podstawowy poziom wysiłku","adaptiveHint":"Tryb adaptacyjny skaluje się od tego poziomu podstawowego w oparciu o liczbę komunikatów, użycie narzędzia i długość podpowiedzi.","requireLogin":"Wymagaj logowania","requireLoginDesc":"Po włączeniu pulpit nawigacyjny wymaga hasła. Gdy WYŁ., dostęp bez logowania.","currentPassword":"Aktualne hasło","enterCurrentPassword":"Wprowadź aktualne hasło","newPassword":"Nowe hasło","enterNewPassword":"Wprowadź nowe hasło","confirmPassword":"Potwierdź nowe hasło","confirmPasswordPlaceholder":"Potwierdź nowe hasło","passwordsNoMatch":"Hasła nie pasują","passwordUpdated":"Hasło zostało pomyślnie zaktualizowane","failedUpdatePassword":"Nie udało się zaktualizować hasła","errorOccurred":"Wystąpił błąd","updatePassword":"Zaktualizuj hasło","setPassword":"Ustaw hasło","apiEndpointProtection":"Ochrona punktów końcowych API","requireAuthModels":"Wymagaj klucza API dla /models","requireAuthModelsDesc":"Po włączeniu punkt końcowy /v1/models zwraca 404 dla nieuwierzytelnionych żądań. Zapobiega odkrywaniu modelu przez nieautoryzowanych użytkowników.","blockedProviders":"Zablokowani dostawcy","blockedProvidersDesc":"Ukryj określonych dostawców w odpowiedzi /v1/models. Zablokowani dostawcy nie będą wyświetlani na listach modeli.","providersBlocked":"{count} dostawcy zablokowani w /models","blockProviderTitle":"Zablokuj {provider}","unblockProviderTitle":"Odblokuj {provider}","routingStrategy":"Strategia routingu","fillFirst":"Najpierw wypełnij","fillFirstDesc":"Korzystaj z kont w kolejności priorytetów","roundRobin":"Okrągły Robin","roundRobinDesc":"Przeglądaj wszystkie konta","p2c":"P2C","p2cDesc":"Wybierz 2 losowo i użyj zdrowszego","random":"Losowe","randomDesc":"Losowe konto na każde żądanie","leastUsed":"Najrzadziej używany","leastUsedDesc":"Wybierz ostatnio używane konto","costOpt":"Opcja kosztowa","costOptDesc":"Preferuj najtańsze dostępne konto","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Lepki limit","stickyLimitDesc":"Połączenia na konto przed zmianą","modelAliases":"Aliasy modeli","modelAliasesTitle":"Aliasy modeli","modelAliasesDesc":"Wzorce wieloznaczne do zmiany nazw modeli • Użyj * i ?","addCustomAlias":"Dodaj niestandardowy alias","deprecatedModelId":"Przestarzały ID modelu","newModelId":"Nowy ID modelu","customAliases":"Niestandardowe aliasy","builtInAliases":"Wbudowane aliasy","backgroundDegradationTitle":"Degradacja zadań w tle","backgroundDegradationDesc":"Automatycznie wykrywa zadania w tle (tytuły, streszczenia) i kieruje do tańszych modeli","enableDegradation":"Włącz degradację zadań w tle","enableDegradationHint":"Gdy włączone, zadania w tle, takie jak generowanie tytułów i podsumowań, są automatycznie kierowane do tańszych modeli","tasksDetected":"Wykryte zadania","degradationMap":"Mapa degradacji modeli","premiumModel":"Model premium","cheapModel":"Tani model","detectionPatterns":"Wzorce wykrywania","newPattern":"np. \\"wygeneruj tytuł\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Wzór","targetModel":"Model docelowy","add":"+ Dodaj","session":"Sesja","sessionDetailsAria":"Szczegóły sesji","status":"Stan","authenticated":"Uwierzytelnione","guest":"Gość","loginTime":"Czas logowania","sessionAge":"Wiek sesji","browser":"Przeglądarka","clearLocalData":"Wyczyść dane lokalne","logout":"Wyloguj się","clearLocalDataConfirm":"Wyczyścić wszystkie dane lokalne? Spowoduje to zresetowanie Twoich preferencji.","unknown":"Nieznany","systemActor":"systemu","ipAccessControl":"Kontrola dostępu IP","ipAccessControlDesc":"Blokuj lub zezwalaj na określone adresy IP","ipModeDisabled":"Niepełnosprawny","ipModeBlacklist":"Czarna lista","ipModeWhitelist":"Biała lista","ipModeWhitelistPriority":"Priorytet WL","addIpAddress":"Dodaj adres IP","ipAddressPlaceholder":"192.168.1.0/24 lub 10.0.*.*","block":"+ Blok","allow":"+ Zezwól","blocked":"Zablokowano ({count})","allowed":"Dozwolone ({count})","temporaryBans":"Tymczasowe bany ({count})","minLeft":"Pozostało {min}m","auditLog":"Dziennik audytu","searchAuditLogs":"Przeszukaj dzienniki kontrolne...","failedLoadAuditLog":"Nie udało się załadować dziennika kontroli","noAuditEvents":"Nie znaleziono żadnych zdarzeń kontrolnych","action":"Akcja","actor":"Aktor","details":"Szczegóły","time":"Czas","fallbackChainsTitle":"Łańcuchy rezerwowe","fallbackChainsDesc":"Zdefiniuj kolejność zastępczą dostawcy dla każdego modelu","addChain":"+ Dodaj łańcuch","modelName":"Nazwa modelu","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Dostawcy (oddzieleni przecinkami, w kolejności priorytetów)","providersCommaSeparatedPlaceholder":"antropiczny, openai, bliźnięta","createChain":"Utwórz łańcuch","noFallbackChains":"Żadnych łańcuchów awaryjnych","noFallbackChainsDesc":"Utwórz łańcuch, aby zdefiniować kolejność zastępczą dostawcy dla modelu.","loadingFallbackChains":"Ładuję łańcuchy zastępcze...","deleteChainConfirm":"Usunąć łańcuch zastępczy dla „{model}”?","chainCreated":"Łańcuch stworzony dla {model}","chainDeleted":"Łańcuch usunięty dla {model}","failedCreateChain":"Nie udało się utworzyć łańcucha","failedDeleteChain":"Nie udało się usunąć łańcucha","deleteChain":"Usuń łańcuch","fillModelAndProviders":"Podaj nazwę modelu i dostawców","addAtLeastOneProvider":"Dodaj co najmniej jednego dostawcę","comboDefaultsTitle":"Domyślne ustawienia kombinacji","globalComboConfig":"Globalna konfiguracja combo","defaultStrategy":"Domyślna strategia","defaultStrategyDesc":"Stosowane do nowych kombinacji bez wyraźnej strategii","comboStrategyAria":"Strategia kombinacji","priority":"Priorytet","weighted":"Ważona","maxRetriesLabel":"Maksymalna liczba ponownych prób","retryDelayLabel":"Opóźnienie ponownej próby (ms)","timeoutLabel":"Limit czasu (ms)","healthCheck":"Kontrola stanu zdrowia","healthCheckDesc":"Wstępnie sprawdź dostępność dostawcy","trackMetrics":"Śledź metryki","trackMetricsDesc":"Rejestruj metryki żądań kombinacji","providerOverrides":"Zastąpienia dostawcy","providerOverridesDesc":"Zastąp limit czasu i liczbę ponownych prób na dostawcę. Ustawienia dostawcy zastępują globalne ustawienia domyślne.","providerMaxRetriesAria":"{provider} maksymalna liczba ponownych prób","providerTimeoutAria":"{provider} przekroczenie limitu czasu ms","removeProviderOverrideAria":"Usuń zastąpienie {provider}","newProviderNamePlaceholder":"np. google, otwórz...","newProviderNameAria":"Nowa nazwa dostawcy","retries":"ponawia próby","ms":"pani","saveComboDefaults":"Zapisz domyślne ustawienia kombinacji","maxNestingDepth":"Maksymalna głębokość zagnieżdżenia","concurrencyPerModel":"Współbieżność/model","queueTimeout":"Limit czasu kolejki (ms)","providerProfiles":"Profile dostawców","providerProfilesDesc":"Oddzielne ustawienia odporności dla dostawców OAuth (opartych na sesji) i kluczy API (mierzonych). Dostawcy protokołu OAuth mają bardziej rygorystyczne progi ze względu na niższe limity stawek.","oauthProviders":"Dostawcy protokołu OAuth","apiKeyProviders":"Dostawcy kluczy API","transientCooldown":"Przejściowe odnowienie","rateLimitCooldown":"Czas odnowienia limitu szybkości","maxBackoffLevel":"Maksymalny poziom wycofania","cbThreshold":"Próg CB","cbResetTime":"Czas resetowania CB","rateLimiting":"Ograniczanie szybkości","rateLimitingDesc":"Dostawcy kluczy API mają automatycznie ograniczone stawki z bezpiecznymi ustawieniami domyślnymi. Limity są pobierane z nagłówków odpowiedzi i dostosowują się z czasem.","defaultSafetyNet":"Domyślna siatka bezpieczeństwa","rpm":"obr./min","minGap":"Minimalna przerwa","maxConcurrent":"Maksymalna liczba współbieżnych","activeLimiters":"Aktywne ograniczniki","noActiveLimiters":"Nie ma jeszcze aktywnych ograniczników szybkości.","reservoir":"Zbiornik","running":"Bieganie","queued":"W kolejce","circuitBreakers":"Wyłączniki automatyczne","breakerStateClosed":"Zamknięte","breakerStateOpen":"Otwórz","breakerStateHalfOpen":"Półotwarte","tripped":"{count} potknął się","healthy":"{count} zdrowy","resetAll":"Zresetuj wszystko","noCircuitBreakers":"Żadne wyłączniki automatyczne nie są jeszcze aktywne. Są tworzone automatycznie, gdy żądania przepływają przez potok kombi.","failures":"{count} awarie","policiesLocked":"Zasady i zablokowane identyfikatory","allOperational":"Wszystkie systemy działają — brak blokad i zadziałań wyłączników","loadingPolicies":"Ładowanie zasad...","lockedIdentifiers":"Zablokowane identyfikatory","unlockedIdentifier":"Odblokowano: {identifier}","sinceDate":"od {date}","forceUnlock":"Wymuś odblokowanie","unlocking":"Odblokowywanie...","failedUnlock":"Nie udało się odblokować","failedLoadWithStatus":"Nie udało się załadować: {status}","failedLoadResilience":"Nie udało się wczytać stanu odporności","saveFailed":"Zapisywanie nie powiodło się","resetFailed":"Resetowanie nie powiodło się","loadingResilience":"Ładowanie stanu odporności...","retry":"Spróbuj ponownie","systemStorage":"System i pamięć masowa","allDataLocal":"Wszystkie dane przechowywane lokalnie na Twoim komputerze","databasePath":"Ścieżka bazy danych","exportDatabase":"Eksportuj bazę danych","exportAll":"Eksportuj wszystko (.tar.gz)","importDatabase":"Importuj bazę danych","confirmDbImport":"Potwierdź import bazy danych","confirmDbImportDesc":"Spowoduje to zastąpienie wszystkich bieżących danych treścią z {file}. Kopia zapasowa zostanie utworzona automatycznie przed importem.","yesImport":"Tak, importuj","lastBackup":"Ostatnia kopia zapasowa","noBackupYet":"Nie ma jeszcze kopii zapasowej","backupNow":"Utwórz kopię zapasową teraz","backupRestore":"Kopia zapasowa i przywracanie","viewBackups":"Zobacz kopie zapasowe","hide":"Ukryj","backupRetentionDesc":"Migawki bazy danych są tworzone automatycznie przed przywróceniem i co 15 minut w przypadku zmiany danych. Przechowywanie: 24 godziny na dobę + 30 codziennych kopii zapasowych z inteligentną rotacją.","loadingBackups":"Ładowanie kopii zapasowych...","noBackupsYet":"Nie są jeszcze dostępne żadne kopie zapasowe. Kopie zapasowe zostaną utworzone automatycznie w przypadku zmiany danych.","backupsAvailable":"Dostępne są {count} kopie zapasowe","refresh":"Odśwież","confirm":"Potwierdzić?","yes":"Tak","no":"Nie","restore":"Przywróć","invalidFileType":"Nieprawidłowy typ pliku. Akceptowane są tylko pliki .sqlite.","exportFailed":"Eksport nie powiódł się","exportFailedWithError":"Eksport nie powiódł się: {error}","fullExportFailedWithError":"Pełny eksport nie powiódł się: {error}","backupCreated":"Utworzono kopię zapasową: {file}","restoreSuccess":"Przywrócony! {connections} połączenia, {nodes} węzły, {combos} kombinacje, {apiKeys} klucze API.","importSuccess":"Baza danych zaimportowana! {connections} połączenia, {nodes} węzły, {combos} kombinacje, {apiKeys} klucze API.","justNow":"właśnie teraz","minutesAgo":"{count}m temu","hoursAgo":"{count}h temu","daysAgo":"{count}d temu","backupReasonManual":"instrukcja","backupReasonPreRestore":"wstępne przywrócenie","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Żadnych zmian od ostatniej kopii zapasowej","backupFailed":"Tworzenie kopii zapasowej nie powiodło się","restoreFailed":"Przywracanie nie powiodło się","importFailed":"Import nie powiódł się","errorDuringRestore":"Podczas przywracania wystąpił błąd","errorDuringImport":"Wystąpił błąd podczas importu","modelPricing":"Ceny modeli","modelPricingDesc":"Konfiguruj stawki kosztów dla każdego modelu • Wszystkie stawki w tokenach $/1M","providers":"Dostawcy","registry":"Rejestr","priced":"Wyceniony","searchProvidersModels":"Wyszukaj dostawców lub modele...","showAll":"Pokaż wszystko","noProvidersMatch":"Żaden dostawca nie pasuje do Twojego wyszukiwania.","howPricingWorks":"Jak działa cena","cacheWrite":"Zapis w pamięci podręcznej","unsaved":"niezapisany","resetDefaults":"Zresetuj ustawienia domyślne","saveProvider":"Zapisz dostawcę","saving":"Zapisywanie...","model":"Modelka","models":"modele","moreProviders":"{count} więcej dostawców","withPricing":"ze skonfigurowaną ceną","policiesCircuitBreakers":"Zasady i wyłączniki automatyczne","activeIssuesDetected":"Wykryto aktywne problemy","off":"Wyłączone","resetPricingConfirm":"Zresetować wszystkie ceny {provider} do wartości domyślnych?","pricingDescInput":"Wejście: tokeny wysłane do modelu","pricingDescOutput":"Dane wyjściowe: wygenerowano tokeny","pricingDescCached":"Buforowane: ponownie wykorzystane dane wejściowe (~50% szybkości wprowadzania)","pricingDescReasoning":"Rozumowanie: żetony myślenia (wraca do Wyjścia)","pricingDescCacheWrite":"Zapis w pamięci podręcznej: tworzenie wpisów w pamięci podręcznej (powraca do opcji Wejście)","pricingDescFormula":"Koszt = (wejście × współczynnik_wejściowy) + (wyjście × współczynnik_wyjściowy) + (pamięć podręczna × szybkość_pamięci) na milion tokenów.","pricingSettingsTitle":"Ustawienia cenowe","totalModels":"Wszystkie modele","active":"Aktywny","costCalculation":"Kalkulacja kosztów","costCalculationDesc":"Koszty są obliczane na podstawie użycia tokena i stawek cenowych skonfigurowanych dla każdego modelu.","pricingFormat":"Formularz cenowy","pricingFormatDesc":"Wszystkie stawki podane są w tokenach $/1 milion (dolary na milion tokenów).","tokenTypes":"Typy tokenów","inputTokenDesc":"Standardowe tokeny zachęty","outputTokenDesc":"Żetony ukończenia/odpowiedzi","cachedTokenDesc":"Tokeny wejściowe w pamięci podręcznej (zwykle 50% szybkości wprowadzania)","reasoningTokenDesc":"Specjalne żetony rozumowania/myślenia (awaryjne tempo produkcji)","cacheCreationTokenDesc":"Tokeny używane do tworzenia wpisów w pamięci podręcznej (powrót do szybkości wprowadzania)","customPricingNote":"Możesz zastąpić domyślne ceny dla określonych modeli. Zastąpienia niestandardowe mają pierwszeństwo przed automatycznie wykrytymi cenami.","editPricing":"Edytuj ceny","viewFullDetails":"Zobacz pełne szczegóły","themeCoral":"Koral","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Zaawansowane wskazówki dotyczące tras","routingAdvancedGuideHint1":"Użyj opcji Fill First, aby uzyskać przewidywalny priorytet, Round Robin, aby zapewnić uczciwość, i P2C, aby zapewnić odporność na opóźnienia.","routingAdvancedGuideHint2":"Jeśli dostawcy różnią się jakością/kosztami, zacznij od opcji Koszt w przypadku pracy w tle i opcji Najmniej używane w celu zapewnienia zrównoważonego zużycia.","comboDefaultsGuideTitle":"Jak dostroić domyślne ustawienia kombinacji","comboDefaultsGuideHint1":"Utrzymuj niską liczbę ponownych prób w przepływach o małych opóźnieniach; zwiększaj limit czasu tylko dla zadań o długim generowaniu.","comboDefaultsGuideHint2":"Użyj zastąpienia dostawcy, gdy jeden z dostawców wymaga innego zachowania związanego z przekroczeniem limitu czasu/ponownej próby niż globalne ustawienia domyślne."},"translator":{"title":"Tłumacz","metaTitle":"Plac zabaw dla tłumaczy | OmniRoute","metaDescription":"Debuguj, testuj i wizualizuj tłumaczenia formatów API między dostawcami","playgroundTitle":"Plac zabaw dla tłumaczy","playground":"Plac zabaw","realtime":"Działalność tłumaczeniowa w czasie rzeczywistym","chatTester":"Tester czatu","testBench":"Stanowisko testowe","liveMonitor":"Monitor na żywo","modeDescriptionPlayground":"Wklej treść żądania API i zobacz, jak OmniRoute tłumaczy ją pomiędzy formatami dostawców (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Wysyłaj prawdziwe prośby o czat za pośrednictwem OmniRoute i sprawdzaj cały proces w obie strony: dane wejściowe, przetłumaczone żądanie, odpowiedź dostawcy i przetłumaczone dane wyjściowe.","modeDescriptionTestBench":"Uruchamiaj predefiniowane scenariusze i porównuj kompatybilność między dostawcami i modelami.","modeDescriptionLiveMonitor":"Oglądaj wydarzenia związane z tłumaczeniami w czasie rzeczywistym, gdy żądania przepływają przez OmniRoute.","modeDescriptionFallback":"Debuguj, testuj i wizualizuj, jak OmniRoute tłumaczy żądania API między dostawcami.","recentTranslations":"Najnowsze tłumaczenia","noTranslations":"Nie ma jeszcze żadnych tłumaczeń","source":"Źródło","target":"Cel","time":"Czas","model":"Modelka","status":"Stan","latency":"Opóźnienie","totalTranslations":"Całkowita liczba tłumaczeń","successful":"Pomyślne","errors":"Błędy","avgLatency":"Średnie opóźnienie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Na żywo — automatyczne odświeżanie","paused":"Wstrzymano","eventsAppearHint":"Zdarzenia związane z tłumaczeniem pojawiają się tutaj, gdy żądania przepływają przez OmniRoute. Aby wygenerować zdarzenia, użyj dowolnej z poniższych metod:","chatTesterTab":"Zakładka Tester czatu","testBenchTab":"Zakładka Stanowisko testowe","externalApiCalls":"Zewnętrzne wywołania API","ideCliIntegrations":"Integracje IDE/CLI","inMemoryNote":"Uwaga: Zdarzenia są przechowywane w pamięci i resetowane po ponownym uruchomieniu serwera.","ok":"OK","errorShort":"BŁĄD","formatConverter":"Konwerter formatów","formatConverterDescription":"Wklej lub wpisz treść żądania JSON. Tłumacz automatycznie wykryje format źródłowy i przekonwertuje go na format docelowy. Użyj tego, aby debugować sposób, w jaki OmniRoute tłumaczy żądania między formatami (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Wejście","output":"Wyjście","auto":"Automat","swapFormats":"Zamień formaty","translateAction":"Przetłumacz","clear":"Jasne","inputPlaceholder":"Wklej tutaj treść żądania lub wybierz szablon poniżej...","exampleTemplates":"Przykładowe szablony","exampleTemplatesHint":"— Kliknij, aby załadować","templateLoadHint":"Szablon ładuje żądanie w formacie {format}. Zmień format źródłowy, aby załadować w innym formacie.","compatibilityTester":"Tester kompatybilności","compatibilityReport":"Raport zgodności","testBenchDescription":"Uruchamiaj predefiniowane scenariusze (prosty czat, wywoływanie narzędzi itp.), aby zweryfikować tłumaczenie i zgodność dostawcy. Wybierz format źródłowy i dostawcę docelowego, a następnie uruchom wszystkie testy, aby sprawdzić procent zgodności. Użyj tego, aby dowiedzieć się, które funkcje działają u różnych dostawców.","targetProvider":"Dostawca docelowy","runAllTests":"Uruchom wszystkie testy","runTest":"Uruchom test","reRun":"Uruchom ponownie","running":"Bieganie...","passed":"minęło","failed":"nie powiodło się","passedIconLabel":"✅ Zdane","chunks":"kawałki","scenarioSimpleChat":"Prosty czat","scenarioToolCalling":"Wywołanie narzędzia","scenarioMultiTurn":"Wieloobrotowy","scenarioThinking":"Myślenie","scenarioSystemPrompt":"Monit systemowy","scenarioStreaming":"Transmisja strumieniowa","templateNames":{"simple-chat":"Prosty czat","tool-calling":"Wywołanie narzędzia","multi-turn":"Wieloobrotowy","thinking":"Myślenie","system-prompt":"Monit systemowy","streaming":"Transmisja strumieniowa"},"templateDescriptions":{"simple-chat":"Podstawowy SMS","tool-calling":"Wywołanie funkcji/narzędzia","multi-turn":"Rozmowa z historią","thinking":"Rozszerzone myślenie/rozumowanie","system-prompt":"Złożone instrukcje systemowe","streaming":"Żądanie przesyłania strumieniowego SSE"},"templatePayloads":{"simpleChat":{"system":"Jesteś pomocnym asystentem.","userGreeting":"Witam! Jak się dzisiaj masz?"},"toolCalling":{"userWeather":"Jaka jest pogoda w São Paulo?","toolDescription":"Uzyskaj aktualną pogodę dla danej lokalizacji","cityNameDescription":"Nazwa miasta"},"multiTurn":{"system":"Jesteś asystentem kodowania.","userInitial":"Napisz funkcję sortującą tablicę w Pythonie.","assistantExample":"Oto prosta funkcja sortowania:\\n\\n```pyton\\ndef sort_array(arr):\\n zwróć posortowane (arr)\\n```","userFollowUp":"Teraz posortuj w kolejności malejącej."},"thinking":{"question":"Jaka jest suma pierwszych 100 liczb pierwszych?"},"systemPrompt":{"systemInstruction":"Jesteś starszym inżynierem oprogramowania specjalizującym się w systemach rozproszonych. Odpowiadaj na pytania zwięźle, korzystając z najlepszych praktyk branżowych. W stosownych przypadkach zawsze podawaj przykłady kodu. Sformatuj swoje odpowiedzi, korzystając z przecen.","question":"Jak zaimplementować wzór wyłącznika?"},"streaming":{"prompt":"Opowiedz mi krótką historię o robocie uczącym się malować."}},"openaiCompatibleLabel":"Kompatybilny z OpenAI","anthropicCompatibleLabel":"Kompatybilny z antropią","noTemplateForFormat":"Brak szablonu dla tego formatu","translationFailed":"Tłumaczenie nie powiodło się: {error}","pipelineDebugger":"Debuger potoku","translationPipeline":"Potok tłumaczeń","pipelineVisualization":"Wizualizacja rurociągu","pipelineVisualizationHint":"Wyślij wiadomość, aby zobaczyć, jak Twoje żądanie przechodzi przez wykrywanie → tłumaczenie → połączenie z dostawcą.","chatTesterDescription":"Wysyłaj wiadomości w określonym formacie klienta i sprawdzaj każdy etap procesu tłumaczenia.","chatTesterFlow":"Żądanie klienta → Wykrywanie formatu → Średniozaawansowany OpenAI → Format dostawcy → Odpowiedź","clickStepToInspect":"Kliknij dowolny krok, aby sprawdzić dane na tym etapie.","clientFormat":"Format klienta","provider":"Dostawca","modelPlaceholder":"Wybierz lub wpisz nazwę modelu...","sendMessageToSeePipeline":"Wyślij wiadomość, aby zobaczyć proces tłumaczenia","chatMessageHintPrefix":"Twoja wiadomość zostanie sformatowana jako","chatMessageHintSuffix":"żądanie, przetłumaczone w potoku i wysłane do wybranego dostawcy.","youWithFormat":"Ty ({format})","assistant":"Asystent","typeMessage":"Wpisz wiadomość...","send":"Wyślij","clientRequest":"Żądanie klienta","clientRequestDescription":"Treść żądania, jaką wysłałby Twój klient","formatDetected":"Wykryto format","formatDetectedDescription":"OmniRoute automatycznie wykrywa format API na podstawie struktury żądania","openaiIntermediate":"Średniozaawansowany OpenAI","openaiIntermediateDescription":"Wszystkie formaty są najpierw normalizowane do formatu OpenAI (uniwersalny most)","providerFormat":"Format dostawcy","providerFormatDescription":"Format OpenAI jest tłumaczony na natywny format dostawcy","providerResponse":"Odpowiedź dostawcy","providerResponseRawDescription":"Surowa odpowiedź z interfejsu API dostawcy","providerResponseSseDescription":"Surowy strumień SSE z interfejsu API dostawcy","unexpectedError":"Wystąpił nieoczekiwany błąd","error":"Błąd","errorMessage":"Błąd: {message}","requestFailed":"Żądanie nie powiodło się","noTextExtracted":"(Nie wyodrębniono tekstu)","liveMonitorDescriptionPrefix":"Pokazuje zdarzenia związane z tłumaczeniem podczas przepływu wywołań API przez OmniRoute. Zdarzenia pochodzą z bufora w pamięci (resetują się przy ponownym uruchomieniu). Użyj","liveMonitorDescriptionSuffix":"lub zewnętrzne wywołania API w celu wygenerowania zdarzeń."},"usage":{"title":"Użycie","loggerTab":"Rejestrator","proxyTab":"Pełnomocnik","budgetManagement":"Zarządzanie budżetem","budgetSaved":"Limity budżetu zostały zapisane","budgetSaveFailed":"Nie udało się zapisać budżetu","loadingBudgetData":"Ładowanie danych budżetu...","noApiKeysTitle":"Brak kluczy API","noApiKeysDescription":"Najpierw dodaj klucze API, aby skonfigurować limity budżetu.","apiKey":"Klucz API","todaysSpend":"Dzisiejsze wydatki","thisMonth":"W tym miesiącu","setLimits":"Ustaw limity","dailyLimitUsd":"Limit dzienny (USD)","monthlyLimitUsd":"Limit miesięczny (USD)","warningThresholdPercent":"Próg ostrzegawczy (%)","dailyLimitPlaceholder":"np. 5.00","monthlyLimitPlaceholder":"np. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Zapisz limity","budgetOk":"Budżet OK — pozostało {remaining}","budgetExceeded":"Przekroczono budżet — żądania mogą zostać zablokowane","totalRequests":"Łączna liczba żądań","noDataYet":"Brak danych","latency":"Opóźnienie","latencyP50":"p50","latencyP95":"s. 95","latencyP99":"str. 99","promptCache":"Natychmiastowa pamięć podręczna","systemHealth":"Stan systemu","entries":"Wpisy","activeCount":"{count} aktywny","openCircuitBreakersDetected":"Wykryto otwarte wyłączniki automatyczne","hitRate":"Współczynnik trafień","hitsMisses":"Trafienia/chybienia","circuitBreakers":"Wyłączniki automatyczne","lockedIPs":"Zablokowane adresy IP","lockoutsAutoRefreshHint":"Blokady limitów prędkości dla poszczególnych modeli • Automatyczne odświeżanie 10 s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"Pozostało {time}","howItWorks":"Jak to działa","howItWorksSubtitle":"Dowiedz się, jak oceny weryfikują Twoje odpowiedzi LLM","define":"Zdefiniuj","defineStepDescription":"Twórz przypadki testowe z podpowiedziami wejściowymi i oczekiwanymi kryteriami wyjściowymi, korzystając ze strategii takich jak zawiera, wyrażenie regularne lub dopasowanie dokładne.","run":"Biegnij","runStepDescription":"Wykonuj przypadki testowe na punktach końcowych LLM za pośrednictwem OmniRoute. Każdy przypadek wysyłany jest jako prawdziwe żądanie API.","evaluate":"Oceń","evaluateStepDescription":"Odpowiedzi porównuje się z oczekiwanymi kryteriami. Zobacz wynik pozytywny/nieudany dla każdego przypadku ze wskaźnikami opóźnień i szczegółowymi informacjami zwrotnymi.","evalSuites":"Zestawy ewaluacyjne","evalSuitesHint":"Kliknij zestaw, aby wyświetlić przypadki testowe, a następnie uruchom, aby ocenić punkty końcowe LLM","evalsLoading":"Ładowanie pakietów eval...","noEvalSuitesFound":"Nie znaleziono apartamentów Eval","noEvalSuitesDescription":"Zestawy Eval można definiować za pomocą interfejsu API lub w kodzie. Testują wyniki modelu pod kątem oczekiwanych wyników, korzystając ze strategii takich jak zawiera, wyrażenie regularne, dopasowanie dokładne i funkcje niestandardowe.","columnCase":"Sprawa","columnStatus":"Stan","columnLatency":"Opóźnienie","columnDetails":"Szczegóły","columnModel":"Modelka","columnStrategy":"Strategia","columnExpected":"Oczekiwane","statsSuites":"Apartamenty","statsTestCases":"Przypadki testowe","statsModels":"Modele","statsCoverage":"Zasięg","statsStrategiesCount":"{count} strategie","evaluationStrategies":"Strategie ewaluacji","modelsUnderTest":"Modele w fazie testów","searchSuitesPlaceholder":"Wyszukaj apartamenty...","passSuffix":"przejść","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Uruchom Eval","runningProgress":"Uruchamiam {current}/{total}...","passRate":"wskaźnik zdawalności","summaryBreakdown":"{passed} zaliczony · {failed} nieudany · {total} łącznie","passedIconLabel":"✅ Zdane","failedIconLabel":"❌ Nie udało się","detailsContains":"Zawiera: „{term}”","detailsRegex":"Wyrażenie regularne: {pattern}","detailsExpected":"Oczekiwano: „{expected}”","noResultsYet":"Jeszcze żadnych wyników","testCasesCount":"Przypadki testowe ({count})","noTestCasesDefined":"Nie zdefiniowano przypadków testowych","runEvalHint":"Kliknij „Uruchom ocenę”, aby wykonać wszystkie przypadki w punkcie końcowym LLM. Każdy test wysyła prawdziwe żądanie poprzez OmniRoute.","notifyNoTestCases":"Dla tego pakietu nie zdefiniowano żadnych przypadków testowych","notifyAllCasesPassed":"Wszystkie {total} sprawy zaliczone ✅","notifySomeCasesFailed":"{passed}/{total} zaliczone, {failed} nie powiodło się","notifyEvalRunFailed":"Próba ewaluacyjna nie powiodła się","notifyEvalTitle":"Wartość: {name}","modelEvals":"Oceny modeli","evalsHeroDescription":"Przetestuj i zweryfikuj punkty końcowe LLM, uruchamiając predefiniowane zestawy ewaluacyjne. Każdy pakiet zawiera przypadki testowe, które wysyłają rzeczywiste podpowiedzi za pośrednictwem OmniRoute i porównują odpowiedzi z oczekiwanymi kryteriami — pomagając wykrywać regresje, porównywać modele i zapewniać jakość odpowiedzi u różnych dostawców.","qualityValidation":"Walidacja jakości","modelComparison":"Porównanie modeli","regressionDetection":"Wykrywanie regresji","latencyBenchmarks":"Testy porównawcze opóźnień","modelLockouts":"Blokady modeli","noLockouts":"Żaden model nie jest obecnie zablokowany","activeSessions":"Aktywne sesje","noSessions":"Brak aktywnych sesji","sessionsHint":"Sesje pojawiają się, gdy żądania przepływają przez serwer proxy","sessionsTrackedHint":"Śledzone poprzez odcisk palca na żądanie • Automatyczne odświeżanie 5 s","session":"Sesja","age":"Wiek","requests":"Żądania","connection":"Połączenie","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limity dostawcy","noProviders":"Brak podłączonych dostawców","connectProvidersForQuota":"Połącz się z dostawcami za pomocą protokołu OAuth, aby śledzić limity przydziału interfejsu API i wykorzystanie.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(odfiltrowano z {count})","autoRefresh":"Automatyczne odświeżanie","refreshAll":"Odśwież wszystko","loadingQuotas":"Ładowanie...","account":"Konto","modelQuotas":"Kwoty modelowe","lastUsed":"Ostatnio używany","actions":"Działania","refreshQuota":"Odśwież limit","today":"Dzisiaj","tomorrow":"Jutro","dayTimeFormat":"{day}, {time}","inDuration":"w {duration}","notApplicable":"Nie dotyczy","rawPlanWithValue":"Surowy plan: {plan}","noPlanFromProvider":"Brak planu od dostawcy","noQuotaData":"Brak danych dotyczących kwot","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Brak dostępnych danych dotyczących kwot","noAccountsForTierFilter":"Nie znaleziono kont dla filtra poziomów","tierAll":"Wszystko","tierEnterprise":"Przedsiębiorstwo","tierTeam":"Zespół","tierBusiness":"Biznes","tierUltra":"Ultra","tierPro":"Zawodowiec","tierPlus":"Dodatkowo","tierFree":"Bezpłatny","tierUnknown":"Nieznany"},"modals":{"waitingAuth":"Oczekiwanie na autoryzację","verificationUrl":"Adres URL weryfikacji","yourCode":"Twój kod","remoteAccess":"Zdalny dostęp:","connectedSuccess":"Połączono pomyślnie!","connectionFailed":"Połączenie nie powiodło się","chooseAuthMethod":"Wybierz metodę uwierzytelniania:","awsBuilderId":"Identyfikator konstruktora AWS","awsIamIdentity":"Centrum tożsamości AWS IAM","googleAccount":"Konto Google","githubAccount":"Konto GitHuba","importToken":"Importuj token","pasteToken":"Wklej token odświeżania z Kiro IDE.","awsRegion":"Regionu AWS","autoDetecting":"Automatyczne wykrywanie tokenów...","readingFromCache":"Odczyt z pamięci podręcznej AWS SSO","readingFromCursor":"Odczyt z bazy danych Cursor IDE","initializing":"Inicjowanie...","pricingConfig":"Konfiguracja cen","loadingPricing":"Ładowanie danych cenowych...","pricingRatesFormat":"Format stawek cenowych","noPricingData":"Brak danych o cenach","noModelsFound":"Nie znaleziono żadnych modeli"},"loggers":{"allProviders":"Wszyscy dostawcy","allModels":"Wszystkie modele","allAccounts":"Wszystkie konta","allApiKeys":"Wszystkie klucze API","allTypes":"Wszystkie typy","allLevels":"Wszystkie poziomy","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Ładowanie dzienników...","loadingProxyLogs":"Ładowanie dzienników proxy...","noLogEntries":"Nie znaleziono wpisów w dzienniku","noPayloadData":"Brak danych ładunku dla tego wpisu dziennika.","proxyEvent":"Wydarzenie proxy","proxy":"Pełnomocnik","level":"Poziom","directNative":"Bezpośrednie (natywne)","combo":"Kombinacja","inputTokens":"ja:","outputTokens":"O:"},"stats":{"usageOverview":"Przegląd użycia","outputTokens":"Tokeny wyjściowe","totalCost":"Całkowity koszt","usageByModel":"Użycie według modelu","usageByAccount":"Użycie według konta","failedToLoad":"Nie udało się załadować statystyk użytkowania.","tokenHealth":"Tokenowe zdrowie","totalOAuth":"Całkowite uwierzytelnienie OAuth","healthy":"Zdrowy","warning":"Ostrzeżenie","errored":"Błąd","lastCheck":"Ostatnia kontrola","noData":"Brak danych","share":"Udostępnij","unableToLoad":"Nie można załadować wskaźników systemowych","product":"Produkt","resources":"Zasoby","company":"Firma"},"auth":{"welcome":"Witamy","signIn":"Zaloguj się","enterPassword":"Wprowadź hasło, aby kontynuować","password":"Hasło","unifiedProxy":"Ujednolicony serwer proxy API AI","unifiedAiApiProxy":"Ujednolicony serwer proxy API AI","unifiedAiApiProxyDesc":"Kieruj żądania do wielu dostawców AI za pośrednictwem jednego punktu końcowego. Wbudowane równoważenie obciążenia, przełączanie awaryjne i śledzenie użycia.","passwordNotEnabled":"Ochrona hasłem nie jest włączona","loading":"Ładowanie...","invalidPassword":"Nieprawidłowe hasło","errorOccurredRetry":"Wystąpił błąd. Spróbuj ponownie.","configureInstance":"Skonfigurujmy Twoją instancję OmniRoute","runOnboardingWizard":"Uruchom kreatora wdrażania, aby ustawić hasło i połączyć się z pierwszym dostawcą AI.","startOnboarding":"Rozpocznij wdrażanie","secureYourInstance":"Zabezpiecz swoją instancję","setPasswordDescription":"Ustaw hasło, aby chronić swój pulpit nawigacyjny i zabezpieczyć punkty końcowe API przed nieautoryzowanym dostępem.","configurePassword":"Skonfiguruj hasło","continue":"Kontynuuj","windowWillClose":"To okno zamknie się automatycznie...","closeTabNow":"Możesz już zamknąć tę zakładkę.","copyUrlManual":"Skopiuj adres URL z paska adresu i wklej go w aplikacji.","accessDeniedDescription":"Nie masz uprawnień dostępu do tego zasobu. Sprawdź swój klucz API lub skontaktuj się z administratorem.","goToDashboard":"Przejdź do Panelu","featureMultiProviderTitle":"Wielu dostawców","featureMultiProviderDesc":"OpenAI, Anthropic, Google i nie tylko","featureLoadBalancingTitle":"Równoważenie obciążenia","featureLoadBalancingDesc":"Rozpowszechniaj żądania inteligentnie","featureUsageTrackingTitle":"Śledzenie użycia","featureUsageTrackingDesc":"Monitoruj koszty i tokeny","resetPassword":"Zresetuj hasło","resetDescription":"Wybierz metodę odzyskania dostępu do pulpitu nawigacyjnego","stopServer":"Zatrzymaj serwer OmniRoute","processing":"Przetwarzanie...","pleaseWait":"Poczekaj, aż zakończymy autoryzację.","authSuccess":"Autoryzacja pomyślna!","copyUrl":"Skopiuj ten adres URL","accessDenied":"Odmowa dostępu","methodCliTitle":"Metoda 1: Reset CLI","methodCliDescription":"Uruchom następującą komendę na serwerze, na którym działa OmniRoute:","methodCliHint":"Spowoduje to wyświetlenie monitu o ustawienie nowego hasła. Najpierw należy zatrzymać serwer.","methodManualTitle":"Metoda 2: Reset ręczny","methodManualDescription":"Usuń hasło z bazy danych i przy uruchomieniu ustaw nowe:","setPasswordInYour":"Ustaw nowe hasło w swoim","fileLabelSuffix":"plik:","newPasswordPlaceholder":"twoje_nowe_hasło","deleteSettingsFile":"Usuń","orRemovePasswordHashField":"lub usuń pole hasłoHash","restartServerWithNewPassword":"Zrestartuj serwer - będzie używał nowego hasła","backToLogin":"Powrót do logowania","forgotPassword":"Zapomniałeś hasła?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","waitingForAuthorization":"Waiting for authorization...","waitingForGoogleAuthorization":"Waiting for Google authorization...","waitingForOpenAIAuthorization":"Waiting for OpenAI authorization...","waitingForAntigravityAuthorization":"Waiting for Antigravity authorization...","waitingForIFlowAuthorization":"Waiting for iFlow authorization...","exchangingCodeForTokens":"Exchanging code for tokens...","Authorization":"Autoryzacja","Content-Disposition":"Dyspozycja treści"},"landing":{"brandName":"OmniRoute","navigateHome":"Przejdź do domu","toggleMenu":"Przełącz menu","featuresLink":"Funkcje","docsLink":"Dokumenty","github":"GitHub","versionLive":"wersja 1.0 jest już dostępna","oneEndpoint":"Jeden punkt końcowy dla","allProviders":"Wszyscy dostawcy sztucznej inteligencji","heroDescription":"Serwer proxy punktu końcowego AI z panelem WWW — port JavaScript CLIProxyAPI. Bezproblemowo współpracuje z Claude Code, OpenAI Codex, Cline, RooCode i innymi narzędziami CLI.","getStarted":"Rozpocznij","viewOnGithub":"Zobacz na GitHubie","powerfulFeatures":"Potężne funkcje","featuresSubtitle":"Wszystko, czego potrzebujesz do zarządzania infrastrukturą AI w jednym miejscu, stworzonym z myślą o skali.","featureUnifiedEndpointTitle":"Ujednolicony punkt końcowy","featureUnifiedEndpointDesc":"Uzyskaj dostęp do wszystkich dostawców za pośrednictwem jednego standardowego adresu URL interfejsu API.","featureEasySetupTitle":"Łatwa konfiguracja","featureEasySetupDesc":"Rozpocznij pracę w ciągu kilku minut za pomocą polecenia npx.","featureModelFallbackTitle":"Model zastępczy","featureModelFallbackDesc":"Automatycznie przełączaj dostawców w przypadku awarii lub dużych opóźnień.","featureUsageTrackingTitle":"Śledzenie użycia","featureUsageTrackingDesc":"Szczegółowa analiza i monitorowanie kosztów we wszystkich modelach.","featureOAuthApiKeysTitle":"Klucze OAuth i API","featureOAuthApiKeysDesc":"Bezpiecznie zarządzaj danymi uwierzytelniającymi w jednym skarbcu.","featureCloudSyncTitle":"Synchronizacja w chmurze","featureCloudSyncDesc":"Błyskawicznie synchronizuj konfiguracje na różnych urządzeniach.","featureCliSupportTitle":"Wsparcie CLI","featureCliSupportDesc":"Współpracuje z Claude Code, Codex, Cline, Cursor i nie tylko.","featureDashboardTitle":"Pulpit nawigacyjny","featureDashboardDesc":"Wizualny pulpit nawigacyjny do analizy ruchu w czasie rzeczywistym.","howItWorks":"Jak działa OmniRoute","howItWorksDescription":"Dane płynnie przepływają z Twojej aplikacji przez naszą inteligentną warstwę routingu do najlepszego dostawcy dla danego zadania.","howItWorksStep1Title":"1. CLI i SDK","howItWorksStep1Description":"Twoje żądania zaczynają się od ulubionych narzędzi lub naszego ujednoliconego pakietu SDK. Po prostu zmień podstawowy adres URL.","howItWorksStep2Title":"2. Koncentrator OmniRoute","howItWorksStep2Description":"Nasz silnik analizuje monity, sprawdza stan dostawcy i trasy pod kątem najniższych opóźnień lub kosztów.","howItWorksStep3Title":"3. Dostawcy sztucznej inteligencji","howItWorksStep3Description":"Żądanie jest natychmiast spełniane przez OpenAI, Anthropic, Gemini lub inne.","getStartedIn30Seconds":"Rozpocznij w 30 sekund","getStartedDescription":"Zainstaluj OmniRoute, skonfiguruj dostawców za pomocą panelu internetowego i rozpocznij przekierowywanie żądań AI.","installOmniRoute":"Zainstaluj OmniRoute","installStepDescription":"Uruchom polecenie npx, aby natychmiast uruchomić serwer","openDashboard":"Otwórz Panel","openDashboardStepDescription":"Skonfiguruj dostawców i klucze API za pośrednictwem interfejsu internetowego","routeRequests":"Żądania dotyczące trasy","routeRequestsStepDescription":"Skieruj swoje narzędzia CLI na {endpoint}","terminal":"terminala","copy":"Kopiuj","copied":"✓ Skopiowano","startingOmniRoute":"Uruchamiam OmniRoute...","serverRunningOnLabel":"Serwer działa","dashboardLabel":"Pulpit nawigacyjny","readyToRoute":"Gotowy do trasy! ✓","configureProvidersNote":"📝 Skonfiguruj dostawców w panelu kontrolnym lub użyj zmiennych środowiskowych","dataLocation":"Lokalizacja danych:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Okna:","product":"Produkt","dashboardLink":"Pulpit nawigacyjny","changelog":"Dziennik zmian","resources":"Zasoby","documentation":"Dokumentacja","npm":"NPM","legal":"Legalne","mitLicense":"Licencja MIT","footerTagline":"Ujednolicony punkt końcowy do generowania sztucznej inteligencji. Z łatwością łącz się, kieruj i zarządzaj dostawcami sztucznej inteligencji.","copyright":"© {year} OmniRoute. Wszelkie prawa zastrzeżone.","flowToolClaudeCode":"Claude\'a Koda","flowToolOpenAICodex":"Kodeks OpenAI","flowToolCline":"Cline","flowToolCursor":"Kursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropiczny","flowProviderGemini":"Bliźnięta","flowProviderGithubCopilot":"Drugi pilot GitHuba","interactiveDiagram":"Interaktywny diagram widoczny na pulpicie","ctaTitle":"Chcesz uprościć swoją infrastrukturę AI?","ctaDescription":"Dołącz do programistów, którzy usprawniają integrację sztucznej inteligencji za pomocą OmniRoute. Oprogramowanie typu open source i na początek bezpłatne.","startFree":"Zacznij za darmo","readDocumentation":"Przeczytaj dokumentację"},"docs":{"title":"Dokumentacja","quickStart":"Szybki start","features":"Funkcje","supportedProviders":"Obsługiwani dostawcy","supportedProvidersToc":"Dostawcy","commonUseCases":"Typowe przypadki użycia","clientCompatibility":"Zgodność klienta","protocolsToc":"Protocols","apiReference":"Dokumentacja API","method":"Metoda","path":"Ścieżka","notes":"Notatki","modelPrefixes":"Przedrostki modeli","prefix":"Przedrostek","troubleshooting":"Rozwiązywanie problemów","supportsChat":"Obsługuje punkty końcowe czatu i odpowiedzi.","oauthAutoRefresh":"Połączenie OAuth z automatycznym odświeżaniem tokena.","fullStreaming":"Pełna obsługa transmisji strumieniowej dla wszystkich modeli.","docsLabel":"Dokumenty","docsHeroDescription":"Brama AI dla LLM wielu dostawców. Jeden punkt końcowy dla OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor i ponad 20 innych dostawców.","openDashboard":"Otwórz Panel","endpointPage":"Strona punktu końcowego","github":"GitHub","reportIssue":"Zgłoś problem","onThisPage":"Na tej stronie","documentationVersion":"Dokumentacja - v{version}","quickStartStep1Title":"1. Zainstaluj i uruchom","quickStartStep1Prefix":"Biegnij","quickStartStep1Middle":"lub sklonuj z GitHub i uruchom","quickStartStep2Title":"2. Utwórz klucz API","quickStartStep2Text":"Przejdź do Punkt końcowy -> Zarejestrowane klucze. Wygeneruj jeden klucz na środowisko.","quickStartStep3Title":"3. Połącz dostawców","quickStartStep3Text":"Dodaj konta dostawców za pomocą loginu OAuth, klucza API lub automatycznego łączenia w warstwie bezpłatnej.","quickStartStep4Title":"4. Ustaw podstawowy adres URL klienta","quickStartStep4Prefix":"Wskaż klienta IDE lub API","quickStartStep4Suffix":"Użyj na przykład prefiksu dostawcy","featureRoutingTitle":"Routing wielu dostawców","featureRoutingText":"Kieruj żądania do ponad 30 dostawców AI za pośrednictwem jednego punktu końcowego kompatybilnego z OpenAI. Obsługuje interfejsy API czatu, odpowiedzi, dźwięku i obrazu.","featureCombosTitle":"Kombinacje i balansowanie","featureCombosText":"Twórz kombinacje modeli z łańcuchami awaryjnymi i strategiami równoważenia: okrężne, priorytetowe, losowe, najrzadziej używane i zoptymalizowane pod względem kosztów.","featureUsageTitle":"Śledzenie wykorzystania i kosztów","featureUsageText":"Liczenie tokenów w czasie rzeczywistym, kalkulacja kosztów dla każdego dostawcy/modelu oraz szczegółowy podział wykorzystania według klucza API i konta.","featureAnalyticsTitle":"Panel analityczny","featureAnalyticsText":"Analityka wizualna z wykresami żądań, tokenów, błędów, opóźnień, kosztów i popularności modelu w czasie.","featureHealthTitle":"Monitorowanie zdrowia","featureHealthText":"Kontrole stanu na żywo, status dostawcy, stany wyłączników i automatyczne wykrywanie limitów szybkości z wykładniczym wycofywaniem.","featureCliTitle":"Narzędzia interfejsu wiersza polecenia","featureCliText":"Zarządzaj konfiguracjami IDE, eksportuj/importuj kopie zapasowe, odkrywaj profile Codexu i konfiguruj ustawienia z poziomu pulpitu nawigacyjnego.","featureSecurityTitle":"Bezpieczeństwo i zasady","featureSecurityText":"Uwierzytelnianie kluczem API, filtrowanie IP, ochrona przed wtryskiem, zasady domeny, zarządzanie sesjami i rejestrowanie audytu.","featureCloudSyncTitle":"Synchronizacja w chmurze","featureCloudSyncText":"Zsynchronizuj swoją konfigurację z Cloudflare Workers, aby uzyskać zdalny dostęp za pomocą szyfrowanych poświadczeń i automatycznego przełączania awaryjnego.","providersAcrossConnectionTypes":"{count} dostawców dla trzech typów połączeń.","manageProviders":"Zarządzaj dostawcami","providersCount":"{count} dostawców","providerTypeFree":"Poziom bezpłatny","providerTypeOAuth":"OAuth","providerTypeApiKey":"Klucz API","useCaseSingleEndpointTitle":"Jeden punkt końcowy dla wielu dostawców","useCaseSingleEndpointText":"Wskaż klientom jeden podstawowy adres URL i trasę według prefiksu modelu (na przykład: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Przełączanie awaryjne i modelowe za pomocą kombinacji","useCaseFallbackText":"Twórz modele łączone w panelu kontrolnym i utrzymuj stabilną konfigurację klienta, podczas gdy dostawcy zmieniają się wewnętrznie.","useCaseUsageVisibilityTitle":"Widoczność użycia, kosztów i debugowania","useCaseUsageVisibilityText":"Śledź tokeny i koszty według dostawcy, konta i klucza API na kartach Użycie i Analityka.","clientCherryStudioTitle":"Wiśniowe Studio","baseUrlLabel":"Bazowy adres URL","chatEndpointLabel":"Punkt końcowy czatu","modelRecommendationLabel":"Rekomendacja modelu: wyraźny przedrostek","clientCodexTitle":"Modele drugiego pilota w Kodeksie/GitHub","clientCodexBullet1":"Użyj identyfikatorów modeli z","clientCodexBullet2":"Modele z rodziny Codex automatycznie kierują się do","clientCodexBullet3":"Modele inne niż Kodeks są kontynuowane","clientCursorTitle":"Kursor IDE","clientCursorBullet1":"Użyj","clientCursorBullet1Suffix":"przedrostek dla modeli kursora.","clientCursorBullet2":"Połączenie OAuth - zaloguj się ze strony Dostawcy.","clientClaudeTitle":"Kod Claude\'a / Antygrawitacja","clientClaudeBullet1Prefix":"Użyj","clientClaudeBullet1Middle":"(Claude) lub","clientClaudeBullet1Suffix":"Przedrostek (Antygrawitacja).","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"Punkt końcowy czatu zgodny z OpenAI (domyślnie).","endpointResponsesNote":"Punkt końcowy interfejsu API odpowiedzi (Kodeks, seria o).","endpointModelsNote":"Katalog modeli dla wszystkich podłączonych dostawców.","endpointAudioNote":"Transkrypcja audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generowanie obrazu (NanoBanana).","endpointRewriteChatNote":"Przepisz pomocnika dla klientów bez /v1.","endpointRewriteResponsesNote":"Przepisz pomocnika dla odpowiedzi bez /v1.","endpointRewriteModelsNote":"Przepisz pomocnika do wykrywania modelu bez /v1.","modelPrefixesDescriptionStart":"Użyj prefiksu dostawcy przed nazwą modelu, aby przekierować do określonego dostawcy. Przykład:","modelPrefixesDescriptionEnd":"trasy do GitHub Copilot.","provider":"Dostawca","type":"Wpisz","troubleshootingModelRouting":"Jeśli klientowi nie powiedzie się routing modelu, użyj jawnego dostawcy/modelu (na przykład: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Jeśli otrzymujesz niejednoznaczne błędy modelu, wybierz prefiks dostawcy zamiast samego identyfikatora modelu.","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.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Generowanie mowy tekstowej (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Generowanie osadzeń tekstu (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Polityka prywatności","termsOfService":"Warunki świadczenia usług","providerConfigurations":"Konfiguracje dostawców","apiKeys":"Klucze API","usageLogs":"Dzienniki użytkowania","applicationSettings":"Ustawienia aplikacji","viewExportAnalytics":"Przeglądaj i eksportuj analizy użytkowania","clearHistory":"Wyczyść historię użytkowania w dowolnym momencie","configureRetention":"Skonfiguruj zasady przechowywania dzienników","backupRestore":"Utwórz kopię zapasową i przywróć bazę danych","privacyMetadataTitle":"Polityka prywatności | OmniRoute","privacyMetadataDescription":"Polityka prywatności routera proxy OmniRoute AI API.","termsMetadataTitle":"Warunki świadczenia usług | OmniRoute","termsMetadataDescription":"Warunki korzystania z routera proxy OmniRoute AI API.","backToHome":"Powrót do domu","lastUpdated":"Ostatnia aktualizacja: {date}","policyLastUpdatedDate":"13 lutego 2026 r","listSeparator":"-","questionsVisit":"Pytania? Odwiedź nasze","githubRepository":"Repozytorium GitHuba","privacySection1Title":"1. Architektura lokalna","privacySection1Text":"OmniRoute zaprojektowano jako aplikację działającą lokalnie. Całe przetwarzanie i przechowywanie danych odbywa się wyłącznie na Twoim komputerze. Nie ma scentralizowanego serwera gromadzącego Twoje dane.","privacySection2Title":"2. Dane, które przechowujemy","privacyDataStoredIn":"Następujące dane są przechowywane lokalnie w","privacyDataProviderConfigurationsDesc":"adresy URL połączeń, typy dostawców i ustawienia priorytetów","privacyDataApiKeysDesc":"szyfrowane i przechowywane lokalnie w celu uwierzytelniania u dostawców sztucznej inteligencji","privacyDataUsageLogsDesc":"liczba żądań, użycie tokena, nazwy modeli, znaczniki czasu i czasy odpowiedzi","privacyDataApplicationSettingsDesc":"preferencje tematyczne, strategia routingu i konfiguracje kombinacji","privacySection3Title":"3. Brak telemetrii","privacySection3Text":"OmniRoute nie zbiera danych telemetrycznych, analiz ani raportów o awariach. Żadne dane nie są przesyłane do nas ani do osób trzecich. Twoje wzorce użytkowania, wywołania API i konfiguracje pozostają całkowicie prywatne.","privacySection4Title":"4. Zewnętrzni dostawcy AI","privacySection4Text":"Gdy wykonujesz wywołania API za pośrednictwem OmniRoute, Twoje żądania są przekazywane do skonfigurowanych dostawców AI (na przykład: OpenAI, Anthropic, Google). Dostawcy ci mają własne zasady ochrony prywatności, które regulują sposób postępowania z Twoimi danymi. Proszę przejrzeć:","privacyOpenAiPolicy":"Polityka prywatności OpenAI","privacyAnthropicPolicy":"Antropiczna polityka prywatności","privacyGooglePolicy":"Polityka prywatności Google","privacySection5Title":"5. Synchronizacja z chmurą (opcjonalnie)","privacySection5Text":"Jeśli włączysz opcjonalną funkcję synchronizacji z chmurą, konfiguracje dostawców i klucze API mogą zostać przesłane do skonfigurowanego punktu końcowego chmury. Ta funkcja jest domyślnie wyłączona i wymaga wyraźnej zgody.","privacySection6Title":"6. Rejestrowanie","privacyLoggingIntro":"Dzienniki żądań można skonfigurować w ustawieniach panelu kontrolnego. Możesz:","privacySection7Title":"7. Twoje prawa","privacySection7TextStart":"Ponieważ wszystkie dane są przechowywane lokalnie, masz pełną kontrolę. W każdej chwili możesz usunąć swoje dane usuwając plik","privacySection7TextEnd":"katalogu lub korzystając z funkcji tworzenia kopii zapasowych i przywracania bazy danych na pulpicie nawigacyjnym.","termsSection1Title":"1. Przegląd","termsSection1Text":"OmniRoute to lokalny router proxy AI API, który działa całkowicie na Twoim komputerze. Kieruje żądania do wielu dostawców AI z równoważeniem obciążenia, przełączaniem awaryjnym i śledzeniem użycia.","termsSection2Title":"2. Obowiązki użytkownika","termsResponsibilityApiKeys":"Ponosisz wyłączną odpowiedzialność za zarządzanie własnymi kluczami API i danymi uwierzytelniającymi dla zewnętrznych dostawców sztucznej inteligencji (OpenAI, Anthropic, Google itp.).","termsResponsibilityCompliance":"Musisz przestrzegać warunków świadczenia usług każdego dostawcy AI, do którego API uzyskujesz dostęp za pośrednictwem OmniRoute.","termsResponsibilitySecurity":"Jesteś odpowiedzialny za bezpieczeństwo swojej lokalnej instalacji OmniRoute, w tym za ustawienie hasła i ograniczenie dostępu do sieci.","termsSection3Title":"3. Jak to działa","termsSection3Text":"OmniRoute działa jako pośrednik proxy. Wywołania API wysyłane do OmniRoute są tłumaczone i przekazywane do skonfigurowanych dostawców AI. OmniRoute nie modyfikuje treści Twoich żądań ani odpowiedzi poza niezbędnym tłumaczeniem protokołu.","termsSection4Title":"4. Przetwarzanie danych","termsDataStoredLocally":"Wszystkie dane są przechowywane lokalnie na Twoim komputerze w bazie danych SQLite.","termsNoTransmission":"OmniRoute nie przesyła żadnych danych do serwerów zewnętrznych, chyba że wyraźnie włączysz funkcje synchronizacji w chmurze.","termsDataLocationText":"Dzienniki użytkowania, klucze API i konfiguracja są przechowywane w","termsSection5Title":"5. Zastrzeżenie","termsSection5Text":"Usługa OmniRoute jest dostarczana w stanie takim, w jakim jest, bez jakiejkolwiek gwarancji. Nie ponosimy odpowiedzialności za jakiekolwiek koszty powstałe w wyniku korzystania z API, zakłóceń w świadczeniu usług lub utraty danych. Zawsze twórz kopie zapasowe swojej konfiguracji.","termsSection6Title":"6. Otwarte źródło","termsSection6Text":"OmniRoute jest oprogramowaniem typu open source. Możesz go przeglądać, modyfikować i rozpowszechniać zgodnie z warunkami licencji."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Simple Chat","streaming":"Streaming","system-prompt":"System Prompt","thinking":"Thinking","tool-calling":"Tool Calling","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Basic chat template","streaming":"Streaming template","system-prompt":"System prompt template","thinking":"Thinking template","tool-calling":"Tool calling template","multi-turn":"Multi-turn template"},"templatePayloads":{"simpleChat":{"system":"Jesteś pomocnym asystentem AI.","userGreeting":"Witam! Jak mogę Ci dzisiaj pomóc?"},"streaming":{"prompt":"Napisz opowiadanie o"},"systemPrompt":{"question":"Jaki jest sens życia?","systemInstruction":"Podaj przemyślaną, filozoficzną odpowiedź."},"thinking":{"question":"Wyjaśnij obliczenia kwantowe"},"toolCalling":{"cityNameDescription":"Nazwa miasta, dla którego chcesz uzyskać pogodę","toolDescription":"Uzyskaj aktualną pogodę dla danej lokalizacji","userWeather":"Jaka jest pogoda w Tokio?"},"multiTurn":{"system":"Jesteś pomocnym asystentem.","assistantExample":"Chętnie Ci w tym pomogę.","userInitial":"Potrzebuję pomocy","userFollowUp":"Możesz to rozwinąć?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
|
|
1
|
+
module.exports=[423638,a=>{a.v(JSON.parse('{"common":{"save":"Zapisz","cancel":"Anuluj","delete":"Usuń","loading":"Ładowanie...","error":"Wystąpił błąd","success":"Sukces","confirm":"Czy jesteś pewien?","refresh":"Odśwież","close":"Zamknij","add":"Dodaj","edit":"Edytuj","search":"Szukaj","back":"Powrót","next":"Następny","submit":"Prześlij","reset":"Zresetuj","copy":"Kopiuj","copied":"Skopiowano!","enabled":"Włączone","disabled":"Niepełnosprawny","active":"Aktywny","inactive":"Nieaktywny","noData":"Brak dostępnych danych","configure":"Skonfiguruj","manage":"Zarządzaj","name":"Imię","actions":"Działania","status":"Stan","type":"Wpisz","model":"Modelka","models":"modele","provider":"Dostawca","account":"Konto","time":"Czas","details":"Szczegóły","created":"Utworzono","lastUsed":"Ostatnio używany","loadMore":"Załaduj więcej","noResults":"Nie znaleziono żadnych wyników","reloadPage":"Załaduj ponownie stronę","connected":"Połączono","disconnected":"Rozłączony","notConfigured":"Nie skonfigurowano","testConnection":"Połączenie testowe","enable":"Włącz","disable":"Wyłącz","columns":"Kolumny","newest":"Najnowszy","oldest":"Najstarszy","all":"Wszystko","none":"Żadne","yes":"Tak","no":"Nie","warning":"Ostrzeżenie","note":"Uwaga","free":"Bezpłatny","skipToContent":"Przejdź do treści","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"accept","accountId":"accountId","alias":"alias","apiKeyId":"apiKeyId","apiKeyName":"apiKeyName","apiKeySecret":"apiKeySecret","authorization":"authorization","content-type":"content-type","content-length":"content-length","cookie":"cookie","file":"file","host":"host","id":"id","import":"import","limit":"limit","offset":"offset","open":"open","origin":"origin","promptTokens":"promptTokens","completionTokens":"completionTokens","totalTokens":"totalTokens","rawModel":"rawModel","scope":"scope","skill":"skill","sortBy":"sortBy","sortOrder":"sortOrder","tab":"tab","text":"text","textarea":"textarea","tool":"tool","toolId":"toolId","web":"web","whereUsed":"whereUsed","whitelist":"whitelist","blacklist":"blacklist","resolve":"resolve","force":"force","base64url":"base64url","hex":"hex","range":"range","component":"component","redirect_uri":"redirect_uri","idempotency-key":"idempotency-key","error_description":"error_description","code":"code","compatible":"compatible","chat-completions":"chat-completions","oauth":"oauth","auth_token":"auth_token","crypto":"crypto","hours":"hours","selfsigned":"selfsigned","proxy_id":"proxy_id","proxyId":"proxyId","connectionId":"connectionId","resolveConnectionId":"resolveConnectionId","resolve_connection_id":"resolve_connection_id","scope_id":"scope_id","scopeId":"scopeId","jwtSecret":"jwtSecret","keytar":"keytar","better-sqlite3":"better-sqlite3","undici":"undici","builder-id":"builder-id","musicDesc":"musicDesc","musicGeneration":"musicGeneration","idc":"idc","cloud-status-changed":"cloud-status-changed","where_used":"where_used","windowMs":"windowMs","social-github":"GitHub","social-google":"Google\'a","TOOL_ALLOWLIST":"Lista dozwolonych narzędzi","TOOL_DENYLIST":"Lista odrzuconych narzędzi","Failed to save pricing":"Nie udało się zapisać cen","Failed to reset pricing":"Nie udało się zresetować cen","apikey":"Klucz API","http":"HTTP"},"sidebar":{"home":"Dom","dashboard":"Pulpit nawigacyjny","providers":"Dostawcy","combos":"Kombinacje","usage":"Użycie","analytics":"Analityka","costs":"Koszty","health":"Zdrowie","limits":"Limity i kwoty","cliTools":"Narzędzia interfejsu wiersza polecenia","media":"Media","settings":"Ustawienia","translator":"Tłumacz","docs":"Dokumenty","issues":"Problemy","apiManager":"Menedżer API","logs":"Dzienniki","auditLog":"Dziennik audytu","shutdown":"Wyłączenie","restart":"Uruchom ponownie","shutdownConfirm":"Wyłączyć OmniRoute?","restartConfirm":"Zrestartować OmniRoute?","version":"v{version}","debug":"Debuguj","system":"Systemu","help":"Pomoc","serverDisconnected":"Serwer odłączony","serverDisconnectedMsg":"Serwer proxy został zatrzymany lub uruchamia się ponownie.","expandSidebar":"Rozwiń pasek boczny","collapseSidebar":"Zwiń pasek boczny","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Punkty końcowe","playground":"Plac zabaw","agents":"Agenci","cliToolsShort":"Narzędzia","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Active theme"},"header":{"logout":"Wyloguj się","language":"Język","providers":"Dostawcy","providerDescription":"Zarządzaj połączeniami dostawców AI","combos":"Kombinacje","comboDescription":"Kombinacje modeli z rezerwą","usage":"Wykorzystanie i analityka","usageDescription":"Monitoruj wykorzystanie interfejsu API, zużycie tokenów i dzienniki żądań","analytics":"Analityka","analyticsDescription":"Wykresy, trendy i spostrzeżenia dotyczące ocen","cliTools":"Narzędzia interfejsu wiersza polecenia","cliToolsDescription":"Skonfiguruj narzędzia CLI","home":"Dom","homeDescription":"Witamy w OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Ustawienia","settingsDescription":"Zarządzaj swoimi preferencjami","openaiCompatible":"Kompatybilny z OpenAI","anthropicCompatible":"Kompatybilny z antropią","media":"Media","mediaDescription":"Generate images, videos, and music","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Szybki start","quickStartDesc":"Zacznij działać w 4 krokach. Łącz dostawców, kieruj modele, monitoruj wszystko.","fullDocs":"Pełna dokumentacja","step1Title":"1. Utwórz klucz API","step1Desc":"Przejdź do <endpoint>Endpoint</endpoint> -> Zarejestrowane klucze. Wygeneruj jeden klucz na środowisko.","step2Title":"2. Połącz dostawców","step2Desc":"Dodaj konta w <providers>Providers</providers>. Obsługuje OAuth, klucz API i bezpłatne poziomy.","step3Title":"3. Wskaż swojego klienta","step3Desc":"Ustaw podstawowy adres URL na {url} w swoim kliencie IDE lub API.","step4Title":"4. Monitoruj i optymalizuj","step4Desc":"Śledź tokeny, koszty i błędy w <logs>Dziennikach żądań</logs> i <analytics>Analytics</analytics>.","providersOverview":"Przegląd dostawców","configuredOf":"{configured} skonfigurowany z {total} dostępnych dostawców","noModelsAvailable":"Brak dostępnych modeli tego dostawcy.","configureFirst":"Najpierw skonfiguruj połączenie w {providers}","configureProvider":"Skonfiguruj dostawcę","modelAvailable":"Dostępny model {count}","modelsAvailable":"Dostępne modele {count}","connectionsActive":"{count} połączenie aktywne","connectionsActivePlural":"{count} aktywne połączenia","copyModelName":"Skopiuj nazwę modelu","documentation":"Dokumentacja","healthMonitor":"Monitor zdrowia","reportIssue":"Zgłoś problem","activeError":"{active} aktywny · {errors} błąd","oauthLabel":"OAuth","apiKeyLabel":"Klucz API","requestsShort":"{count} wymagania","providerModelsTitle":"{provider} - Modele","copiedModel":"Skopiowano: {model}","aliasLabel":"pseudonim","updateNow":"Zaktualizuj","updating":"Aktualizowanie...","updateAvailableDesc":"Dostępna jest nowa wersja. Kliknij, aby zaktualizować.","updateStarted":"Aktualizacja rozpoczęta..."},"analytics":{"title":"Analityka","overviewDescription":"Monitoruj wzorce wykorzystania interfejsu API, zużycie tokenów, koszty i trendy aktywności u wszystkich dostawców i modeli.","evalsDescription":"Uruchom pakiety ewaluacyjne, aby przetestować i zweryfikować punkty końcowe LLM. Porównaj jakość modelu, wykryj regresje i porównaj opóźnienia.","overview":"Przegląd","evals":"Ewaluacje"},"apiManager":{"title":"Klucze API","createKey":"Utwórz klucz API","key":"Klucz","revokeKey":"Unieważnij klucz","revokeConfirm":"Czy na pewno chcesz unieważnić ten klucz API?","noKeys":"Nie ma jeszcze kluczy API","noKeysDesc":"Utwórz swój pierwszy klucz API, aby uwierzytelniać żądania kierowane do punktu końcowego","keyLabel":"Etykieta klucza","permissions":"Uprawnienia","expiresAt":"Wygasa","never":"Nigdy","revoke":"Odwołaj","showKey":"Pokaż klucz","hideKey":"Ukryj klucz","copyKey":"Skopiuj klucz API","allModels":"Wszystkie modele","selectedModels":"Wybrane modele","readOnly":"Tylko do odczytu","fullAccess":"Pełny dostęp","keyManagement":"Zarządzanie kluczami API","keyManagementDesc":"Twórz klucze API i zarządzaj nimi w celu uwierzytelniania żądań kierowanych do punktu końcowego","totalKeys":"Razem klucze","restricted":"Ograniczone","totalRequests":"Łączna liczba żądań","modelsAvailable":"Dostępne modele","registeredKeys":"Zarejestrowane klucze","keysRegistered":"Zarejestrowano {count} kluczy","keyRegistered":"Zarejestrowano klucz {count}","keysSecurityNote":"Każdy klucz izoluje śledzenie użycia i może zostać odwołany niezależnie. Klucze są maskowane po utworzeniu ze względów bezpieczeństwa.","createFirstKey":"Utwórz swój pierwszy klucz","name":"Imię","usage":"Użycie","created":"Utworzono","actions":"Działania","reqs":"wymagania","neverUsed":"Nigdy nie używany","deleteConfirm":"Usunąć ten klucz API?","usageTips":"Wskazówki dotyczące użytkowania","tipAuth":"Użyj kluczy API w nagłówku autoryzacji jako Nośnik YOUR_KEY","tipSecure":"Klucze są wyświetlane tylko raz podczas tworzenia — przechowuj je bezpiecznie","tipSeparate":"Utwórz osobne klucze dla różnych klientów lub środowisk","tipRestrict":"Ogranicz klucze do określonych modeli, aby zapewnić większe bezpieczeństwo i kontrolę kosztów","keyName":"Nazwa klucza","keyNamePlaceholder":"np. klucz produkcyjny, klucz rozwojowy","keyNameDesc":"Wybierz opisową nazwę identyfikującą przeznaczenie tego klucza","keyCreated":"Utworzono klucz API","keyCreatedSuccess":"Klucz został utworzony pomyślnie!","keyCreatedNote":"Skopiuj i zapisz ten klucz teraz — nie będzie on więcej wyświetlany.","done":"Gotowe","savePermissions":"Zapisz uprawnienia","allowAll":"Zezwalaj na wszystko","restrict":"Ogranicz","allowAllInfo":"Ten klucz umożliwia dostęp do wszystkich dostępnych modeli.","restrictInfo":"Ten klucz umożliwia dostęp do {selected} z {total} modeli.","selected":"Wybrano {count}","all":"Wszystko","clear":"Jasne","searchModels":"Wyszukaj modele według nazwy lub dostawcy...","noModelsFound":"Nie znaleziono żadnych modeli","keyNameRequired":"Nazwa klucza jest wymagana","keyNameTooLong":"Nazwa klucza musi mieć maksymalnie {max} znaków","keyNameInvalid":"Nazwa klucza może zawierać tylko litery, cyfry, spacje, łączniki i podkreślenia","invalidKeyName":"Nieprawidłowa nazwa klucza","failedCreateKey":"Nie udało się utworzyć klucza","failedCreateKeyRetry":"Nie udało się utworzyć klucza. Spróbuj ponownie.","invalidKeyId":"Nieprawidłowy identyfikator klucza","failedDeleteKey":"Nie udało się usunąć klucza","failedDeleteKeyRetry":"Nie udało się usunąć klucza. Spróbuj ponownie.","invalidModelsSelection":"Nieprawidłowy wybór modeli","cannotSelectMoreThanModels":"Nie można wybrać więcej niż {max} modeli","failedUpdatePermissions":"Nie udało się zaktualizować uprawnień","failedUpdatePermissionsRetry":"Nie udało się zaktualizować uprawnień. Spróbuj ponownie.","unknownProvider":"nieznany","copyMaskedKey":"Skopiuj zamaskowany klucz","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Ostatni: {date}","editPermissions":"Edytuj uprawnienia","deleteKey":"Usuń klucz","model":"Model {count}","models":"{count} modele","permissionsTitle":"Uprawnienia: {name}","allowAllDesc":"Ten klucz umożliwia dostęp do wszystkich dostępnych modeli.","restrictDesc":"Ten klucz umożliwia dostęp do {selectedCount} z {totalModels} modeli.","selectedCount":"Wybrano {count}","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Dziennik audytu","searchPlaceholder":"Wyszukaj działania...","action":"Akcja","actor":"Aktor","target":"Cel","ipAddress":"Adres IP","timestamp":"Znacznik czasu","noEntries":"Nie znaleziono wpisów audytu","filterByAction":"Filtruj według działania...","filterByActor":"Filtruj według aktora...","filterEntriesAria":"Filtruj wpisy dziennika audytu","filterByActionTypeAria":"Filtruj według typu akcji","filterByActorAria":"Filtruj według aktora","refreshAuditLogAria":"Odśwież dziennik audytu","tableAria":"Wpisy dziennika audytu","failedFetchAuditLog":"Nie udało się pobrać dziennika kontroli","notAvailable":"—","description":"Działania administracyjne i zdarzenia związane z bezpieczeństwem","showing":"Wyświetlanie wpisów {count} (przesunięcie {offset})","previous":"Poprzedni"},"media":{"title":"Studio multimediów","subtitle":"Generuj obrazy, wideo i muzykę","model":"Model","prompt":"Prompt","generate":"Generuj","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"Narzędzia interfejsu wiersza polecenia","noActiveProviders":"Brak aktywnych dostawców","noActiveProvidersDesc":"Najpierw dodaj i połącz dostawców, aby skonfigurować narzędzia CLI.","mapModels":"Modele map","testConnection":"Połączenie testowe","connectionStatus":"Stan połączenia","configureEndpoint":"Skonfiguruj punkt końcowy","instructions":"Instrukcje","modelMapping":"Mapowanie modelu","baseUrl":"Bazowy adres URL","apiKey":"Klucz API","configured":"Skonfigurowane","notConfigured":"Nie skonfigurowano","notInstalled":"Nie zainstalowano","custom":"Niestandardowe","unknown":"Nieznany","lastSavedAt":"Ostatnio zapisany: {date}","never":"Nigdy","justNow":"właśnie teraz","minutesAgoShort":"{count}m temu","hoursAgoShort":"{count}h temu","daysAgoShort":"{count}d temu","monthsAgoShort":"{count}miesiące temu","yearsAgoShort":"{count}y temu","runtimeCheckFailed":"Kontrola czasu wykonania nie powiodła się","yourApiKeyPlaceholder":"twój-api-key","modelPlaceholder":"dostawca/identyfikator modelu","configurationSaved":"Konfiguracja została zapisana pomyślnie.","failedToSave":"Nie udało się zapisać konfiguracji.","noApiKeysCreateOne":"Brak kluczy API — utwórz je na stronie Klucze","defaultOmnirouteKey":"sk_omniroute (domyślnie)","selectModel":"Wybierz Model","selectModelForAlias":"Wybierz model dla {alias}","selectModelForTool":"Wybierz model dla {tool}","select":"Wybierz","clear":"Jasne","comingSoon":"Już wkrótce","checkingRuntime":"Sprawdzam stan środowiska wykonawczego...","guideOnlyIntegration":"Integracja wyłącznie w trybie przewodnika (nie jest wymagane lokalne środowisko wykonawcze)","cliRuntimeDetected":"Środowisko wykonawcze CLI zostało wykryte i gotowe","cliFoundNotRunnable":"Znaleziono interfejs CLI, ale nie można go uruchomić{reason}","cliRuntimeNotDetected":"Nie wykryto środowiska wykonawczego CLI","binary":"Binarny","configPath":"Ścieżka konfiguracji","configPathShort":"Konfig","failedCheckRuntimeStatus":"Nie udało się sprawdzić stanu środowiska wykonawczego.","copy":"Kopiuj","copied":"Skopiowano","copyConfig":"Kopiuj konfigurację","saveConfig":"Zapisz konfigurację","selectionSaved":"Wybór został zapisany","guide":"Przewodnik","detected":"Wykryto","notReady":"Nie gotowy","active":"Aktywny","inactive":"Nieaktywny","startMitm":"Uruchom MITM","stopMitm":"Zatrzymaj MITM","mitmStarted":"MITM rozpoczęło się pomyślnie!","mitmStopped":"MITM został zatrzymany pomyślnie!","failedStart":"Nie udało się uruchomić MITM","failedStop":"Nie udało się zatrzymać MITM","saveMappings":"Zapisz mapowania","mappingsSaved":"Mapowania zapisane!","failedSaveMappings":"Nie udało się zapisać mapowań","howItWorks":"Jak to działa:","antigravityHowWorksDesc":"Antygrawitacja wysyła żądania do punktu końcowego Google. MITM przechwytuje i przekierowuje je do OmniRoute.","antigravityStep1":"1. Uruchom MITM, aby kierować żądania przez OmniRoute.","antigravityStep2Prefix":"2. Dodaj","antigravityStep2Suffix":"do pliku hosts jako 127.0.0.1.","antigravityStep3":"3. Otwórz Antygrawitację i żądania zostaną przesłane przez serwer proxy.","sudoPasswordRequiredTitle":"Wymagane hasło Sudo","sudoPasswordHint":"Aby zmodyfikować ustawienia pliku hosts i systemowego serwera proxy, wymagane jest hasło administratora.","enterSudoPassword":"Wprowadź hasło sudo","sudoPasswordRequiredError":"Wymagane jest hasło Sudo.","cancel":"Anuluj","confirm":"Potwierdź","settingsApplied":"Ustawienia zostały zastosowane pomyślnie!","failedApplySettings":"Nie udało się zastosować ustawień","settingsReset":"Ustawienia zostały zresetowane pomyślnie!","failedResetSettings":"Nie udało się zresetować ustawień","backupRestored":"Kopia zapasowa przywrócona!","failedRestore":"Nie udało się przywrócić","checkingCli":"Sprawdzam {tool} CLI...","cliNotRunnable":"{tool} Zainstalowano CLI, ale nie można go uruchomić","cliNotInstalled":"{tool} Interfejs CLI nie jest zainstalowany","cliNotDetected":"{tool} Nie wykryto interfejsu CLI","cliDetectedReady":"{tool} Wykryto interfejs CLI i jest on gotowy","cliFoundFailedHealthcheck":"{tool} Znaleziono interfejs CLI, ale kontrola stanu środowiska wykonawczego nie powiodła się{reason}.","installCliPrompt":"Aby móc korzystać z tej funkcji, zainstaluj {tool} CLI.","installCodexPrompt":"Aby skorzystać z funkcji automatycznego stosowania, zainstaluj Codex CLI.","hide":"Ukryj","howToInstall":"Jak zainstalować","installationGuide":"Przewodnik instalacji","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Po instalacji uruchom","toVerify":"zweryfikować.","current":"Aktualny","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Przywróć ustawienia domyślne","providerModelPlaceholder":"dostawca/identyfikator modelu","apply":"Zastosuj","reset":"Zresetuj","manualConfig":"Konfiguracja ręczna","backups":"Kopie zapasowe","configBackups":"Skonfiguruj kopie zapasowe","noBackupsYet":"Nie ma jeszcze kopii zapasowych. Kopie zapasowe są tworzone automatycznie przed każdym Zastosowaniem lub Resetem.","restore":"Przywróć","backupRestoredReloading":"Kopia zapasowa przywrócona! Stan ponownego ładowania...","failedRestoreBackup":"Nie udało się przywrócić kopii zapasowej","applied":"Zastosowano!","failed":"Nie udało się","resetDone":"Zresetuj!","omnirouteConfiguredOpenAiCompatible":"OmniRoute jest skonfigurowany jako dostawca zgodny z OpenAI","provider":"Dostawca","model":"Modelka","providers":"Dostawcy","auth":"Autoryt","noApiKeysAvailable":"Brak dostępnych kluczy API","usingDefaultOmniroute":"Używam domyślnego: sk_omniroute","updateConfig":"Zaktualizuj konfigurację","applyConfig":"Zastosuj konfigurację","noBackupsAvailable":"Brak dostępnych kopii zapasowych.","profileSaved":"Profil „{name}” został zapisany!","failedSaveProfile":"Nie udało się zapisać profilu","profileActivated":"Profil aktywowany!","failedActivateProfile":"Nie udało się aktywować profilu","profiles":"Profile","savedProfiles":"Zapisane profile","noProfilesYet":"Nie zapisano jeszcze żadnych profili. Zapisz bieżącą konfigurację jako profil poniżej.","activate":"Aktywuj","deleteProfile":"Usuń profil","profileNamePlaceholder":"Nazwa profilu (np. Konto Osobiste)","saveCurrent":"Zapisz bieżący","codexAuthNotePrefix":"Kodeks używa","codexAuthNoteMiddle":"z","codexAuthNoteSuffix":"Kliknij „Zastosuj”, aby przeprowadzić automatyczną konfigurację.","claudeManualConfiguration":"Claude CLI - Konfiguracja ręczna","codexManualConfiguration":"Codex CLI — konfiguracja ręczna","droidManualConfiguration":"Droid fabryczny – konfiguracja ręczna","openClawManualConfiguration":"Otwarty pazur - konfiguracja ręczna","clineManualConfiguration":"Konfiguracja ręczna Cline","kiloManualConfiguration":"Konfiguracja ręczna kodu Kilo","toolDescriptions":{"antigravity":"Google Antigravity IDE z MITM","claude":"Antropiczny kod Claude\'a CLI","codex":"Interfejs wiersza polecenia OpenAI Codex","droid":"Asystent sztucznej inteligencji droida fabrycznego","openclaw":"Otwórz asystenta AI Claw","cline":"Cline AI Asystent kodowania CLI","kilo":"Kilo Code AI Assistant CLI","cursor":"Edytor kodu AI kursora","continue":"Kontynuuj Asystenta AI","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Aby korzystać z tej funkcji, wymagane jest konto Cursor Pro.","1":"Kursor kieruje żądania przez własny serwer, więc lokalny punkt końcowy nie jest obsługiwany. Włącz punkt końcowy Cloud w Ustawieniach."},"steps":{"1":{"title":"Otwórz Ustawienia","desc":"Przejdź do Ustawienia -> Modele"},"2":{"title":"Włącz interfejs API OpenAI","desc":"Włącz opcję „Klucz API OpenAI”."},"3":{"title":"Bazowy adres URL"},"4":{"title":"Klucz API"},"5":{"title":"Dodaj model niestandardowy","desc":"Kliknij „Wyświetl wszystkie modele” -> „Dodaj model niestandardowy”"},"6":{"title":"Wybierz Model"}}},"continue":{"steps":{"1":{"title":"Otwórz konfigurację","desc":"Otwórz plik konfiguracyjny Kontynuuj"},"2":{"title":"Klucz API"},"3":{"title":"Wybierz Model"},"4":{"title":"Dodaj konfigurację modelu","desc":"Dodaj następującą konfigurację do tablicy modeli:"}},"notes":{"0":"Continue używa pliku konfiguracyjnego JSON."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode wymaga konfiguracji klucza API.","1":"Ustaw URL bazowy na swój endpoint OmniRoute."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Kiro wymaga konta Amazon."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Kiedy używać","openToolDocs":"Otwórz dokumentację narzędzi","toolUseCases":{"claude":"Użyj, jeśli chcesz mieć silne przepływy pracy związane z planowaniem i długie refaktoryzacje wielu plików za pomocą Claude Code.","codex":"Użyj, gdy Twój zespół jest ujednolicony w zakresie przepływów CLI OpenAI Codex i uwierzytelniania opartego na profilach.","droid":"Użyj, gdy potrzebujesz lekkiego agenta terminalowego skupionego na szybkim kodowaniu i pętlach wykonywania poleceń.","openclaw":"Użyj, jeśli chcesz agenta kodującego w stylu Open Claw, ale kierowanego przez zasady OmniRoute.","cline":"Użyj, gdy konfigurujesz agentów kodujących w edytorach i chcesz przeprowadzić konfigurację z pomocą modeli OmniRoute.","kilo":"Użyj, gdy przepływ pracy zależy od poleceń Kilo Code i szybkich edycji iteracyjnych.","cursor":"Użyj podczas kodowania w programie Cursor, jeśli potrzebujesz niestandardowych modeli zgodnych z OpenAI za pośrednictwem OmniRoute.","continue":"Użyj podczas uruchamiania Kontynuuj w środowiskach IDE, jeśli potrzebujesz przenośnej konfiguracji dostawcy opartej na formacie JSON.","opencode":"Użyj, jeśli wolisz uruchamianie agentów natywnych w terminalu i automatyzację skryptów za pośrednictwem OpenCode.","kiro":"Użyj podczas integracji Kiro i centralnego sterowania routingiem modeli z OmniRoute.","antigravity":"Użyj, gdy ruch antygrawitacyjny/Kiro musi zostać przechwycony przez MITM i skierowany do OmniRoute.","copilot":"Użyj, jeśli chcesz mieć UX w stylu czatu Copilot, jednocześnie wymuszając klucze OmniRoute i reguły routingu."}},"combos":{"title":"Kombinacje","description":"Twórz kombinacje modeli z obsługą routingu ważonego i obsługi rezerwowej","createCombo":"Utwórz kombinację","editCombo":"Edytuj kombinację","deleteCombo":"Usuń kombinację","noModels":"Żadnych modeli","noModelsYet":"Nie dodano jeszcze żadnych modeli","addModel":"Dodaj model","addModelToCombo":"Dodaj model do kombinacji","routingStrategy":"Strategia routingu","maxRetries":"Maksymalna liczba ponownych prób","timeout":"Limit czasu (ms)","healthcheck":"Kontrola stanu","priority":"Priorytet","fallback":"Powrót","roundRobin":"Okrągły Robin","random":"Losowe","leastLatency":"Najmniejsze opóźnienie","comboName":"Nazwa kombinacji","comboNamePlaceholder":"moja kombinacja","deleteConfirm":"Usunąć tę kombinację?","noCombosYet":"Nie ma jeszcze żadnych kombinacji","comboCreated":"Kombinacja utworzona pomyślnie","comboUpdated":"Kombinacja została pomyślnie zaktualizowana","comboDeleted":"Kombinacja usunięta","failedCreate":"Nie udało się utworzyć kombinacji","failedUpdate":"Nie udało się zaktualizować kombinacji","errorCreating":"Błąd podczas tworzenia kombinacji","errorUpdating":"Błąd aktualizacji kombinacji","errorDeleting":"Błąd podczas usuwania kombinacji","testFailed":"Żądanie testowe nie powiodło się","failedToggle":"Nie udało się przełączyć kombinacji","testResults":"Wyniki testu — {name}","resolvedBy":"Rozwiązane przez:","more":"+{count} więcej","reqs":"wymagania","success":"sukces","proxyConfigured":"Serwer proxy skonfigurowany","copyComboName":"Skopiuj nazwę kombinacji","enableCombo":"Włącz kombinację","disableCombo":"Wyłącz kombinację","testCombo":"Kombinacja testowa","duplicate":"Duplikat","proxyConfig":"Konfiguracja proxy","nameRequired":"Imię i nazwisko jest wymagane","nameInvalid":"Tylko litery, cyfry, -, _, / i . dozwolone","nameHint":"Litery, cyfry, -, _, / i . dozwolone","priorityDesc":"Sekwencyjne działanie awaryjne: najpierw wypróbowuje model 1, potem 2 itd.","weightedDesc":"Rozdziela ruch według procentu wagi z rezerwą","roundRobinDesc":"Dystrybucja kołowa: każde żądanie trafia do następnego modelu w rotacji","randomDesc":"Jednolity wybór losowy, a następnie powrót do pozostałych modeli","leastUsedDesc":"Wybiera model z najmniejszą liczbą żądań, równoważąc obciążenie w czasie","costOptimizedDesc":"Najpierw wybiera najtańszy model na podstawie ceny","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modele","autoBalance":"Automatyczne balansowanie","advancedSettings":"Ustawienia zaawansowane","retryDelay":"Opóźnienie ponownej próby (ms)","concurrencyPerModel":"Współbieżność/model","queueTimeout":"Limit czasu kolejki (ms)","advancedHint":"Pozostaw puste, aby użyć globalnych ustawień domyślnych. Zastępują one ustawienia poszczególnych dostawców.","moveUp":"Przesuń się w górę","moveDown":"Przesuń w dół","removeModel":"Usuń","saving":"Zapisywanie...","weighted":"Ważona","leastUsed":"Najrzadziej używany","costOpt":"Opcja kosztowa","strategyGuideTitle":"How to use this strategy","strategyGuideWhen":"When to use","strategyGuideAvoid":"Avoid when","strategyGuideExample":"Example","strategyGuide":{"priority":{"when":"You have one preferred model and only want fallback on failure.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Gotowy do zapisania?","readinessDescription":"Przed utworzeniem lub aktualizacją tej kombinacji przejrzyj listę kontrolną.","readinessCheckName":"Nazwa kombinacji jest prawidłowa","readinessCheckModels":"Wybrano co najmniej jeden model","readinessCheckWeights":"Suma ważona wynosi 100%","readinessCheckWeightsOptional":"Reguła wagi nie jest wymagana","readinessCheckPricing":"Dane cenowe są dostępne","readinessCheckPricingOptional":"Reguła cenowa nie jest wymagana","saveBlockedTitle":"Zapisywanie jest zablokowane do czasu naprawienia następujących elementów:","saveBlockName":"Zdefiniuj nazwę kombinacji.","saveBlockModels":"Dodaj co najmniej jeden model.","saveBlockWeighted":"Ustaw wagi na 100% (obecnie: {total}%).","saveBlockPricing":"Dodaj cenę dla co najmniej jednego modelu lub wybierz inną strategię.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Koszty","budget":"Budżet","totalCost":"Całkowity koszt","breakdown":"Podział kosztów","noData":"Brak danych o kosztach","byModel":"Według modelu","byProvider":"Przez Dostawcę"},"endpoint":{"title":"Punkt końcowy interfejsu API","available":"Dostępne punkty końcowe","cloudProxy":"Serwer proxy w chmurze","disableConfirm":"Czy na pewno chcesz wyłączyć serwer proxy w chmurze?","baseUrl":"Bazowy adres URL","apiKeyLabel":"Klucz API","registeredKeys":"Zarejestrowane klucze","chatCompletions":"Zakończenia czatu","responses":"Odpowiedzi","listModels":"Lista modeli","usingCloudProxy":"Korzystanie z serwera proxy w chmurze","usingLocalServer":"Korzystanie z serwera lokalnego","machineId":"Identyfikator maszyny: {id}...","disableCloud":"Wyłącz chmurę","enableCloud":"Włącz chmurę","modelsAcrossEndpoints":"{models} modele w {endpoints} punktach końcowych","chatDesc":"Czat strumieniowy i niestreamingowy ze wszystkimi dostawcami","embeddings":"Osadzenia","embeddingsDesc":"Osadzanie tekstu dla potoków wyszukiwania i RAG","imageGeneration":"Generowanie obrazu","imageDesc":"Generuj obrazy na podstawie podpowiedzi tekstowych","rerank":"Zmień rangę","rerankDesc":"Zmień rangę dokumentów według trafności dla zapytania","audioTranscription":"Transkrypcja dźwięku","audioTranscriptionDesc":"Transkrypcja plików audio na tekst (szeptem)","textToSpeech":"Tekst na mowę","textToSpeechDesc":"Konwertuj tekst na naturalnie brzmiącą mowę","moderations":"Moderacje","moderationsDesc":"Moderowanie treści i klasyfikacja bezpieczeństwa","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"Główne API","categoryMedia":"Media i Multi-Modal","categoryUtility":"Narzędzia i Zarządzanie","enableCloudTitle":"Włącz serwer proxy w chmurze","whatYouGet":"Co otrzymasz","cloudBenefitAccess":"Uzyskaj dostęp do swojego API z dowolnego miejsca na świecie","cloudBenefitShare":"Z łatwością udostępniaj punkt końcowy swojemu zespołowi","cloudBenefitPorts":"Nie ma potrzeby otwierania portów ani konfigurowania zapory ogniowej","cloudBenefitEdge":"Szybka globalna sieć brzegowa","cloudSessionNote":"Cloud będzie przechowywać Twoją sesję uwierzytelniania przez 1 dzień. Jeśli nie zostanie użyty, zostanie automatycznie usunięty.","cloudUnstableNote":"Chmura jest obecnie niestabilna z Claude Code OAuth w niektórych przypadkach.","cloudConnected":"Serwer proxy chmury podłączony!","connectingToCloud":"Łączę z chmurą...","verifyingConnection":"Weryfikacja połączenia...","connecting":"Łączenie...","verifying":"Weryfikuję...","connected":"Połączono!","disableCloudTitle":"Wyłącz serwer proxy w chmurze","disableWarning":"Wszystkie sesje autoryzacji zostaną usunięte z chmury.","syncingData":"Synchronizowanie najnowszych danych...","disablingCloud":"Wyłączam chmurę...","syncing":"Synchronizowanie...","disabling":"Wyłączam...","cloudConnectedVerified":"Cloud Proxy podłączony i zweryfikowany!","connectedVerificationPending":"Połączono — weryfikacja w toku","connectedVerificationPendingWithError":"Połączono — weryfikacja w toku: {error}","cloudDisabledSuccess":"Chmura została pomyślnie wyłączona","syncedSuccess":"Zsynchronizowano pomyślnie","failedDisable":"Nie udało się wyłączyć chmury","failedEnable":"Nie udało się włączyć chmury","cloudRequestTimeout":"Upłynął limit czasu żądania w chmurze","cloudRequestFailed":"Żądanie w chmurze nie powiodło się","cloudWorkerUnreachable":"Nie udało się połączyć z pracownikiem chmury. Upewnij się, że usługa w chmurze jest uruchomiona (npm run dev w /cloud).","connectionFailed":"Połączenie nie powiodło się","syncFailed":"Nie udało się zsynchronizować danych w chmurze","providerModelsTitle":"{provider} — Modele","noModelsForProvider":"Brak dostępnych modeli tego dostawcy.","chat":"Czat","embedding":"Osadzanie","image":"Obraz","custom":"niestandardowe","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected.","cloudflaredUrlNotice":"Creates a temporary Cloudflare Quick Tunnel. The URL changes after every restart."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Potwierdzić kombinację {action} „{combo}”?","switchComboFailed":"Nie udało się przełączyć stanu kombinacji.","switchComboSuccess":"Kombinacja „{combo}” została zaktualizowana.","confirmApplyProfile":"Zastosować profil odporności „{profile}”?","applyProfileFailed":"Nie udało się zastosować profilu odporności.","applyProfileSuccess":"Zastosowano profil „{profile}”.","confirmResetBreakers":"Zresetować wszystkie wyłączniki automatyczne?","resetBreakersFailed":"Nie udało się zresetować wyłączników automatycznych.","resetBreakersSuccess":"Reset wyłączników automatycznych.","processStatus":"Stan procesu","online":"W Internecie","offline":"Nieaktywny","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agent card","version":"Version","url":"URL","capabilities":"Capabilities","agentCardNotAvailable":"Agent card not available.","quickValidation":"Quick validation","quickValidationDescription":"Executes smoke calls through the live `/a2a` endpoint.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Stan systemu","description":"Monitorowanie w czasie rzeczywistym Twojej instancji OmniRoute","healthy":"Zdrowy","degraded":"Zdegradowany","down":"W dół","uptime":"Czas pracy","memory":"Pamięć","memoryRss":"Pamięć (RSS)","heap":"Kupa","cpu":"Procesor","database":"Baza danych","version":"Wersja","lastCheck":"Ostatnia kontrola","providerHealth":"Zdrowie dostawcy","systemMetrics":"Metryki systemu","tokenHealth":"Tokenowe zdrowie","refreshAll":"Odśwież wszystko","checkNow":"Sprawdź teraz","loadingHealth":"Ładowanie danych zdrowotnych...","failedToLoad":"Nie udało się załadować danych o stanie zdrowia: {error}","retry":"Spróbuj ponownie","allOperational":"Wszystkie systemy sprawne","issuesDetected":"Wykryto problemy systemowe","updatedAt":"Zaktualizowano {time}","latency":"Opóźnienie","latencyP50":"p50","latencyP95":"s. 95","latencyP99":"str. 99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Łączna liczba żądań","noDataYet":"Brak danych","promptCache":"Natychmiastowa pamięć podręczna","entries":"Wpisy","hitRate":"Współczynnik trafień","hitsMisses":"Trafienia/chybienia","signatureCache":"Pamięć podręczna podpisów","signatureDefaults":"Domyślne","signatureTool":"Narzędzie","signatureFamily":"Rodzina","signatureSession":"Sesja","recovering":"Odzyskiwanie","noCBData":"Brak dostępnych danych dotyczących wyłącznika automatycznego. Najpierw złóż kilka próśb.","providerHealthStatusAria":"Stan zdrowia dostawcy","issuesLabel":"Wykryto problemy","operational":"Operacyjny","providers":"Dostawcy","healthyCount":"{count} zdrowy","nodeVersion":"Węzeł {version}","failures":"{count} błąd","failuresPlural":"{count} niepowodzenia","lastFailure":"Ostatni","rateLimitStatus":"Stan limitu stawki","activeLimiters":"{count} aktywny ogranicznik","activeLimitersPlural":"{count} aktywne limitery","queued":"W kolejce","queuedCount":"{count} w kolejce","running":"bieganie","runningCount":"{count} działa","ok":"OK","activeLockouts":"Aktywne blokady","resetConfirm":"Zresetować wszystkie wyłączniki automatyczne do stanu prawidłowego? Spowoduje to wyczyszczenie wszystkich liczników błędów i przywrócenie wszystkich dostawców do stanu operacyjnego.","resetAllTitle":"Zresetuj wszystkie wyłączniki automatyczne do stanu prawidłowego","resetting":"Resetuję...","resetAll":"Zresetuj wszystko","until":"Do {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Skonfigurowane w panelu kontrolnym","configuredProvidersHint":"Dostawcy z poświadczeniami zapisanymi w /dashboard/providers, niezależnie od stanu środowiska wykonawczego.","activeProvidersHint":"Skonfigurowani dostawcy aktualnie obsługują żądania routingu.","monitoredProvidersHint":"Dostawcy są obecnie śledzeni przez monitory stanu wyłączników."},"limits":{"title":"Limity i kwoty","rateLimit":"Limit stawki","remaining":"Pozostało","requestsPerMinute":"Żądania/min","tokensPerMinute":"Tokeny/min","dailyLimit":"Limit dzienny"},"logs":{"title":"Dzienniki","requestLogs":"Poproś o logi","proxyLogs":"Dzienniki proxy","auditLog":"Dziennik audytu","console":"Konsola","auditLogDesc":"Działania administracyjne i zdarzenia związane z bezpieczeństwem","loading":"Ładowanie...","refresh":"Odśwież","filterByAction":"Filtruj według działania...","filterByActor":"Filtruj według aktora...","filterEntriesAria":"Filtruj wpisy dziennika audytu","filterByActionTypeAria":"Filtruj według typu akcji","filterByActorAria":"Filtruj według aktora","refreshAuditLogAria":"Odśwież dziennik audytu","tableAria":"Wpisy dziennika audytu","failedFetchAuditLog":"Nie udało się pobrać dziennika kontroli","showing":"Wyświetlanie wpisów {count} (przesunięcie {offset})","search":"Szukaj","timestamp":"Znacznik czasu","action":"Akcja","actor":"Aktor","target":"Cel","details":"Szczegóły","ipAddress":"Adres IP","notAvailable":"—","noEntries":"Nie znaleziono wpisów w dzienniku kontroli","previous":"Poprzedni","next":"Następny"},"onboarding":{"welcome":"Witamy","security":"Bezpieczeństwo","test":"Testuj","ready":"Gotowy!","setPassword":"Ustaw hasło","addProvider":"Dodaj swojego pierwszego dostawcę","getStarted":"Rozpocznij","skip":"Pomiń","skipWizard":"Całkowicie pomiń kreatora","skipPassword":"Pomiń konfigurację hasła","skipAndContinue":"Pomiń i kontynuuj","passwordLabel":"Hasło","confirmPassword":"Potwierdź hasło","enterPassword":"Wprowadź hasło","confirmPasswordPlaceholder":"Potwierdź hasło","passwordsMismatch":"Hasła nie pasują","setupComplete":"Konfiguracja ukończona!","goToDashboard":"Przejdź do Panelu →","welcomeDesc":"OmniRoute to lokalny serwer proxy API AI. Kieruje żądania do wielu dostawców AI z równoważeniem obciążenia, przełączaniem awaryjnym i śledzeniem użycia.","multiProvider":"Wielu dostawców","usageTracking":"Śledzenie użycia","apiKeyMgmt":"Zarządzanie kluczami API","securityDesc":"Ustaw hasło, aby chronić swój pulpit nawigacyjny, lub na razie pomiń.","providerDesc":"Połącz swojego pierwszego dostawcę AI. Możesz dodać więcej później.","apiKeyRequired":"Klucz API (wymagany)","customUrlOptional":"Niestandardowy adres URL (opcjonalnie)","testDesc":"Sprawdźmy, czy połączenie Twojego dostawcy działa.","runTest":"Uruchom test połączenia","testingConnection":"Testowanie połączenia...","connectionSuccessful":"Połączenie pomyślne! Twój dostawca jest gotowy.","noProviderFound":"Nie znaleziono dostawcy. Możesz dodać je później z poziomu panelu kontrolnego.","testFailed":"Test nie powiódł się, ale możesz to skonfigurować później.","couldNotTest":"Nie można teraz przetestować. Możesz przetestować z poziomu pulpitu nawigacyjnego.","doneDesc":"Wszystko gotowe! Twoja instancja OmniRoute jest skonfigurowana i gotowa do zastępowania żądań AI.","yourEndpoint":"Twój punkt końcowy:","continue":"Kontynuuj","retry":"Spróbuj ponownie","failedSetPassword":"Nie udało się ustawić hasła. Spróbuj ponownie.","failedAddProvider":"Nie udało się dodać dostawcy. Spróbuj ponownie.","connectionError":"Błąd połączenia. Spróbuj ponownie.","provider":"Dostawca"},"providers":{"title":"Dostawcy","addProvider":"Dodaj dostawcę","editProvider":"Edytuj dostawcę","deleteProvider":"Usuń dostawcę","noProviders":"Nie skonfigurowano żadnych dostawców","modelAvailability":"Dostępność modelu","accounts":"Konta","newAccount":"Nowe konto","deleteConfirm":"Czy na pewno chcesz usunąć tego dostawcę?","testing":"Testowanie...","testConnection":"Połączenie testowe","testSuccess":"Połączenie pomyślne","testFailed":"Połączenie nie powiodło się","available":"Dostępne","cooldown":"Czas odnowienia","unavailable":"Niedostępne","unknown":"Nieznany","oauthLabel":"OAuth","compatibleLabel":"Kompatybilny","chat":"Czat","responses":"Odpowiedzi","messages":"Wiadomości","oauthProviders":"Dostawcy protokołu OAuth","freeProviders":"Bezpłatni dostawcy","apiKeyProviders":"Dostawcy kluczy API","compatibleProviders":"Dostawcy obsługujący klucz API","testAll":"Przetestuj wszystko","testAllOAuth":"Przetestuj wszystkie połączenia OAuth","testAllFree":"Przetestuj wszystkie bezpłatne połączenia","testAllApiKey":"Przetestuj wszystkie połączenia klucza API","testAllCompatible":"Przetestuj wszystkie kompatybilne połączenia","connected":"{count} Połączono","errorCount":"{count} Błąd ({code})","errorCountNoCode":"{count} Błąd","noConnections":"Brak połączeń","disabled":"Niepełnosprawny","enableProvider":"Włącz dostawcę","disableProvider":"Wyłącz dostawcę","testResults":"Wyniki testu","noCompatibleYet":"Nie dodano jeszcze żadnych kompatybilnych dostawców","compatibleHint":"Użyj powyższych przycisków, aby dodać punkty końcowe kompatybilne z OpenAI lub Anthropic","addOpenAICompatible":"Dodaj kompatybilność z OpenAI","addAnthropicCompatible":"Dodaj kompatybilność antropiczną","addNewProvider":"Dodaj nowego dostawcę","backToProviders":"Powrót do dostawców","configureNewProvider":"Skonfiguruj nowego dostawcę AI do użycia z aplikacjami.","providerLabel":"Dostawca","selectProvider":"Wybierz dostawcę","selectedProvider":"Wybrany dostawca","authMethod":"Metoda uwierzytelniania","apiKeyLabel":"Klucz API","apiKeyRequired":"Wymagany jest klucz API","selectProviderRequired":"Wybierz dostawcę","enterApiKey":"Wprowadź swój klucz API","apiKeySecure":"Twój klucz API zostanie zaszyfrowany i bezpiecznie przechowywany.","oauth2Connect":"Połącz się z OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Połącz swoje konto za pomocą uwierzytelniania OAuth2.","displayName":"Nazwa wyświetlana","displayNamePlaceholder":"np. produkcyjne API, środowisko deweloperskie","displayNameHint":"Opcjonalne. Przyjazna nazwa identyfikująca tę konfigurację.","active":"Aktywny","activeDescription":"Włącz tego dostawcę do użytku w swoich aplikacjach","cancel":"Anuluj","createProvider":"Utwórz dostawcę","failedCreate":"Nie udało się utworzyć dostawcy","errorOccurred":"Wystąpił błąd. Spróbuj ponownie.","modelStatus":"Stan modelu","allModelsOperational":"Wszystkie modele sprawne","modelsWithIssues":"{count} modele z problemami","allModelsNormal":"Wszystkie modele reagują normalnie.","cooldownCleared":"Czas odnowienia usunięty dla {model}","failedClearCooldown":"Nie udało się wyczyścić czasu odnowienia","loadingAvailability":"Ładowanie dostępności modelu...","clearCooldown":"Jasne","clearing":"Czyszczenie...","until":"Do {time}","providerTestFailed":"Test dostawcy nie powiódł się","modeTest":"{mode} Test","passedCount":"{count} zaliczone","failedCount":"{count} nie powiodło się","testedCount":"{count} przetestowane","millisecondsAbbr":"{value}ms","okShort":"OK","errorShort":"BŁĄD","noActiveConnectionsInGroup":"Nie znaleziono aktywnych połączeń dla tej grupy.","allTestsPassed":"Wszystkie {total} testy zaliczone","testSummary":"{passed}/{total} zaliczone, {failed} nie powiodło się","nameLabel":"Imię","prefixLabel":"Przedrostek","baseUrlLabel":"Bazowy adres URL","apiTypeLabel":"Typ interfejsu API","prefixHint":"Wymagane. Unikalny przedrostek nazw modeli.","nameHint":"Wymagane. Przyjazna etykieta dla tego węzła.","baseUrlHint":"Wymagane. Podstawowy adres URL interfejsu API dostawcy.","anthropicPrefixPlaceholder":"AC-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Sprawdź połączenie","validating":"Sprawdzanie poprawności...","connectionValid":"Połączenie jest ważne!","connectionFailed":"Połączenie nie powiodło się. Sprawdź adres URL i klucz.","testKeyLabel":"Testuj klucz API","testKeyPlaceholder":"sk-... (tylko do sprawdzenia)","providerNotFound":"Nie znaleziono dostawcy","deleteConnectionConfirm":"Usunąć to połączenie?","failedSetAlias":"Nie udało się ustawić aliasu","failedSaveConnection":"Nie udało się zapisać połączenia","failedSaveConnectionRetry":"Nie udało się zapisać połączenia. Spróbuj ponownie.","failedRetestConnection":"Nie udało się ponownie przetestować połączenia","deleteCompatibleNodeConfirm":"Usunąć ten {type} Zgodny węzeł?","anthropicCompatibleDetails":"Szczegóły zgodności antropicznej","openaiCompatibleDetails":"Szczegóły zgodności z OpenAI","messagesApi":"Interfejs API wiadomości","responsesApi":"API odpowiedzi","chatCompletions":"Zakończenia czatu","importingModels":"Importowanie...","importFromModels":"Importuj z /modele","clearAllModels":"Wyczyść wszystkie modele","clearAllModelsConfirm":"Czy na pewno chcesz usunąć wszystkie modele dla tego dostawcy?","clearAllModelsSuccess":"Wszystkie modele wyczyszczone","clearAllModelsFailed":"Nie udało się wyczyścić modeli","addConnectionToImport":"Dodaj połączenie, aby umożliwić importowanie.","noModelsConfigured":"Nie skonfigurowano żadnych modeli","connectionCount":"{count} połączenia","fetchingModels":"Pobieram dostępne modele...","failedFetchModels":"Nie udało się pobrać modeli","noModelsFound":"Nie znaleziono żadnych modeli","importFailed":"Import nie powiódł się","noNewModelsAdded":"Nie dodano żadnych nowych modeli.","adding":"Dodawanie...","importingModelsTitle":"Importowanie modeli","copyModel":"Skopiuj model","removeModel":"Usuń model","rateLimitProtected":"Chronione","rateLimitUnprotected":"Niechroniony","enableRateLimitProtection":"Kliknij, aby włączyć ochronę limitu szybkości","disableRateLimitProtection":"Kliknij, aby wyłączyć ochronę limitu szybkości","productionKey":"Klucz produkcyjny","enterNewApiKey":"Wprowadź nowy klucz API","optional":"Opcjonalne","anthropicCompatibleName":"Kompatybilny z antropią","openaiCompatibleName":"Kompatybilny z OpenAI","failedImportModels":"Nie udało się zaimportować modeli","noModelsReturnedFromEndpoint":"Z punktu końcowego /models nie zwrócono żadnych modeli.","importingModelsProgress":"Importowanie {current} z {total} modeli...","foundModelsStartingImport":"Znaleziono {count} modeli. Rozpoczynam importowanie...","importingModelById":"Importowanie {modelId}...","importSuccessCount":"Pomyślnie zaimportowano {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Nie dodano żadnych nowych modeli (wszystkie już istnieją).","importDoneCount":"✓ Gotowe! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Wystąpił nieoczekiwany błąd","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"wiadomości","responsesPath":"odpowiedzi","chatCompletionsPath":"czat/uzupełnienia","add":"Dodaj","edit":"Edytuj","delete":"Usuń","anthropic":"Antropiczny","openai":"OpenAI","singleConnectionPerCompatible":"Dozwolone jest tylko jedno połączenie na kompatybilny węzeł. Dodaj kolejny węzeł, jeśli potrzebujesz więcej połączeń.","connections":"Połączenia","providerProxyTitleConfigured":"Serwer proxy dostawcy: {host}","configured":"skonfigurowany","providerProxyConfigureHint":"Skonfiguruj serwer proxy dla wszystkich połączeń tego dostawcy","providerProxy":"Pełnomocnik dostawcy","noConnectionsYet":"Nie ma jeszcze żadnych połączeń","addFirstConnectionHint":"Aby rozpocząć, dodaj swoje pierwsze połączenie","addConnection":"Dodaj połączenie","availableModels":"Dostępne modele","pageAutoRefresh":"Strona odświeży się automatycznie...","statusDisabled":"wyłączone","statusConnected":"podłączony","statusRuntimeIssue":"problem z czasem wykonania","statusAuthFailed":"autoryzacja nie powiodła się","statusRateLimited":"stawka ograniczona","statusNetworkIssue":"problem z siecią","statusTestUnsupported":"test nieobsługiwany","statusUnavailable":"niedostępne","statusFailed":"nie powiodło się","statusError":"błąd","oauthAccount":"Konto OAuth","errorTypeRuntime":"Lokalny czas wykonania","errorTypeUpstreamAuth":"Autoryzacja nadrzędna","errorTypeMissingCredential":"Brakujące poświadczenie","errorTypeRefreshFailed":"Odświeżanie nie powiodło się","errorTypeTokenExpired":"Token wygasł","errorTypeRateLimited":"Cena ograniczona","errorTypeUpstreamUnavailable":"Upstream niedostępny","errorTypeNetworkError":"Błąd sieci","errorTypeTestUnsupported":"Test nieobsługiwany","errorTypeUpstreamError":"Błąd w górę","proxySourceGlobal":"Globalny","proxySourceProvider":"Dostawca","proxySourceKey":"Klucz","proxyConfiguredBySource":"Pełnomocnik ({source}): {host}","autoPriority":"Automatycznie: {priority}","proxy":"Pełnomocnik","retestAuthentication":"Przetestuj ponownie uwierzytelnianie","retest":"Przetestuj ponownie","disableConnection":"Wyłącz połączenie","enableConnection":"Włącz połączenie","reauthenticateConnection":"Ponownie uwierzytelnij to połączenie","proxyConfig":"Konfiguracja proxy","aliasExistsAlert":"Alias „{alias}” już istnieje. Użyj innego modelu lub edytuj istniejący alias.","openRouterAnyModelHint":"OpenRouter obsługuje każdy model. Dodawaj modele i twórz aliasy, aby uzyskać szybki dostęp.","modelIdFromOpenRouter":"Identyfikator modelu (z OpenRouter)","openRouterModelPlaceholder":"antropiczny/claude-3-opus","customModels":"Modele niestandardowe","customModelsHint":"Dodaj identyfikatory modeli, których nie ma na liście domyślnej. Będą one dostępne do routingu.","modelId":"Identyfikator modelu","customModelPlaceholder":"np. gpt-4.5-turbo","loading":"Ładowanie...","removeCustomModel":"Usuń model niestandardowy","noCustomModels":"Nie dodano jeszcze żadnych modeli niestandardowych.","allSuggestedAliasesExist":"Wszystkie sugerowane aliasy już istnieją. Wybierz inny model lub usuń sprzeczne aliasy.","failedSaveCustomModel":"Nie udało się zapisać modelu niestandardowego","modelAddedSuccess":"Model {modelId} został pomyślnie dodany","failedAddModelTryAgain":"Nie udało się dodać modelu. Spróbuj ponownie.","failedSaveImportedModel":"Nie udało się zapisać zaimportowanego modelu w niestandardowej bazie danych","failedImportModelsTryAgain":"Nie udało się zaimportować modeli. Spróbuj ponownie.","failedRemoveModelFromDatabase":"Nie udało się usunąć modelu z bazy danych","modelRemovedSuccess":"Model został pomyślnie usunięty","failedDeleteModelTryAgain":"Nie udało się usunąć modelu. Spróbuj ponownie.","compatibleModelsDescription":"Dodaj ręcznie modele kompatybilne z {type} lub zaimportuj je z punktu końcowego /models.","anthropicCompatibleModelPlaceholder":"klauzula-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Weryfikacja klucza API nie powiodła się. Sprawdź swój klucz i spróbuj ponownie.","addProviderApiKeyTitle":"Dodaj klucz API {provider}","checking":"Sprawdzam...","check":"Sprawdź","valid":"Ważne","invalid":"Nieprawidłowe","creating":"Tworzenie...","validationChecksAnthropicCompatible":"Walidacja sprawdza {provider} poprzez weryfikację klucza API.","validationChecksOpenAiCompatible":"Walidacja sprawdza {provider} poprzez /models na podstawowym adresie URL.","priorityLabel":"Priorytet","saving":"Zapisywanie...","save":"Zapisz","editConnection":"Edytuj połączenie","accountName":"Nazwa konta","email":"E-mail","healthCheckMinutes":"Kontrola stanu (min)","healthCheckHint":"Proaktywny interwał odświeżania tokenu. 0 = wyłączone.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Nie udało się przetestować połączenia","failed":"Nie udało się","leaveBlankKeepCurrentApiKey":"Pozostaw puste, aby zachować bieżący klucz API.","editCompatibleTitle":"Edytuj {type} Kompatybilny","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"Klucz API (do sprawdzenia)","compatibleProdPlaceholder":"{type} Kompatybilny (Prod)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Automatyczna synchronizacja","autoSyncTooltip":"Automatycznie odświeża listę modeli co 24 godziny (konfigurowalne przez MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Automatyczna synchronizacja włączona — modele będą okresowo odświeżane","autoSyncDisabled":"Automatyczna synchronizacja wyłączona","autoSyncToggleFailed":"Nie udało się przełączyć automatycznej synchronizacji","allModelsAlreadyImported":"Wszystkie modele są już zaimportowane","noNewModelsToImport":"Brak nowych modeli do zaimportowania — wszystkie modele są już w rejestrze lub na liście modeli niestandardowych","skippingExistingModels":"Pomijanie {count} istniejących modeli"},"settings":{"title":"Ustawienia","general":"Generał","security":"Bezpieczeństwo","appearance":"Wygląd","routing":"Trasowanie","cache":"Pamięć podręczna","resilience":"Odporność","systemPrompt":"Monit systemowy","thinkingBudget":"Myślący budżet","proxy":"Pełnomocnik","pricing":"Ceny","storage":"Przechowywanie","policies":"Zasady","ipFilter":"Filtr IP","comboDefaults":"Domyślne ustawienia kombinacji","fallbackChains":"Łańcuchy rezerwowe","changePassword":"Zmień hasło","enablePassword":"Włącz hasło","darkMode":"Tryb ciemny","lightMode":"Tryb światła","systemTheme":"Temat systemu","enableCache":"Włącz pamięć podręczną","cacheTTL":"Pamięć podręczna TTL","maxCacheSize":"Maksymalny rozmiar pamięci podręcznej","clearCache":"Wyczyść pamięć podręczną","cacheHits":"Trafienia w pamięci podręcznej","cacheMisses":"Brak pamięci podręcznej","hitRate":"Współczynnik trafień","cacheEntries":"Wpisy w pamięci podręcznej","circuitBreaker":"Wyłącznik automatyczny","retryPolicy":"Zasady ponawiania prób","maxRetries":"Maksymalna liczba ponownych prób","retryDelay":"Opóźnienie ponownej próby","timeoutMs":"Limit czasu (ms)","enableSystemPrompt":"Włącz monit systemowy","systemPromptText":"Tekst monitu systemowego","enableThinking":"Włącz myślenie","maxThinkingTokens":"Żetony Max Thinking","enableProxy":"Włącz serwer proxy","proxyUrl":"Adres URL serwera proxy","pricingRates":"Format stawek cenowych","currentPricing":"Aktualny przegląd cen","loadingPricing":"Ładowanie danych cenowych...","noPricing":"Brak danych o cenach","input":"Wejście","output":"Wyjście","cached":"Buforowane","reasoning":"Rozumowanie","cacheCreation":"Tworzenie pamięci podręcznej","customPricing":"Ceny niestandardowe","databaseSize":"Rozmiar bazy danych","backupDb":"Kopia zapasowa bazy danych","restoreDb":"Przywróć bazę danych","exportData":"Eksportuj dane","importData":"Importuj dane","clearData":"Wyczyść wszystkie dane","clearDataConfirm":"Spowoduje to trwałe usunięcie wszystkich danych. Czy jesteś pewien?","enableRequestLogs":"Włącz dzienniki żądań","logRetention":"Przechowywanie dziennika","ipWhitelist":"Biała lista adresów IP","ipBlacklist":"Czarna lista adresów IP","addIP":"Dodaj adres IP","savedSuccessfully":"Ustawienia zostały zapisane pomyślnie","ai":"sztuczna inteligencja","advanced":"Zaawansowane","localMode":"Tryb lokalny — wszystkie dane przechowywane na Twoim komputerze","settingsSectionsAria":"Sekcje ustawień","switchThemes":"Przełączaj między jasnymi i ciemnymi motywami","themeSelectionAria":"Wybór tematu","themeLight":"Światło","themeDark":"Ciemny","themeSystem":"Systemu","hideHealthLogs":"Ukryj dzienniki kontroli stanu","hideHealthLogsDesc":"Gdy opcja jest włączona, pomiń komunikaty [HealthCheck] w konsoli serwera","themeAccent":"Kolor motywu","themeAccentDesc":"Wybierz gotowy kolor lub utwórz własny motyw z jednego koloru","themeCreate":"Utwórz motyw","themeCustom":"Motyw niestandardowy","themeBlue":"Niebieski","themeRed":"Czerwony","themeGreen":"Zielony","themeViolet":"Fioletowy","themeOrange":"Pomarańczowy","themeCyan":"Cyjan","promptCache":"Natychmiastowa pamięć podręczna","flushCache":"Opróżnij pamięć podręczną","flushing":"Płukanie…","size":"Rozmiar","hits":"Hity","evictions":"Eksmisje","loadingCacheStats":"Ładowanie statystyk pamięci podręcznej…","globalProxy":"Globalny pełnomocnik","globalProxyDesc":"Skonfiguruj globalny wychodzący serwer proxy dla wszystkich wywołań API. Poszczególni dostawcy, kombinacje i klucze mogą to zastąpić.","noGlobalProxy":"Nie skonfigurowano globalnego serwera proxy","globalLabel":"Globalny","configure":"Skonfiguruj","globalSystemPrompt":"Monit systemu globalnego","systemPromptDesc":"Wstrzykiwany do wszystkich żądań na poziomie serwera proxy","saved":"Zapisano","systemPromptPlaceholder":"Wprowadź monit systemowy, aby wprowadzić do wszystkich żądań...","systemPromptHint":"Ten monit jest dołączany do komunikatu systemowego każdego żądania. Używaj w przypadku instrukcji globalnych, wskazówek dotyczących bezpieczeństwa lub reguł formatowania odpowiedzi.","chars":"{count} znaków","thinkingBudgetTitle":"Myślący budżet","thinkingBudgetDesc":"Kontroluj użycie tokenu wnioskowania AI we wszystkich żądaniach","passthrough":"Przejście","passthroughDesc":"Żadnych zmian – klient kontroluje myślenie o budżecie","auto":"Automat","autoDesc":"Pozbądź się całej konfiguracji myślenia — pozwól dostawcy zdecydować","custom":"Niestandardowe","customDesc":"Ustaw stały budżet tokenów dla wszystkich żądań","adaptive":"Adaptacyjny","adaptiveDesc":"Skaluj budżet w oparciu o złożoność żądania","effortNone":"Brak (0 tokenów)","effortLow":"Niski (1 tys. tokenów)","effortMedium":"Średni (10 tys. tokenów)","effortHigh":"Wysoki (128 tys. tokenów)","tokenBudget":"Budżet tokenowy","tokens":"żetony","baseEffortLevel":"Podstawowy poziom wysiłku","adaptiveHint":"Tryb adaptacyjny skaluje się od tego poziomu podstawowego w oparciu o liczbę komunikatów, użycie narzędzia i długość podpowiedzi.","requireLogin":"Wymagaj logowania","requireLoginDesc":"Po włączeniu pulpit nawigacyjny wymaga hasła. Gdy WYŁ., dostęp bez logowania.","currentPassword":"Aktualne hasło","enterCurrentPassword":"Wprowadź aktualne hasło","newPassword":"Nowe hasło","enterNewPassword":"Wprowadź nowe hasło","confirmPassword":"Potwierdź nowe hasło","confirmPasswordPlaceholder":"Potwierdź nowe hasło","passwordsNoMatch":"Hasła nie pasują","passwordUpdated":"Hasło zostało pomyślnie zaktualizowane","failedUpdatePassword":"Nie udało się zaktualizować hasła","errorOccurred":"Wystąpił błąd","updatePassword":"Zaktualizuj hasło","setPassword":"Ustaw hasło","apiEndpointProtection":"Ochrona punktów końcowych API","requireAuthModels":"Wymagaj klucza API dla /models","requireAuthModelsDesc":"Po włączeniu punkt końcowy /v1/models zwraca 404 dla nieuwierzytelnionych żądań. Zapobiega odkrywaniu modelu przez nieautoryzowanych użytkowników.","blockedProviders":"Zablokowani dostawcy","blockedProvidersDesc":"Ukryj określonych dostawców w odpowiedzi /v1/models. Zablokowani dostawcy nie będą wyświetlani na listach modeli.","providersBlocked":"{count} dostawcy zablokowani w /models","blockProviderTitle":"Zablokuj {provider}","unblockProviderTitle":"Odblokuj {provider}","routingStrategy":"Strategia routingu","fillFirst":"Najpierw wypełnij","fillFirstDesc":"Korzystaj z kont w kolejności priorytetów","roundRobin":"Okrągły Robin","roundRobinDesc":"Przeglądaj wszystkie konta","p2c":"P2C","p2cDesc":"Wybierz 2 losowo i użyj zdrowszego","random":"Losowe","randomDesc":"Losowe konto na każde żądanie","leastUsed":"Najrzadziej używany","leastUsedDesc":"Wybierz ostatnio używane konto","costOpt":"Opcja kosztowa","costOptDesc":"Preferuj najtańsze dostępne konto","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Lepki limit","stickyLimitDesc":"Połączenia na konto przed zmianą","modelAliases":"Aliasy modeli","modelAliasesTitle":"Aliasy modeli","modelAliasesDesc":"Wzorce wieloznaczne do zmiany nazw modeli • Użyj * i ?","addCustomAlias":"Dodaj niestandardowy alias","deprecatedModelId":"Przestarzały ID modelu","newModelId":"Nowy ID modelu","customAliases":"Niestandardowe aliasy","builtInAliases":"Wbudowane aliasy","backgroundDegradationTitle":"Degradacja zadań w tle","backgroundDegradationDesc":"Automatycznie wykrywa zadania w tle (tytuły, streszczenia) i kieruje do tańszych modeli","enableDegradation":"Włącz degradację zadań w tle","enableDegradationHint":"Gdy włączone, zadania w tle, takie jak generowanie tytułów i podsumowań, są automatycznie kierowane do tańszych modeli","tasksDetected":"Wykryte zadania","degradationMap":"Mapa degradacji modeli","premiumModel":"Model premium","cheapModel":"Tani model","detectionPatterns":"Wzorce wykrywania","newPattern":"np. \\"wygeneruj tytuł\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Wzór","targetModel":"Model docelowy","add":"+ Dodaj","session":"Sesja","sessionDetailsAria":"Szczegóły sesji","status":"Stan","authenticated":"Uwierzytelnione","guest":"Gość","loginTime":"Czas logowania","sessionAge":"Wiek sesji","browser":"Przeglądarka","clearLocalData":"Wyczyść dane lokalne","logout":"Wyloguj się","clearLocalDataConfirm":"Wyczyścić wszystkie dane lokalne? Spowoduje to zresetowanie Twoich preferencji.","unknown":"Nieznany","systemActor":"systemu","ipAccessControl":"Kontrola dostępu IP","ipAccessControlDesc":"Blokuj lub zezwalaj na określone adresy IP","ipModeDisabled":"Niepełnosprawny","ipModeBlacklist":"Czarna lista","ipModeWhitelist":"Biała lista","ipModeWhitelistPriority":"Priorytet WL","addIpAddress":"Dodaj adres IP","ipAddressPlaceholder":"192.168.1.0/24 lub 10.0.*.*","block":"+ Blok","allow":"+ Zezwól","blocked":"Zablokowano ({count})","allowed":"Dozwolone ({count})","temporaryBans":"Tymczasowe bany ({count})","minLeft":"Pozostało {min}m","auditLog":"Dziennik audytu","searchAuditLogs":"Przeszukaj dzienniki kontrolne...","failedLoadAuditLog":"Nie udało się załadować dziennika kontroli","noAuditEvents":"Nie znaleziono żadnych zdarzeń kontrolnych","action":"Akcja","actor":"Aktor","details":"Szczegóły","time":"Czas","fallbackChainsTitle":"Łańcuchy rezerwowe","fallbackChainsDesc":"Zdefiniuj kolejność zastępczą dostawcy dla każdego modelu","addChain":"+ Dodaj łańcuch","modelName":"Nazwa modelu","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Dostawcy (oddzieleni przecinkami, w kolejności priorytetów)","providersCommaSeparatedPlaceholder":"antropiczny, openai, bliźnięta","createChain":"Utwórz łańcuch","noFallbackChains":"Żadnych łańcuchów awaryjnych","noFallbackChainsDesc":"Utwórz łańcuch, aby zdefiniować kolejność zastępczą dostawcy dla modelu.","loadingFallbackChains":"Ładuję łańcuchy zastępcze...","deleteChainConfirm":"Usunąć łańcuch zastępczy dla „{model}”?","chainCreated":"Łańcuch stworzony dla {model}","chainDeleted":"Łańcuch usunięty dla {model}","failedCreateChain":"Nie udało się utworzyć łańcucha","failedDeleteChain":"Nie udało się usunąć łańcucha","deleteChain":"Usuń łańcuch","fillModelAndProviders":"Podaj nazwę modelu i dostawców","addAtLeastOneProvider":"Dodaj co najmniej jednego dostawcę","comboDefaultsTitle":"Domyślne ustawienia kombinacji","globalComboConfig":"Globalna konfiguracja combo","defaultStrategy":"Domyślna strategia","defaultStrategyDesc":"Stosowane do nowych kombinacji bez wyraźnej strategii","comboStrategyAria":"Strategia kombinacji","priority":"Priorytet","weighted":"Ważona","maxRetriesLabel":"Maksymalna liczba ponownych prób","retryDelayLabel":"Opóźnienie ponownej próby (ms)","timeoutLabel":"Limit czasu (ms)","healthCheck":"Kontrola stanu zdrowia","healthCheckDesc":"Wstępnie sprawdź dostępność dostawcy","trackMetrics":"Śledź metryki","trackMetricsDesc":"Rejestruj metryki żądań kombinacji","providerOverrides":"Zastąpienia dostawcy","providerOverridesDesc":"Zastąp limit czasu i liczbę ponownych prób na dostawcę. Ustawienia dostawcy zastępują globalne ustawienia domyślne.","providerMaxRetriesAria":"{provider} maksymalna liczba ponownych prób","providerTimeoutAria":"{provider} przekroczenie limitu czasu ms","removeProviderOverrideAria":"Usuń zastąpienie {provider}","newProviderNamePlaceholder":"np. google, otwórz...","newProviderNameAria":"Nowa nazwa dostawcy","retries":"ponawia próby","ms":"pani","saveComboDefaults":"Zapisz domyślne ustawienia kombinacji","maxNestingDepth":"Maksymalna głębokość zagnieżdżenia","concurrencyPerModel":"Współbieżność/model","queueTimeout":"Limit czasu kolejki (ms)","providerProfiles":"Profile dostawców","providerProfilesDesc":"Oddzielne ustawienia odporności dla dostawców OAuth (opartych na sesji) i kluczy API (mierzonych). Dostawcy protokołu OAuth mają bardziej rygorystyczne progi ze względu na niższe limity stawek.","oauthProviders":"Dostawcy protokołu OAuth","apiKeyProviders":"Dostawcy kluczy API","transientCooldown":"Przejściowe odnowienie","rateLimitCooldown":"Czas odnowienia limitu szybkości","maxBackoffLevel":"Maksymalny poziom wycofania","cbThreshold":"Próg CB","cbResetTime":"Czas resetowania CB","rateLimiting":"Ograniczanie szybkości","rateLimitingDesc":"Dostawcy kluczy API mają automatycznie ograniczone stawki z bezpiecznymi ustawieniami domyślnymi. Limity są pobierane z nagłówków odpowiedzi i dostosowują się z czasem.","defaultSafetyNet":"Domyślna siatka bezpieczeństwa","rpm":"obr./min","minGap":"Minimalna przerwa","maxConcurrent":"Maksymalna liczba współbieżnych","activeLimiters":"Aktywne ograniczniki","noActiveLimiters":"Nie ma jeszcze aktywnych ograniczników szybkości.","reservoir":"Zbiornik","running":"Bieganie","queued":"W kolejce","circuitBreakers":"Wyłączniki automatyczne","breakerStateClosed":"Zamknięte","breakerStateOpen":"Otwórz","breakerStateHalfOpen":"Półotwarte","tripped":"{count} potknął się","healthy":"{count} zdrowy","resetAll":"Zresetuj wszystko","noCircuitBreakers":"Żadne wyłączniki automatyczne nie są jeszcze aktywne. Są tworzone automatycznie, gdy żądania przepływają przez potok kombi.","failures":"{count} awarie","policiesLocked":"Zasady i zablokowane identyfikatory","allOperational":"Wszystkie systemy działają — brak blokad i zadziałań wyłączników","loadingPolicies":"Ładowanie zasad...","lockedIdentifiers":"Zablokowane identyfikatory","unlockedIdentifier":"Odblokowano: {identifier}","sinceDate":"od {date}","forceUnlock":"Wymuś odblokowanie","unlocking":"Odblokowywanie...","failedUnlock":"Nie udało się odblokować","failedLoadWithStatus":"Nie udało się załadować: {status}","failedLoadResilience":"Nie udało się wczytać stanu odporności","saveFailed":"Zapisywanie nie powiodło się","resetFailed":"Resetowanie nie powiodło się","loadingResilience":"Ładowanie stanu odporności...","retry":"Spróbuj ponownie","systemStorage":"System i pamięć masowa","allDataLocal":"Wszystkie dane przechowywane lokalnie na Twoim komputerze","databasePath":"Ścieżka bazy danych","exportDatabase":"Eksportuj bazę danych","exportAll":"Eksportuj wszystko (.tar.gz)","importDatabase":"Importuj bazę danych","confirmDbImport":"Potwierdź import bazy danych","confirmDbImportDesc":"Spowoduje to zastąpienie wszystkich bieżących danych treścią z {file}. Kopia zapasowa zostanie utworzona automatycznie przed importem.","yesImport":"Tak, importuj","lastBackup":"Ostatnia kopia zapasowa","noBackupYet":"Nie ma jeszcze kopii zapasowej","backupNow":"Utwórz kopię zapasową teraz","backupRestore":"Kopia zapasowa i przywracanie","viewBackups":"Zobacz kopie zapasowe","hide":"Ukryj","backupRetentionDesc":"Migawki bazy danych są tworzone automatycznie przed przywróceniem i co 15 minut w przypadku zmiany danych. Przechowywanie: 24 godziny na dobę + 30 codziennych kopii zapasowych z inteligentną rotacją.","loadingBackups":"Ładowanie kopii zapasowych...","noBackupsYet":"Nie są jeszcze dostępne żadne kopie zapasowe. Kopie zapasowe zostaną utworzone automatycznie w przypadku zmiany danych.","backupsAvailable":"Dostępne są {count} kopie zapasowe","refresh":"Odśwież","confirm":"Potwierdzić?","yes":"Tak","no":"Nie","restore":"Przywróć","invalidFileType":"Nieprawidłowy typ pliku. Akceptowane są tylko pliki .sqlite.","exportFailed":"Eksport nie powiódł się","exportFailedWithError":"Eksport nie powiódł się: {error}","fullExportFailedWithError":"Pełny eksport nie powiódł się: {error}","backupCreated":"Utworzono kopię zapasową: {file}","restoreSuccess":"Przywrócony! {connections} połączenia, {nodes} węzły, {combos} kombinacje, {apiKeys} klucze API.","importSuccess":"Baza danych zaimportowana! {connections} połączenia, {nodes} węzły, {combos} kombinacje, {apiKeys} klucze API.","justNow":"właśnie teraz","minutesAgo":"{count}m temu","hoursAgo":"{count}h temu","daysAgo":"{count}d temu","backupReasonManual":"instrukcja","backupReasonPreRestore":"wstępne przywrócenie","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Żadnych zmian od ostatniej kopii zapasowej","backupFailed":"Tworzenie kopii zapasowej nie powiodło się","restoreFailed":"Przywracanie nie powiodło się","importFailed":"Import nie powiódł się","errorDuringRestore":"Podczas przywracania wystąpił błąd","errorDuringImport":"Wystąpił błąd podczas importu","modelPricing":"Ceny modeli","modelPricingDesc":"Konfiguruj stawki kosztów dla każdego modelu • Wszystkie stawki w tokenach $/1M","providers":"Dostawcy","registry":"Rejestr","priced":"Wyceniony","searchProvidersModels":"Wyszukaj dostawców lub modele...","showAll":"Pokaż wszystko","noProvidersMatch":"Żaden dostawca nie pasuje do Twojego wyszukiwania.","howPricingWorks":"Jak działa cena","cacheWrite":"Zapis w pamięci podręcznej","unsaved":"niezapisany","resetDefaults":"Zresetuj ustawienia domyślne","saveProvider":"Zapisz dostawcę","saving":"Zapisywanie...","model":"Modelka","models":"modele","moreProviders":"{count} więcej dostawców","withPricing":"ze skonfigurowaną ceną","policiesCircuitBreakers":"Zasady i wyłączniki automatyczne","activeIssuesDetected":"Wykryto aktywne problemy","off":"Wyłączone","resetPricingConfirm":"Zresetować wszystkie ceny {provider} do wartości domyślnych?","pricingDescInput":"Wejście: tokeny wysłane do modelu","pricingDescOutput":"Dane wyjściowe: wygenerowano tokeny","pricingDescCached":"Buforowane: ponownie wykorzystane dane wejściowe (~50% szybkości wprowadzania)","pricingDescReasoning":"Rozumowanie: żetony myślenia (wraca do Wyjścia)","pricingDescCacheWrite":"Zapis w pamięci podręcznej: tworzenie wpisów w pamięci podręcznej (powraca do opcji Wejście)","pricingDescFormula":"Koszt = (wejście × współczynnik_wejściowy) + (wyjście × współczynnik_wyjściowy) + (pamięć podręczna × szybkość_pamięci) na milion tokenów.","pricingSettingsTitle":"Ustawienia cenowe","totalModels":"Wszystkie modele","active":"Aktywny","costCalculation":"Kalkulacja kosztów","costCalculationDesc":"Koszty są obliczane na podstawie użycia tokena i stawek cenowych skonfigurowanych dla każdego modelu.","pricingFormat":"Formularz cenowy","pricingFormatDesc":"Wszystkie stawki podane są w tokenach $/1 milion (dolary na milion tokenów).","tokenTypes":"Typy tokenów","inputTokenDesc":"Standardowe tokeny zachęty","outputTokenDesc":"Żetony ukończenia/odpowiedzi","cachedTokenDesc":"Tokeny wejściowe w pamięci podręcznej (zwykle 50% szybkości wprowadzania)","reasoningTokenDesc":"Specjalne żetony rozumowania/myślenia (awaryjne tempo produkcji)","cacheCreationTokenDesc":"Tokeny używane do tworzenia wpisów w pamięci podręcznej (powrót do szybkości wprowadzania)","customPricingNote":"Możesz zastąpić domyślne ceny dla określonych modeli. Zastąpienia niestandardowe mają pierwszeństwo przed automatycznie wykrytymi cenami.","editPricing":"Edytuj ceny","viewFullDetails":"Zobacz pełne szczegóły","themeCoral":"Koral","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Zaawansowane wskazówki dotyczące tras","routingAdvancedGuideHint1":"Użyj opcji Fill First, aby uzyskać przewidywalny priorytet, Round Robin, aby zapewnić uczciwość, i P2C, aby zapewnić odporność na opóźnienia.","routingAdvancedGuideHint2":"Jeśli dostawcy różnią się jakością/kosztami, zacznij od opcji Koszt w przypadku pracy w tle i opcji Najmniej używane w celu zapewnienia zrównoważonego zużycia.","comboDefaultsGuideTitle":"Jak dostroić domyślne ustawienia kombinacji","comboDefaultsGuideHint1":"Utrzymuj niską liczbę ponownych prób w przepływach o małych opóźnieniach; zwiększaj limit czasu tylko dla zadań o długim generowaniu.","comboDefaultsGuideHint2":"Użyj zastąpienia dostawcy, gdy jeden z dostawców wymaga innego zachowania związanego z przekroczeniem limitu czasu/ponownej próby niż globalne ustawienia domyślne."},"translator":{"title":"Tłumacz","metaTitle":"Plac zabaw dla tłumaczy | OmniRoute","metaDescription":"Debuguj, testuj i wizualizuj tłumaczenia formatów API między dostawcami","playgroundTitle":"Plac zabaw dla tłumaczy","playground":"Plac zabaw","realtime":"Działalność tłumaczeniowa w czasie rzeczywistym","chatTester":"Tester czatu","testBench":"Stanowisko testowe","liveMonitor":"Monitor na żywo","modeDescriptionPlayground":"Wklej treść żądania API i zobacz, jak OmniRoute tłumaczy ją pomiędzy formatami dostawców (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Wysyłaj prawdziwe prośby o czat za pośrednictwem OmniRoute i sprawdzaj cały proces w obie strony: dane wejściowe, przetłumaczone żądanie, odpowiedź dostawcy i przetłumaczone dane wyjściowe.","modeDescriptionTestBench":"Uruchamiaj predefiniowane scenariusze i porównuj kompatybilność między dostawcami i modelami.","modeDescriptionLiveMonitor":"Oglądaj wydarzenia związane z tłumaczeniami w czasie rzeczywistym, gdy żądania przepływają przez OmniRoute.","modeDescriptionFallback":"Debuguj, testuj i wizualizuj, jak OmniRoute tłumaczy żądania API między dostawcami.","recentTranslations":"Najnowsze tłumaczenia","noTranslations":"Nie ma jeszcze żadnych tłumaczeń","source":"Źródło","target":"Cel","time":"Czas","model":"Modelka","status":"Stan","latency":"Opóźnienie","totalTranslations":"Całkowita liczba tłumaczeń","successful":"Pomyślne","errors":"Błędy","avgLatency":"Średnie opóźnienie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Na żywo — automatyczne odświeżanie","paused":"Wstrzymano","eventsAppearHint":"Zdarzenia związane z tłumaczeniem pojawiają się tutaj, gdy żądania przepływają przez OmniRoute. Aby wygenerować zdarzenia, użyj dowolnej z poniższych metod:","chatTesterTab":"Zakładka Tester czatu","testBenchTab":"Zakładka Stanowisko testowe","externalApiCalls":"Zewnętrzne wywołania API","ideCliIntegrations":"Integracje IDE/CLI","inMemoryNote":"Uwaga: Zdarzenia są przechowywane w pamięci i resetowane po ponownym uruchomieniu serwera.","ok":"OK","errorShort":"BŁĄD","formatConverter":"Konwerter formatów","formatConverterDescription":"Wklej lub wpisz treść żądania JSON. Tłumacz automatycznie wykryje format źródłowy i przekonwertuje go na format docelowy. Użyj tego, aby debugować sposób, w jaki OmniRoute tłumaczy żądania między formatami (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Wejście","output":"Wyjście","auto":"Automat","swapFormats":"Zamień formaty","translateAction":"Przetłumacz","clear":"Jasne","inputPlaceholder":"Wklej tutaj treść żądania lub wybierz szablon poniżej...","exampleTemplates":"Przykładowe szablony","exampleTemplatesHint":"— Kliknij, aby załadować","templateLoadHint":"Szablon ładuje żądanie w formacie {format}. Zmień format źródłowy, aby załadować w innym formacie.","compatibilityTester":"Tester kompatybilności","compatibilityReport":"Raport zgodności","testBenchDescription":"Uruchamiaj predefiniowane scenariusze (prosty czat, wywoływanie narzędzi itp.), aby zweryfikować tłumaczenie i zgodność dostawcy. Wybierz format źródłowy i dostawcę docelowego, a następnie uruchom wszystkie testy, aby sprawdzić procent zgodności. Użyj tego, aby dowiedzieć się, które funkcje działają u różnych dostawców.","targetProvider":"Dostawca docelowy","runAllTests":"Uruchom wszystkie testy","runTest":"Uruchom test","reRun":"Uruchom ponownie","running":"Bieganie...","passed":"minęło","failed":"nie powiodło się","passedIconLabel":"✅ Zdane","chunks":"kawałki","scenarioSimpleChat":"Prosty czat","scenarioToolCalling":"Wywołanie narzędzia","scenarioMultiTurn":"Wieloobrotowy","scenarioThinking":"Myślenie","scenarioSystemPrompt":"Monit systemowy","scenarioStreaming":"Transmisja strumieniowa","templateNames":{"simple-chat":"Prosty czat","tool-calling":"Wywołanie narzędzia","multi-turn":"Wieloobrotowy","thinking":"Myślenie","system-prompt":"Monit systemowy","streaming":"Transmisja strumieniowa"},"templateDescriptions":{"simple-chat":"Podstawowy SMS","tool-calling":"Wywołanie funkcji/narzędzia","multi-turn":"Rozmowa z historią","thinking":"Rozszerzone myślenie/rozumowanie","system-prompt":"Złożone instrukcje systemowe","streaming":"Żądanie przesyłania strumieniowego SSE"},"templatePayloads":{"simpleChat":{"system":"Jesteś pomocnym asystentem.","userGreeting":"Witam! Jak się dzisiaj masz?"},"toolCalling":{"userWeather":"Jaka jest pogoda w São Paulo?","toolDescription":"Uzyskaj aktualną pogodę dla danej lokalizacji","cityNameDescription":"Nazwa miasta"},"multiTurn":{"system":"Jesteś asystentem kodowania.","userInitial":"Napisz funkcję sortującą tablicę w Pythonie.","assistantExample":"Oto prosta funkcja sortowania:\\n\\n```pyton\\ndef sort_array(arr):\\n zwróć posortowane (arr)\\n```","userFollowUp":"Teraz posortuj w kolejności malejącej."},"thinking":{"question":"Jaka jest suma pierwszych 100 liczb pierwszych?"},"systemPrompt":{"systemInstruction":"Jesteś starszym inżynierem oprogramowania specjalizującym się w systemach rozproszonych. Odpowiadaj na pytania zwięźle, korzystając z najlepszych praktyk branżowych. W stosownych przypadkach zawsze podawaj przykłady kodu. Sformatuj swoje odpowiedzi, korzystając z przecen.","question":"Jak zaimplementować wzór wyłącznika?"},"streaming":{"prompt":"Opowiedz mi krótką historię o robocie uczącym się malować."}},"openaiCompatibleLabel":"Kompatybilny z OpenAI","anthropicCompatibleLabel":"Kompatybilny z antropią","noTemplateForFormat":"Brak szablonu dla tego formatu","translationFailed":"Tłumaczenie nie powiodło się: {error}","pipelineDebugger":"Debuger potoku","translationPipeline":"Potok tłumaczeń","pipelineVisualization":"Wizualizacja rurociągu","pipelineVisualizationHint":"Wyślij wiadomość, aby zobaczyć, jak Twoje żądanie przechodzi przez wykrywanie → tłumaczenie → połączenie z dostawcą.","chatTesterDescription":"Wysyłaj wiadomości w określonym formacie klienta i sprawdzaj każdy etap procesu tłumaczenia.","chatTesterFlow":"Żądanie klienta → Wykrywanie formatu → Średniozaawansowany OpenAI → Format dostawcy → Odpowiedź","clickStepToInspect":"Kliknij dowolny krok, aby sprawdzić dane na tym etapie.","clientFormat":"Format klienta","provider":"Dostawca","modelPlaceholder":"Wybierz lub wpisz nazwę modelu...","sendMessageToSeePipeline":"Wyślij wiadomość, aby zobaczyć proces tłumaczenia","chatMessageHintPrefix":"Twoja wiadomość zostanie sformatowana jako","chatMessageHintSuffix":"żądanie, przetłumaczone w potoku i wysłane do wybranego dostawcy.","youWithFormat":"Ty ({format})","assistant":"Asystent","typeMessage":"Wpisz wiadomość...","send":"Wyślij","clientRequest":"Żądanie klienta","clientRequestDescription":"Treść żądania, jaką wysłałby Twój klient","formatDetected":"Wykryto format","formatDetectedDescription":"OmniRoute automatycznie wykrywa format API na podstawie struktury żądania","openaiIntermediate":"Średniozaawansowany OpenAI","openaiIntermediateDescription":"Wszystkie formaty są najpierw normalizowane do formatu OpenAI (uniwersalny most)","providerFormat":"Format dostawcy","providerFormatDescription":"Format OpenAI jest tłumaczony na natywny format dostawcy","providerResponse":"Odpowiedź dostawcy","providerResponseRawDescription":"Surowa odpowiedź z interfejsu API dostawcy","providerResponseSseDescription":"Surowy strumień SSE z interfejsu API dostawcy","unexpectedError":"Wystąpił nieoczekiwany błąd","error":"Błąd","errorMessage":"Błąd: {message}","requestFailed":"Żądanie nie powiodło się","noTextExtracted":"(Nie wyodrębniono tekstu)","liveMonitorDescriptionPrefix":"Pokazuje zdarzenia związane z tłumaczeniem podczas przepływu wywołań API przez OmniRoute. Zdarzenia pochodzą z bufora w pamięci (resetują się przy ponownym uruchomieniu). Użyj","liveMonitorDescriptionSuffix":"lub zewnętrzne wywołania API w celu wygenerowania zdarzeń."},"usage":{"title":"Użycie","loggerTab":"Rejestrator","proxyTab":"Pełnomocnik","budgetManagement":"Zarządzanie budżetem","budgetSaved":"Limity budżetu zostały zapisane","budgetSaveFailed":"Nie udało się zapisać budżetu","loadingBudgetData":"Ładowanie danych budżetu...","noApiKeysTitle":"Brak kluczy API","noApiKeysDescription":"Najpierw dodaj klucze API, aby skonfigurować limity budżetu.","apiKey":"Klucz API","todaysSpend":"Dzisiejsze wydatki","thisMonth":"W tym miesiącu","setLimits":"Ustaw limity","dailyLimitUsd":"Limit dzienny (USD)","monthlyLimitUsd":"Limit miesięczny (USD)","warningThresholdPercent":"Próg ostrzegawczy (%)","dailyLimitPlaceholder":"np. 5.00","monthlyLimitPlaceholder":"np. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Zapisz limity","budgetOk":"Budżet OK — pozostało {remaining}","budgetExceeded":"Przekroczono budżet — żądania mogą zostać zablokowane","totalRequests":"Łączna liczba żądań","noDataYet":"Brak danych","latency":"Opóźnienie","latencyP50":"p50","latencyP95":"s. 95","latencyP99":"str. 99","promptCache":"Natychmiastowa pamięć podręczna","systemHealth":"Stan systemu","entries":"Wpisy","activeCount":"{count} aktywny","openCircuitBreakersDetected":"Wykryto otwarte wyłączniki automatyczne","hitRate":"Współczynnik trafień","hitsMisses":"Trafienia/chybienia","circuitBreakers":"Wyłączniki automatyczne","lockedIPs":"Zablokowane adresy IP","lockoutsAutoRefreshHint":"Blokady limitów prędkości dla poszczególnych modeli • Automatyczne odświeżanie 10 s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"Pozostało {time}","howItWorks":"Jak to działa","howItWorksSubtitle":"Dowiedz się, jak oceny weryfikują Twoje odpowiedzi LLM","define":"Zdefiniuj","defineStepDescription":"Twórz przypadki testowe z podpowiedziami wejściowymi i oczekiwanymi kryteriami wyjściowymi, korzystając ze strategii takich jak zawiera, wyrażenie regularne lub dopasowanie dokładne.","run":"Biegnij","runStepDescription":"Wykonuj przypadki testowe na punktach końcowych LLM za pośrednictwem OmniRoute. Każdy przypadek wysyłany jest jako prawdziwe żądanie API.","evaluate":"Oceń","evaluateStepDescription":"Odpowiedzi porównuje się z oczekiwanymi kryteriami. Zobacz wynik pozytywny/nieudany dla każdego przypadku ze wskaźnikami opóźnień i szczegółowymi informacjami zwrotnymi.","evalSuites":"Zestawy ewaluacyjne","evalSuitesHint":"Kliknij zestaw, aby wyświetlić przypadki testowe, a następnie uruchom, aby ocenić punkty końcowe LLM","evalsLoading":"Ładowanie pakietów eval...","noEvalSuitesFound":"Nie znaleziono apartamentów Eval","noEvalSuitesDescription":"Zestawy Eval można definiować za pomocą interfejsu API lub w kodzie. Testują wyniki modelu pod kątem oczekiwanych wyników, korzystając ze strategii takich jak zawiera, wyrażenie regularne, dopasowanie dokładne i funkcje niestandardowe.","columnCase":"Sprawa","columnStatus":"Stan","columnLatency":"Opóźnienie","columnDetails":"Szczegóły","columnModel":"Modelka","columnStrategy":"Strategia","columnExpected":"Oczekiwane","statsSuites":"Apartamenty","statsTestCases":"Przypadki testowe","statsModels":"Modele","statsCoverage":"Zasięg","statsStrategiesCount":"{count} strategie","evaluationStrategies":"Strategie ewaluacji","modelsUnderTest":"Modele w fazie testów","searchSuitesPlaceholder":"Wyszukaj apartamenty...","passSuffix":"przejść","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Uruchom Eval","runningProgress":"Uruchamiam {current}/{total}...","passRate":"wskaźnik zdawalności","summaryBreakdown":"{passed} zaliczony · {failed} nieudany · {total} łącznie","passedIconLabel":"✅ Zdane","failedIconLabel":"❌ Nie udało się","detailsContains":"Zawiera: „{term}”","detailsRegex":"Wyrażenie regularne: {pattern}","detailsExpected":"Oczekiwano: „{expected}”","noResultsYet":"Jeszcze żadnych wyników","testCasesCount":"Przypadki testowe ({count})","noTestCasesDefined":"Nie zdefiniowano przypadków testowych","runEvalHint":"Kliknij „Uruchom ocenę”, aby wykonać wszystkie przypadki w punkcie końcowym LLM. Każdy test wysyła prawdziwe żądanie poprzez OmniRoute.","notifyNoTestCases":"Dla tego pakietu nie zdefiniowano żadnych przypadków testowych","notifyAllCasesPassed":"Wszystkie {total} sprawy zaliczone ✅","notifySomeCasesFailed":"{passed}/{total} zaliczone, {failed} nie powiodło się","notifyEvalRunFailed":"Próba ewaluacyjna nie powiodła się","notifyEvalTitle":"Wartość: {name}","modelEvals":"Oceny modeli","evalsHeroDescription":"Przetestuj i zweryfikuj punkty końcowe LLM, uruchamiając predefiniowane zestawy ewaluacyjne. Każdy pakiet zawiera przypadki testowe, które wysyłają rzeczywiste podpowiedzi za pośrednictwem OmniRoute i porównują odpowiedzi z oczekiwanymi kryteriami — pomagając wykrywać regresje, porównywać modele i zapewniać jakość odpowiedzi u różnych dostawców.","qualityValidation":"Walidacja jakości","modelComparison":"Porównanie modeli","regressionDetection":"Wykrywanie regresji","latencyBenchmarks":"Testy porównawcze opóźnień","modelLockouts":"Blokady modeli","noLockouts":"Żaden model nie jest obecnie zablokowany","activeSessions":"Aktywne sesje","noSessions":"Brak aktywnych sesji","sessionsHint":"Sesje pojawiają się, gdy żądania przepływają przez serwer proxy","sessionsTrackedHint":"Śledzone poprzez odcisk palca na żądanie • Automatyczne odświeżanie 5 s","session":"Sesja","age":"Wiek","requests":"Żądania","connection":"Połączenie","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}h","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limity dostawcy","noProviders":"Brak podłączonych dostawców","connectProvidersForQuota":"Połącz się z dostawcami za pomocą protokołu OAuth, aby śledzić limity przydziału interfejsu API i wykorzystanie.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(odfiltrowano z {count})","autoRefresh":"Automatyczne odświeżanie","refreshAll":"Odśwież wszystko","loadingQuotas":"Ładowanie...","account":"Konto","modelQuotas":"Kwoty modelowe","lastUsed":"Ostatnio używany","actions":"Działania","refreshQuota":"Odśwież limit","today":"Dzisiaj","tomorrow":"Jutro","dayTimeFormat":"{day}, {time}","inDuration":"w {duration}","notApplicable":"Nie dotyczy","rawPlanWithValue":"Surowy plan: {plan}","noPlanFromProvider":"Brak planu od dostawcy","noQuotaData":"Brak danych dotyczących kwot","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Brak dostępnych danych dotyczących kwot","noAccountsForTierFilter":"Nie znaleziono kont dla filtra poziomów","tierAll":"Wszystko","tierEnterprise":"Przedsiębiorstwo","tierTeam":"Zespół","tierBusiness":"Biznes","tierUltra":"Ultra","tierPro":"Zawodowiec","tierPlus":"Dodatkowo","tierFree":"Bezpłatny","tierUnknown":"Nieznany"},"modals":{"waitingAuth":"Oczekiwanie na autoryzację","verificationUrl":"Adres URL weryfikacji","yourCode":"Twój kod","remoteAccess":"Zdalny dostęp:","connectedSuccess":"Połączono pomyślnie!","connectionFailed":"Połączenie nie powiodło się","chooseAuthMethod":"Wybierz metodę uwierzytelniania:","awsBuilderId":"Identyfikator konstruktora AWS","awsIamIdentity":"Centrum tożsamości AWS IAM","googleAccount":"Konto Google","githubAccount":"Konto GitHuba","importToken":"Importuj token","pasteToken":"Wklej token odświeżania z Kiro IDE.","awsRegion":"Regionu AWS","autoDetecting":"Automatyczne wykrywanie tokenów...","readingFromCache":"Odczyt z pamięci podręcznej AWS SSO","readingFromCursor":"Odczyt z bazy danych Cursor IDE","initializing":"Inicjowanie...","pricingConfig":"Konfiguracja cen","loadingPricing":"Ładowanie danych cenowych...","pricingRatesFormat":"Format stawek cenowych","noPricingData":"Brak danych o cenach","noModelsFound":"Nie znaleziono żadnych modeli"},"loggers":{"allProviders":"Wszyscy dostawcy","allModels":"Wszystkie modele","allAccounts":"Wszystkie konta","allApiKeys":"Wszystkie klucze API","allTypes":"Wszystkie typy","allLevels":"Wszystkie poziomy","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Ładowanie dzienników...","loadingProxyLogs":"Ładowanie dzienników proxy...","noLogEntries":"Nie znaleziono wpisów w dzienniku","noPayloadData":"Brak danych ładunku dla tego wpisu dziennika.","proxyEvent":"Wydarzenie proxy","proxy":"Pełnomocnik","level":"Poziom","directNative":"Bezpośrednie (natywne)","combo":"Kombinacja","inputTokens":"ja:","outputTokens":"O:"},"stats":{"usageOverview":"Przegląd użycia","outputTokens":"Tokeny wyjściowe","totalCost":"Całkowity koszt","usageByModel":"Użycie według modelu","usageByAccount":"Użycie według konta","failedToLoad":"Nie udało się załadować statystyk użytkowania.","tokenHealth":"Tokenowe zdrowie","totalOAuth":"Całkowite uwierzytelnienie OAuth","healthy":"Zdrowy","warning":"Ostrzeżenie","errored":"Błąd","lastCheck":"Ostatnia kontrola","noData":"Brak danych","share":"Udostępnij","unableToLoad":"Nie można załadować wskaźników systemowych","product":"Produkt","resources":"Zasoby","company":"Firma"},"auth":{"welcome":"Witamy","signIn":"Zaloguj się","enterPassword":"Wprowadź hasło, aby kontynuować","password":"Hasło","unifiedProxy":"Ujednolicony serwer proxy API AI","unifiedAiApiProxy":"Ujednolicony serwer proxy API AI","unifiedAiApiProxyDesc":"Kieruj żądania do wielu dostawców AI za pośrednictwem jednego punktu końcowego. Wbudowane równoważenie obciążenia, przełączanie awaryjne i śledzenie użycia.","passwordNotEnabled":"Ochrona hasłem nie jest włączona","loading":"Ładowanie...","invalidPassword":"Nieprawidłowe hasło","errorOccurredRetry":"Wystąpił błąd. Spróbuj ponownie.","configureInstance":"Skonfigurujmy Twoją instancję OmniRoute","runOnboardingWizard":"Uruchom kreatora wdrażania, aby ustawić hasło i połączyć się z pierwszym dostawcą AI.","startOnboarding":"Rozpocznij wdrażanie","secureYourInstance":"Zabezpiecz swoją instancję","setPasswordDescription":"Ustaw hasło, aby chronić swój pulpit nawigacyjny i zabezpieczyć punkty końcowe API przed nieautoryzowanym dostępem.","configurePassword":"Skonfiguruj hasło","continue":"Kontynuuj","windowWillClose":"To okno zamknie się automatycznie...","closeTabNow":"Możesz już zamknąć tę zakładkę.","copyUrlManual":"Skopiuj adres URL z paska adresu i wklej go w aplikacji.","accessDeniedDescription":"Nie masz uprawnień dostępu do tego zasobu. Sprawdź swój klucz API lub skontaktuj się z administratorem.","goToDashboard":"Przejdź do Panelu","featureMultiProviderTitle":"Wielu dostawców","featureMultiProviderDesc":"OpenAI, Anthropic, Google i nie tylko","featureLoadBalancingTitle":"Równoważenie obciążenia","featureLoadBalancingDesc":"Rozpowszechniaj żądania inteligentnie","featureUsageTrackingTitle":"Śledzenie użycia","featureUsageTrackingDesc":"Monitoruj koszty i tokeny","resetPassword":"Zresetuj hasło","resetDescription":"Wybierz metodę odzyskania dostępu do pulpitu nawigacyjnego","stopServer":"Zatrzymaj serwer OmniRoute","processing":"Przetwarzanie...","pleaseWait":"Poczekaj, aż zakończymy autoryzację.","authSuccess":"Autoryzacja pomyślna!","copyUrl":"Skopiuj ten adres URL","accessDenied":"Odmowa dostępu","methodCliTitle":"Metoda 1: Reset CLI","methodCliDescription":"Uruchom następującą komendę na serwerze, na którym działa OmniRoute:","methodCliHint":"Spowoduje to wyświetlenie monitu o ustawienie nowego hasła. Najpierw należy zatrzymać serwer.","methodManualTitle":"Metoda 2: Reset ręczny","methodManualDescription":"Usuń hasło z bazy danych i przy uruchomieniu ustaw nowe:","setPasswordInYour":"Ustaw nowe hasło w swoim","fileLabelSuffix":"plik:","newPasswordPlaceholder":"twoje_nowe_hasło","deleteSettingsFile":"Usuń","orRemovePasswordHashField":"lub usuń pole hasłoHash","restartServerWithNewPassword":"Zrestartuj serwer - będzie używał nowego hasła","backToLogin":"Powrót do logowania","forgotPassword":"Zapomniałeś hasła?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","waitingForAuthorization":"Waiting for authorization...","waitingForGoogleAuthorization":"Waiting for Google authorization...","waitingForOpenAIAuthorization":"Waiting for OpenAI authorization...","waitingForAntigravityAuthorization":"Waiting for Antigravity authorization...","waitingForIFlowAuthorization":"Waiting for iFlow authorization...","exchangingCodeForTokens":"Exchanging code for tokens...","Authorization":"Autoryzacja","Content-Disposition":"Dyspozycja treści"},"landing":{"brandName":"OmniRoute","navigateHome":"Przejdź do domu","toggleMenu":"Przełącz menu","featuresLink":"Funkcje","docsLink":"Dokumenty","github":"GitHub","versionLive":"wersja 1.0 jest już dostępna","oneEndpoint":"Jeden punkt końcowy dla","allProviders":"Wszyscy dostawcy sztucznej inteligencji","heroDescription":"Serwer proxy punktu końcowego AI z panelem WWW — port JavaScript CLIProxyAPI. Bezproblemowo współpracuje z Claude Code, OpenAI Codex, Cline, RooCode i innymi narzędziami CLI.","getStarted":"Rozpocznij","viewOnGithub":"Zobacz na GitHubie","powerfulFeatures":"Potężne funkcje","featuresSubtitle":"Wszystko, czego potrzebujesz do zarządzania infrastrukturą AI w jednym miejscu, stworzonym z myślą o skali.","featureUnifiedEndpointTitle":"Ujednolicony punkt końcowy","featureUnifiedEndpointDesc":"Uzyskaj dostęp do wszystkich dostawców za pośrednictwem jednego standardowego adresu URL interfejsu API.","featureEasySetupTitle":"Łatwa konfiguracja","featureEasySetupDesc":"Rozpocznij pracę w ciągu kilku minut za pomocą polecenia npx.","featureModelFallbackTitle":"Model zastępczy","featureModelFallbackDesc":"Automatycznie przełączaj dostawców w przypadku awarii lub dużych opóźnień.","featureUsageTrackingTitle":"Śledzenie użycia","featureUsageTrackingDesc":"Szczegółowa analiza i monitorowanie kosztów we wszystkich modelach.","featureOAuthApiKeysTitle":"Klucze OAuth i API","featureOAuthApiKeysDesc":"Bezpiecznie zarządzaj danymi uwierzytelniającymi w jednym skarbcu.","featureCloudSyncTitle":"Synchronizacja w chmurze","featureCloudSyncDesc":"Błyskawicznie synchronizuj konfiguracje na różnych urządzeniach.","featureCliSupportTitle":"Wsparcie CLI","featureCliSupportDesc":"Współpracuje z Claude Code, Codex, Cline, Cursor i nie tylko.","featureDashboardTitle":"Pulpit nawigacyjny","featureDashboardDesc":"Wizualny pulpit nawigacyjny do analizy ruchu w czasie rzeczywistym.","howItWorks":"Jak działa OmniRoute","howItWorksDescription":"Dane płynnie przepływają z Twojej aplikacji przez naszą inteligentną warstwę routingu do najlepszego dostawcy dla danego zadania.","howItWorksStep1Title":"1. CLI i SDK","howItWorksStep1Description":"Twoje żądania zaczynają się od ulubionych narzędzi lub naszego ujednoliconego pakietu SDK. Po prostu zmień podstawowy adres URL.","howItWorksStep2Title":"2. Koncentrator OmniRoute","howItWorksStep2Description":"Nasz silnik analizuje monity, sprawdza stan dostawcy i trasy pod kątem najniższych opóźnień lub kosztów.","howItWorksStep3Title":"3. Dostawcy sztucznej inteligencji","howItWorksStep3Description":"Żądanie jest natychmiast spełniane przez OpenAI, Anthropic, Gemini lub inne.","getStartedIn30Seconds":"Rozpocznij w 30 sekund","getStartedDescription":"Zainstaluj OmniRoute, skonfiguruj dostawców za pomocą panelu internetowego i rozpocznij przekierowywanie żądań AI.","installOmniRoute":"Zainstaluj OmniRoute","installStepDescription":"Uruchom polecenie npx, aby natychmiast uruchomić serwer","openDashboard":"Otwórz Panel","openDashboardStepDescription":"Skonfiguruj dostawców i klucze API za pośrednictwem interfejsu internetowego","routeRequests":"Żądania dotyczące trasy","routeRequestsStepDescription":"Skieruj swoje narzędzia CLI na {endpoint}","terminal":"terminala","copy":"Kopiuj","copied":"✓ Skopiowano","startingOmniRoute":"Uruchamiam OmniRoute...","serverRunningOnLabel":"Serwer działa","dashboardLabel":"Pulpit nawigacyjny","readyToRoute":"Gotowy do trasy! ✓","configureProvidersNote":"📝 Skonfiguruj dostawców w panelu kontrolnym lub użyj zmiennych środowiskowych","dataLocation":"Lokalizacja danych:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Okna:","product":"Produkt","dashboardLink":"Pulpit nawigacyjny","changelog":"Dziennik zmian","resources":"Zasoby","documentation":"Dokumentacja","npm":"NPM","legal":"Legalne","mitLicense":"Licencja MIT","footerTagline":"Ujednolicony punkt końcowy do generowania sztucznej inteligencji. Z łatwością łącz się, kieruj i zarządzaj dostawcami sztucznej inteligencji.","copyright":"© {year} OmniRoute. Wszelkie prawa zastrzeżone.","flowToolClaudeCode":"Claude\'a Koda","flowToolOpenAICodex":"Kodeks OpenAI","flowToolCline":"Cline","flowToolCursor":"Kursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropiczny","flowProviderGemini":"Bliźnięta","flowProviderGithubCopilot":"Drugi pilot GitHuba","interactiveDiagram":"Interaktywny diagram widoczny na pulpicie","ctaTitle":"Chcesz uprościć swoją infrastrukturę AI?","ctaDescription":"Dołącz do programistów, którzy usprawniają integrację sztucznej inteligencji za pomocą OmniRoute. Oprogramowanie typu open source i na początek bezpłatne.","startFree":"Zacznij za darmo","readDocumentation":"Przeczytaj dokumentację"},"docs":{"title":"Dokumentacja","quickStart":"Szybki start","features":"Funkcje","supportedProviders":"Obsługiwani dostawcy","supportedProvidersToc":"Dostawcy","commonUseCases":"Typowe przypadki użycia","clientCompatibility":"Zgodność klienta","protocolsToc":"Protocols","apiReference":"Dokumentacja API","method":"Metoda","path":"Ścieżka","notes":"Notatki","modelPrefixes":"Przedrostki modeli","prefix":"Przedrostek","troubleshooting":"Rozwiązywanie problemów","supportsChat":"Obsługuje punkty końcowe czatu i odpowiedzi.","oauthAutoRefresh":"Połączenie OAuth z automatycznym odświeżaniem tokena.","fullStreaming":"Pełna obsługa transmisji strumieniowej dla wszystkich modeli.","docsLabel":"Dokumenty","docsHeroDescription":"Brama AI dla LLM wielu dostawców. Jeden punkt końcowy dla OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor i ponad 20 innych dostawców.","openDashboard":"Otwórz Panel","endpointPage":"Strona punktu końcowego","github":"GitHub","reportIssue":"Zgłoś problem","onThisPage":"Na tej stronie","documentationVersion":"Dokumentacja - v{version}","quickStartStep1Title":"1. Zainstaluj i uruchom","quickStartStep1Prefix":"Biegnij","quickStartStep1Middle":"lub sklonuj z GitHub i uruchom","quickStartStep2Title":"2. Utwórz klucz API","quickStartStep2Text":"Przejdź do Punkt końcowy -> Zarejestrowane klucze. Wygeneruj jeden klucz na środowisko.","quickStartStep3Title":"3. Połącz dostawców","quickStartStep3Text":"Dodaj konta dostawców za pomocą loginu OAuth, klucza API lub automatycznego łączenia w warstwie bezpłatnej.","quickStartStep4Title":"4. Ustaw podstawowy adres URL klienta","quickStartStep4Prefix":"Wskaż klienta IDE lub API","quickStartStep4Suffix":"Użyj na przykład prefiksu dostawcy","featureRoutingTitle":"Routing wielu dostawców","featureRoutingText":"Kieruj żądania do ponad 30 dostawców AI za pośrednictwem jednego punktu końcowego kompatybilnego z OpenAI. Obsługuje interfejsy API czatu, odpowiedzi, dźwięku i obrazu.","featureCombosTitle":"Kombinacje i balansowanie","featureCombosText":"Twórz kombinacje modeli z łańcuchami awaryjnymi i strategiami równoważenia: okrężne, priorytetowe, losowe, najrzadziej używane i zoptymalizowane pod względem kosztów.","featureUsageTitle":"Śledzenie wykorzystania i kosztów","featureUsageText":"Liczenie tokenów w czasie rzeczywistym, kalkulacja kosztów dla każdego dostawcy/modelu oraz szczegółowy podział wykorzystania według klucza API i konta.","featureAnalyticsTitle":"Panel analityczny","featureAnalyticsText":"Analityka wizualna z wykresami żądań, tokenów, błędów, opóźnień, kosztów i popularności modelu w czasie.","featureHealthTitle":"Monitorowanie zdrowia","featureHealthText":"Kontrole stanu na żywo, status dostawcy, stany wyłączników i automatyczne wykrywanie limitów szybkości z wykładniczym wycofywaniem.","featureCliTitle":"Narzędzia interfejsu wiersza polecenia","featureCliText":"Zarządzaj konfiguracjami IDE, eksportuj/importuj kopie zapasowe, odkrywaj profile Codexu i konfiguruj ustawienia z poziomu pulpitu nawigacyjnego.","featureSecurityTitle":"Bezpieczeństwo i zasady","featureSecurityText":"Uwierzytelnianie kluczem API, filtrowanie IP, ochrona przed wtryskiem, zasady domeny, zarządzanie sesjami i rejestrowanie audytu.","featureCloudSyncTitle":"Synchronizacja w chmurze","featureCloudSyncText":"Zsynchronizuj swoją konfigurację z Cloudflare Workers, aby uzyskać zdalny dostęp za pomocą szyfrowanych poświadczeń i automatycznego przełączania awaryjnego.","providersAcrossConnectionTypes":"{count} dostawców dla trzech typów połączeń.","manageProviders":"Zarządzaj dostawcami","providersCount":"{count} dostawców","providerTypeFree":"Poziom bezpłatny","providerTypeOAuth":"OAuth","providerTypeApiKey":"Klucz API","useCaseSingleEndpointTitle":"Jeden punkt końcowy dla wielu dostawców","useCaseSingleEndpointText":"Wskaż klientom jeden podstawowy adres URL i trasę według prefiksu modelu (na przykład: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Przełączanie awaryjne i modelowe za pomocą kombinacji","useCaseFallbackText":"Twórz modele łączone w panelu kontrolnym i utrzymuj stabilną konfigurację klienta, podczas gdy dostawcy zmieniają się wewnętrznie.","useCaseUsageVisibilityTitle":"Widoczność użycia, kosztów i debugowania","useCaseUsageVisibilityText":"Śledź tokeny i koszty według dostawcy, konta i klucza API na kartach Użycie i Analityka.","clientCherryStudioTitle":"Wiśniowe Studio","baseUrlLabel":"Bazowy adres URL","chatEndpointLabel":"Punkt końcowy czatu","modelRecommendationLabel":"Rekomendacja modelu: wyraźny przedrostek","clientCodexTitle":"Modele drugiego pilota w Kodeksie/GitHub","clientCodexBullet1":"Użyj identyfikatorów modeli z","clientCodexBullet2":"Modele z rodziny Codex automatycznie kierują się do","clientCodexBullet3":"Modele inne niż Kodeks są kontynuowane","clientCursorTitle":"Kursor IDE","clientCursorBullet1":"Użyj","clientCursorBullet1Suffix":"przedrostek dla modeli kursora.","clientCursorBullet2":"Połączenie OAuth - zaloguj się ze strony Dostawcy.","clientClaudeTitle":"Kod Claude\'a / Antygrawitacja","clientClaudeBullet1Prefix":"Użyj","clientClaudeBullet1Middle":"(Claude) lub","clientClaudeBullet1Suffix":"Przedrostek (Antygrawitacja).","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"Punkt końcowy czatu zgodny z OpenAI (domyślnie).","endpointResponsesNote":"Punkt końcowy interfejsu API odpowiedzi (Kodeks, seria o).","endpointModelsNote":"Katalog modeli dla wszystkich podłączonych dostawców.","endpointAudioNote":"Transkrypcja audio (Deepgram, AssemblyAI).","endpointImagesNote":"Generowanie obrazu (NanoBanana).","endpointRewriteChatNote":"Przepisz pomocnika dla klientów bez /v1.","endpointRewriteResponsesNote":"Przepisz pomocnika dla odpowiedzi bez /v1.","endpointRewriteModelsNote":"Przepisz pomocnika do wykrywania modelu bez /v1.","modelPrefixesDescriptionStart":"Użyj prefiksu dostawcy przed nazwą modelu, aby przekierować do określonego dostawcy. Przykład:","modelPrefixesDescriptionEnd":"trasy do GitHub Copilot.","provider":"Dostawca","type":"Wpisz","troubleshootingModelRouting":"Jeśli klientowi nie powiedzie się routing modelu, użyj jawnego dostawcy/modelu (na przykład: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Jeśli otrzymujesz niejednoznaczne błędy modelu, wybierz prefiks dostawcy zamiast samego identyfikatora modelu.","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.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Generowanie mowy tekstowej (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Generowanie osadzeń tekstu (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Polityka prywatności","termsOfService":"Warunki świadczenia usług","providerConfigurations":"Konfiguracje dostawców","apiKeys":"Klucze API","usageLogs":"Dzienniki użytkowania","applicationSettings":"Ustawienia aplikacji","viewExportAnalytics":"Przeglądaj i eksportuj analizy użytkowania","clearHistory":"Wyczyść historię użytkowania w dowolnym momencie","configureRetention":"Skonfiguruj zasady przechowywania dzienników","backupRestore":"Utwórz kopię zapasową i przywróć bazę danych","privacyMetadataTitle":"Polityka prywatności | OmniRoute","privacyMetadataDescription":"Polityka prywatności routera proxy OmniRoute AI API.","termsMetadataTitle":"Warunki świadczenia usług | OmniRoute","termsMetadataDescription":"Warunki korzystania z routera proxy OmniRoute AI API.","backToHome":"Powrót do domu","lastUpdated":"Ostatnia aktualizacja: {date}","policyLastUpdatedDate":"13 lutego 2026 r","listSeparator":"-","questionsVisit":"Pytania? Odwiedź nasze","githubRepository":"Repozytorium GitHuba","privacySection1Title":"1. Architektura lokalna","privacySection1Text":"OmniRoute zaprojektowano jako aplikację działającą lokalnie. Całe przetwarzanie i przechowywanie danych odbywa się wyłącznie na Twoim komputerze. Nie ma scentralizowanego serwera gromadzącego Twoje dane.","privacySection2Title":"2. Dane, które przechowujemy","privacyDataStoredIn":"Następujące dane są przechowywane lokalnie w","privacyDataProviderConfigurationsDesc":"adresy URL połączeń, typy dostawców i ustawienia priorytetów","privacyDataApiKeysDesc":"szyfrowane i przechowywane lokalnie w celu uwierzytelniania u dostawców sztucznej inteligencji","privacyDataUsageLogsDesc":"liczba żądań, użycie tokena, nazwy modeli, znaczniki czasu i czasy odpowiedzi","privacyDataApplicationSettingsDesc":"preferencje tematyczne, strategia routingu i konfiguracje kombinacji","privacySection3Title":"3. Brak telemetrii","privacySection3Text":"OmniRoute nie zbiera danych telemetrycznych, analiz ani raportów o awariach. Żadne dane nie są przesyłane do nas ani do osób trzecich. Twoje wzorce użytkowania, wywołania API i konfiguracje pozostają całkowicie prywatne.","privacySection4Title":"4. Zewnętrzni dostawcy AI","privacySection4Text":"Gdy wykonujesz wywołania API za pośrednictwem OmniRoute, Twoje żądania są przekazywane do skonfigurowanych dostawców AI (na przykład: OpenAI, Anthropic, Google). Dostawcy ci mają własne zasady ochrony prywatności, które regulują sposób postępowania z Twoimi danymi. Proszę przejrzeć:","privacyOpenAiPolicy":"Polityka prywatności OpenAI","privacyAnthropicPolicy":"Antropiczna polityka prywatności","privacyGooglePolicy":"Polityka prywatności Google","privacySection5Title":"5. Synchronizacja z chmurą (opcjonalnie)","privacySection5Text":"Jeśli włączysz opcjonalną funkcję synchronizacji z chmurą, konfiguracje dostawców i klucze API mogą zostać przesłane do skonfigurowanego punktu końcowego chmury. Ta funkcja jest domyślnie wyłączona i wymaga wyraźnej zgody.","privacySection6Title":"6. Rejestrowanie","privacyLoggingIntro":"Dzienniki żądań można skonfigurować w ustawieniach panelu kontrolnego. Możesz:","privacySection7Title":"7. Twoje prawa","privacySection7TextStart":"Ponieważ wszystkie dane są przechowywane lokalnie, masz pełną kontrolę. W każdej chwili możesz usunąć swoje dane usuwając plik","privacySection7TextEnd":"katalogu lub korzystając z funkcji tworzenia kopii zapasowych i przywracania bazy danych na pulpicie nawigacyjnym.","termsSection1Title":"1. Przegląd","termsSection1Text":"OmniRoute to lokalny router proxy AI API, który działa całkowicie na Twoim komputerze. Kieruje żądania do wielu dostawców AI z równoważeniem obciążenia, przełączaniem awaryjnym i śledzeniem użycia.","termsSection2Title":"2. Obowiązki użytkownika","termsResponsibilityApiKeys":"Ponosisz wyłączną odpowiedzialność za zarządzanie własnymi kluczami API i danymi uwierzytelniającymi dla zewnętrznych dostawców sztucznej inteligencji (OpenAI, Anthropic, Google itp.).","termsResponsibilityCompliance":"Musisz przestrzegać warunków świadczenia usług każdego dostawcy AI, do którego API uzyskujesz dostęp za pośrednictwem OmniRoute.","termsResponsibilitySecurity":"Jesteś odpowiedzialny za bezpieczeństwo swojej lokalnej instalacji OmniRoute, w tym za ustawienie hasła i ograniczenie dostępu do sieci.","termsSection3Title":"3. Jak to działa","termsSection3Text":"OmniRoute działa jako pośrednik proxy. Wywołania API wysyłane do OmniRoute są tłumaczone i przekazywane do skonfigurowanych dostawców AI. OmniRoute nie modyfikuje treści Twoich żądań ani odpowiedzi poza niezbędnym tłumaczeniem protokołu.","termsSection4Title":"4. Przetwarzanie danych","termsDataStoredLocally":"Wszystkie dane są przechowywane lokalnie na Twoim komputerze w bazie danych SQLite.","termsNoTransmission":"OmniRoute nie przesyła żadnych danych do serwerów zewnętrznych, chyba że wyraźnie włączysz funkcje synchronizacji w chmurze.","termsDataLocationText":"Dzienniki użytkowania, klucze API i konfiguracja są przechowywane w","termsSection5Title":"5. Zastrzeżenie","termsSection5Text":"Usługa OmniRoute jest dostarczana w stanie takim, w jakim jest, bez jakiejkolwiek gwarancji. Nie ponosimy odpowiedzialności za jakiekolwiek koszty powstałe w wyniku korzystania z API, zakłóceń w świadczeniu usług lub utraty danych. Zawsze twórz kopie zapasowe swojej konfiguracji.","termsSection6Title":"6. Otwarte źródło","termsSection6Text":"OmniRoute jest oprogramowaniem typu open source. Możesz go przeglądać, modyfikować i rozpowszechniać zgodnie z warunkami licencji."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Simple Chat","streaming":"Streaming","system-prompt":"System Prompt","thinking":"Thinking","tool-calling":"Tool Calling","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Basic chat template","streaming":"Streaming template","system-prompt":"System prompt template","thinking":"Thinking template","tool-calling":"Tool calling template","multi-turn":"Multi-turn template"},"templatePayloads":{"simpleChat":{"system":"Jesteś pomocnym asystentem AI.","userGreeting":"Witam! Jak mogę Ci dzisiaj pomóc?"},"streaming":{"prompt":"Napisz opowiadanie o"},"systemPrompt":{"question":"Jaki jest sens życia?","systemInstruction":"Podaj przemyślaną, filozoficzną odpowiedź."},"thinking":{"question":"Wyjaśnij obliczenia kwantowe"},"toolCalling":{"cityNameDescription":"Nazwa miasta, dla którego chcesz uzyskać pogodę","toolDescription":"Uzyskaj aktualną pogodę dla danej lokalizacji","userWeather":"Jaka jest pogoda w Tokio?"},"multiTurn":{"system":"Jesteś pomocnym asystentem.","assistantExample":"Chętnie Ci w tym pomogę.","userInitial":"Potrzebuję pomocy","userFollowUp":"Możesz to rozwinąć?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_i18n_messages_pl_json_79d0be4b._.js.map
|