feat(i18n): add Polish (pl) locale at ~91% coverage (#2731)

This commit is contained in:
mysma-9403
2026-05-27 18:27:44 +05:30
committed by GitHub
parent 93bad388f8
commit 4043d03e6f
11 changed files with 3499 additions and 1 deletions
+1
View File
@@ -19,6 +19,7 @@ const LOCALE_OPTIONS: Array<{ value: Locale; flag: string; label: string }> = [
{ value: 'ru', flag: '🇷🇺', label: 'Русский' },
{ value: 'id', flag: '🇮🇩', label: 'Bahasa Indonesia' },
{ value: 'it', flag: '🇮🇹', label: 'Italiano' },
{ value: 'pl', flag: '🇵🇱', label: 'Polski' },
];
interface LanguageSelectProps {
+2
View File
@@ -11,6 +11,7 @@ import hi from './hi';
import id from './id';
import it from './it';
import ko from './ko';
import pl from './pl';
import pt from './pt';
import ru from './ru';
import type { Locale } from './types';
@@ -39,6 +40,7 @@ const translations: Record<Locale, Record<string, string>> = {
ru,
id,
it,
pl,
};
// Locales rendered right-to-left.
File diff suppressed because it is too large Load Diff
+463
View File
@@ -0,0 +1,463 @@
import type { TranslationMap } from '../types';
import en2 from './en-2';
// Polish chunk 2/5. Spreads the English source-of-truth chunk so every key is
// present (i18n parity gate); Polish values below override EN where translated.
const pl2: TranslationMap = {
...en2,
// settings.ai (continued)
'settings.ai.configStatus': 'Stan konfiguracji',
'settings.ai.fallbackMode': 'Tryb awaryjny',
'settings.ai.loadedFromRuntime': 'Wczytane ze środowiska',
'settings.ai.loadingDuration': 'Czas wczytywania',
'settings.ai.localRuntime': 'Lokalne środowisko modelu',
'settings.ai.openManager': 'Otwórz menedżera',
'settings.ai.retryDownload': 'Ponów pobieranie',
'settings.ai.state': 'Stan',
'settings.ai.targetModel': 'Model docelowy',
'settings.ai.download': 'Pobierz',
'settings.ai.localModelUnavailable': 'Stan modelu lokalnego niedostępny.',
'settings.ai.soulConfig': 'Konfiguracja persony SOUL',
'settings.ai.refreshing': 'Odświeżanie...',
'settings.ai.refreshSoul': 'Odśwież SOUL',
'settings.ai.loadingSoul': 'Wczytywanie konfiguracji SOUL...',
'settings.ai.identity': 'Tożsamość',
'settings.ai.personality': 'Osobowość',
'settings.ai.safetyRules': 'Zasady bezpieczeństwa',
'settings.ai.source': 'Źródło',
'settings.ai.loaded': 'Wczytano',
'settings.ai.toolsConfig': 'Konfiguracja TOOLS',
'settings.ai.refreshTools': 'Odśwież TOOLS',
'settings.ai.toolsAvailable': 'Dostępne narzędzia',
'settings.ai.tools': 'narzędzia',
'settings.ai.activeSkills': 'Aktywne umiejętności',
'settings.ai.skills': 'umiejętności',
'settings.ai.skillsOverview': 'Przegląd umiejętności',
'settings.ai.refreshingAll': 'Odświeżanie wszystkiego...',
'settings.ai.refreshAll': 'Odśwież całą konfigurację AI',
// settings.notifications
'settings.notifications.suppressAll': 'Wycisz wszystkie powiadomienia',
'settings.notifications.suppressAllDesc':
'Blokuj wszystkie systemowe powiadomienia z osadzonych aplikacji niezależnie od fokusa.',
'settings.notifications.toggleDnd': 'Przełącz tryb Nie przeszkadzać',
'settings.notifications.categories': 'Kategorie',
'settings.notifications.categoryFooter':
'Wyłączenie kategorii zatrzymuje nowe powiadomienia tego typu w centrum powiadomień. Istniejące pozostają do czasu wyczyszczenia.',
// settings.billing
'settings.billing.movedToWeb': 'Rozliczenia przeniesione do sieci',
'settings.billing.openDashboard': 'Otwórz panel rozliczeń',
'settings.billing.movedToWebDesc':
'Zmiany subskrypcji, metody płatności, kredyty i faktury są teraz zarządzane w TinyHumans w sieci.',
'settings.billing.backToSettings': 'Powrót do ustawień',
'settings.billing.openingBrowser': 'Otwieranie przeglądarki...',
'settings.billing.browserNotOpen':
'Jeśli przeglądarka się nie otworzyła, użyj przycisku powyżej.',
'settings.billing.browserOpenFailed':
'Nie udało się otworzyć przeglądarki automatycznie. Użyj przycisku powyżej.',
// settings.tools
'settings.tools.chooseCapabilities':
'Wybierz, z jakich możliwości OpenHuman może korzystać w Twoim imieniu.',
'settings.tools.saveChanges': 'Zapisz zmiany',
'settings.tools.preferencesSaved': 'Preferencje zapisane',
'settings.tools.saveFailed': 'Nie udało się zapisać preferencji. Spróbuj ponownie.',
// settings.screenAwareness
'settings.screenAwareness.mode': 'Tryb',
'settings.screenAwareness.allExceptBlacklist': 'Wszystko oprócz czarnej listy',
'settings.screenAwareness.whitelistOnly': 'Tylko biała lista',
'settings.screenAwareness.screenMonitoring': 'Monitorowanie ekranu',
'settings.screenAwareness.saveSettings': 'Zapisz ustawienia',
'settings.screenAwareness.session': 'Sesja',
'settings.screenAwareness.status': 'Stan',
'settings.screenAwareness.active': 'Aktywna',
'settings.screenAwareness.stopped': 'Zatrzymana',
'settings.screenAwareness.remaining': 'Pozostało',
'settings.screenAwareness.startSession': 'Rozpocznij sesję',
'settings.screenAwareness.stopSession': 'Zatrzymaj sesję',
'settings.screenAwareness.analyzeNow': 'Analizuj teraz',
'settings.screenAwareness.macosOnly':
'Przechwytywanie ekranu i zarządzanie uprawnieniami są obecnie obsługiwane tylko na macOS.',
// connections
'connections.comingSoon': 'Wkrótce',
'connections.setUp': 'Skonfiguruj',
'connections.configured': 'Skonfigurowano',
'connections.unavailable': 'Niedostępne',
'connections.checking': 'Sprawdzanie…',
'connections.walletConfigured':
'Lokalne tożsamości EVM, BTC, Solana i Tron są skonfigurowane z Twojej frazy odzyskiwania.',
'connections.walletReady':
'Skonfiguruj lokalne tożsamości EVM, BTC, Solana i Tron z jednej frazy odzyskiwania.',
'connections.walletError':
'Nie można sprawdzić stanu portfela. Dotknij, aby ponowić z panelu Frazy odzyskiwania.',
'connections.walletChecking': 'Sprawdzanie stanu portfela...',
'connections.walletIdentities': 'Tożsamości portfela',
'connections.walletDerived':
'Wyprowadzone lokalnie z Twojej frazy odzyskiwania i przechowywane tylko jako bezpieczne metadane.',
'connections.privacySecurity': 'Prywatność i bezpieczeństwo',
'connections.privacySecurityDesc':
'Wszystkie dane i poświadczenia są przechowywane lokalnie z polityką zerowego retencji. Twoje informacje są szyfrowane i nigdy nie są udostępniane stronom trzecim.',
// channels
'channels.status.connecting': 'Łączenie',
'channels.status.notConfigured': 'Nieskonfigurowany',
'channels.noActiveRoute': 'Brak aktywnej trasy',
'channels.activeRoute': 'Aktywna trasa',
'channels.loadingDefinitions': 'Wczytywanie definicji kanałów...',
'channels.channelConnections': 'Połączenia kanałów',
'channels.configureAuthModes': 'Skonfiguruj tryby uwierzytelniania dla każdego kanału.',
'channels.configNotAvailable': 'Konfiguracja dla',
'channels.channel': 'kanał',
// devOptions
'devOptions.coreModeNotSet': 'Tryb rdzenia: nie ustawiony',
'devOptions.coreModeNotSetDesc':
'Wybór trybu uruchamiania nie został jeszcze potwierdzony. Użyj „Przełącz tryb”, aby wybrać Lokalny lub Chmurowy.',
'devOptions.local': 'Lokalny',
'devOptions.embeddedCoreSidecar': 'Wbudowany sidecar rdzenia',
'devOptions.sidecarSpawned': 'Uruchamiany w procesie powłoki Tauri przy starcie aplikacji.',
'devOptions.cloud': 'Chmura',
'devOptions.remoteCoreRpc': 'Zdalne RPC rdzenia',
'devOptions.token': 'Token',
'devOptions.tokenNotSet': 'nie ustawiony — RPC zwróci 401',
'devOptions.triggerSentryTest': 'Wyzwól test Sentry (staging)',
'devOptions.triggerSentryTestDesc':
'Wysyła oznaczony błąd, aby zweryfikować potok Sentry. Issue #1072 — usuń po weryfikacji.',
'devOptions.sendTestEvent': 'Wyślij zdarzenie testowe',
'devOptions.sending': 'Wysyłanie…',
'devOptions.eventSent': 'Zdarzenie wysłane',
'devOptions.failed': 'Niepowodzenie',
'devOptions.appLogs': 'Dzienniki aplikacji',
'devOptions.appLogsDesc':
'Otwórz folder z rotacyjnymi dziennikami dziennymi. Dołącz najnowszy plik podczas zgłaszania błędu.',
'devOptions.openLogsFolder': 'Otwórz folder dzienników',
// mnemonic
'mnemonic.phraseSaved': 'Fraza odzyskiwania zapisana',
'mnemonic.walletReady': 'Wielołańcuchowe tożsamości portfela są gotowe. Powrót do ustawień...',
'mnemonic.writeDownWords': 'Zapisz te',
'mnemonic.wordsInOrder':
'słów w kolejności i przechowuj je w bezpiecznym miejscu. Ta fraza zabezpiecza Twój lokalny klucz szyfrowania oraz tożsamości portfeli EVM, BTC, Solana i Tron.',
'mnemonic.cannotRecover':
'Tej frazy nie da się odzyskać, jeśli ją utracisz, i powinna pozostać wyłącznie lokalna na Twoim urządzeniu.',
'mnemonic.copyToClipboard': 'Skopiuj do schowka',
'mnemonic.alreadyHavePhrase': 'Mam już frazę odzyskiwania',
'mnemonic.consentSaved':
'Zapisałem(am) tę frazę i wyrażam zgodę na jej użycie do konfiguracji lokalnego portfela',
'mnemonic.enterPhraseToRestore':
'Wprowadź swoją frazę odzyskiwania poniżej, aby przywrócić lokalne tożsamości portfela, lub wklej pełną frazę w dowolne pole (12 słów dla nowych kopii zapasowych; 24-słowne frazy ze starszych wersji nadal działają).',
'mnemonic.words': 'Słowa',
'mnemonic.validPhrase': 'Prawidłowa fraza odzyskiwania',
'mnemonic.generateNewPhrase': 'Wygeneruj zamiast tego nową frazę odzyskiwania',
'mnemonic.securingData': 'Zabezpieczanie Twoich danych...',
'mnemonic.saveRecoveryPhrase': 'Zapisz frazę odzyskiwania',
'mnemonic.userNotLoaded': 'Użytkownik nie wczytany. Zaloguj się ponownie lub odśwież stronę.',
'mnemonic.invalidPhrase': 'Nieprawidłowa fraza odzyskiwania. Sprawdź słowa i spróbuj ponownie.',
'mnemonic.somethingWentWrong': 'Coś poszło nie tak. Spróbuj ponownie.',
// team
'team.failedToCreate': 'Nie udało się utworzyć zespołu',
'team.invalidInviteCode': 'Nieprawidłowy lub wygasły kod zaproszenia',
'team.failedToSwitch': 'Nie udało się przełączyć zespołu',
'team.failedToLeave': 'Nie udało się opuścić zespołu',
'team.role.owner': 'Właściciel',
'team.role.admin': 'Administrator',
'team.role.billingManager': 'Menedżer rozliczeń',
'team.role.member': 'Członek',
'team.active': 'Aktywny',
'team.personalTeam': 'Zespół osobisty',
'team.manageTeam': 'Zarządzaj zespołem',
'team.switching': 'Przełączanie...',
'team.switch': 'Przełącz',
'team.leaving': 'Opuszczanie...',
'team.leave': 'Opuść',
'team.yourTeams': 'Twoje zespoły',
'team.createNewTeam': 'Utwórz nowy zespół',
'team.teamName': 'Nazwa zespołu',
'team.creating': 'Tworzenie...',
'team.joinExistingTeam': 'Dołącz do istniejącego zespołu',
'team.inviteCode': 'Kod zaproszenia',
'team.joining': 'Dołączanie...',
'team.join': 'Dołącz',
'team.leaveTeam': 'Opuść zespół',
'team.confirmLeave': 'Czy na pewno chcesz opuścić',
'team.leaveWarning':
'Stracisz dostęp do zespołu i wszystkich jego zasobów. Aby wrócić, będziesz potrzebować nowego zaproszenia.',
'team.management': 'Zarządzanie zespołem',
'team.notFound': 'Nie znaleziono zespołu',
'team.accessDenied': 'Brak dostępu',
'team.members': 'Członkowie',
// voice
'voice.title': 'Dyktowanie głosowe',
'voice.settings': 'Ustawienia głosu',
'voice.settingsDesc': 'Przytrzymaj skrót, aby dyktować i wstawiać tekst do aktywnego pola.',
'voice.hotkey': 'Skrót klawiszowy',
'voice.activationMode': 'Tryb aktywacji',
'voice.tapToToggle': 'Dotknij, aby przełączyć',
'voice.writingStyle': 'Styl pisania',
'voice.verbatimTranscription': 'Transkrypcja dosłowna',
'voice.naturalCleanup': 'Naturalne porządkowanie',
'voice.autoStart': 'Uruchamiaj serwer głosowy automatycznie z rdzeniem',
'voice.customDictionary': 'Słownik użytkownika',
'voice.customDictionaryDesc':
'Dodaj nazwy, terminy techniczne i słowa branżowe, aby poprawić dokładność rozpoznawania.',
'voice.addWord': 'Dodaj słowo...',
'voice.sttDisabled':
'Dyktowanie głosowe jest wyłączone do czasu pobrania i przygotowania lokalnego modelu STT.',
'voice.openLocalAiModel': 'Otwórz lokalny model AI',
'voice.serverRestarted': 'Serwer głosowy uruchomiony ponownie z nowymi ustawieniami.',
'voice.settingsSaved': 'Ustawienia głosu zapisane.',
'voice.serverStarted': 'Serwer głosowy uruchomiony.',
'voice.serverStopped': 'Serwer głosowy zatrzymany.',
'voice.saveVoiceSettings': 'Zapisz ustawienia głosu',
'voice.startVoiceServer': 'Uruchom serwer głosowy',
'voice.stopVoiceServer': 'Zatrzymaj serwer głosowy',
'voice.debugTitle': 'Debug głosu',
// autocomplete
'autocomplete.title': 'Autouzupełnianie',
'autocomplete.settings': 'Ustawienia',
'autocomplete.acceptWithTab': 'Akceptuj Tabem',
'autocomplete.stylePreset': 'Styl',
'autocomplete.style.balanced': 'Zrównoważony',
'autocomplete.style.concise': 'Zwięzły',
'autocomplete.style.formal': 'Formalny',
'autocomplete.style.casual': 'Swobodny',
'autocomplete.style.custom': 'Własny',
'autocomplete.disabledApps':
'Wyłączone aplikacje (jeden identyfikator pakietu/aplikacji w wierszu)',
'autocomplete.saveSettings': 'Zapisz ustawienia',
'autocomplete.saving': 'Zapisywanie…',
'autocomplete.runtime': 'Środowisko',
'autocomplete.running': 'Działa',
'autocomplete.start': 'Uruchom',
'autocomplete.stop': 'Zatrzymaj',
'autocomplete.settingsSaved': 'Ustawienia autouzupełniania zapisane.',
'autocomplete.started': 'Autouzupełnianie uruchomione.',
'autocomplete.didNotStart': 'Autouzupełnianie nie wystartowało. Sprawdź, czy jest włączone.',
'autocomplete.stopped': 'Autouzupełnianie zatrzymane.',
'autocomplete.advancedSettings': 'Ustawienia zaawansowane',
'autocomplete.debugTitle': 'Debug autouzupełniania',
// chat (extras)
'chat.agentChat': 'Czat z agentem',
'chat.overrides': 'Nadpisania',
'chat.model': 'Model',
'chat.temperature': 'Temperatura',
'chat.conversation': 'Rozmowa',
'chat.startAgentConversation': 'Rozpocznij rozmowę z agentem.',
'chat.you': 'Ty',
'chat.agent': 'Agent',
'chat.askAgent': 'Zapytaj agenta o cokolwiek...',
'chat.sendMessage': 'Wyślij wiadomość',
// composio
'composio.triageTitle': 'Wyzwalacze integracji',
'composio.triageDesc':
'Gdy włączone, każdy przychodzący wyzwalacz Composio przechodzi przez krok klasyfikacji AI — jedna tura lokalnego LLM na wyzwalacz. Wyłącz globalnie lub dla wybranych integracji, jeśli wolisz ręczny przegląd. Jeśli zmienna środowiskowa',
'composio.disableAllTriage': 'Wyłącz klasyfikację AI dla wszystkich wyzwalaczy',
'composio.triggersStillRecorded':
'Wyzwalacze są nadal zapisywane do historii — żadna tura LLM nie jest uruchamiana.',
'composio.disableSpecificIntegrations': 'Wyłącz klasyfikację AI dla konkretnych integracji',
'composio.settingsSaved': 'Ustawienia zapisane',
'composio.saveFailed': 'Nie udało się zapisać. Spróbuj ponownie.',
// cron
'cron.title': 'Zadania cron',
'cron.scheduledJobs': 'Zaplanowane zadania',
'cron.manageCronJobs': 'Zarządzaj zadaniami cron z poziomu harmonogramu rdzenia.',
'cron.refreshCronJobs': 'Odśwież zadania cron',
// localModel
'localModel.modelStatus': 'Stan modelu',
'localModel.downloadModels': 'Pobierz modele',
'localModel.usage': 'Użycie',
'localModel.usageDesc':
'Wybierz, które podsystemy korzystają z modelu lokalnego. Wszystko wyłączone używa chmury.',
'localModel.enableRuntime': 'Włącz lokalne środowisko AI',
'localModel.enableRuntimeDesc':
'Główny przełącznik. Domyślnie wyłączony — Ollama pozostaje bezczynna. Gdy włączony, podsumowywanie drzewa, inteligencja ekranu i autouzupełnianie zawsze korzystają z modelu lokalnego.',
'localModel.advancedSettings': 'Ustawienia zaawansowane',
'localModel.debugTitle': 'Debug modelu lokalnego',
'localModel.ollamaServer.helperText': 'Przykład: http://192.168.1.5:11434',
'localModel.ollamaServer.label': 'Adres URL serwera Ollama',
'localModel.ollamaServer.modelCount': 'modele',
'localModel.ollamaServer.placeholder': 'http://localhost:11434',
'localModel.ollamaServer.reachable': 'Dostępny',
'localModel.ollamaServer.resetButton': 'Przywróć domyślne',
'localModel.ollamaServer.saveButton': 'Zapisz',
'localModel.ollamaServer.testButton': 'Testuj połączenie',
'localModel.ollamaServer.unreachable': 'Niedostępny',
'localModel.ollamaServer.validationError': 'Musi być poprawnym adresem http:// lub https://',
// debug titles
'screenAwareness.debugTitle': 'Debug świadomości ekranu',
'memory.debugTitle': 'Debug pamięci',
'webhooks.debugTitle': 'Debug webhooków',
'notifications.routingTitle': 'Trasowanie powiadomień',
// common (extras)
'common.reload': 'Odśwież',
'common.skip': 'Pomiń',
'common.disable': 'Wyłącz',
'common.enable': 'Włącz',
// chat (more)
'chat.safetyTimeout':
'Brak odpowiedzi agenta po 2 minutach. Spróbuj ponownie lub sprawdź połączenie.',
'chat.filter.all': 'Wszystkie',
'chat.filter.work': 'Praca',
'chat.filter.briefing': 'Briefing',
'chat.filter.notification': 'Powiadomienia',
'chat.filter.workers': 'Workery',
'chat.selectThread': 'Wybierz wątek',
'chat.threads': 'Wątki',
'chat.noThreads': 'Brak wątków',
'chat.noLabelThreads': 'Brak wątków „{label}”',
'chat.noWorkerThreads': 'Brak wątków workerów',
'chat.deleteThread': 'Usuń wątek',
'chat.deleteThreadConfirm': 'Czy na pewno chcesz usunąć „{title}”?',
'chat.untitledThread': 'Wątek bez tytułu',
'chat.editThreadTitle': 'Edytuj tytuł wątku',
'chat.hideSidebar': 'Ukryj panel boczny',
'chat.showSidebar': 'Pokaż panel boczny',
'chat.newThreadShortcut': 'Nowy wątek (/new)',
'chat.new': 'Nowy',
'chat.failedToLoadMessages': 'Nie udało się wczytać wiadomości',
'chat.thinkingIteration': 'Myślę... ({n})',
'chat.thinkingDots': 'Myślę...',
'chat.approachingLimit': 'Zbliżasz się do limitu',
'chat.approachingLimitMsg': 'Wykorzystano {pct}% dostępnego limitu.',
'chat.upgrade': 'Podnieś plan',
'chat.weeklyLimitHit': 'Wykorzystano przewidziany budżet cyklu.',
'chat.resets': 'Reset',
'chat.topUpToContinue': 'Doładuj, aby kontynuować.',
'chat.budgetComplete': 'Twój budżet jest wyczerpany. Doładuj kredyty lub zmień plan.',
'chat.topUp': 'Doładuj',
'chat.cycle': 'Cykl',
'chat.cycleSpent': 'Wydane w tym cyklu',
'chat.cycleRemaining': 'Pozostało',
'chat.left': 'pozostało',
'chat.setup': 'Skonfiguruj',
'chat.switchToText': 'Przełącz na tekst',
'chat.transcribing': 'Transkrypcja...',
'chat.stopAndSend': 'Zatrzymaj i wyślij',
'chat.startTalking': 'Zacznij mówić',
'chat.playingVoiceReply': 'Odtwarzanie odpowiedzi głosowej',
'chat.voiceHint': 'Użyj mikrofonu, aby mówić',
'chat.micUnavailable': 'Mikrofon niedostępny',
'chat.turn': 'tura',
'chat.turns': 'tury',
'chat.openWorkerThread': 'Otwórz wątek workera',
// memory
'memory.searchAria': 'Szukaj w pamięci',
'memory.searchPlaceholder': 'Szukaj wpisów pamięci...',
'memory.sourceFilter.all': 'Wszystkie źródła',
'memory.sourceFilter.email': 'E-mail',
'memory.sourceFilter.calendar': 'Kalendarz',
'memory.sourceFilter.telegram': 'Telegram',
'memory.sourceFilter.aiInsight': 'Wniosek AI',
'memory.sourceFilter.system': 'System',
'memory.sourceFilter.trading': 'Handel',
'memory.sourceFilter.security': 'Bezpieczeństwo',
'memory.ingestionActivity': 'Aktywność pobierania',
'memory.events': 'zdarzenia',
'memory.event': 'zdarzenie',
'memory.overTheLast': 'w ciągu ostatnich',
'memory.months': 'miesięcy',
'memory.peak': 'Szczyt',
'memory.perDay': '/dzień',
'memory.less': 'Mniej',
'memory.more': 'Więcej',
'memory.on': 'w',
'memory.loading': 'Wczytywanie pamięci',
'memory.fetching': 'Pobieranie wpisów pamięci...',
'memory.analyzing': 'Analiza pamięci',
'memory.analyzingHint': 'Przetwarzanie wspomnień w celu wydobycia wniosków...',
'memory.noMatches': 'Brak dopasowań',
'memory.noMatchesHint': 'Spróbuj zmienić wyszukiwane słowa lub filtry.',
'memory.allCaughtUp': 'Wszystko nadrobione',
'memory.allCaughtUpHint': 'Brak nowych wpisów do przetworzenia.',
'memory.noAnalysis': 'Brak analizy',
'memory.noAnalysisHint': 'Uruchom analizę, aby odkryć wzorce w swoich wspomnieniach.',
'memory.emptyHint': 'Zacznij używać aplikacji, aby utworzyć pierwsze wspomnienia.',
// mic
'mic.unavailable': 'Mikrofon niedostępny',
'mic.permissionDenied': 'Odmowa dostępu do mikrofonu',
'mic.failedToStartRecorder': 'Nie udało się uruchomić rejestratora',
'mic.transcribing': 'Transkrypcja...',
'mic.tapToSend': 'Dotknij, aby wysłać',
'mic.waitingForAgent': 'Czekam na agenta...',
'mic.tapAndSpeak': 'Dotknij i mów',
'mic.stopRecording': 'Zatrzymaj nagrywanie i wyślij',
'mic.startRecording': 'Rozpocznij nagrywanie',
'mic.deviceSelector': 'Urządzenie mikrofonowe',
// token
'token.usageLimitReached': 'Osiągnięto limit użycia',
'token.approachingLimit': 'Zbliżasz się do limitu',
'token.planClickForDetails': 'plan — kliknij, aby zobaczyć szczegóły',
'token.sessionTokens': 'Wej: {in} | Wyj: {out} | Tury: {turns}',
'token.limit': 'Limit osiągnięty',
// catalog
'catalog.noCapabilityBinding': 'Brak powiązanej możliwości',
'catalog.downloadFailed': 'Pobieranie nie powiodło się',
'catalog.active': 'Aktywny',
'catalog.installed': 'Zainstalowany',
'catalog.notDownloaded': 'Nie pobrany',
'catalog.inUse': 'W użyciu',
'catalog.use': 'Użyj',
'catalog.deleteModel': 'Usuń model',
'catalog.download': 'Pobierz',
// navigator
'navigator.recent': 'Ostatnie',
'navigator.today': 'Dziś',
'navigator.thisWeek': 'Ten tydzień',
'navigator.sources': 'Źródła',
'navigator.email': 'E-mail',
'navigator.slack': 'Slack',
'navigator.chat': 'Czat',
'navigator.documents': 'Dokumenty',
'navigator.people': 'Ludzie',
'navigator.topics': 'Tematy',
// dreams
'dreams.description':
'Sny to refleksje generowane przez AI, syntetyzujące wzorce z Twoich wspomnień.',
'dreams.comingSoon': 'Wkrótce',
// assignment
'assignment.memoryLlm': 'LLM pamięci',
'assignment.memoryLlmAria': 'Wybór LLM pamięci',
'assignment.embedder': 'Embedder',
'assignment.loaded': 'Wczytano',
'assignment.notDownloaded': 'Nie pobrano',
'assignment.usedForExtractSummarise': 'Używany do ekstrakcji i podsumowywania',
// insights
'insights.knownFacts': 'Znane fakty',
'insights.preferences': 'Preferencje',
'insights.relationships': 'Relacje',
'insights.skills': 'Umiejętności',
'insights.opinions': 'Opinie',
// devOptions menu (#2225)
'devOptions.menuAi': 'Konfiguracja AI',
'devOptions.menuAiDesc': 'Dostawcy chmurowi, lokalne modele Ollama i trasowanie per workload',
'devOptions.menuScreenAware': 'Świadomość ekranu',
'devOptions.menuScreenAwareDesc':
'Uprawnienia do przechwytywania ekranu, polityka monitorowania i kontrola sesji',
'devOptions.menuMessaging': 'Kanały komunikacji',
'devOptions.menuMessagingDesc':
'Konfiguruj tryby uwierzytelniania Telegram/Discord i domyślne trasowanie',
'devOptions.menuTools': 'Narzędzia',
'devOptions.menuToolsDesc':
'Włącz lub wyłącz możliwości, z których OpenHuman może korzystać w Twoim imieniu',
'devOptions.menuAgentChat': 'Czat z agentem',
'devOptions.menuAgentChatDesc': 'Testuj rozmowę z agentem z nadpisaniem modelu i temperatury',
'devOptions.menuCronJobs': 'Zadania cron',
'devOptions.menuCronJobsDesc':
'Przeglądaj i konfiguruj zaplanowane zadania dla umiejętności runtime',
'devOptions.menuLocalModelDebug': 'Debug modelu lokalnego',
'devOptions.menuLocalModelDebugDesc':
'Konfiguracja Ollama, pobieranie zasobów, testy modeli i diagnostyka',
'devOptions.menuWebhooksDebug': 'Webhooks',
'devOptions.menuWebhooksDebugDesc':
'Sprawdź rejestracje webhooków w runtime i logi przechwyconych żądań',
'devOptions.menuIntelligence': 'Inteligencja',
'devOptions.menuIntelligenceDesc': 'Przestrzeń pamięci, silnik podświadomości, sny i ustawienia',
'devOptions.menuNotificationRouting': 'Trasowanie powiadomień',
'devOptions.menuNotificationRoutingDesc':
'Punktacja ważności AI i eskalacja przez orkiestrator dla alertów integracji',
'devOptions.menuComposeIOTriggers': 'Wyzwalacze ComposeIO',
'devOptions.menuComposeIOTriggersDesc': 'Przeglądaj historię i archiwum wyzwalaczy ComposeIO',
'devOptions.menuComposioRouting': 'Trasowanie Composio (tryb bezpośredni)',
'devOptions.menuComposioRoutingDesc':
'Użyj własnego klucza API Composio i kieruj wywołania bezpośrednio do backend.composio.dev',
'devOptions.menuComposioTriggers': 'Wyzwalacze integracji',
'devOptions.menuComposioTriggersDesc':
'Konfiguruj ustawienia klasyfikacji AI dla wyzwalaczy integracji Composio',
};
export default pl2;
+493
View File
@@ -0,0 +1,493 @@
import type { TranslationMap } from '../types';
import en3 from './en-3';
// Polish chunk 3/5. Spreads the English source-of-truth chunk so every key is
// present (i18n parity gate); Polish values below override EN where translated.
const pl3: TranslationMap = {
...en3,
// insights
'insights.other': 'Inne',
'insights.title': 'Wnioski',
'insights.empty': 'Brak wniosków. Wnioski są generowane wraz ze wzrostem pamięci.',
'insights.description': 'Na podstawie {count} relacji w Twoim grafie pamięci.',
'insights.items': 'elementów',
'insights.more': 'więcej',
// calls
'calls.joiningCall': 'Dołączanie do rozmowy',
'calls.meetWindowOpening': 'Otwieranie okna Meet...',
'calls.failedToStart': 'Nie udało się uruchomić rozmowy Meet',
'calls.couldNotStart': 'Nie można rozpocząć rozmowy',
'calls.failedToClose': 'Nie udało się zakończyć rozmowy',
'calls.couldNotClose': 'Nie można zamknąć rozmowy',
'calls.joinMeet': 'Dołącz do rozmowy Google Meet',
'calls.joinMeetDescription': 'Wprowadź link Google Meet, aby dołączyć.',
'calls.meetLink': 'Link Meet',
'calls.displayName': 'Wyświetlana nazwa',
'calls.openingMeet': 'Otwieranie Meet...',
'calls.joinCall': 'Dołącz do rozmowy',
'calls.activeCalls': 'Aktywne rozmowy',
'calls.leave': 'Opuść',
// workspace
'workspace.wipeConfirm':
'Czy na pewno chcesz wyczyścić całą pamięć? Tej operacji nie można cofnąć.',
'workspace.resetTreeConfirm': 'Czy na pewno chcesz przebudować drzewo pamięci?',
'workspace.wipeTitle': 'Wyczyść pamięć',
'workspace.resetting': 'Resetowanie...',
'workspace.resetMemory': 'Zresetuj pamięć',
'workspace.resetTreeTitle': 'Przebuduj drzewo pamięci',
'workspace.rebuilding': 'Przebudowa...',
'workspace.resetMemoryTree': 'Zresetuj drzewo pamięci',
'workspace.building': 'Budowanie...',
'workspace.buildSummaryTrees': 'Zbuduj drzewa podsumowań',
'workspace.viewVault': 'Pokaż sejf',
'workspace.openingVaultTitle': 'Otwieranie sejfu w Obsidianie',
'workspace.openingVaultMessage':
'Jeśli Obsidian się nie otworzy, zainstaluj go z obsidian.md lub użyj „Pokaż folder”. Ścieżka sejfu:',
'workspace.openVaultFailedTitle': 'Nie udało się otworzyć sejfu w Obsidianie',
'workspace.openVaultFailedMessage':
'Użyj „Pokaż folder”, aby otworzyć katalog sejfu bezpośrednio. Ścieżka sejfu:',
'workspace.revealVaultFailed': 'Nie udało się pokazać folderu sejfu',
'workspace.revealFolder': 'Pokaż folder',
'workspace.checkingVault': 'Sprawdzanie…',
'workspace.vaultNotRegisteredHelp':
'Obsidian otwiera tylko foldery dodane jako sejf. W Obsidianie wybierz „Otwórz folder jako sejf” i wskaż folder poniżej — wystarczy to zrobić raz. Następnie ponownie kliknij Pokaż sejf.',
'workspace.obsidianNotFoundHelp':
'Nie znaleziono Obsidiana na tym urządzeniu. Zainstaluj go lub — jeśli jest zainstalowany w niestandardowym miejscu — ustaw jego folder konfiguracyjny w sekcji Zaawansowane.',
'workspace.openAnyway': 'Otwórz w Obsidianie mimo to',
'workspace.installObsidian': 'Zainstaluj Obsidiana',
'workspace.obsidianAdvanced': 'Obsidian zainstalowany gdzie indziej?',
'workspace.obsidianConfigDirLabel': 'Folder konfiguracji Obsidiana',
'workspace.obsidianConfigDirHint':
'Ścieżka do folderu zawierającego obsidian.json (np. ~/.config/obsidian). Zostaw puste, aby wykryć automatycznie.',
'workspace.obsidianConfigDirPlaceholder': '~/.config/obsidian',
'workspace.graphLoadFailed': 'Nie udało się wczytać grafu pamięci',
'workspace.loadingGraph': 'Wczytywanie grafu pamięci...',
'workspace.graphViewMode': 'Tryb widoku grafu pamięci',
'workspace.trees': 'Drzewa',
'workspace.contacts': 'Kontakty',
// graph
'graph.noContactMentions': 'Brak wzmianek o kontakcie',
'graph.noMemory': 'Brak pamięci',
'graph.source': 'Źródło',
'graph.topic': 'Temat',
'graph.global': 'Globalne',
'graph.document': 'Dokument',
'graph.contact': 'Kontakt',
'graph.nodes': 'węzły',
'graph.parentChild': 'rodzic-dziecko',
'graph.documentContact': 'dokument-kontakt',
'graph.link': 'powiązanie',
'graph.links': 'powiązania',
'graph.children': 'dzieci',
'graph.clickToOpenObsidian': 'Kliknij, aby otworzyć w Obsidianie',
'graph.person': 'Osoba',
// modal
'modal.dontShowAgain': 'Nie pokazuj podobnych sugestii',
// reflections
'reflections.loading': 'Wczytywanie refleksji...',
'reflections.empty': 'Brak refleksji',
'reflections.title': 'Refleksje',
'reflections.proposedAction': 'Proponowane działanie',
'reflections.act': 'Wykonaj',
'reflections.dismiss': 'Odrzuć',
// whatsapp
'whatsapp.chatsSynced': 'rozmów zsynchronizowano',
'whatsapp.chatSynced': 'rozmowa zsynchronizowana',
// sync
'sync.active': 'Aktywna',
'sync.recent': 'Ostatnia',
'sync.idle': 'Bezczynna',
'sync.memorySources': 'Źródła pamięci',
'sync.noConnectedSources': 'Brak połączonych źródeł',
'sync.chunks': 'fragmentów',
'sync.lastChunk': 'Ostatni fragment:',
'sync.pending': 'oczekujące',
'sync.processed': 'przetworzone',
'sync.syncing': 'Synchronizacja…',
'sync.sync': 'Synchronizuj',
'sync.failedToLoad': 'Nie udało się wczytać stanu synchronizacji',
'sync.noContent':
'Żadna treść nie została jeszcze zsynchronizowana do pamięci. Podłącz integrację, aby zacząć.',
// backend
'backend.aiBackend': 'Backend AI',
'backend.cloud': 'Chmura',
'backend.recommended': 'Zalecane',
'backend.cloudDescription':
'Szybkie, mocne modele kierowane przez backend OpenHuman. Gotowe do użycia od razu.',
'backend.privacyNote':
'Prompty i wybrany kontekst mogą być wysyłane do skonfigurowanego backendu/dostawcy. Użyj trybu lokalnego dla obsługiwanych workloadów na urządzeniu.',
'backend.local': 'Lokalny',
'backend.advanced': 'Zaawansowane',
'backend.localDescription':
'Uruchom modele na własnej maszynie z Ollamą. Pełna prywatność, wymaga konfiguracji.',
'backend.ramRecommended': 'Zalecane 16 GB+ RAM',
// subconscious
'subconscious.tasks': 'zadań',
'subconscious.ticks': 'tików',
'subconscious.last': 'Ostatnio',
'subconscious.failed': 'nieudane',
'subconscious.tickInterval': 'Interwał tików',
'subconscious.runNow': 'Uruchom teraz',
'subconscious.providerUnavailableTitle': 'Podświadomość wstrzymana',
'subconscious.providerSettings': 'Ustawienia AI',
'subconscious.approvalNeeded': 'Wymagana zgoda',
'subconscious.requiresApproval': 'Wymaga zgody',
'subconscious.fixInConnections': 'Napraw w Połączeniach',
'subconscious.goAhead': 'Działaj',
'subconscious.activeTasks': 'Aktywne zadania',
'subconscious.noActiveTasks': 'Brak aktywnych zadań',
'subconscious.default': 'Domyślne',
'subconscious.addTaskPlaceholder': 'Dodaj nowe zadanie...',
'subconscious.activityLog': 'Dziennik aktywności',
'subconscious.noActivity': 'Brak aktywności',
'subconscious.decision.nothingNew': 'Nic nowego',
'subconscious.decision.completed': 'Ukończone',
'subconscious.decision.evaluating': 'Ocena',
'subconscious.decision.waitingApproval': 'Oczekiwanie na zgodę',
'subconscious.decision.failed': 'Niepowodzenie',
'subconscious.decision.cancelled': 'Anulowane',
'subconscious.decision.skipped': 'Pominięte',
// actionable
'actionable.complete': 'Zakończ',
'actionable.dismiss': 'Odrzuć',
'actionable.snooze': 'Odłóż',
'actionable.new': 'Nowe',
// stats
'stats.storage': 'Pamięć',
'stats.files': 'plików',
'stats.documents': 'Dokumenty',
'stats.today': 'dziś',
'stats.namespaces': 'Przestrzenie nazw',
'stats.relations': 'Relacje',
'stats.firstMemory': 'Pierwsze wspomnienie',
'stats.latest': 'Ostatnie',
'stats.sessions': 'Sesje',
'stats.tokens': 'tokenów',
// bootCheck
'bootCheck.invalidUrl': 'Wprowadź adres URL środowiska.',
'bootCheck.urlMustStartWith': 'Adres musi zaczynać się od http:// lub https://',
'bootCheck.validUrlRequired':
'To nie wygląda na prawidłowy adres URL (spróbuj https://core.example.com/rpc)',
'bootCheck.tokenRequired': 'Aby się połączyć, potrzebujemy tokenu uwierzytelniania.',
'bootCheck.chooseCoreMode': 'Wybierz środowisko',
'bootCheck.connectToCore': 'Połącz się ze swoim środowiskiem',
'bootCheck.desktopDescription':
'OpenHuman potrzebuje środowiska do działania. Wybierz, gdzie ma się znajdować.',
'bootCheck.webDescription':
'W przeglądarce OpenHuman łączy się ze środowiskiem, którym zarządzasz. Wpisz jego URL i token poniżej lub pobierz aplikację desktopową, aby uruchomić środowisko bezpośrednio na komputerze.',
'bootCheck.preferDesktop': 'Wolisz wszystko trzymać na własnym urządzeniu?',
'bootCheck.downloadDesktop': 'Pobierz aplikację desktopową',
'bootCheck.localRecommended': 'Uruchom lokalnie (zalecane)',
'bootCheck.localDescription':
'Działa bezpośrednio na Twoim komputerze. Najszybsze, w pełni prywatne, bez konfiguracji.',
'bootCheck.cloudMode': 'Uruchom w chmurze (zaawansowane)',
'bootCheck.cloudDescription':
'Połącz się ze środowiskiem hostowanym w innym miejscu. Działa 24×7, więc nie musisz trzymać tego urządzenia włączonego.',
'bootCheck.coreRpcUrl': 'URL środowiska',
'bootCheck.rpcUrlPlaceholder': 'https://core.example.com/rpc',
'bootCheck.authToken': 'Token uwierzytelniania',
'bootCheck.bearerTokenPlaceholder': 'Token bearer ze zdalnego środowiska',
'bootCheck.storedLocally': 'Przechowywany wyłącznie na tym urządzeniu. Wysyłany jako ',
'bootCheck.testing': 'Testowanie…',
'bootCheck.testConnection': 'Testuj połączenie',
'bootCheck.connectedOk': 'Połączono. Możesz działać.',
'bootCheck.authFailed': 'Ten token nie zadziałał. Sprawdź go i spróbuj ponownie.',
'bootCheck.unreachablePrefix': 'Nie udało się połączyć:',
'bootCheck.checkingCore': 'Budzenie środowiska…',
'bootCheck.cannotReach': 'Nie można połączyć się ze środowiskiem',
'bootCheck.cannotReachDesc': 'Nie udało się połączyć z Twoim środowiskiem. Spróbować innego?',
'bootCheck.switchMode': 'Wybierz inne środowisko',
'bootCheck.quit': 'Zakończ',
'bootCheck.legacyDetected': 'Wykryto starsze środowisko w tle',
'bootCheck.legacyDescription':
'Osobno zainstalowany daemon OpenHuman już działa na tym urządzeniu. Musimy go usunąć, zanim wbudowane środowisko przejmie kontrolę.',
'bootCheck.removing': 'Usuwanie…',
'bootCheck.removeContinue': 'Usuń i kontynuuj',
'bootCheck.localNeedsRestart': 'Lokalne środowisko wymaga restartu',
'bootCheck.localNeedsRestartDesc':
'Twoje lokalne środowisko jest w innej wersji niż ta aplikacja. Szybki restart przywróci zgodność.',
'bootCheck.restarting': 'Restartowanie…',
'bootCheck.restartCore': 'Zrestartuj środowisko',
'bootCheck.cloudNeedsUpdate': 'Środowisko chmurowe wymaga aktualizacji',
'bootCheck.cloudNeedsUpdateDesc':
'Twoje środowisko chmurowe jest w innej wersji niż ta aplikacja. Uruchom aktualizację, aby przywrócić zgodność.',
'bootCheck.updating': 'Aktualizowanie…',
'bootCheck.updateCloudCore': 'Zaktualizuj środowisko chmurowe',
'bootCheck.versionCheckFailed': 'Sprawdzenie wersji środowiska nie powiodło się',
'bootCheck.versionCheckFailedDesc':
'Środowisko działa, ale nie raportuje wersji. Może być nieaktualne. Zrestartuj lub zaktualizuj, aby kontynuować.',
'bootCheck.working': 'Pracuję…',
'bootCheck.restartUpdateCore': 'Zrestartuj / zaktualizuj środowisko',
'bootCheck.unexpectedError': 'Nieoczekiwany błąd sprawdzania uruchamiania',
'bootCheck.actionFailed': 'Coś poszło nie tak. Spróbuj ponownie.',
'bootCheck.portConflictTitle': 'Nie udało się uruchomić silnika aplikacji',
'bootCheck.portConflictBody':
'Inny proces używa portu sieciowego potrzebnego OpenHumanowi. Spróbujemy to naprawić automatycznie.',
'bootCheck.portConflictFixButton': 'Napraw automatycznie',
'bootCheck.portConflictFixing': 'Naprawianie…',
'bootCheck.portConflictFixFailed':
'Automatyczna naprawa się nie powiodła. Zrestartuj komputer i spróbuj ponownie.',
// notifications
'notifications.justNow': 'przed chwilą',
'notifications.minAgo': '{n} min temu',
'notifications.hrAgo': '{n} godz. temu',
'notifications.dayAgo': '{n} dni temu',
'notifications.category.messages': 'Wiadomości',
'notifications.category.agents': 'Agenci',
'notifications.category.skills': 'Umiejętności',
'notifications.category.system': 'System',
'notifications.category.meetings': 'Spotkania',
'notifications.category.reminders': 'Przypomnienia',
'notifications.category.important': 'Ważne',
// about.update
'about.update.status.checking': 'Sprawdzanie...',
'about.update.status.available': 'Dostępna wersja {version}',
'about.update.status.availableNoVersion': 'Dostępna aktualizacja',
'about.update.status.downloading': 'Pobieranie...',
'about.update.status.readyToInstall': 'Wersja {version} gotowa do instalacji',
'about.update.status.readyToInstallNoVersion':
'Nowa wersja została pobrana i jest gotowa. Zrestartuj, aby zastosować.',
'about.update.status.installing': 'Instalowanie...',
'about.update.status.restarting': 'Restartowanie...',
'about.update.status.upToDate': 'Używasz najnowszej wersji.',
'about.update.status.error': 'Sprawdzenie aktualizacji nie powiodło się',
'about.update.status.default': 'Sprawdź aktualizacje',
// welcome
'welcome.connectionFailed': 'Połączenie nie powiodło się: {status} {statusText}',
'welcome.connectionFailedMsg': 'Połączenie nie powiodło się: {message}',
'welcome.continueLocally': 'Kontynuuj lokalnie',
'welcome.continueLocallyExperimental': 'Kontynuuj lokalnie (eksperymentalnie)',
'welcome.localSessionStarting': 'Rozpoczynanie sesji lokalnej...',
'welcome.localSessionDesc':
'Używa lokalnego profilu offline i pomija logowanie OAuth TinyHumans.',
// chat (extras)
'chat.agentChatDesc': 'Otwórz bezpośrednią sesję czatu z agentem.',
'channels.activeRouteValue': '{channel} przez {authMode}',
// privacy
'privacy.dataKind.messages': 'Wiadomości',
'privacy.dataKind.agents': 'Agenci',
'privacy.dataKind.skills': 'Umiejętności',
'privacy.dataKind.system': 'System',
'privacy.dataKind.meetings': 'Spotkania',
'privacy.dataKind.reminders': 'Przypomnienia',
'privacy.dataKind.important': 'Ważne',
// onboarding
'onboarding.enableLocalAI': 'Włącz lokalne AI',
'onboarding.skills.status.available': 'Dostępne',
'onboarding.skills.status.connected': 'Połączone',
'onboarding.skills.status.connecting': 'Łączenie',
'onboarding.skills.status.error': 'Błąd',
'onboarding.skills.status.unavailable': 'Niedostępne',
// composio
'composio.statusUnavailable': 'Status niedostępny',
'composio.envVarOverrides': 'jest ustawiona, nadpisuje to ustawienie.',
// memory.day
'memory.day.sun': 'nd.',
'memory.day.mon': 'pn.',
'memory.day.tue': 'wt.',
'memory.day.wed': 'śr.',
'memory.day.thu': 'cz.',
'memory.day.fri': 'pt.',
'memory.day.sat': 'sb.',
'memory.ingesting': 'Pobieranie',
'memory.ingestionQueued': 'W kolejce',
'memory.ingestingTitle': 'Pobieranie {title}',
// mic (extras)
'mic.noAudioCaptured': 'Nie nagrano dźwięku',
'mic.noSpeechDetected': 'Nie wykryto mowy',
'mic.failedToStopRecording': 'Nie udało się zatrzymać nagrywania: {message}',
'mic.transcriptionFailed': 'Transkrypcja nie powiodła się: {message}',
// reflections.kind
'reflections.kind.retrospective': 'Retrospektywa',
'reflections.kind.derivedFact': 'Wywiedziony fakt',
'reflections.kind.moodInsight': 'Wnioski o nastroju',
'reflections.kind.relationshipInsight': 'Wnioski o relacjach',
// graph.tooltip
'graph.tooltip.summary': 'Podsumowanie',
'graph.tooltip.contact': 'Kontakt',
// localModel.usage
'localModel.usage.never': 'Nigdy',
'localModel.usage.mediumLoad': 'Średnie obciążenie',
'localModel.usage.lowLoad': 'Niskie obciążenie',
'localModel.usage.idleMode': 'Tryb bezczynności',
'localModel.rebootstrapComplete': 'Ponowna inicjalizacja modelu zakończona.',
'localModel.modelsVerified': 'Modele lokalne zweryfikowane.',
// accounts
'accounts.addModal.allConnected': 'Wszystkie połączone',
'accounts.addModal.title': 'Dodaj konto',
'accounts.respondQueue.empty': 'Pusto',
'accounts.respondQueue.hide': 'Ukryj kolejkę odpowiedzi',
'accounts.respondQueue.loadFailed': 'Nie udało się wczytać kolejki odpowiedzi',
'accounts.respondQueue.loading': 'Wczytywanie kolejki…',
'accounts.respondQueue.pending': 'Oczekujące',
'accounts.respondQueue.show': 'Pokaż kolejkę odpowiedzi',
'accounts.respondQueue.title': 'Kolejka odpowiedzi',
'accounts.webviewHost.almostReady': 'Już prawie gotowe...',
'accounts.webviewHost.loadTimeout': 'Limit czasu wczytywania webview',
'accounts.webviewHost.loading': 'Wczytywanie {providerName}...',
'accounts.webviewHost.loadingAccount': 'Wczytywanie konta',
'accounts.webviewHost.restoringSession': 'Przywracanie sesji...',
'accounts.webviewHost.retryLoading': 'Ponów wczytywanie',
'accounts.webviewHost.takingLonger': '{providerName} trwa dłużej niż oczekiwano.',
'accounts.webviewHost.timeoutHint': 'Wskazówka dot. limitu czasu',
// app
'app.connectionBadge.composio': 'Composio',
'app.connectionBadge.messaging': 'Wiadomości',
'app.connectionIndicator.connected': 'Połączono z OpenHuman AI 🚀',
'app.connectionIndicator.connecting': 'Łączenie',
'app.connectionIndicator.coreOffline': 'Rdzeń offline',
'app.connectionIndicator.disconnected': 'Rozłączono',
'app.connectionIndicator.offline': 'Offline',
'app.connectionIndicator.reconnecting': 'Ponowne łączenie…',
'app.errorFallback.componentStack': 'Stos komponentów',
'app.errorFallback.downloadLatest': 'Pobierz najnowszą wersję',
'app.errorFallback.heading': 'Coś poszło nie tak',
'app.errorFallback.hint': 'Wskazówka',
'app.errorFallback.reloadApp': 'Przeładuj aplikację',
'app.errorFallback.subheading': 'Spróbuj przeładować lub pobrać najnowszą wersję.',
'app.errorFallback.tryRecover': 'Spróbuj odzyskać',
'app.localAiDownload.installing': 'Instalowanie...',
'app.localAiDownload.preparing': 'Przygotowanie...',
// app.openhumanLink
'app.openhumanLink.accounts.continueWith': 'Kontynuuj z logowaniem {label}',
'app.openhumanLink.accounts.done': 'Gotowe',
'app.openhumanLink.accounts.intro': 'Podłącz konta, których używasz na co dzień.',
'app.openhumanLink.accounts.webviewNote': 'Każde konto otwiera się we własnym oknie webview.',
'app.openhumanLink.billing.openDashboard': 'Otwórz panel',
'app.openhumanLink.billing.stayOnTrial': 'Zostań w wersji próbnej',
'app.openhumanLink.billing.trialCredit': 'Kredyt próbny',
'app.openhumanLink.billing.trialDesc':
'Korzystasz z bezpłatnego okresu próbnego. Doładuj, aby kontynuować.',
'app.openhumanLink.defaultBody':
'Jeszcze nie gotowe w popupie. Otwórz pełną stronę ustawień, gdy będziesz potrzebować.',
'app.openhumanLink.discord.intro':
'Dołącz do społeczności, dziel się opiniami i bądź na bieżąco.',
'app.openhumanLink.discord.openInvite': 'Otwórz zaproszenie',
'app.openhumanLink.discord.perk1': 'Pomoc bezpośrednio od twórców',
'app.openhumanLink.discord.perk2': 'Wczesny dostęp do nowych funkcji',
'app.openhumanLink.discord.perk3': 'Wymiana skryptów i przepisów',
'app.openhumanLink.discord.perk4': 'Możliwość wpływu na priorytety',
'app.openhumanLink.done': 'Gotowe',
'app.openhumanLink.loadingChannelSetup': 'Wczytywanie konfiguracji kanału',
'app.openhumanLink.maybeLater': 'Może później',
'app.openhumanLink.notifications.asking': 'Pytanie systemu operacyjnego…',
'app.openhumanLink.notifications.blocked': 'Zablokowane',
'app.openhumanLink.notifications.blockedStep1': 'Otwórz Ustawienia systemowe → Powiadomienia.',
'app.openhumanLink.notifications.blockedStep2': 'Znajdź OpenHuman na liście aplikacji.',
'app.openhumanLink.notifications.blockedStep3': 'Włącz „Zezwalaj na powiadomienia” i wróć tutaj.',
'app.openhumanLink.notifications.intro':
'Włącz powiadomienia, aby otrzymywać alerty od agenta i kanałów.',
'app.openhumanLink.notifications.promptHint': 'Twój system zapyta o zgodę za chwilę.',
'app.openhumanLink.notifications.retry': 'Ponów powiadomienie testowe',
'app.openhumanLink.notifications.send': 'Wyślij powiadomienie testowe',
'app.openhumanLink.notifications.sendFailed': 'Nie udało się wysłać: {error}',
'app.openhumanLink.notifications.sent':
'Wysłano powiadomienie testowe. Jeśli go nie otrzymałeś(aś), przejdź do Ustawienia systemowe → Powiadomienia → OpenHuman, włącz „Zezwalaj na powiadomienia” i ustaw styl banera na „Trwały”.',
'app.openhumanLink.skipForNow': 'Pomiń na razie',
'app.openhumanLink.telegramUnavailable': 'Telegram niedostępny',
'app.openhumanLink.title.accounts': 'Podłącz swoje aplikacje',
'app.openhumanLink.title.billing': 'Rozliczenia i kredyty',
'app.openhumanLink.title.discord': 'Dołącz do społeczności',
'app.openhumanLink.title.messaging': 'Podłącz kanał komunikacji',
'app.openhumanLink.title.notifications': 'Zezwól na powiadomienia',
// app.persistRehydration
'app.persistRehydration.body':
'Trwa odzyskiwanie stanu. Jeśli widzisz ten ekran zbyt długo, zresetuj aplikację.',
'app.persistRehydration.heading': 'Przywracanie sesji',
'app.persistRehydration.resetCta': 'Resetowanie…',
'app.persistRehydration.resetting': 'Resetowanie…',
// app.routeLoading
'app.routeLoading.initializing': 'Inicjalizacja OpenHuman...',
// app.update
'app.update.currentlyOn': '{version}',
'app.update.errorFallback': 'Coś poszło nie tak podczas aktualizacji.',
'app.update.header.default': 'Aktualizacja',
'app.update.header.error': 'Aktualizacja nie powiodła się',
'app.update.header.installing': 'Instalowanie aktualizacji',
'app.update.header.readyToInstall': 'Aktualizacja gotowa do instalacji',
'app.update.header.restarting': 'Restartowanie…',
'app.update.later': 'Później',
'app.update.newVersionReady': 'Nowa wersja jest gotowa do instalacji.',
'app.update.progress.downloaded': 'pobrano {amount}',
'app.update.progress.installing': 'Instalowanie nowej wersji…',
'app.update.progress.restarting': 'Uruchamianie aplikacji ponownie…',
'app.update.progress.working': '{percent}%',
'app.update.restartNote': 'Restart zamknie wszystkie aktywne sesje czatu i wątki.',
'app.update.restartNow': 'Zrestartuj teraz',
'app.update.versionReady': 'Wersja {newVersion} jest gotowa do instalacji.',
// channels.discord
'channels.discord.accountLinked': 'Konto powiązane',
'channels.discord.connect': 'Połącz',
'channels.discord.linkTokenExpired': 'Token powiązania wygasł. Spróbuj ponownie.',
'channels.discord.linkTokenInstruction': '{token}',
'channels.discord.linkTokenLabel': 'Etykieta tokenu powiązania',
'channels.discord.linkTokenOnce': 'Token jednorazowego powiązania',
'channels.discord.picker.allPermissionsOk': 'Bot ma wszystkie wymagane uprawnienia w tym kanale.',
'channels.discord.picker.botNotInServers': 'Bot nie jest na serwerach',
'channels.discord.picker.category': 'Kategoria',
'channels.discord.picker.channel': 'Kanał',
'channels.discord.picker.checkingPermissions': 'Sprawdzanie uprawnień',
'channels.discord.picker.loadingChannels': 'Wczytywanie kanałów...',
'channels.discord.picker.loadingServers': 'Wczytywanie serwerów...',
'channels.discord.picker.missingPermissions': 'Brakujące uprawnienia',
'channels.discord.picker.noChannels': 'Nie znaleziono kanałów tekstowych',
'channels.discord.picker.noServers': 'Nie znaleziono serwerów',
'channels.discord.picker.selectChannel': 'Wybierz kanał',
'channels.discord.picker.selectServer': 'Wybierz serwer',
'channels.discord.picker.server': 'Serwer',
'channels.discord.picker.serverChannelSelection': 'Wybór serwera i kanału',
'channels.discord.savedRestartRequired':
'Kanał zapisany. Zrestartuj aplikację, aby go aktywować.',
// channels.telegram
'channels.telegram.connect': 'Połącz',
'channels.telegram.managedDmConnecting': 'Łączenie zarządzanego DM',
'channels.telegram.managedDmTimeout': 'Limit czasu zarządzanego DM',
'channels.telegram.reconnect': 'Połącz ponownie',
'channels.telegram.savedRestartRequired':
'Kanał zapisany. Zrestartuj aplikację, aby go aktywować.',
'channels.web.alwaysAvailable': 'Zawsze dostępny',
// chat.approval
'chat.approval.approve': 'Zatwierdź',
'chat.approval.deciding': 'Przetwarzanie…',
'chat.approval.deny': 'Odrzuć',
'chat.approval.error': 'Nie udało się zapisać decyzji — spróbuj ponownie.',
'chat.approval.fallback': 'Agent chce wykonać akcję wymagającą Twojej zgody.',
'chat.approval.title': 'Wymagana zgoda',
'chat.approval.tool': 'Narzędzie:',
// channel displayNames + descriptions
'channels.discord.displayName': 'Discord',
'channels.discord.description': 'Wysyłaj i odbieraj wiadomości przez Discord.',
'channels.discord.authMode.bot_token.description': 'Podaj własny token bota Discord.',
'channels.discord.authMode.oauth.description':
'Zainstaluj bota OpenHuman na swoim serwerze Discord przez OAuth.',
'channels.discord.authMode.managed_dm.description':
'Powiąż swoje osobiste konto Discord z botem OpenHuman.',
'channels.discord.fields.bot_token.label': 'Token bota',
'channels.discord.fields.bot_token.placeholder': 'Twój token bota Discord',
'channels.discord.fields.guild_id.label': 'ID serwera (gildii)',
'channels.discord.fields.guild_id.placeholder': 'Opcjonalne: ogranicz do konkretnego serwera',
'channels.telegram.displayName': 'Telegram',
'channels.telegram.description': 'Wysyłaj i odbieraj wiadomości przez Telegram.',
'channels.telegram.authMode.managed_dm.description':
'Pisz bezpośrednio do bota OpenHuman na Telegramie.',
'channels.telegram.authMode.bot_token.description':
'Podaj własny token bota Telegram z @BotFather.',
'channels.telegram.fields.bot_token.label': 'Token bota',
'channels.telegram.fields.bot_token.placeholder': '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
'channels.telegram.fields.allowed_users.label': 'Dozwoleni użytkownicy',
'channels.telegram.fields.allowed_users.placeholder':
'Oddzielone przecinkami nazwy użytkowników Telegrama',
'channels.web.displayName': 'Sieć',
'channels.web.description': 'Czatuj przez wbudowany interfejs webowy.',
'channels.web.authMode.managed_dm.description':
'Użyj wbudowanego czatu webowego — bez konfiguracji.',
'channels.yuanbao.connect': 'Połącz',
'channels.yuanbao.connecting': 'Łączenie…',
'channels.yuanbao.fieldRequired': '{field} jest wymagane',
'channels.yuanbao.reconnect': 'Połącz ponownie',
'channels.yuanbao.savedRestartRequired':
'Kanał zapisany. Zrestartuj aplikację, aby go aktywować.',
'channels.yuanbao.unexpectedStatus': 'Nieoczekiwany status połączenia: {status}',
};
export default pl3;
+468
View File
@@ -0,0 +1,468 @@
import type { TranslationMap } from '../types';
import en4 from './en-4';
// Polish chunk 4/5. Spreads the English source-of-truth chunk so every key is
// present (i18n parity gate); Polish values below override EN where translated.
const pl4: TranslationMap = {
...en4,
// chat.unsubscribeApproval
'chat.unsubscribeApproval.approve': 'Zatwierdź i wypisz',
'chat.unsubscribeApproval.approved': '✓ Pomyślnie wypisano.',
'chat.unsubscribeApproval.denied': '✕ Żądanie odrzucone.',
'chat.unsubscribeApproval.deny': 'Odrzuć',
'chat.unsubscribeApproval.processing': 'Przetwarzanie...',
'chat.unsubscribeApproval.title': 'Żądanie wypisania',
// commandPalette
'commandPalette.ariaLabel': 'Paleta poleceń',
'commandPalette.description': 'Opis',
'commandPalette.label': 'Polecenia',
'commandPalette.noResults': 'Brak wyników',
'commandPalette.placeholder': 'Wpisz polecenie lub wyszukaj…',
'commandPalette.searchAria': 'Szukaj poleceń',
'commandPalette.shortcutHint': 'Wciśnij ?, aby zobaczyć wszystkie skróty',
'commandPalette.title': 'Paleta poleceń',
// composio.connect
'composio.connect.additionalConfigRequired': 'Wymagana dodatkowa konfiguracja',
'composio.connect.atlassianSubdomainHint': 'acme',
'composio.connect.atlassianSubdomainLabel': 'Subdomena Atlassian',
'composio.connect.connect': 'Połącz',
'composio.connect.connectionFailed': 'Połączenie nie powiodło się (status: {status}).',
'composio.connect.disconnectFailed': 'Rozłączenie nie powiodło się: {msg}',
'composio.connect.disconnecting': 'Rozłączanie…',
'composio.connect.idleDescription': 'Połącz swoje konto',
'composio.connect.idleDescriptionSuffix':
'. Otworzymy okno przeglądarki, tam zaakceptujesz dostęp, a ta aplikacja wykryje połączenie automatycznie.',
'composio.connect.isConnected': 'jest połączone.',
'composio.connect.manage': 'Zarządzaj',
'composio.connect.needsSubdomain': 'Aby się połączyć',
'composio.connect.needsSubdomainSuffix':
'wprowadź swoją subdomenę Atlassian (np. acme dla acme.atlassian.net) i spróbuj ponownie.',
'composio.connect.oauthComplete': 'Czekam na zakończenie OAuth…',
'composio.connect.oauthTimeout': 'Przekroczono czas oczekiwania na OAuth',
'composio.connect.permissions': 'Uprawnienia',
'composio.connect.permissionsDefault': 'Odczyt + zapis włączone domyślnie',
'composio.connect.permissionsNote': 'może wystawiać',
'composio.connect.permissionsNoteSuffix':
'uprawnienia agenta OpenHuman są kontrolowane poniżej przełącznikami odczytu, zapisu i administracji.',
'composio.connect.reopenBrowser': 'Otwórz przeglądarkę ponownie',
'composio.connect.requestingUrl': 'Żądanie URL połączenia…',
'composio.connect.retryConnection': 'Ponów połączenie',
'composio.connect.scopeLoadError': 'Nie udało się wczytać preferencji uprawnień: {msg}',
'composio.connect.scopeSaveError': 'Nie udało się zapisać uprawnienia {key}: {msg}',
'composio.connect.scope.read': 'Odczyt',
'composio.connect.scope.readHint': 'Pozwól agentowi odczytywać dane z tego połączenia.',
'composio.connect.scope.write': 'Zapis',
'composio.connect.scope.writeHint':
'Pozwól agentowi tworzyć lub modyfikować dane przez to połączenie.',
'composio.connect.scope.admin': 'Administracja',
'composio.connect.scope.adminHint':
'Pozwól agentowi zarządzać ustawieniami, uprawnieniami lub akcjami destrukcyjnymi.',
'composio.connect.subdomainInvalid':
'Wprowadź tylko krótką subdomenę (np. „acme”), nie pełny URL. Powinna zawierać tylko litery, cyfry i myślniki.',
'composio.connect.subdomainRequired': 'Wprowadź subdomenę Atlassian, aby kontynuować.',
'composio.connect.dynamicsOrgNameLabel': 'Nazwa organizacji Dynamics 365',
'composio.connect.dynamicsOrgNameHint':
'Na przykład „myorg” dla myorg.crm.dynamics.com. Wprowadź tylko krótką nazwę organizacji, nie pełny URL.',
'composio.connect.needsFieldsPrefix': 'Aby się połączyć',
'composio.connect.needsFieldsSuffix':
'potrzebujemy nieco więcej informacji. Uzupełnij brakujące pola poniżej i spróbuj ponownie.',
'composio.connect.requiredFieldEmpty': 'To pole jest wymagane.',
'composio.connect.wabaIdHint':
'Znajdziesz je przez GET /me/businesses, a następnie GET /{business_id}/owned_whatsapp_business_accounts z tokenem dostępu Meta.',
'composio.connect.wabaIdLabel': 'ID WhatsApp Business Account',
'composio.connect.wabaIdRequired':
'Wprowadź swoje ID WhatsApp Business Account (WABA ID), aby kontynuować.',
'composio.connect.waitingFor': 'Oczekiwanie na',
'composio.connect.waitingHint': 'Może to potrwać chwilę.',
// composio.triggers
'composio.triggers.heading': 'Wyzwalacze',
'composio.triggers.listenFrom': 'Nasłuchuj zdarzeń z',
'composio.triggers.loadError': 'Nie udało się wczytać wyzwalaczy',
'composio.triggers.needsConfiguration': 'Wymaga konfiguracji',
'composio.triggers.noneAvailable': 'Brak dostępnych wyzwalaczy dla',
// conversations
'conversations.taskKanban.moveLeft': 'Przesuń w lewo',
'conversations.taskKanban.moveRight': 'Przesuń w prawo',
'conversations.taskKanban.title': 'Zadania',
'conversations.toolTimeline.turn': 'tura',
'conversations.toolTimeline.workerThread': 'wątek workera',
// daemon
'daemon.serviceBlockingGate.body':
'Rdzeń OpenHuman nie odpowiada. Spróbuj ponownie lub pobierz najnowszą wersję aplikacji.',
'daemon.serviceBlockingGate.downloadHint':
'Jeśli problem się powtarza, pobierz najnowszą wersję.',
'daemon.serviceBlockingGate.downloadLatest': 'Pobierz najnowszą wersję',
'daemon.serviceBlockingGate.retryCore': 'Ponów rdzeń',
'daemon.serviceBlockingGate.retryFailed':
'Ponowna próba się nie powiodła. Pobierz najnowszą wersję aplikacji i spróbuj ponownie.',
'daemon.serviceBlockingGate.retrying': 'Ponawianie...',
'daemon.serviceBlockingGate.title': 'Rdzeń OpenHuman jest niedostępny',
// home.banners
'home.banners.discordSubtitle': 'Pomoc, opinie i wczesny dostęp do funkcji.',
'home.banners.discordTitle': 'Dołącz do naszego Discorda',
'home.banners.earlyBirdDismiss': 'Odrzuć baner early bird',
'home.banners.earlyBirdFirstSub': 'pierwszą subskrypcję.',
'home.banners.earlyBirdOn': 'Early bird na',
'home.banners.earlyBirdTitle': 'Pierwszych 1000 użytkowników otrzymuje 60% zniżki.',
'home.banners.earlyBirdUseCode': 'Użyj kodu early bird',
'home.banners.getSubscription': 'wykup subskrypcję',
'home.banners.promoCreditsBody': 'Przetestuj OpenHuman, a gdy będziesz gotowy(a) na więcej,',
'home.banners.promoCreditsTitle': 'Masz {amount} kredytów promocyjnych.',
'home.banners.promoCreditsUsage': 'i uzyskaj 10x więcej użycia.',
// intelligence
'intelligence.memoryChunk.detail.chunk': 'Fragment',
'intelligence.memoryChunk.detail.copyChunkId': 'Skopiuj ID fragmentu',
'intelligence.memoryChunk.detail.embeddingInfo': 'bge-m3 1024 wymiarów',
'intelligence.memoryChunk.detail.noEmbedding': 'Brak embeddingu',
'intelligence.memoryChunk.letterhead.from': 'od',
'intelligence.memoryChunk.letterhead.to': 'do',
'intelligence.memoryChunk.mentioned.chunkOne': '1 fragment',
'intelligence.memoryChunk.mentioned.chunkOther': '{count} fragmentów',
'intelligence.memoryChunk.mentioned.heading': 'w z m i a n k o w a n e',
'intelligence.memoryChunk.scoreBars.ariaScore': '{name} wynik {pct} procent',
'intelligence.memoryChunk.scoreBars.atThreshold': 'na progu {threshold}',
'intelligence.memoryChunk.scoreBars.dropped': 'odrzucone',
'intelligence.memoryChunk.scoreBars.heading': 'd l a c z e g o z a c h o w a n e',
'intelligence.memoryChunk.scoreBars.kept': 'zachowane',
'intelligence.memoryText.entityTypePrefix': 'Typ encji',
'intelligence.screenDebug.active': 'Aktywne',
'intelligence.screenDebug.app': 'Aplikacja',
'intelligence.screenDebug.bounds': 'Granice',
'intelligence.screenDebug.captureAlt': 'Wynik testu przechwytywania',
'intelligence.screenDebug.captureFailed': 'Niepowodzenie',
'intelligence.screenDebug.captureSuccess': 'Powodzenie',
'intelligence.screenDebug.captureTest': 'Test przechwytywania',
'intelligence.screenDebug.capturing': 'Przechwytywanie',
'intelligence.screenDebug.frames': 'Klatki',
'intelligence.screenDebug.idle': 'Bezczynne',
'intelligence.screenDebug.lastApp': 'Ostatnia aplikacja',
'intelligence.screenDebug.mode': 'Tryb',
'intelligence.screenDebug.permAccessibility': 'Uprawnienie: dostępność',
'intelligence.screenDebug.permInput': 'Uprawnienie: wejście',
'intelligence.screenDebug.permScreen': 'Dostępność',
'intelligence.screenDebug.permissions': 'Uprawnienia',
'intelligence.screenDebug.platformNotSupported': 'Platforma nieobsługiwana',
'intelligence.screenDebug.recentVisionSummaries': 'Ostatnie podsumowania wizji',
'intelligence.screenDebug.session': 'Sesja',
'intelligence.screenDebug.size': 'Rozmiar',
'intelligence.screenDebug.status': 'Stan',
'intelligence.screenDebug.testCapture': 'Testuj przechwytywanie',
'intelligence.screenDebug.time': 'Czas',
'intelligence.screenDebug.title': 'Tytuł',
'intelligence.screenDebug.unknown': 'Nieznane',
'intelligence.screenDebug.visionQueue': 'Kolejka wizji',
'intelligence.screenDebug.visionState': 'Stan wizji',
'intelligence.tasks.activeBoardOne': '1 aktywna tablica w rozmowach',
'intelligence.tasks.activeBoardOther': '{count} aktywnych tablic w rozmowach',
'intelligence.tasks.empty': 'Brak tablic zadań agenta',
'intelligence.tasks.emptyHint': 'Tablice pojawią się tutaj po rozpoczęciu pracy z agentem.',
'intelligence.tasks.failedToLoad': 'Nie udało się wczytać',
'intelligence.tasks.live': 'na żywo',
'intelligence.tasks.loadingBoards': 'Wczytywanie tablic zadań…',
'intelligence.tasks.threadPrefix': 'Wątek {thread}',
// notifications card/center
'notifications.card.dismiss': 'Odrzuć powiadomienie',
'notifications.card.importanceTitle': 'Ważność: {pct}%',
'notifications.center.empty': 'Brak powiadomień',
'notifications.center.emptyHint': 'Nowe powiadomienia pojawią się tutaj.',
'notifications.center.filterAll': 'Wszystkie',
'notifications.center.markAllRead': 'Oznacz wszystkie jako przeczytane',
'notifications.center.title': 'Powiadomienia',
// oauth
'oauth.button.loopbackTimeout':
'Logowanie przekroczyło limit czasu — przeglądarka nie ukończyła przekierowania OAuth. Spróbuj ponownie.',
'oauth.button.connecting': 'Łączenie...',
'oauth.login.continueWith': 'Kontynuuj z',
// onboarding.contextGathering
'onboarding.contextGathering.buildingDesc':
'Analizujemy Twój kontekst, aby spersonalizować pierwsze rozmowy.',
'onboarding.contextGathering.buildingProfile': 'Budowanie Twojego profilu...',
'onboarding.contextGathering.continueToChat': 'Przejdź do czatu',
'onboarding.contextGathering.errorDesc':
'Twój czat jest gotowy. Będziemy nadal budować pełny profil w tle, więc możesz już teraz kontynuować i dopracowywać go z czasem.',
'onboarding.contextGathering.coreAlive':
'Rdzeń jest osiągalny — pierwsze uruchomienie może potrwać minutę.',
'onboarding.contextGathering.coreAliveProbing': 'Sprawdzanie połączenia z rdzeniem…',
'onboarding.contextGathering.coreUnreachable':
'Rdzeń nie odpowiada. Możesz kontynuować i spróbować ponownie później.',
'onboarding.contextGathering.stillWorkingDesc':
'Pierwsze uruchomienie może potrwać 3060 sekund podczas rozgrzewania lokalnego modelu i narzędzi. Możesz przejść do czatu w każdej chwili — budowa profilu działa w tle.',
'onboarding.contextGathering.stillWorkingTitle': 'Trwa praca nad Twoim profilem…',
'onboarding.contextGathering.title': 'Zbieranie kontekstu',
// overlay
'overlay.ariaAttention': 'Wiadomość uwagi',
'overlay.ariaCompanion': 'Companion aktywny',
'overlay.ariaOrb': 'Nakładka OpenHuman',
'overlay.ariaVoiceActive': 'Wejście głosowe aktywne',
'overlay.companion.error': 'Błąd',
'overlay.companion.listening': 'Słucham…',
'overlay.companion.pointing': 'Wskazuję…',
'overlay.companion.speaking': 'Mówię…',
'overlay.companion.thinking': 'Myślę…',
'overlay.orbTitle': 'Przeciągnij, aby przesunąć · Kliknij dwukrotnie, aby zresetować pozycję',
// pages.settings.account
'pages.settings.account.connections': 'Połączenia',
'pages.settings.account.connectionsDesc': 'Przeglądaj i zarządzaj połączeniami kont',
'pages.settings.account.privacy': 'Prywatność',
'pages.settings.account.privacyDesc':
'Zarządzaj udostępnianiem danych i anonimowymi preferencjami użycia',
'pages.settings.account.recoveryPhrase': 'Fraza odzyskiwania',
'pages.settings.account.recoveryPhraseDesc':
'Zarządzaj swoją frazą odzyskiwania BIP39 do szyfrowania i dostępu do portfela',
'pages.settings.account.team': 'Zespół',
'pages.settings.account.teamDesc': 'Zarządzaj zespołem, członkami i zaproszeniami',
'pages.settings.account.migration': 'Importuj z innego asystenta',
'pages.settings.account.migrationDesc':
'Przenieś pamięć i notatki z OpenClaw (a wkrótce również Hermes) do tej przestrzeni roboczej.',
'pages.settings.accountSection.description':
'Fraza odzyskiwania, zespół, połączenia i ustawienia prywatności.',
'pages.settings.accountSection.title': 'Konto',
// pages.settings.ai
'pages.settings.ai.llm': 'LLM',
'pages.settings.ai.llmDesc': 'Dostawcy modeli językowych i trasowanie',
'pages.settings.ai.voice': 'Głos',
'pages.settings.ai.voiceDesc': 'Konfiguracja STT i TTS dla rozmów głosowych',
'pages.settings.ai.embeddings': 'Embeddingi',
'pages.settings.ai.embeddingsDesc': 'Model kodowania wektorowego do wyszukiwania w pamięci',
'pages.settings.aiSection.description':
'Dostawcy modeli językowych, lokalna Ollama i głos (STT / TTS).',
'pages.settings.aiSection.title': 'AI',
'pages.settings.composioSection.title': 'Composio',
'pages.settings.composioSection.description':
'Trasowanie, wyzwalacze i historia integracji obsługiwanych przez Composio.',
'pages.settings.features.desktopCompanion': 'Desktop Companion',
'pages.settings.features.desktopCompanionDesc':
'Asystent głosowy ze świadomością ekranu — słucha, widzi, mówi, wskazuje',
'pages.settings.features.messagingChannels': 'Kanały komunikacji',
'pages.settings.features.messagingChannelsDesc':
'Konfiguruj kanały takie jak Telegram, Discord i Slack',
'pages.settings.features.notifications': 'Powiadomienia',
'pages.settings.features.notificationsDesc':
'Steruj alertami systemowymi i kategoriami powiadomień',
'pages.settings.features.screenAwareness': 'Świadomość ekranu',
'pages.settings.features.screenAwarenessDesc':
'Uprawnienia, monitorowanie i sesje przechwytywania ekranu',
'pages.settings.features.tools': 'Narzędzia',
'pages.settings.features.toolsDesc': 'Wybierz, z jakich możliwości OpenHuman może korzystać',
'pages.settings.featuresSection.description': 'Świadomość ekranu, komunikacja i narzędzia.',
'pages.settings.featuresSection.title': 'Funkcje',
// privacy
'privacy.dataKind.credentials': 'Poświadczenia',
'privacy.dataKind.derived': 'Wyprowadzone',
'privacy.dataKind.diagnostics': 'Diagnostyka',
'privacy.dataKind.metadata': 'Metadane',
'privacy.dataKind.raw': 'Surowe',
'privacy.whatLeaves.link.label': 'Co opuszcza mój komputer?',
// rewards.community
'rewards.community.achievementsUnlocked': 'Odblokowano {unlocked} z {total} osiągnięć',
'rewards.community.connectDiscord': 'Połącz Discord',
'rewards.community.cumulativeTokens': 'Łączna liczba tokenów',
'rewards.community.currentStreak': 'Aktualna seria',
'rewards.community.discordLinkedNotInGuild': 'Powiązane, ale nie na serwerze',
'rewards.community.discordMember': 'Dołączono do serwera',
'rewards.community.discordNotLinked': 'Nie powiązane',
'rewards.community.discordServer': 'Serwer Discord',
'rewards.community.discordStatusUnavailable': 'Status członkostwa niedostępny',
'rewards.community.discordWaiting': 'Oczekiwanie na synchronizację z backendem',
'rewards.community.heroSubtitle':
'Odblokuj ekskluzywne kanały, odznaki wspierających i nagrody synchronizowane z backendem, łącząc swoje konto Discord.',
'rewards.community.heroTitle': 'Zdobywaj nagrody i role na Discordzie',
'rewards.community.joinDiscord': 'Dołącz do Discorda',
'rewards.community.loadingRewards': 'Wczytywanie nagród…',
'rewards.community.locked': 'Zablokowane',
'rewards.community.retrying': 'Ponawianie…',
'rewards.community.rolesAndRewards': 'Role i nagrody',
'rewards.community.streakDays': '{n} dni',
'rewards.community.syncPending': 'Synchronizacja nagród w toku',
'rewards.community.syncPendingDesc':
'Trwa synchronizacja Twoich nagród. Spróbuj ponownie za chwilę.',
'rewards.community.syncUnavailable': 'Synchronizacja niedostępna',
'rewards.community.tryAgain': 'Ponawianie…',
'rewards.community.unknown': 'Nieznane',
'rewards.community.unlocked': 'Odblokowane',
'rewards.community.yourProgress': 'Twój postęp',
// rewards.coupon
'rewards.coupon.colCode': 'Kod',
'rewards.coupon.colRedeemed': 'Zrealizowano',
'rewards.coupon.colReward': 'Nagroda',
'rewards.coupon.colStatus': 'Status',
'rewards.coupon.loadingHistory': 'Wczytywanie historii nagród…',
'rewards.coupon.noCodes': 'Nie zrealizowano jeszcze żadnych kodów.',
'rewards.coupon.pending': 'Oczekujące',
'rewards.coupon.placeholder': 'Kod kuponu',
'rewards.coupon.promoCredits': 'Kredyty promocyjne',
'rewards.coupon.recentRedemptions': 'Ostatnie realizacje',
'rewards.coupon.redeemAccepted':
'{code} zaakceptowany. {amount} zostanie odblokowane po wykonaniu wymaganej akcji.',
'rewards.coupon.redeemButton': 'Zrealizuj kod',
'rewards.coupon.redeemSuccess': '{code} zrealizowany. {amount} dodano do Twoich kredytów.',
'rewards.coupon.redeemedCodes': 'Zrealizowane kody',
'rewards.coupon.redeeming': 'Realizacja...',
'rewards.coupon.statusApplied': 'Zastosowano',
'rewards.coupon.statusPendingAction': 'Oczekuje na akcję',
'rewards.coupon.statusRedeemed': 'Zrealizowano',
'rewards.coupon.subtitle': 'Wprowadź kod, aby otrzymać kredyty promocyjne.',
'rewards.coupon.title': 'Zrealizuj kod kuponu',
// rewards.referralSection
'rewards.referralSection.activity': 'Aktywność poleceń',
'rewards.referralSection.apply': 'Stosowanie…',
'rewards.referralSection.applying': 'Stosowanie…',
'rewards.referralSection.colReferredUser': 'Polecony użytkownik',
'rewards.referralSection.colReward': 'Nagroda',
'rewards.referralSection.colStatus': 'Status',
'rewards.referralSection.colUpdated': 'Zaktualizowano',
'rewards.referralSection.completed': 'Zakończone',
'rewards.referralSection.copyCode': 'Kopiuj kod',
'rewards.referralSection.copyFailed': 'Kopiowanie nie powiodło się',
'rewards.referralSection.haveCode': 'Masz kod polecający?',
'rewards.referralSection.haveCodeDesc':
'Wprowadź kod, który otrzymałeś(aś) od znajomego, aby uzyskać bonus.',
'rewards.referralSection.linked': 'Powiązane',
'rewards.referralSection.linkedCode': '(kod {code})',
'rewards.referralSection.loading': 'Wczytywanie programu poleceń…',
'rewards.referralSection.noReferrals': 'Brak poleceń',
'rewards.referralSection.pendingReferrals': 'Oczekujące polecenia',
'rewards.referralSection.placeholder': 'Kod polecający',
'rewards.referralSection.share': 'Udostępnij',
'rewards.referralSection.statusCompleted': 'Zakończone',
'rewards.referralSection.statusExpired': 'Wygasłe',
'rewards.referralSection.statusJoined': 'Dołączył(a)',
'rewards.referralSection.subtitle': 'Zaproś znajomych do OpenHuman i zarabiajcie kredyty razem.',
'rewards.referralSection.title': 'Zapraszaj znajomych, zarabiaj kredyty',
'rewards.referralSection.totalEarned': 'Łącznie zarobione',
'rewards.referralSection.yourCode': 'Twój kod',
// settings.ai (extras)
'settings.ai.addCloudProvider': 'Dodaj dostawcę chmurowego',
'settings.ai.addProvider': 'Zapisywanie…',
'settings.ai.apiKeyFieldLabel': 'Klucz API',
'settings.ai.apiKeyRequired': 'Wklej swój klucz API, aby kontynuować.',
'settings.ai.apiKeyStoredEncrypted': 'Klucz API przechowywany w postaci zaszyfrowanej',
'settings.ai.apiKeysEncrypted': 'auth-profiles.json',
'settings.ai.clearStoredKey': 'Wyczyść zapisany klucz',
'settings.ai.connectProvider': 'Połącz dostawcę',
'settings.ai.customRouting': 'Własne trasowanie',
'settings.ai.defaultResolvesTo': 'OpenHuman',
'settings.ai.discard': 'Odrzuć',
'settings.ai.editProvider': 'Edytuj dostawcę',
'settings.ai.llmProviders': 'Dostawcy LLM',
'settings.ai.llmProvidersDesc': 'Skonfiguruj dostawców chmurowych i lokalnych modeli językowych.',
'settings.ai.localOllama': 'Lokalny (Ollama)',
'settings.ai.modelLabel': 'Model',
'settings.ai.noCustomProviders': 'Brak własnych dostawców',
'settings.ai.openAiCompat.authHeaderExample': 'Authorization: Bearer <Twój klucz>',
'settings.ai.openAiCompat.authHeaderLabel': 'Nagłówek uwierzytelniania',
'settings.ai.openAiCompat.baseUrlLabel': 'Bazowy URL',
'settings.ai.openAiCompat.baseUrlUnavailable': 'Niedostępny',
'settings.ai.openAiCompat.clearKey': 'Wyczyść klucz',
'settings.ai.openAiCompat.description':
'Skieruj lokalne harnesy do tego serwera /v1, aby kierować ruch przez dostawców skonfigurowanych poniżej. Uwierzytelnianie używa stabilnego klucza ustawionego tutaj, nie wewnętrznego tokenu rdzenia aplikacji.',
'settings.ai.openAiCompat.keyConfigured': 'Klucz skonfigurowany',
'settings.ai.openAiCompat.keyRequired': 'Klucz wymagany',
'settings.ai.openAiCompat.rotateKey': 'Rotuj klucz',
'settings.ai.openAiCompat.setKey': 'Ustaw klucz',
'settings.ai.openAiCompat.title': 'Endpoint kompatybilny z OpenAI',
'settings.ai.providerLabel': 'Dostawca',
'settings.ai.routing': 'Trasowanie',
'settings.ai.routingCustom': 'Własne trasowanie',
'settings.ai.routingDefault': 'Domyślne',
'settings.ai.routingDesc':
'Wybierz, którzy dostawcy obsługują które workloady (czat, tło, embeddingi).',
'settings.ai.saveChanges': 'Zapisywanie…',
'settings.ai.saving': 'Zapisywanie…',
'settings.ai.unsavedChange': 'niezapisana zmiana',
'settings.ai.unsavedChanges': 'niezapisane zmiany',
'settings.ai.workloadGroupBackground': 'Grupa workloadów: tło',
'settings.ai.workloadGroupChat': 'Grupa workloadów: czat',
// settings.autocomplete
'settings.autocomplete.appFilter.acceptSuggestion': 'Akceptuj sugestię',
'settings.autocomplete.appFilter.contextOverride': 'Nadpisanie kontekstu (opcjonalne)',
'settings.autocomplete.appFilter.debugFocus': 'Debug fokusa',
'settings.autocomplete.appFilter.getSuggestion': 'Pobierz sugestię',
'settings.autocomplete.appFilter.liveLogs': 'Dziennik na żywo',
'settings.autocomplete.appFilter.noLogs': ') :',
'settings.autocomplete.appFilter.refreshStatus': 'Odświeżanie…',
'settings.autocomplete.appFilter.refreshing': 'Odświeżanie…',
'settings.autocomplete.appFilter.runtime': 'Środowisko',
'settings.autocomplete.appFilter.test': 'Test',
'settings.autocomplete.completionStyle.acceptedCompletion':
'Zapisano {count} zaakceptowane uzupełnienie — używane do personalizacji przyszłych sugestii.',
'settings.autocomplete.completionStyle.acceptedCompletions':
'Zapisano {count} zaakceptowanych uzupełnień — używane do personalizacji przyszłych sugestii.',
'settings.autocomplete.completionStyle.clearHistory': 'Czyszczenie…',
'settings.autocomplete.completionStyle.clearing': 'Czyszczenie…',
'settings.autocomplete.completionStyle.debounce': 'Debounce (ms)',
'settings.autocomplete.completionStyle.enabled': 'Włączone',
'settings.autocomplete.completionStyle.maxChars': 'Maks. znaków',
'settings.autocomplete.completionStyle.noHistory':
'Brak zaakceptowanych uzupełnień. Akceptuj sugestie Tabem, aby rozpocząć personalizację.',
'settings.autocomplete.completionStyle.overlayTtl': 'TTL nakładki (ms)',
'settings.autocomplete.completionStyle.personalizationHistory': 'Historia personalizacji',
'settings.autocomplete.completionStyle.styleExamples': 'Przykłady stylu (jeden w wierszu)',
'settings.autocomplete.completionStyle.styleInstructions': 'Instrukcje stylu',
// settings.billing.autoRecharge
'settings.billing.autoRecharge.addAmount': 'Dodaj tę kwotę',
'settings.billing.autoRecharge.addCard': 'Dodaj kartę',
'settings.billing.autoRecharge.amountHint': 'Minimalna kwota doładowania to równowartość 5 USD.',
'settings.billing.autoRecharge.defaultCard': 'Karta domyślna',
'settings.billing.autoRecharge.lastRechargeFailed': 'Ostatnie doładowanie nie powiodło się',
'settings.billing.autoRecharge.lastRecharged': 'Ostatnio doładowano',
'settings.billing.autoRecharge.noCards': 'Brak kart',
'settings.billing.autoRecharge.paymentMethods': 'Metody płatności',
'settings.billing.autoRecharge.rechargeInProgress': 'Doładowanie w toku',
'settings.billing.autoRecharge.rechargeWhen': 'Doładuj, gdy saldo spadnie poniżej',
'settings.billing.autoRecharge.saveSettings': 'Zapisywanie…',
'settings.billing.autoRecharge.saving': 'Zapisywanie…',
'settings.billing.autoRecharge.setDefault': ':',
'settings.billing.autoRecharge.subtitle':
'Automatycznie doładowuj kredyty, gdy saldo spadnie poniżej progu.',
'settings.billing.autoRecharge.title': 'Włącz automatyczne doładowanie',
'settings.billing.autoRecharge.toggleAriaLabel': 'Przełącz automatyczne doładowanie',
'settings.billing.autoRecharge.weeklyLimit': 'Tygodniowy limit wydatków',
// settings.billing.history
'settings.billing.history.desc': 'Twoje ostatnie transakcje i rozliczenia.',
'settings.billing.history.empty': 'Brak historii do wyświetlenia.',
'settings.billing.history.openPortal': 'Otwórz portal',
'settings.billing.history.posted': 'Zaksięgowano',
'settings.billing.history.title': 'Historia rozliczeń',
// settings.billing.inferenceBudget
'settings.billing.inferenceBudget.cycleEnds': 'Koniec cyklu',
'settings.billing.inferenceBudget.exhausted': 'Wyczerpane',
'settings.billing.inferenceBudget.loadError': 'Błąd wczytywania',
'settings.billing.inferenceBudget.noBudgetDesc':
'Brak aktywnego budżetu cyklicznego. Wykup plan, aby zacząć.',
'settings.billing.inferenceBudget.noRecurringBudget': 'Brak budżetu cyklicznego',
'settings.billing.inferenceBudget.remaining': 'Pozostało',
'settings.billing.inferenceBudget.tenHourCap': 'Limit 10-godzinny',
'settings.billing.inferenceBudget.title': 'Budżet inferencji',
// settings.billing.payAsYouGo
'settings.billing.payAsYouGo.available': 'Dostępne',
'settings.billing.payAsYouGo.chargeCustomAmount': 'Otwieranie…',
'settings.billing.payAsYouGo.chooseTopUpDesc': 'Wybierz kwotę doładowania lub wprowadź własną.',
'settings.billing.payAsYouGo.chooseTopUpTitle': 'Wybierz kwotę doładowania',
'settings.billing.payAsYouGo.creditBalanceDesc':
'Twoje aktualne saldo kredytów dostępne do użycia.',
'settings.billing.payAsYouGo.creditBalanceTitle': 'Saldo kredytów',
'settings.billing.payAsYouGo.customAmount': 'Własna kwota',
'settings.billing.payAsYouGo.enterAmount': 'Wprowadź kwotę',
'settings.billing.payAsYouGo.opening': 'Otwieranie',
'settings.billing.payAsYouGo.promotionalCredits': 'Kredyty promocyjne',
'settings.billing.payAsYouGo.topUpBalance': 'Doładuj saldo',
'settings.billing.payAsYouGo.topUpCredits': 'Doładuj kredyty',
'settings.billing.payAsYouGo.unableToLoad': 'Nie można wczytać salda.',
// settings.billing.subscription
'settings.billing.subscription.annual': 'Roczna',
'settings.billing.subscription.billedAnnually': 'Rozliczane rocznie',
'settings.billing.subscription.chooseSubtitle': 'Wybierz plan dopasowany do Twoich potrzeb.',
'settings.billing.subscription.chooseTitle': 'Wybierz plan',
'settings.billing.subscription.cryptoDesc':
'Możesz zapłacić również w kryptowalucie — skontaktuj się z nami.',
'settings.billing.subscription.cryptoQuestion': 'Wolisz zapłacić kryptowalutą?',
'settings.billing.subscription.current': 'Bieżący',
'settings.billing.subscription.currentPlan': 'Bieżący plan',
'settings.billing.subscription.monthly': 'Miesięczna',
'settings.billing.subscription.paymentConfirmed': 'Płatność potwierdzona',
'settings.billing.subscription.perMonth': 'miesięcznie',
'settings.billing.subscription.popular': 'Popularne',
};
export default pl4;
+819
View File
@@ -0,0 +1,819 @@
import type { TranslationMap } from '../types';
import en5 from './en-5';
// Polish chunk 5/5. Spreads the English source-of-truth chunk so every key is
// present (i18n parity gate); Polish values below override EN where translated.
const pl5: TranslationMap = {
...en5,
// settings.billing.subscription (extras)
'settings.billing.subscription.save': '{pct}',
'settings.billing.subscription.upgrade': 'Podnieś plan',
'settings.billing.subscription.waiting': 'Oczekiwanie',
'settings.billing.subscription.waitingPayment': 'Oczekiwanie na płatność',
// settings.composio
'settings.composio.apiKeyDesc':
'Klucz API Composio jest obecnie przechowywany na tym urządzeniu.',
'settings.composio.apiKeyLabel': 'Klucz API Composio',
'settings.composio.apiKeyStored': 'Klucz API zapisany',
'settings.composio.apiKeyStoredPlaceholder': '••••••••••••••••',
'settings.composio.clearedToBackend': 'Przełączono na tryb backendowy',
'settings.composio.confirmItem1': 'Konto w app.composio.dev z kluczem API',
'settings.composio.confirmItem2':
'Ponowne powiązanie każdej integracji przez Twoje osobiste konto Composio',
'settings.composio.confirmItem3':
'Uwaga: wyzwalacze Composio (webhooks w czasie rzeczywistym) nie działają jeszcze w trybie bezpośrednim — tylko synchroniczne wywołania narzędzi',
'settings.composio.confirmNeedItems': 'Będziesz potrzebować:',
'settings.composio.confirmSwitch': 'Rozumiem, przełącz na tryb bezpośredni',
'settings.composio.confirmTitle': '⚠️ Przełączanie na tryb bezpośredni',
'settings.composio.confirmWarning':
'Twoje istniejące integracje (Gmail, Slack, GitHub itp. połączone przez OpenHuman) nie będą widoczne — żyją w tenant Composio zarządzanym przez OpenHuman.',
'settings.composio.intro':
'Composio integruje 250+ zewnętrznych aplikacji jako narzędzia, z których może korzystać Twój agent. Wybierz, jak kierować te wywołania.',
'settings.composio.modeDirect': 'Bezpośredni (przynieś własny klucz API)',
'settings.composio.modeDirectDesc':
'Wywołania trafiają bezpośrednio do backend.composio.dev. Suwerennie / przyjazne offline. Wywołania narzędzi działają synchronicznie; webhooks wyzwalaczy w czasie rzeczywistym nie są jeszcze trasowane w trybie bezpośrednim.',
'settings.composio.modeManaged': 'Zarządzany (OpenHuman robi to za Ciebie)',
'settings.composio.modeManagedDesc':
'OpenHuman pośredniczy w wywołaniach narzędzi przez nasz backend (zalecane). Uwierzytelnianie jest pośredniczone; nie musisz wklejać klucza API Composio. Webhooks są w pełni trasowane.',
'settings.composio.routingMode': 'Tryb trasowania',
'settings.composio.saveErrorNoKey':
'Nie udało się zapisać. Tryb bezpośredni wymaga niepustego klucza API.',
'settings.composio.saving': 'Zapisywanie…',
'settings.composio.switching': 'Przełączanie…',
// settings.cron
'settings.cron.jobs.desc': 'Zadania cykliczne uruchamiane przez harmonogram rdzenia.',
'settings.cron.jobs.empty': 'Nie znaleziono zadań cron rdzenia.',
'settings.cron.jobs.lastStatus': 'Ostatni status',
'settings.cron.jobs.loading': 'Wczytywanie zadań cron...',
'settings.cron.jobs.loadingRuns': 'Wczytywanie uruchomień',
'settings.cron.jobs.nextRun': 'Następne uruchomienie',
'settings.cron.jobs.pause': 'Wstrzymaj',
'settings.cron.jobs.paused': 'Włączone',
'settings.cron.jobs.recentRuns': 'Ostatnie uruchomienia',
'settings.cron.jobs.removing': 'Usuwanie',
'settings.cron.jobs.resume': 'Wznów',
'settings.cron.jobs.runningNow': 'Uruchamiane teraz',
'settings.cron.jobs.saving': 'Zapisywanie…',
'settings.cron.jobs.schedule': 'Harmonogram',
'settings.cron.jobs.title': 'Zadania cron rdzenia',
'settings.cron.jobs.viewRuns': 'Zobacz uruchomienia',
// settings.localModel.deviceCapability
'settings.localModel.deviceCapability.active': 'Aktywne',
'settings.localModel.deviceCapability.appliedTier': 'Zastosowany poziom',
'settings.localModel.deviceCapability.applying': 'Stosowanie',
'settings.localModel.deviceCapability.cores': '{count}',
'settings.localModel.deviceCapability.couldNotLoadPresets': 'Nie udało się wczytać presetów',
'settings.localModel.deviceCapability.cpu': 'CPU',
'settings.localModel.deviceCapability.customModelIds': 'Własne ID modeli',
'settings.localModel.deviceCapability.detected': 'Wykryto',
'settings.localModel.deviceCapability.disabled': 'Wyłączone',
'settings.localModel.deviceCapability.disabledDesc':
'Lokalne AI wyłączone — używana jest chmura jako rezerwa.',
'settings.localModel.deviceCapability.downloadingModels': '(pobieranie modeli)',
'settings.localModel.deviceCapability.downloadingSetupDesc':
'Pobieranie instalatora OllamaSetup (~2 GB) i rozpakowywanie. Pierwsza instalacja może potrwać minutę.',
'settings.localModel.deviceCapability.failedToApplyPreset': 'Nie udało się zastosować presetu',
'settings.localModel.deviceCapability.gpu': 'GPU',
'settings.localModel.deviceCapability.installFailed': 'Instalacja Ollama nie powiodła się',
'settings.localModel.deviceCapability.installFailedDesc':
'Instalator zakończył pracę, zanim Ollama była gotowa. Kliknij ponów, aby spróbować jeszcze raz, lub zainstaluj ręcznie z ollama.com.',
'settings.localModel.deviceCapability.installFirst': 'Najpierw uruchom Ollamę.',
'settings.localModel.deviceCapability.installFirstDesc':
'Lokalne poziomy zależą od zewnętrznie zarządzanego endpointu Ollama. Uruchom go samodzielnie, pobierz potrzebne modele i pozostań przy „Wyłączone (rezerwa chmurowa)”, dopóki środowisko nie będzie osiągalne.',
'settings.localModel.deviceCapability.installOllamaFirst':
'Najpierw uruchom Ollamę, aby użyć tego poziomu',
'settings.localModel.deviceCapability.installingOllama': 'Instalowanie Ollama',
'settings.localModel.deviceCapability.loadingDeviceInfo': 'Wczytywanie informacji o urządzeniu',
'settings.localModel.deviceCapability.localAiDisabled':
'Lokalne AI wyłączone — używana jest rezerwa chmurowa.',
'settings.localModel.deviceCapability.modelTier': 'Poziom modelu',
'settings.localModel.deviceCapability.needsOllama': 'Wymaga Ollama',
'settings.localModel.deviceCapability.notDetected': 'Nie wykryto',
'settings.localModel.deviceCapability.ram': 'RAM',
'settings.localModel.deviceCapability.recommended': 'Zalecane',
'settings.localModel.deviceCapability.retryInstall': 'Ponawianie…',
'settings.localModel.deviceCapability.retrying': 'Ponawianie…',
'settings.localModel.deviceCapability.starting': 'Uruchamianie…',
// settings.localModel.download
'settings.localModel.download.audioPathPlaceholder': 'Bezwzględna ścieżka do pliku audio',
'settings.localModel.download.capabilityAssets': 'Zasoby możliwości',
'settings.localModel.download.downloading': 'Pobieranie...',
'settings.localModel.download.embeddingPlaceholder': 'Jeden ciąg wejściowy w wierszu...',
'settings.localModel.download.noThinkMode': 'Tryb bez myślenia',
'settings.localModel.download.promptPlaceholder':
'Wpisz dowolny prompt i uruchom go na modelu lokalnym...',
'settings.localModel.download.quantizationPref': 'Preferencja kwantyzacji',
'settings.localModel.download.runEmbeddingTest': 'Uruchamianie...',
'settings.localModel.download.runPromptTest': 'Uruchom test promptu',
'settings.localModel.download.runSummaryTest': 'Uruchom test podsumowania',
'settings.localModel.download.runTranscriptionTest': 'Uruchamianie...',
'settings.localModel.download.runTtsTest': 'Uruchamianie...',
'settings.localModel.download.runVisionTest': 'Uruchamianie...',
'settings.localModel.download.running': 'Uruchamianie...',
'settings.localModel.download.runningPrompt': 'Uruchamianie promptu',
'settings.localModel.download.summarizePlaceholder':
'Wklej tekst do podsumowania modelem lokalnym...',
'settings.localModel.download.testCustomPrompt': 'Testuj własny prompt',
'settings.localModel.download.testEmbeddings': 'Testuj embeddingi',
'settings.localModel.download.testSummarization': 'Testuj podsumowywanie',
'settings.localModel.download.testVisionPrompt': 'Testuj prompt wizji',
'settings.localModel.download.testVoiceInput': 'Testuj wejście głosowe (STT)',
'settings.localModel.download.testVoiceOutput': 'Testuj wyjście głosowe (TTS)',
'settings.localModel.download.ttsOutputPlaceholder': 'Opcjonalna ścieżka wyjściowa WAV',
'settings.localModel.download.ttsPlaceholder': 'Wprowadź tekst do syntezy...',
'settings.localModel.download.visionImagePlaceholder':
'Jedno odniesienie do obrazu w wierszu (data URI, URL lub marker lokalnej ścieżki)',
'settings.localModel.download.visionPromptPlaceholder': 'Wprowadź prompt dla modelu wizji...',
// settings.localModel.status
'settings.localModel.status.allChecksPassed': 'Wszystkie testy zaliczone',
'settings.localModel.status.artifact': 'Artefakt',
'settings.localModel.status.backend': 'Backend',
'settings.localModel.status.binary': 'Plik binarny',
'settings.localModel.status.bootstrapResume': 'Inicjalizacja / wznowienie',
'settings.localModel.status.checking': 'Sprawdzanie...',
'settings.localModel.status.checkingOllama': 'Sprawdzanie Ollama',
'settings.localModel.status.customLocation': 'Własna lokalizacja',
'settings.localModel.status.customLocationDesc': 'Wskaż ręcznie ścieżkę do binarki Ollama.',
'settings.localModel.status.diagnosticsHint':
'Kliknij „Uruchom diagnostykę”, aby zweryfikować, że Ollama działa i modele są zainstalowane.',
'settings.localModel.status.downloadingUnknown': 'Pobieranie (rozmiar nieznany)',
'settings.localModel.status.eta': 'Pozostały czas',
'settings.localModel.status.expectedModels': 'Oczekiwane modele',
'settings.localModel.status.forceRebootstrap': 'Wymuś ponowną inicjalizację',
'settings.localModel.status.generationTps': 'TPS generowania',
'settings.localModel.status.hideErrorDetails': 'Ukryj szczegóły błędu',
'settings.localModel.status.installManually': 'Zainstaluj ręcznie',
'settings.localModel.status.installManuallyFrom': 'Zainstaluj ręcznie z',
'settings.localModel.status.installOllama': 'Uruchamianie…',
'settings.localModel.status.installedModels': 'Zainstalowane modele',
'settings.localModel.status.installing': 'Instalowanie...',
'settings.localModel.status.installingOllama': 'Instalowanie środowiska Ollama...',
'settings.localModel.status.issues': 'Problemy',
'settings.localModel.status.issuesFound': 'Znaleziono {count} problemów',
'settings.localModel.status.lastLatency': 'Ostatnie opóźnienie',
'settings.localModel.status.model': 'Model',
'settings.localModel.status.notFound': 'Nie znaleziono',
'settings.localModel.status.notRunning': 'Nie działa',
'settings.localModel.status.ollamaBinaryPath': 'Ścieżka binarki Ollama',
'settings.localModel.status.ollamaDiagnostics': 'Diagnostyka Ollama',
'settings.localModel.status.ollamaNotInstalled': 'Środowisko Ollama niedostępne',
'settings.localModel.status.ollamaNotInstalledDesc':
'OpenHuman traktuje teraz Ollamę jako zewnętrzne środowisko inferencji. Uruchom własny serwer Ollama, pobierz potrzebne modele i skieruj na niego trasowanie workloadów.',
'settings.localModel.status.progress': 'Postęp',
'settings.localModel.status.provider': 'Dostawca',
'settings.localModel.status.retryBootstrap': 'Ponów inicjalizację',
'settings.localModel.status.runDiagnostics': 'Sprawdzanie...',
'settings.localModel.status.running': 'Działa',
'settings.localModel.status.runningExternalProcess': 'Działa przez zewnętrzny proces',
'settings.localModel.status.runtimeStatus': 'Stan środowiska',
'settings.localModel.status.server': 'Serwer',
'settings.localModel.status.setPath': 'Ustawianie...',
'settings.localModel.status.setting': 'Ustawianie...',
'settings.localModel.status.showErrorDetails': 'Ukryj szczegóły błędu',
'settings.localModel.status.showInstallErrorDetails': 'Ukryj szczegóły błędu',
'settings.localModel.status.suggestedFixes': 'Sugerowane poprawki',
'settings.localModel.status.thenSetPath': 'Następnie ustaw ścieżkę',
'settings.localModel.status.triggering': 'Uruchamianie...',
'settings.localModel.status.unavailable': 'Niedostępne',
'settings.localModel.status.working': 'Pracuję...',
// settings.developerMenu
'settings.developerMenu.ai.title': 'Konfiguracja AI',
'settings.developerMenu.ai.desc':
'Dostawcy chmurowi, lokalne modele Ollama i trasowanie per workload',
'settings.developerMenu.screenAwareness.title': 'Świadomość ekranu',
'settings.developerMenu.screenAwareness.desc':
'Uprawnienia do przechwytywania ekranu, polityka monitorowania i kontrola sesji',
'settings.developerMenu.messagingChannels.title': 'Kanały komunikacji',
'settings.developerMenu.messagingChannels.desc':
'Konfiguruj tryby uwierzytelniania Telegram/Discord i domyślne trasowanie',
'settings.developerMenu.tools.title': 'Narzędzia',
'settings.developerMenu.tools.desc':
'Włącz lub wyłącz możliwości, z których OpenHuman może korzystać w Twoim imieniu',
'settings.developerMenu.agentChat.title': 'Czat z agentem',
'settings.developerMenu.agentChat.desc':
'Testuj rozmowę z agentem z nadpisaniami modelu i temperatury',
'settings.developerMenu.cronJobs.title': 'Zadania cron',
'settings.developerMenu.cronJobs.desc':
'Przeglądaj i konfiguruj zaplanowane zadania dla umiejętności runtime',
'settings.developerMenu.localModelDebug.title': 'Debug modelu lokalnego',
'settings.developerMenu.localModelDebug.desc':
'Konfiguracja Ollama, pobieranie zasobów, testy modeli i diagnostyka',
'settings.developerMenu.composio.title': 'Composio',
'settings.developerMenu.composio.desc':
'Tryb trasowania, wyzwalacze integracji i archiwum historii wyzwalaczy.',
'settings.developerMenu.webhooks.title': 'Webhooks',
'settings.developerMenu.webhooks.desc':
'Sprawdź rejestracje webhooków w runtime i logi przechwyconych żądań',
'settings.developerMenu.intelligence.title': 'Inteligencja',
'settings.developerMenu.intelligence.desc':
'Przestrzeń pamięci, silnik podświadomości, sny i ustawienia',
'settings.developerMenu.notificationRouting.title': 'Trasowanie powiadomień',
'settings.developerMenu.notificationRouting.desc':
'Punktacja ważności AI i eskalacja orkiestratora dla alertów integracji',
'settings.developerMenu.composeioTriggers.title': 'Wyzwalacze ComposeIO',
'settings.developerMenu.composeioTriggers.desc':
'Przeglądaj historię i archiwum wyzwalaczy ComposeIO',
'settings.developerMenu.composioRouting.title': 'Trasowanie Composio (tryb bezpośredni)',
'settings.developerMenu.composioRouting.desc':
'Użyj własnego klucza API Composio i kieruj wywołania bezpośrednio do backend.composio.dev',
'settings.developerMenu.integrationTriggers.title': 'Wyzwalacze integracji',
'settings.developerMenu.integrationTriggers.desc':
'Konfiguruj ustawienia klasyfikacji AI dla wyzwalaczy integracji Composio',
'settings.appearance.menuDesc': 'Wybierz jasny, ciemny lub dopasowany do systemu motyw',
// settings.agentAccess
'settings.agentAccess.title': 'Dostęp agenta do systemu',
'settings.agentAccess.menuDesc':
'Kontroluj, gdzie agent może czytać/pisać oraz czy może używać powłoki.',
'settings.agentAccess.loadError': 'Nie udało się wczytać ustawień dostępu',
'settings.agentAccess.saveError': 'Nie udało się zapisać ustawień dostępu',
'settings.agentAccess.saved': 'Zapisano — zostanie zastosowane w następnej wiadomości.',
'settings.agentAccess.desktopOnly':
'Ustawienia dostępu są dostępne tylko w aplikacji desktopowej.',
'settings.agentAccess.loading': 'Wczytywanie…',
'settings.agentAccess.accessMode': 'Tryb dostępu',
'settings.agentAccess.tier.readonly.title': 'Tylko do odczytu',
'settings.agentAccess.tier.readonly.desc':
'Czyta pliki i uruchamia polecenia tylko do odczytu, aby eksplorować — ale nigdy nie zapisuje, nie edytuje ani nie uruchamia niczego, co zmienia stan.',
'settings.agentAccess.tier.supervised.title': 'Pytaj przed edycją',
'settings.agentAccess.tier.supervised.desc':
'Tworzy nowe pliki swobodnie, ale pyta o Twoją zgodę przed edycją istniejącego pliku, uruchomieniem polecenia, dostępem do sieci lub instalacją czegokolwiek.',
'settings.agentAccess.tier.full.title': 'Pełny dostęp',
'settings.agentAccess.tier.full.desc':
'Uruchamia polecenia z pełnym dostępem Twojego konta — może czytać/pisać wszędzie, gdzie to dozwolone, oprócz magazynów poświadczeń i systemowych. Polecenia destrukcyjne, dostęp do sieci i instalacje nadal proszą o zgodę.',
'settings.agentAccess.defaultTag': '(domyślny)',
'settings.agentAccess.fullWarning':
'⚠ Pełny dostęp uruchamia polecenia z pełnymi uprawnieniami Twojego konta i nie jest sandboxowany. Włącz to tylko wtedy, gdy ufasz agentowi na tym komputerze. Katalogi poświadczeń i systemowe pozostają zablokowane, a akcje destrukcyjne, sieciowe i instalacyjne nadal proszą o zgodę.',
'settings.agentAccess.confine.label': 'Ogranicz do przestrzeni roboczej',
'settings.agentAccess.confine.desc':
'Ogranicz agenta do katalogu przestrzeni roboczej (oraz dodanych folderów), niezależnie od wybranego trybu dostępu. Wyłączone — może sięgać wszędzie, gdzie Twój użytkownik, oprócz zawsze zablokowanych katalogów poświadczeń i systemowych.',
'settings.agentAccess.grantedFolders': 'Przyznane foldery',
'settings.agentAccess.grantedDesc':
'Foldery, do których agent może czytać i pisać, oprócz przestrzeni roboczej. Magazyny poświadczeń (~/.ssh, ~/.gnupg, ~/.aws, keychains) i katalogi systemowe (/etc, /System, C:\\Windows, …) są zawsze zablokowane, nawet w przyznanym folderze.',
'settings.agentAccess.noneGranted': 'Brak przyznanych folderów.',
'settings.agentAccess.readWrite': 'odczyt + zapis',
'settings.agentAccess.readOnly': 'tylko do odczytu',
'settings.agentAccess.remove': 'Usuń',
'settings.agentAccess.pathPlaceholder': 'Bezwzględna ścieżka folderu',
'settings.agentAccess.accessLevelLabel': 'Poziom dostępu',
'settings.agentAccess.add': 'Dodaj',
'settings.agentAccess.saving': 'Zapisywanie…',
'settings.agentAccess.changesApply': 'Zmiany zostaną zastosowane w następnej wiadomości.',
// settings.mascot
'settings.mascot.active': 'Aktywny',
'settings.mascot.characterDesc': 'Wybierz charakter maskotki OpenHuman.',
'settings.mascot.characterHeading': 'Charakter',
'settings.mascot.customGifError':
'Wprowadź URL .gif HTTPS, URL .gif loopback HTTP, URL file:// .gif lub lokalną ścieżkę .gif.',
'settings.mascot.customGifHeading': 'Własny awatar GIF',
'settings.mascot.customGifLabel': 'URL własnego awatara GIF',
'settings.mascot.colorDesc': 'Wybierz kolor maskotki używany w całej aplikacji.',
'settings.mascot.colorHeading': 'Kolor',
'settings.mascot.loadingLibrary': 'Wczytywanie biblioteki OpenHuman…',
'settings.mascot.localDefault': 'Lokalny OpenHuman (domyślny)',
'settings.mascot.menuTitle': 'Maskotka',
'settings.mascot.menuDesc': 'Wybierz kolor maskotki używany w aplikacji',
'settings.mascot.noCharacters': 'Nie ma jeszcze dostępnych postaci OpenHuman',
'settings.mascot.noColorVariants': 'Brak wariantów kolorystycznych',
'settings.mascot.voice.current': 'bieżący',
'settings.mascot.voice.customDesc':
'Znajdź ID głosów w api.elevenlabs.io/v1/voices lub w panelu ElevenLabs. Przechowywane jest tylko ID — Twój klucz API pozostaje na backendzie.',
'settings.mascot.voice.customHeading': 'Własne ID głosu',
'settings.mascot.voice.customOption': 'Inne (wklej ID głosu)…',
'settings.mascot.voice.desc':
'Wybierz głos ElevenLabs, którego maskotka używa do odpowiedzi głosowych. Filtruj po płci, wybierz z listy lub pozwól aplikacji dobrać głos pasujący do języka interfejsu.',
'settings.mascot.voice.genderFemale': 'Kobiecy',
'settings.mascot.voice.genderHeading': 'Płeć głosu',
'settings.mascot.voice.genderMale': 'Męski',
'settings.mascot.voice.heading': 'Głos',
'settings.mascot.voice.preset': 'Preset głosu',
'settings.mascot.voice.presetHeading': 'Preset głosu',
'settings.mascot.voice.preview': 'Podgląd głosu',
'settings.mascot.voice.previewError': 'Podgląd głosu nie powiódł się',
'settings.mascot.voice.previewing': 'Odsłuchiwanie…',
'settings.mascot.voice.reset': 'Przywróć domyślny',
'settings.mascot.voice.useLocaleDefault': 'Dopasuj do języka aplikacji',
'settings.mascot.voice.useLocaleDefaultDesc':
'Automatyczny dobór głosu do bieżącego języka interfejsu.',
// settings.memoryWindow
'settings.memoryWindow.balanced.badge': 'Zalecane',
'settings.memoryWindow.balanced.hint':
'Rozsądna wartość domyślna — dobra ciągłość bez nadmiernych tokenów na każde uruchomienie.',
'settings.memoryWindow.balanced.label': 'Zrównoważone',
'settings.memoryWindow.description':
'Ile zapamiętanego kontekstu OpenHuman wstrzykuje do każdego nowego uruchomienia agenta. Większe okno daje większą świadomość poprzednich rozmów, ale używa więcej tokenów — i kosztuje więcej — przy każdym uruchomieniu.',
'settings.memoryWindow.extended.badge': 'Więcej kontekstu',
'settings.memoryWindow.extended.hint':
'Więcej długoterminowej pamięci wstrzykiwanej do każdego uruchomienia. Wyższy koszt tokenów na turę.',
'settings.memoryWindow.extended.label': 'Rozszerzone',
'settings.memoryWindow.maximum.badge': 'Najwyższy koszt',
'settings.memoryWindow.maximum.hint':
'Największe bezpieczne okno. Najlepsza ciągłość, znacząco wyższy rachunek za tokeny przy każdym uruchomieniu.',
'settings.memoryWindow.maximum.label': 'Maksymalne',
'settings.memoryWindow.minimal.badge': 'Najtańsze',
'settings.memoryWindow.minimal.hint':
'Najmniejsze okno pamięci. Najtańsze, najszybsze, najmniejsza ciągłość między uruchomieniami.',
'settings.memoryWindow.minimal.label': 'Minimalne',
'settings.memoryWindow.title': 'Okno pamięci długoterminowej',
// settings.screenIntel
'settings.screenIntel.permissions.accessibility': 'Dostępność',
'settings.screenIntel.permissions.grantHint': 'System otworzy okno żądania uprawnień.',
'settings.screenIntel.permissions.inputMonitoring': 'Monitorowanie wejścia',
'settings.screenIntel.permissions.macosAppliesPrivacy': 'macOS stosuje politykę prywatności do:',
'settings.screenIntel.permissions.openInputMonitoring': 'Żądanie…',
'settings.screenIntel.permissions.refreshStatus': 'Odświeżanie…',
'settings.screenIntel.permissions.refreshing': 'Odświeżanie…',
'settings.screenIntel.permissions.requestAccessibility': 'Żądanie…',
'settings.screenIntel.permissions.requestScreenRecording': 'Żądanie…',
'settings.screenIntel.permissions.requesting': 'Żądanie…',
'settings.screenIntel.permissions.restartRefresh': 'Restartowanie rdzenia…',
'settings.screenIntel.permissions.restartingCore': 'Restartowanie rdzenia…',
'settings.screenIntel.permissions.screenRecording': 'Nagrywanie ekranu',
'settings.screenIntel.permissions.title': 'Uprawnienia',
// skills.card
'skills.card.moreActions': 'Więcej akcji',
// skills.create
'skills.create.allowedTools': 'Dozwolone narzędzia',
'skills.create.author': 'Autor',
'skills.create.authorPlaceholder': 'Twoje imię',
'skills.create.commaSeparated': '(rozdzielone przecinkami)',
'skills.create.createBtn': 'Utwórz umiejętność',
'skills.create.createError': 'Nie udało się utworzyć umiejętności',
'skills.create.creating': 'Tworzenie…',
'skills.create.description': 'Opis',
'skills.create.descriptionPlaceholder': 'Co robi ta umiejętność?',
'skills.create.license': 'Licencja',
'skills.create.name': 'Nazwa',
'skills.create.namePlaceholder': 'np. Dziennik transakcji',
'skills.create.scope': 'Zakres',
'skills.create.scopeProjectHint': '/.openhuman/skills/',
'skills.create.scopeUserHint':
'Zapisane do ~/.openhuman/skills/<slug>/SKILL.md — dostępne we wszystkich przestrzeniach roboczych.',
'skills.create.slugLabel': 'Etykieta slug',
'skills.create.subtitle': 'SKILL.md',
'skills.create.tags': 'Tagi',
'skills.create.title': 'Nowa umiejętność',
// skills.detail
'skills.detail.allowedTools': 'Dozwolone narzędzia',
'skills.detail.author': 'Autor',
'skills.detail.bundledResources': 'Dołączone zasoby',
'skills.detail.closeAriaLabel': 'Zamknij szczegóły umiejętności',
'skills.detail.location': 'Lokalizacja',
'skills.detail.noBundledResources': 'Brak dołączonych zasobów.',
'skills.detail.tags': 'Tagi',
'skills.detail.warnings': 'Ostrzeżenia',
// skills.install
'skills.install.fetchLog': 'Dziennik pobierania',
'skills.install.installBtn': 'Instalowanie…',
'skills.install.installComplete': 'Instalacja zakończona',
'skills.install.installing': 'Instalowanie…',
'skills.install.parseWarnings': 'Ostrzeżenia parsowania',
'skills.install.rawError': 'Surowy błąd',
'skills.install.timeoutHint': '(sekundy, opcjonalne)',
'skills.install.timeoutLabel': 'Limit czasu',
'skills.install.title': 'Zainstaluj umiejętność z URL',
'skills.install.urlLabel': 'URL umiejętności',
// skills.meetingBots
'skills.meetingBots.bannerDesc':
'Wklej link Google Meet, a OpenHuman dołączy jako gość, mówi, słucha i odpowiada.',
'skills.meetingBots.bannerTitle': 'Wyślij OpenHuman na spotkanie',
'skills.meetingBots.busyTitle': 'OpenHuman jest zajęty',
'skills.meetingBots.comingSoon': 'Wkrótce',
'skills.meetingBots.couldNotStartTitle': 'Nie udało się uruchomić OpenHuman',
'skills.meetingBots.displayName': 'Wyświetlana nazwa',
'skills.meetingBots.failedToStart': 'Nie udało się uruchomić OpenHuman.',
'skills.meetingBots.joiningMessage': 'Powinien pojawić się jako uczestnik w ciągu kilku sekund.',
'skills.meetingBots.joiningTitle': 'OpenHuman dołącza do spotkania',
'skills.meetingBots.meetingLink': 'Link spotkania',
'skills.meetingBots.modalAriaLabel': 'Wyślij OpenHuman na spotkanie',
'skills.meetingBots.modalDesc':
'OpenHuman dołącza jako anonimowy gość, transmituje wideo do rozmowy i odpowiada przez agenta.',
'skills.meetingBots.modalTitle': 'Wyślij OpenHuman na spotkanie',
'skills.meetingBots.newBadge': 'Nowość',
'skills.meetingBots.sendTo': 'Wyślij do',
'skills.meetingBots.starting': 'Uruchamianie…',
// skills.resource
'skills.resource.preview.closeAriaLabel': 'Zamknij podgląd',
'skills.resource.preview.failed': 'Podgląd nie powiódł się',
'skills.resource.preview.loading': 'Wczytywanie podglądu…',
'skills.resource.tree.empty': 'Brak dołączonych zasobów.',
'skills.search.placeholder': 'Szukaj umiejętności...',
// skills.setup.autocomplete
'skills.setup.autocomplete.acceptKey': 'Klawisz akceptacji',
'skills.setup.autocomplete.activeDesc':
'Autouzupełnianie działa. Akceptuj sugestie klawiszem skrótu.',
'skills.setup.autocomplete.activeTitle': 'Autouzupełnianie jest aktywne',
'skills.setup.autocomplete.customizeSettings': 'Dostosuj ustawienia',
'skills.setup.autocomplete.debounce': 'Debounce',
'skills.setup.autocomplete.description':
'Sugestie wierszowe podczas pisania w polach tekstowych.',
'skills.setup.autocomplete.enableBtn': 'Włączanie...',
'skills.setup.autocomplete.enableError': 'Nie udało się włączyć autouzupełniania',
'skills.setup.autocomplete.enabling': 'Włączanie...',
'skills.setup.autocomplete.notSupported': 'Nieobsługiwane',
'skills.setup.autocomplete.stepEnable': 'Włącz uzupełnienia wierszowe',
'skills.setup.autocomplete.stepSuccess': 'Gotowe',
'skills.setup.autocomplete.stylePreset': 'Preset stylu',
'skills.setup.autocomplete.stylePresetValue': 'Zrównoważony (konfigurowalny później)',
'skills.setup.autocomplete.title': 'Autouzupełnianie tekstu',
// skills.setup.screenIntel
'skills.setup.screenIntel.activeDesc': 'Inteligencja ekranu działa. Wybrane okna są obserwowane.',
'skills.setup.screenIntel.activeTitle': 'Inteligencja ekranu jest włączona',
'skills.setup.screenIntel.advancedSettings': 'Ustawienia zaawansowane',
'skills.setup.screenIntel.allGranted': 'Wszystkie uprawnienia przyznane',
'skills.setup.screenIntel.captureMode': 'Tryb przechwytywania',
'skills.setup.screenIntel.captureModeValue': 'Wszystkie okna (konfigurowalne później)',
'skills.setup.screenIntel.deniedHint':
'Po przyznaniu uprawnień w Ustawieniach systemowych kliknij poniżej, aby zrestartować i odświeżyć zmiany.',
'skills.setup.screenIntel.enableBtn': 'Włączanie...',
'skills.setup.screenIntel.enableDesc':
's na Twoim ekranie i dostarczają użytecznego kontekstu agentowi',
'skills.setup.screenIntel.enableError': 'Nie udało się włączyć inteligencji ekranu',
'skills.setup.screenIntel.enabling': 'Włączanie...',
'skills.setup.screenIntel.grant': 'Otwieranie...',
'skills.setup.screenIntel.granted': 'Przyznano',
'skills.setup.screenIntel.macosOnly': 'Tylko macOS',
'skills.setup.screenIntel.opening': 'Otwieranie...',
'skills.setup.screenIntel.panicHotkey': 'Skrót awaryjny',
'skills.setup.screenIntel.permAccessibility': 'Dostępność',
'skills.setup.screenIntel.permInputMonitoring': 'Monitorowanie wejścia',
'skills.setup.screenIntel.permScreenRecording': 'Nagrywanie ekranu',
'skills.setup.screenIntel.permissionsDesc': 'Inteligencja ekranu wymaga uprawnień systemowych:',
'skills.setup.screenIntel.refreshStatus': 'Odśwież status',
'skills.setup.screenIntel.restartRefresh': 'Restartowanie...',
'skills.setup.screenIntel.restarting': 'Restartowanie...',
'skills.setup.screenIntel.stepEnable': 'Włącz umiejętność',
'skills.setup.screenIntel.stepPermissions': 'Przyznaj uprawnienia',
'skills.setup.screenIntel.stepSuccess': 'Gotowe',
'skills.setup.screenIntel.title': 'Inteligencja ekranu',
'skills.setup.screenIntel.visionModel': 'Model wizji',
// skills.setup.voice
'skills.setup.voice.activation': 'Aktywacja',
'skills.setup.voice.activeDescPrefix': 'Fn',
'skills.setup.voice.activeDescSuffix': 'Fn',
'skills.setup.voice.activeTitle': 'Inteligencja głosowa jest aktywna',
'skills.setup.voice.customizeSettings': 'Dostosuj ustawienia',
'skills.setup.voice.downloadSttBtn': 'Pobierz model STT',
'skills.setup.voice.enableDesc': 'Włącz dyktowanie głosowe i odpowiedzi głosowe.',
'skills.setup.voice.hotkey': 'Skrót klawiszowy',
'skills.setup.voice.startBtn': 'Uruchamianie...',
'skills.setup.voice.startError': 'Nie udało się uruchomić serwera głosowego',
'skills.setup.voice.starting': 'Uruchamianie...',
'skills.setup.voice.stepEnable': 'Uruchom serwer głosowy',
'skills.setup.voice.stepSetup': 'Wymagane pobranie modelu',
'skills.setup.voice.stepSuccess': 'Gotowe',
'skills.setup.voice.sttNotReady': 'Model speech-to-text niegotowy',
'skills.setup.voice.sttNotReadyDesc':
'Inteligencja głosowa wymaga lokalnego modelu Whisper do transkrypcji. Pobierz go z ustawień modelu lokalnego.',
'skills.setup.voice.sttReady': 'Model speech-to-text gotowy',
'skills.setup.voice.sttReturnHint': 'Wróć tutaj po pobraniu modelu.',
'skills.setup.voice.title': 'Inteligencja głosowa',
// skills.uninstall
'skills.uninstall.couldNotUninstall': 'Nie udało się odinstalować',
'skills.uninstall.description':
'Permanentnie usuwa katalog umiejętności i wszystkie dołączone zasoby. Agent przestanie je widzieć w następnej turze.',
'skills.uninstall.title': 'Odinstaluj',
'skills.uninstall.uninstallBtn': 'Odinstaluj',
'skills.uninstall.uninstalling': 'Odinstalowywanie…',
// upsell
'upsell.global.limitMessage': 'Podnieś plan lub doładuj kredyty, aby kontynuować',
'upsell.global.limitTitle': 'Ty',
'upsell.global.nearLimitMessage':
'Wykorzystano {pct}% limitu użycia. Podnieś plan, aby zwiększyć limity.',
'upsell.global.nearLimitTitle': 'Zbliżasz się do limitu użycia',
'upsell.usageLimit.bodyBudget':
'Osiągnięto tygodniowy limit.{reset} Podnieś plan lub doładuj kredyty, aby uniknąć limitów.',
'upsell.usageLimit.bodyRate':
'Osiągnięto 10-godzinny limit szybkości inferencji.{reset} Podnieś plan, aby zwiększyć limity.',
'upsell.usageLimit.heading': 'Osiągnięto limit użycia',
'upsell.usageLimit.notNow': 'Nie teraz',
'upsell.usageLimit.perWindow': '{amount}',
'upsell.usageLimit.planIncludes': '{plan}',
'upsell.usageLimit.resetsIn': 'Resetuje się {time}.',
'upsell.usageLimit.upgradePlan': 'Podnieś plan',
'upsell.usageLimit.weeklyInference': '{amount}',
// walkthrough
'walkthrough.tooltip.letsGo': 'Zaczynamy!',
'walkthrough.tooltip.next': 'Dalej →',
'walkthrough.tooltip.skip': 'Pomiń przewodnik',
'walkthrough.tooltip.stepCounter': '{n} z {total}',
// webhooks
'webhooks.activity.empty': 'Brak aktywności.',
'webhooks.activity.title': 'Ostatnia aktywność',
'webhooks.composioHistory.empty': 'Brak historii.',
'webhooks.composioHistory.metadataId': 'ID metadanych',
'webhooks.composioHistory.metadataUuid': 'UUID metadanych',
'webhooks.composioHistory.payload': 'Ładunek',
'webhooks.composioHistory.title': 'Historia wyzwalaczy ComposeIO',
'webhooks.tunnels.active': 'Aktywny',
'webhooks.tunnels.createFailed': 'Nie udało się utworzyć tunelu',
'webhooks.tunnels.creating': 'Tworzenie...',
'webhooks.tunnels.deleteFailed': 'Nie udało się usunąć tunelu',
'webhooks.tunnels.descriptionPlaceholder': 'Opis (opcjonalny)',
'webhooks.tunnels.echo': 'Echo',
'webhooks.tunnels.empty': 'Brak tuneli.',
'webhooks.tunnels.enableEcho': 'Usuń Echo',
'webhooks.tunnels.inactive': 'Aktywny',
'webhooks.tunnels.namePlaceholder': 'Nazwa tunelu (np. telegram-bot)',
'webhooks.tunnels.newTunnel': 'Nowy tunel',
'webhooks.tunnels.removeEcho': 'Usuń Echo',
'webhooks.tunnels.title': 'Tunele webhooków',
'webhooks.tunnels.toggleFailed': 'Nie udało się przełączyć echa',
// composio (extras)
'composio.authExpired': 'Autoryzacja wygasła',
'composio.reconnect': 'Połącz ponownie',
'composio.previewBadge': 'Podgląd',
'composio.previewTooltip':
'Integracja z agentem wkrótce — możesz się połączyć, ale agent nie może jeszcze użyć tego zestawu narzędzi.',
'composio.directModeRequiresKey':
'Nie udało się zapisać. Tryb bezpośredni wymaga niepustego klucza API.',
'composio.notYetRouted': 'jeszcze nie trasowane',
'composio.triggers.loading': 'Wczytywanie…',
'conversations.taskKanban.todo': 'Do zrobienia',
'settings.composio.loading': 'Wczytywanie…',
'settings.mascot.noCharactersAvailable': 'Nie ma jeszcze dostępnych postaci OpenHuman',
'skills.uninstall.confirmTitle': 'Odinstalować {name}?',
'conversations.taskKanban.blocked': 'Zablokowane',
'conversations.taskKanban.done': 'Zrobione',
'conversations.taskKanban.inProgress': 'W toku',
'intelligence.memoryChunk.detail.copiedHint': 'skopiowano',
'settings.composio.notYetRouted': 'jeszcze nie trasowane',
'settings.localModel.download.manageExternal':
'Zarządzaj tym modelem w swoim zewnętrznym środowisku.',
'settings.localModel.status.manageOllamaExternal':
'Zarządzaj procesem Ollama i pobraniami modeli poza OpenHumanem, a następnie uruchom ponownie diagnostykę.',
'settings.localModel.status.ollamaDocs': 'Dokumentacja Ollama',
'settings.localModel.status.thenRetry':
'po instrukcje konfiguracji, a następnie spróbuj ponownie, gdy środowisko będzie osiągalne.',
// settings.appearance
'settings.appearance.title': 'Wygląd',
'settings.appearance.themeHeading': 'Motyw',
'settings.appearance.themeAria': 'Motyw',
'settings.appearance.modeLight': 'Jasny',
'settings.appearance.modeLightDesc': 'Jasne powierzchnie, ciemny tekst.',
'settings.appearance.modeDark': 'Ciemny',
'settings.appearance.modeDarkDesc': 'Przyciemnione powierzchnie, łatwiejsze dla oczu po zmroku.',
'settings.appearance.modeSystem': 'Dopasuj do systemu',
'settings.appearance.modeSystemDesc':
'Postępuj zgodnie z ustawieniem wyglądu Twojego systemu operacyjnego.',
'settings.appearance.helperText':
'Tryb ciemny przełącza całą aplikację — czat, ustawienia, panele — na przyciemnioną paletę. „Dopasuj do systemu” podąża za wyglądem systemu i aktualizuje się na żywo.',
'settings.appearance.tabBarHeading': 'Dolny pasek zakładek',
'settings.appearance.tabBarAlwaysShowLabels': 'Zawsze pokazuj etykiety',
'settings.appearance.tabBarAlwaysShowLabelsDesc':
'Wyłączone — etykiety pojawiają się tylko po najechaniu lub dla aktywnej zakładki.',
// settings.mascot (more)
'settings.mascot.characterPreview': 'Podgląd',
'settings.mascot.characterStates': 'stanów',
'settings.mascot.characterVisemes': 'wizemów',
'settings.mascot.colorAria': 'Kolor OpenHuman',
'settings.mascot.colorBlack': 'Czarny',
'settings.mascot.colorBurgundy': 'Burgundowy',
'settings.mascot.colorCustom': 'Własny',
'settings.mascot.colorNavy': 'Granatowy',
'settings.mascot.primaryColor': 'Kolor podstawowy',
'settings.mascot.secondaryColor': 'Kolor dodatkowy',
'settings.mascot.colorYellow': 'Żółty',
'settings.mascot.libraryUnavailable': 'Biblioteka OpenHuman niedostępna',
'settings.mascot.title': 'OpenHuman',
// settings.developerMenu (more)
'settings.developerMenu.mcpServer.title': 'Serwer MCP',
'settings.developerMenu.mcpServer.desc':
'Skonfiguruj zewnętrznych klientów MCP do połączenia z OpenHumanem',
'settings.developerMenu.autonomy.title': 'Autonomia agenta',
'settings.developerMenu.autonomy.desc': 'Limity szybkości akcji narzędzi i progi bezpieczeństwa',
// settings.mcpServer
'settings.mcpServer.title': 'Serwer MCP',
'settings.mcpServer.toolsSectionTitle': 'Dostępne narzędzia',
'settings.mcpServer.toolsSectionDesc':
'Narzędzia udostępniane przez serwer stdio MCP podczas uruchamiania openhuman-core mcp',
'settings.mcpServer.configSectionTitle': 'Konfiguracja klienta',
'settings.mcpServer.configSectionDesc':
'Wybierz swojego klienta MCP, aby wygenerować poprawny fragment konfiguracji',
'settings.mcpServer.copySnippet': 'Skopiuj do schowka',
'settings.mcpServer.copied': 'Skopiowano!',
'settings.mcpServer.openConfigFile': 'Otwórz plik konfiguracyjny',
'settings.mcpServer.binaryPathNotFound':
'Nie znaleziono pliku binarnego OpenHuman. Jeśli uruchamiasz ze źródeł, zbuduj: cargo build --bin openhuman-core',
'settings.mcpServer.openConfigError': 'Nie udało się otworzyć pliku konfiguracyjnego',
'settings.mcpServer.clientClaudeDesktop': 'Claude Desktop',
'settings.mcpServer.clientCursor': 'Cursor',
'settings.mcpServer.clientCodex': 'Codex',
'settings.mcpServer.clientZed': 'Zed',
'settings.mcpServer.configFilePath': 'Plik konfiguracyjny',
'settings.mcpServer.clientSelectorAriaLabel': 'Selektor klienta MCP',
// settings.persona
'settings.persona.title': 'Persona',
'settings.persona.menuTitle': 'Persona',
'settings.persona.menuDesc':
'Imię, osobowość, awatar i głos — Twój asystent jako jedna tożsamość',
'settings.persona.identityHeading': 'Tożsamość',
'settings.persona.identityDesc':
'Wyświetlana nazwa i krótki opis Twojego asystenta. Pokazane w aplikacji; nie zmienia sposobu rozumowania asystenta.',
'settings.persona.displayNameLabel': 'Wyświetlana nazwa',
'settings.persona.displayNamePlaceholder': 'np. Nova',
'settings.persona.descriptionLabel': 'Opis',
'settings.persona.descriptionPlaceholder': 'np. Spokojny, zwięzły asystent dla mojego zespołu.',
'settings.persona.soul.heading': 'Osobowość (SOUL.md)',
'settings.persona.soul.desc':
'Prompt osobowości, którym asystent kieruje się w każdej rozmowie. Edycje są zapisywane w Twojej przestrzeni roboczej i wchodzą w życie w następnej odpowiedzi.',
'settings.persona.soul.editorLabel': 'Zawartość SOUL.md',
'settings.persona.soul.reset': 'Przywróć domyślne',
'settings.persona.soul.usingDefault': 'Używam dołączonej wartości domyślnej',
'settings.persona.soul.loadError': 'Nie udało się wczytać SOUL.md',
'settings.persona.soul.saveError': 'Nie udało się zapisać SOUL.md',
'settings.persona.soul.resetError': 'Nie udało się zresetować SOUL.md',
'settings.persona.appearanceHeading': 'Awatar i głos',
'settings.persona.appearanceDesc':
'Kolor maskotki, własny awatar GIF i głos odpowiedzi są konfigurowane w ustawieniach Maskotki.',
'settings.persona.openMascotSettings': 'Otwórz ustawienia Maskotki',
// common (extras)
'common.breadcrumb': 'Ścieżka nawigacji',
'settings.betaBuild': 'Wersja beta - v{version}',
// migration (extras)
'migration.vendor.openclaw': 'OpenClaw',
'migration.vendor.hermes': 'Hermes Agent (wkrótce)',
// onboarding.apiKeys
'onboarding.apiKeys.openaiOauthHint':
'Użyj ChatGPT Plus/Pro (subskrypcja) lub klucza API OpenAI — nie potrzeba obu.',
'onboarding.apiKeys.openaiOauthOpening': 'Otwieranie logowania…',
'onboarding.apiKeys.finishSignIn': 'Dokończ logowanie ChatGPT',
'onboarding.apiKeys.orApiKey': 'lub klucz API',
// app
'app.localAiDownload.expandAria': 'Rozwiń postęp pobierania',
'app.localAiDownload.collapseAria': 'Zwiń postęp pobierania',
'app.localAiDownload.dismissAria': 'Odrzuć powiadomienie o pobieraniu',
// mobile / progress
'mobile.nav.ariaLabel': 'Nawigacja mobilna',
'progress.stepsAria': 'Kroki postępu',
'progress.stepAria': 'Krok {current} z {total}',
// workspace.vaults
'workspace.vaultsTitle': 'Sejfy wiedzy',
'workspace.vaultsDesc':
'Wskaż lokalny folder; pliki są dzielone na fragmenty i zwierciadłowo odzwierciedlane w pamięci.',
// calls (extras)
'calls.title': 'Rozmowy',
'calls.comingSoonBody': 'Rozmowy wspomagane przez AI są już wkrótce. Pozostań w kontakcie.',
// art / dev / composio expired
'art.rotatingTetrahedronAria': 'Obracający się odwrócony statek tetraedryczny',
'devOptions.sentryDisabled': '(brak ID — Sentry wyłączone w tej kompilacji)',
'composio.expiredAuthorization': 'Autoryzacja {name} wygasła',
'composio.expiredDescription':
'Połącz ponownie, aby ponownie włączyć narzędzia {name}. OpenHuman utrzyma tę integrację jako niedostępną, dopóki nie odświeżysz dostępu OAuth.',
'channels.telegram.remoteControlTitle': 'Sterowanie zdalne (Telegram)',
'channels.telegram.remoteControlBody':
'Z dozwolonego czatu Telegram wyślij /status, /sessions, /new lub /help. Trasowanie modelu nadal używa /model i /models.',
'rewards.referralSection.retry': 'Ponów',
// settings.ai (more)
'settings.ai.plannerSummary':
'Planner: {sourceEvents} zdarzeń źródłowych, {sent} wysłanych, {deduped} zdeduplikowanych.',
'settings.ai.routeLabel': 'trasa: {route}',
'settings.ai.latestSpend': 'Ostatni wydatek: {amount} o {time} ({action})',
'settings.ai.topActions': 'Najczęstsze akcje',
'settings.ai.noSpendRows': 'Brak załadowanych wierszy wydatków.',
'settings.ai.topHours': 'Najczęstsze godziny',
'settings.ai.noHourlySpend': 'Brak wydatków godzinowych.',
// settings.autocomplete.appFilter (more)
'settings.autocomplete.appFilter.app': 'Aplikacja',
'settings.autocomplete.appFilter.currentSuggestion': 'Bieżąca sugestia',
'settings.autocomplete.appFilter.debounce': 'Debounce',
'settings.autocomplete.appFilter.enabled': 'Włączone',
'settings.autocomplete.appFilter.lastError': 'Ostatni błąd',
'settings.autocomplete.appFilter.model': 'Model',
'settings.autocomplete.appFilter.phase': 'Faza',
'settings.autocomplete.appFilter.platformSupported': 'Platforma obsługiwana',
'settings.autocomplete.appFilter.running': 'Działa',
// settings.autocomplete.debug
'settings.autocomplete.debug.acceptedPrefix': 'Zaakceptowano: {value}',
'settings.autocomplete.debug.acceptFailed': 'Nie udało się zaakceptować sugestii',
'settings.autocomplete.debug.alreadyRunning': 'Autouzupełnianie już działa.',
'settings.autocomplete.debug.clearHistoryFailed': 'Nie udało się wyczyścić historii',
'settings.autocomplete.debug.didNotStart': 'Autouzupełnianie nie wystartowało.',
'settings.autocomplete.debug.disabledInSettings':
'Autouzupełnianie jest wyłączone w ustawieniach. Włącz je i zapisz najpierw.',
'settings.autocomplete.debug.fetchSuggestionFailed': 'Nie udało się pobrać bieżącej sugestii',
'settings.autocomplete.debug.inspectFocusedElementFailed':
'Nie udało się zbadać aktywnego elementu',
'settings.autocomplete.debug.loadSettingsFailed':
'Nie udało się wczytać ustawień autouzupełniania',
'settings.autocomplete.debug.noSuggestionApplied': 'Nie zastosowano sugestii.',
'settings.autocomplete.debug.noSuggestionReturned': 'Nie zwrócono sugestii.',
'settings.autocomplete.debug.refreshStatusFailed':
'Nie udało się odświeżyć statusu autouzupełniania',
'settings.autocomplete.debug.saveAdvancedSettingsFailed':
'Nie udało się zapisać ustawień zaawansowanych',
'settings.autocomplete.debug.startFailed': 'Nie udało się uruchomić autouzupełniania',
'settings.autocomplete.debug.stopFailed': 'Nie udało się zatrzymać autouzupełniania',
'settings.autocomplete.debug.suggestionPrefix': 'Sugestia: {value}',
'settings.autocomplete.shared.none': 'Brak',
'settings.autocomplete.shared.notApplicable': 'nd.',
'settings.autocomplete.shared.unknown': 'Nieznane',
// settings.billing.autoRecharge (more)
'settings.billing.autoRecharge.expires': 'Wygasa {date}',
'settings.billing.autoRecharge.spentThisWeek': 'Wykorzystano ${spent} z ${limit} w tym tygodniu',
// settings.localModel.deviceCapability (extras)
'settings.localModel.deviceCapability.disabledLowercase': 'wyłączone',
'settings.localModel.deviceCapability.presetDetails':
'Czat: {chatModel} · Wizja: {visionModel} · Docelowy RAM: {targetRamGb} GB',
'settings.localModel.download.capabilityChat': 'Czat',
'settings.localModel.download.capabilityEmbedding': 'Embedding',
'settings.localModel.download.capabilityStt': 'STT',
'settings.localModel.download.capabilityTts': 'TTS',
'settings.localModel.download.capabilityVision': 'Wizja',
'settings.localModel.download.embeddingDimensions': 'Wymiary: {dimensions}',
'settings.localModel.download.embeddingModel': 'Model: {modelId}',
'settings.localModel.download.embeddingVectors': 'Wektory: {count}',
'settings.localModel.download.notAvailable': 'nd.',
'settings.localModel.download.summaryHelper':
'Wywołuje `openhuman.inference_summarize` przez rdzeń Rust',
'settings.localModel.download.transcript': 'Transkrypcja:',
'settings.localModel.download.ttsOutput': 'Wyjście: {outputPath}',
'settings.localModel.download.ttsVoice': 'Głos: {voiceId}',
// settings.localModel.status (extras)
'settings.localModel.status.contextBelowMinimumBadge':
'{contextLength} ctx - poniżej minimum {required}',
'settings.localModel.status.contextBelowMinimumTitle':
'Odrzucone: okno kontekstu {contextLength} tokenów jest poniżej minimum {required} tokenów wymaganego przez warstwę pamięci. Cichy obcięcie kontekstu uszkodziłoby recall.',
'settings.localModel.status.contextOkBadge': '{contextLength} ctx ✓',
'settings.localModel.status.contextOkTitle':
'Okno kontekstu {contextLength} tokenów spełnia minimum warstwy pamięci wynoszące {required} tokenów.',
'settings.localModel.status.contextUnknownBadge': 'ctx nieznane',
'settings.localModel.status.contextUnknownTitle':
'Okno kontekstu nieznane; nie udało się potwierdzić, że spełnia minimum {required} tokenów warstwy pamięci.',
'settings.localModel.status.expectedChat': 'Czat: {model}',
'settings.localModel.status.expectedEmbedding': 'Embedding: {model}',
'settings.localModel.status.expectedVision': 'Wizja: {model}',
'settings.localModel.status.externalProcess': 'Zewnętrzny proces',
'settings.localModel.status.notAvailable': 'nd.',
'settings.mascot.customGifPlaceholder': 'https://example.com/avatar.gif',
'settings.mascot.loadDetailError': 'Nie udało się wczytać maskotki.',
'settings.mascot.loadLibraryError': 'Nie udało się wczytać biblioteki maskotek.',
'settings.mascot.voice.customPlaceholder': 'np. 21m00Tcm4TlvDq8ikWAM',
'settings.mascot.voice.previewText': 'Cześć, jestem Twoim asystentem. To jest podgląd głosu.',
// skills (channel icons / composio / create extras / install errors)
'skills.channelIcon.discord': 'Discord',
'skills.channelIcon.imessage': 'iMessage',
'skills.channelIcon.telegram': 'Telegram',
'skills.channelIcon.web': 'Sieć',
'skills.channelIcon.yuanbao': 'Yuanbao',
'skills.composio.poweredBy': 'Napędzane przez Composio',
'skills.composio.staleStatusTitle': 'Połączenia pokazują nieaktualny status',
'skills.create.allowedToolsHelp': 'Renderowane do nagłówka frontmatter SKILL.md jako',
'skills.create.allowedToolsPlaceholder': 'node_exec, fetch',
'skills.create.licensePlaceholder': 'MIT',
'skills.create.tagsPlaceholder': 'handel, badania',
'skills.install.errors.alreadyInstalledHint':
'Umiejętność z tym slugiem już istnieje w przestrzeni roboczej. Usuń ją najpierw lub zmień `metadata.id` / `name` w frontmatter.',
'skills.install.errors.alreadyInstalledTitle': 'Umiejętność już zainstalowana',
'skills.install.errors.fetchFailedHint':
'Żądanie nie zostało zrealizowane pomyślnie. Sprawdź, że URL wskazuje na osiągalny plik publiczny i że host zwrócił odpowiedź 2xx.',
'skills.install.errors.fetchFailedTitle': 'Pobieranie nie powiodło się',
'skills.install.errors.fetchTimedOutHint':
'Zdalny host nie odpowiedział w czasie. Spróbuj ponownie lub zwiększ limit czasu (1-600 s).',
'skills.install.errors.fetchTimedOutTitle': 'Przekroczono limit czasu pobierania',
'skills.install.errors.fetchTooLargeHint':
'SKILL.md musi mieć poniżej 1 MiB. Podziel dołączone zasoby na pliki `references/` lub `scripts/` zamiast wstawiać je inline.',
'skills.install.errors.fetchTooLargeTitle': 'SKILL.md zbyt duży',
'skills.install.errors.genericHint': 'Backend zwrócił błąd. Surowa wiadomość pokazana poniżej.',
'skills.install.errors.genericTitle': 'Nie udało się zainstalować umiejętności',
'skills.install.errors.invalidSkillHint':
'Frontmatter musi być poprawnym YAML-em z niepustymi polami `name` i `description`, zakończonym `---`.',
'skills.install.errors.invalidSkillTitle': 'SKILL.md nie został sparsowany',
'skills.install.errors.invalidUrlHint':
'Dozwolone są tylko publiczne adresy HTTPS. Prywatne, loopback i metadanowe hosty są zablokowane.',
'skills.install.errors.invalidUrlTitle': 'URL odrzucony',
'skills.install.errors.unsupportedUrlHint':
'Działają tylko bezpośrednie linki `.md`. Dla GitHuba linkuj do pliku (github.com/owner/repo/blob/.../SKILL.md) — drzewa i korzenie repo nie są instalowane.',
'skills.install.errors.unsupportedUrlTitle': 'Forma URL nieobsługiwana',
'skills.install.errors.writeFailedHint':
'Katalog umiejętności w przestrzeni roboczej nie był zapisywalny. Sprawdź uprawnienia systemu plików dla `<workspace>/.openhuman/skills/`.',
'skills.install.errors.writeFailedTitle': 'Nie udało się zapisać SKILL.md',
'skills.install.fetchingPrefix': 'Pobieranie',
'skills.install.fetchingSuffix': 'może to potrwać do skonfigurowanego limitu czasu.',
'skills.install.subtitleMiddle': 'przez HTTPS i instaluje pod',
'skills.install.subtitlePrefix': 'Pobiera pojedynczy',
'skills.install.subtitleSuffix': 'tylko HTTPS; prywatne i loopback hosty są zablokowane.',
'skills.install.successDiscovered': 'Odkryto {count} nowych umiejętności.',
'skills.install.successNoNewIds':
'Umiejętność zainstalowana, ale nie pojawiły się nowe ID — katalog może już zawierać umiejętność z tym samym slugiem.',
'skills.install.timeoutHelp':
'Domyślnie 60 sekund. Wartości spoza zakresu 1-600 są ograniczane po stronie serwera.',
'skills.install.timeoutInvalid': 'Musi być liczbą całkowitą między 1 a 600.',
'skills.install.timeoutPlaceholder': '60',
'skills.install.urlHelpMiddle': 'plik.',
'skills.install.urlHelpPrefix': 'Bezpośredni link do',
'skills.install.urlHelpSuffix': 'URL-e przepisują się na',
'skills.install.urlInvalidPrefix': 'URL musi być poprawnie sformułowanym',
'skills.install.urlInvalidSuffix': 'linkiem.',
'skills.install.urlPlaceholder': 'https://raw.githubusercontent.com/owner/repo/main/SKILL.md',
'skills.meetingBots.platformComingSoon': 'Obsługa {label} jest już wkrótce.',
'skills.meetingBots.platformHints.gmeet': 'meet.google.com/abc-defg-hij',
'skills.meetingBots.platformHints.teams': 'teams.microsoft.com/...',
'skills.meetingBots.platformHints.zoom': 'zoom.us/j/...',
'skills.meetingBots.platforms.gmeet': 'Google Meet',
'skills.meetingBots.platforms.teams': 'Microsoft Teams',
'skills.meetingBots.platforms.zoom': 'Zoom',
'skills.meetingBots.soonSuffix': 'wkrótce',
'skills.setup.screenIntel.permissionPathLabel': 'macOS stosuje politykę prywatności do:',
};
export default pl5;
+32
View File
@@ -0,0 +1,32 @@
import pl1 from './chunks/pl-1';
import pl2 from './chunks/pl-2';
import pl3 from './chunks/pl-3';
import pl4 from './chunks/pl-4';
import pl5 from './chunks/pl-5';
import type { TranslationMap } from './types';
// Polish (Polski) translations. Each chunk maps to chunks/en-N.ts.
// Missing keys fall back to English via I18nContext.resolveEn().
const pl: TranslationMap = {
...pl1,
...pl2,
...pl3,
...pl4,
...pl5,
'skills.composio.noApiKeyTitle': 'Brak skonfigurowanego klucza API Composio',
'skills.composio.noApiKeyDescription':
'W trybie lokalnym używany jest Twój własny klucz API Composio. Otwórz Ustawienia → Zaawansowane → Composio, aby dodać klucz, zanim podłączysz tutaj integracje.',
'skills.composio.noApiKeyCta': 'Otwórz ustawienia',
'channels.localManagedUnavailable':
'Kanały zarządzane są niedostępne dla użytkowników lokalnych.',
'rewards.localUnavailable':
'Logowanie lokalne nie zbiera nagród, voucherów ani środków z poleceń. Wyloguj się i zaloguj kontem OpenHuman, jeśli zależy Ci na nagrodach.',
'rewards.localUnavailableCta': 'Otwórz ustawienia konta',
'settings.search.localManagedUnavailable':
'Wyszukiwarka zarządzana przez OpenHuman jest niedostępna dla użytkowników lokalnych. Dodaj własny klucz API Parallel lub Brave, aby włączyć wyszukiwanie w sieci.',
'devices.comingSoonDescription':
'Parowanie urządzeń pojawi się wkrótce. Ta strona będzie służyć do parowania iPhone’ów i zarządzania połączonymi urządzeniami.',
'welcome.continueLocallyExperimental': 'Kontynuuj lokalnie (Eksperymentalne)',
};
export default pl;
+2 -1
View File
@@ -11,7 +11,8 @@ export type Locale =
| 'ru'
| 'id'
| 'it'
| 'ko';
| 'ko'
| 'pl';
export interface TranslationMap {
[key: string]: string;
+1
View File
@@ -19,6 +19,7 @@ const PREFIX_TO_LOCALE: Array<[string, Locale]> = [
['id', 'id'],
['in', 'id'],
['it', 'it'],
['pl', 'pl'],
['en', 'en'],
];
+1
View File
@@ -46,6 +46,7 @@ const ALL_LOCALES = [
"ru",
"id",
"it",
"pl",
] as const;
type Locale = (typeof ALL_LOCALES)[number];