Files
OmniRoute/src/i18n/messages/pl.json

2353 lines
124 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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"
},
"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",
"endpoint": "Punkt końcowy",
"mcp": "MCP",
"a2a": "A2A",
"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"
},
"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": "Punkt końcowy",
"endpointDescription": "Konfiguracja punktu końcowego interfejsu API",
"mcp": "MCP Management",
"mcpDescription": "Monitor MCP server process, tools, and operational controls",
"a2a": "A2A Management",
"a2aDescription": "Monitor Agent2Agent status, tasks, and streaming activity",
"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"
},
"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"
},
"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}"
},
"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"
},
"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:"
}
}
}
}
},
"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",
"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."
},
"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`."
},
"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}"
},
"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",
"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.",
"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": "Użyj podstawowego adresu URL (kończącego się na /v1) dla interfejsu API zgodnego z {type}.",
"apiKeyForCheck": "Klucz API (do sprawdzenia)",
"compatibleProdPlaceholder": "{type} Kompatybilny (Prod)"
},
"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",
"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"
},
"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",
"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?"
},
"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."
},
"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."
}
}