From 494aeb95332b4381bc7f8c62d8ca71d7ce409c4a Mon Sep 17 00:00:00 2001 From: Jarek Krochmalski Date: Fri, 1 May 2026 15:02:18 +0200 Subject: [PATCH] feat: add Polish (pl-PL) translation (#475) Add complete Polish locale covering all 525 translation keys: - New pl-PL.json catalog with full Polish translations - Register pl-PL in APP_LOCALES and LOCALE_DEFINITIONS in i18n.ts - Add locale.plPL label to en.json and all existing locale catalogs - Add pl-PL target to lara.yaml for Lara CLI sync - Add "polish" to language settings search keywords Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lara.yaml | 1 + src/lib/i18n.ts | 8 + src/lib/locales/de-DE.json | 3 +- src/lib/locales/en.json | 5 +- src/lib/locales/es-419.json | 3 +- src/lib/locales/es-ES.json | 3 +- src/lib/locales/fr-FR.json | 3 +- src/lib/locales/it-IT.json | 3 +- src/lib/locales/ja-JP.json | 3 +- src/lib/locales/ko-KR.json | 3 +- src/lib/locales/pl-PL.json | 527 ++++++++++++++++++++++++++++++++++++ src/lib/locales/pt-BR.json | 3 +- src/lib/locales/pt-PT.json | 3 +- src/lib/locales/ru-RU.json | 3 +- src/lib/locales/vi.json | 3 +- src/lib/locales/zh-CN.json | 3 +- src/lib/locales/zh-TW.json | 3 +- 17 files changed, 565 insertions(+), 15 deletions(-) create mode 100644 src/lib/locales/pl-PL.json diff --git a/lara.yaml b/lara.yaml index 26608925..339a4320 100644 --- a/lara.yaml +++ b/lara.yaml @@ -21,6 +21,7 @@ locales: - zh-TW - ja-JP - ko-KR + - pl-PL files: json: diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts index 7754200c..c2fa811c 100644 --- a/src/lib/i18n.ts +++ b/src/lib/i18n.ts @@ -18,6 +18,7 @@ export const APP_LOCALES = [ 'ja-JP', 'ko-KR', 'vi', + 'pl-PL', ] as const export type AppLocale = typeof APP_LOCALES[number] @@ -155,6 +156,13 @@ const LOCALE_DEFINITIONS: Record = { aliases: ['vi', 'vi-vn'], searchKeywords: ['vietnamese', 'vietnam', 'viet nam', 'tiếng việt', 'tieng viet', 'việt nam', 'vi'], }, + 'pl-PL': { + code: 'pl-PL', + dateLocale: 'pl-PL', + labelKey: 'locale.plPL', + aliases: ['pl', 'pl-pl'], + searchKeywords: ['polish', 'polski', 'polska', 'pl', 'pl-pl'], + }, } const APP_LOCALE_SET = new Set(APP_LOCALES) diff --git a/src/lib/locales/de-DE.json b/src/lib/locales/de-DE.json index 8c052cce..f69c00f0 100644 --- a/src/lib/locales/de-DE.json +++ b/src/lib/locales/de-DE.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "日本語", "locale.koKR": "Coreano", - "locale.vi": "Vietnamesisch" + "locale.vi": "Vietnamesisch", + "locale.plPL": "Polnisch" } diff --git a/src/lib/locales/en.json b/src/lib/locales/en.json index e44112fe..9c893538 100644 --- a/src/lib/locales/en.json +++ b/src/lib/locales/en.json @@ -9,7 +9,7 @@ "command.openSettings": "Open Settings", "command.openSettings.keywords": "preferences config", "command.openLanguageSettings": "Open Language Settings", - "command.openLanguageSettings.keywords": "language locale i18n internationalization localization english italian french german russian spanish portuguese chinese simplified traditional japanese korean 中文 繁體中文 zh-tw", + "command.openLanguageSettings.keywords": "language locale i18n internationalization localization english italian french german russian spanish portuguese chinese simplified traditional japanese korean polish 中文 繁體中文 zh-tw", "command.useSystemLanguage": "Use System Language", "command.openH1Setting": "Open H1 Auto-Rename Setting", "command.toggleGitignoredFilesVisibility": "Toggle Gitignored Files Visibility", @@ -522,5 +522,6 @@ "locale.zhTW": "Traditional Chinese", "locale.jaJP": "Japanese", "locale.koKR": "Korean", - "locale.vi": "Vietnamese" + "locale.vi": "Vietnamese", + "locale.plPL": "Polish" } diff --git a/src/lib/locales/es-419.json b/src/lib/locales/es-419.json index 814a7404..317ab181 100644 --- a/src/lib/locales/es-419.json +++ b/src/lib/locales/es-419.json @@ -522,5 +522,6 @@ "locale.zhTW": "Chino tradicional", "locale.jaJP": "Japonés", "locale.koKR": "Coreano", - "locale.vi": "Vietnamita" + "locale.vi": "Vietnamita", + "locale.plPL": "Polaco" } diff --git a/src/lib/locales/es-ES.json b/src/lib/locales/es-ES.json index b348b647..e350dde7 100644 --- a/src/lib/locales/es-ES.json +++ b/src/lib/locales/es-ES.json @@ -522,5 +522,6 @@ "locale.zhTW": "Chino tradicional", "locale.jaJP": "Japonés", "locale.koKR": "Coreano", - "locale.vi": "Vietnamita" + "locale.vi": "Vietnamita", + "locale.plPL": "Polaco" } diff --git a/src/lib/locales/fr-FR.json b/src/lib/locales/fr-FR.json index f991d4d6..9401c25a 100644 --- a/src/lib/locales/fr-FR.json +++ b/src/lib/locales/fr-FR.json @@ -522,5 +522,6 @@ "locale.zhTW": "Chinois traditionnel", "locale.jaJP": "Japonais", "locale.koKR": "Coréen", - "locale.vi": "Vietnamien" + "locale.vi": "Vietnamien", + "locale.plPL": "Polonais" } diff --git a/src/lib/locales/it-IT.json b/src/lib/locales/it-IT.json index fd5d7695..65bf0e4c 100644 --- a/src/lib/locales/it-IT.json +++ b/src/lib/locales/it-IT.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "Japonais", "locale.koKR": "Coreano", - "locale.vi": "Vietnamita" + "locale.vi": "Vietnamita", + "locale.plPL": "Polacco" } diff --git a/src/lib/locales/ja-JP.json b/src/lib/locales/ja-JP.json index dd1fb358..b044d6a3 100644 --- a/src/lib/locales/ja-JP.json +++ b/src/lib/locales/ja-JP.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "日本語", "locale.koKR": "韩国語", - "locale.vi": "ベトナム語" + "locale.vi": "ベトナム語", + "locale.plPL": "ポーランド語" } diff --git a/src/lib/locales/ko-KR.json b/src/lib/locales/ko-KR.json index bc03838d..0ba7388a 100644 --- a/src/lib/locales/ko-KR.json +++ b/src/lib/locales/ko-KR.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "日本語", "locale.koKR": "한국어", - "locale.vi": "베트남어" + "locale.vi": "베트남어", + "locale.plPL": "폴란드어" } diff --git a/src/lib/locales/pl-PL.json b/src/lib/locales/pl-PL.json new file mode 100644 index 00000000..b0ba90f7 --- /dev/null +++ b/src/lib/locales/pl-PL.json @@ -0,0 +1,527 @@ +{ + "command.noMatches": "Brak pasujących poleceń", + "command.palettePlaceholder": "Wpisz polecenie...", + "command.footerNavigate": "↑↓ nawiguj", + "command.footerSelect": "↵ wybierz", + "command.footerClose": "esc zamknij", + "command.footerSend": "↵ wyślij", + "command.aiMode": "Tryb {agent}", + "command.openSettings": "Otwórz ustawienia", + "command.openSettings.keywords": "preferencje konfiguracja", + "command.openLanguageSettings": "Otwórz ustawienia języka", + "command.openLanguageSettings.keywords": "język lokalizacja i18n internacjonalizacja angielski włoski francuski niemiecki rosyjski hiszpański portugalski chiński uproszczony tradycyjny japoński koreański polski 中文 繁體中文 zh-tw", + "command.useSystemLanguage": "Użyj języka systemowego", + "command.openH1Setting": "Otwórz ustawienie automatycznej zmiany nazwy H1", + "command.toggleGitignoredFilesVisibility": "Przełącz widoczność plików ignorowanych przez Git", + "command.contribute": "Współtwórz", + "command.checkUpdates": "Sprawdź aktualizacje", + "command.group.navigation": "Nawigacja", + "command.group.note": "Notatka", + "command.group.git": "Git", + "command.group.view": "Widok", + "command.group.settings": "Ustawienia", + "command.navigation.searchNotes": "Szukaj notatek", + "command.navigation.goAllNotes": "Przejdź do Wszystkich notatek", + "command.navigation.goArchived": "Przejdź do Archiwum", + "command.navigation.goChanges": "Przejdź do Zmian", + "command.navigation.goHistory": "Przejdź do Historii", + "command.navigation.goBack": "Wstecz", + "command.navigation.goForward": "Naprzód", + "command.navigation.goInbox": "Przejdź do Skrzynki odbiorczej", + "command.navigation.renameFolder": "Zmień nazwę folderu", + "command.navigation.deleteFolder": "Usuń folder", + "command.navigation.showOpenNotes": "Pokaż otwarte notatki", + "command.navigation.showArchivedNotes": "Pokaż zarchiwizowane notatki", + "command.navigation.listType": "Lista {type}", + "command.note.newNote": "Nowa notatka", + "command.note.newType": "Nowy typ", + "command.note.newTypedNote": "Nowy {type}", + "command.note.saveNote": "Zapisz notatkę", + "command.note.pastePlainText": "Wklej bez formatowania", + "command.note.findInNote": "Znajdź w notatce", + "command.note.replaceInNote": "Zamień w notatce", + "command.note.deleteNote": "Usuń notatkę", + "command.note.archiveNote": "Archiwizuj notatkę", + "command.note.unarchiveNote": "Przywróć z archiwum", + "command.note.addFavorite": "Dodaj do ulubionych", + "command.note.removeFavorite": "Usuń z ulubionych", + "command.note.markOrganized": "Oznacz jako uporządkowaną", + "command.note.markUnorganized": "Oznacz jako nieuporządkowaną", + "command.note.restoreDeleted": "Przywróć usuniętą notatkę", + "command.note.setIcon": "Ustaw ikonę notatki", + "command.note.removeIcon": "Usuń ikonę notatki", + "command.note.changeType": "Zmień typ notatki…", + "command.note.moveToFolder": "Przenieś notatkę do folderu…", + "command.note.openNewWindow": "Otwórz w nowym oknie", + "command.git.initialize": "Zainicjalizuj Git dla bieżącego sejfu", + "command.git.commitPush": "Zatwierdź i wypchnij", + "command.git.addRemote": "Dodaj zdalne repozytorium do bieżącego sejfu", + "command.git.pull": "Pobierz ze zdalnego repozytorium", + "command.git.resolveConflicts": "Rozwiąż konflikty", + "command.git.viewChanges": "Pokaż oczekujące zmiany", + "command.view.editorOnly": "Tylko edytor", + "command.view.editorNoteList": "Edytor + lista notatek", + "command.view.fullLayout": "Pełny układ", + "command.view.toggleProperties": "Przełącz panel właściwości", + "command.view.toggleDiff": "Przełącz tryb diff", + "command.view.toggleRaw": "Przełącz edytor surowy", + "command.view.noteWidthNormal": "Użyj normalnej szerokości notatki", + "command.view.noteWidthWide": "Użyj szerokiej szerokości notatki", + "command.view.defaultNoteWidthNormal": "Domyślnie normalna szerokość notatki", + "command.view.defaultNoteWidthWide": "Domyślnie szeroka szerokość notatki", + "command.view.leftLayout": "Użyj układu wyrównanego do lewej", + "command.view.centerLayout": "Użyj układu wyśrodkowanego", + "command.view.toggleAiPanel": "Przełącz panel AI", + "command.view.newAiChat": "Nowy czat AI", + "command.view.toggleBacklinks": "Przełącz linki zwrotne", + "command.view.moveViewUp": "Przesuń widok w górę", + "command.view.moveViewDown": "Przesuń widok w dół", + "command.view.moveNamedViewUp": "Przesuń {name} w górę", + "command.view.moveNamedViewDown": "Przesuń {name} w dół", + "command.view.zoomIn": "Powiększ ({zoom}%)", + "command.view.zoomOut": "Pomniejsz ({zoom}%)", + "command.view.resetZoom": "Resetuj powiększenie", + "command.settings.createEmptyVault": "Utwórz pusty sejf…", + "command.settings.openVault": "Otwórz sejf…", + "command.settings.removeVault": "Usuń sejf z listy", + "command.settings.restoreGettingStarted": "Przywróć sejf Wprowadzenie", + "command.settings.manageExternalAi": "Zarządzaj zewnętrznymi narzędziami AI…", + "command.settings.setupExternalAi": "Skonfiguruj zewnętrzne narzędzia AI…", + "command.settings.reloadVault": "Przeładuj sejf", + "command.settings.repairVault": "Napraw sejf", + "command.settings.useLightMode": "Użyj trybu jasnego", + "command.settings.useDarkMode": "Użyj trybu ciemnego", + "command.settings.toggleGitignoredFilesVisibility": "Przełącz widoczność plików ignorowanych przez Git", + "command.ai.openAgents": "Otwórz agentów AI", + "command.ai.restoreGuidance": "Przywróć wytyczne Tolaria AI", + "command.ai.switchToAgent": "Przełącz agenta AI na {agent}", + "command.ai.switchDefault": "Zmień domyślnego agenta AI", + "command.ai.switchDefaultWithAgent": "Zmień domyślnego agenta AI ({agent})", + "settings.title": "Ustawienia", + "settings.close": "Zamknij ustawienia", + "settings.sync.title": "Synchronizacja i aktualizacje", + "settings.sync.description": "Skonfiguruj automatyczne pobieranie i kanał aktualizacji Tolaria. Stabilny otrzymuje tylko ręcznie promowane wydania, natomiast Alpha śledzi każde wypchnięcie na main.", + "settings.pullInterval": "Interwał pobierania (minuty)", + "settings.releaseChannel": "Kanał wydania", + "settings.releaseStable": "Stabilny", + "settings.releaseAlpha": "Alpha", + "settings.appearance.title": "Wygląd", + "settings.appearance.description": "Wybierz tryb kolorów używany w interfejsie Tolaria, edytorze, menu i oknach dialogowych.", + "settings.theme.label": "Motyw", + "settings.theme.light": "Jasny", + "settings.theme.dark": "Ciemny", + "settings.language.title": "Język", + "settings.language.description": "Wybierz język wyświetlania interfejsu Tolaria. Systemowy używa języka macOS, gdy jest obsługiwany, z angielskim jako językiem zapasowym.", + "settings.language.label": "Język wyświetlania", + "settings.language.system": "Systemowy ({language})", + "settings.language.summary": "Brakujące tłumaczenia są zastępowane angielskim, dzięki czemu częściowo przetłumaczone lokalizacje pozostają użyteczne.", + "settings.autogit.title": "AutoGit", + "settings.autogit.description.enabled": "Automatycznie twórz zachowawcze punkty kontrolne Git po przerwach w edycji lub gdy aplikacja jest nieaktywna.", + "settings.autogit.description.disabled": "AutoGit jest niedostępny, dopóki bieżący sejf nie będzie obsługiwany przez Git. Najpierw zainicjalizuj Git dla tego sejfu.", + "settings.autogit.enable": "Włącz AutoGit", + "settings.autogit.enableDescription": "Po włączeniu Tolaria automatycznie zatwierdzi i wypchnie zapisane lokalne zmiany po przerwie w aktywności lub gdy aplikacja stanie się nieaktywna.", + "settings.autogit.idleThreshold": "Próg bezczynności (sekundy)", + "settings.autogit.inactiveThreshold": "Okres karencji nieaktywnej aplikacji (sekundy)", + "settings.titles.title": "Tytuły i nazwy plików", + "settings.titles.description": "Wybierz, czy Tolaria automatycznie synchronizuje nazwy plików notatek bez tytułu z pierwszego nagłówka H1.", + "settings.titles.autoRename": "Automatycznie zmieniaj nazwy notatek bez tytułu z pierwszego H1", + "settings.titles.autoRenameDescription": "Po włączeniu Tolaria zmienia nazwy plików notatek bez tytułu, gdy tylko pierwszy H1 stanie się prawdziwym tytułem. Wyłącz, aby zachować nazwę pliku bez zmian do ręcznej zmiany z paska ścieżki.", + "settings.vaultContent.title": "Zawartość sejfu", + "settings.vaultContent.description": "Kontroluj, czy pliki pasujące do .gitignore sejfu pojawiają się w Tolaria.", + "settings.vaultContent.hideGitignored": "Ukryj pliki i foldery ignorowane przez Git", + "settings.vaultContent.hideGitignoredDescription": "Ukrywa wygenerowane i lokalne pliki sejfu z notatek, wyszukiwania, szybkiego otwierania i folderów.", + "settings.allNotesVisibility.title": "Widoczność Wszystkich notatek", + "settings.allNotesVisibility.description": "Wybierz, które kategorie plików nie-Markdown pojawiają się we Wszystkich notatkach. Przeglądanie folderów nadal pokazuje pliki w ich folderach.", + "settings.allNotesVisibility.pdfs": "PDF-y", + "settings.allNotesVisibility.pdfsDescription": "Pokazuj pliki PDF we Wszystkich notatkach.", + "settings.allNotesVisibility.images": "Obrazy", + "settings.allNotesVisibility.imagesDescription": "Pokazuj popularne pliki graficzne we Wszystkich notatkach.", + "settings.allNotesVisibility.unsupported": "Nieobsługiwane pliki", + "settings.allNotesVisibility.unsupportedDescription": "Pokazuj inne pliki nie-Markdown, które nie mają podglądu w aplikacji.", + "settings.aiAgents.title": "Agenci AI", + "settings.aiAgents.description": "Wybierz, którego agenta CLI AI Tolaria używa w panelu AI i palecie poleceń.", + "settings.aiAgents.default": "Domyślny agent AI", + "settings.aiAgents.installed": "zainstalowany", + "settings.aiAgents.missing": "brakuje", + "settings.aiAgents.ready": "{agent}{version} jest gotowy do użycia.", + "settings.aiAgents.notInstalled": "{agent} nie jest jeszcze zainstalowany. Możesz go wybrać teraz i zainstalować później.", + "settings.workflow.title": "Przepływ pracy", + "settings.workflow.description": "Wybierz, czy Tolaria pokazuje przepływ pracy Skrzynki odbiorczej i jak przechodzi między elementami podczas segregacji.", + "settings.workflow.explicit": "Porządkuj notatki jawnie", + "settings.workflow.explicitDescription": "Po włączeniu sekcja Skrzynka odbiorcza pokazuje nieuporządkowane notatki, a przełącznik pozwala oznaczać notatki jako uporządkowane.", + "settings.workflow.autoAdvance": "Automatyczne przejście do następnego elementu Skrzynki", + "settings.workflow.autoAdvanceDescription": "Po włączeniu oznaczenie notatki jako uporządkowanej natychmiast otwiera następną widoczną notatkę w Skrzynce.", + "settings.privacy.title": "Prywatność i telemetria", + "settings.privacy.description": "Anonimowe dane pomagają nam naprawiać błędy i ulepszać Tolaria. Zawartość sejfu, tytuły notatek ani ścieżki plików nigdy nie są wysyłane.", + "settings.privacy.crashReporting": "Raportowanie awarii", + "settings.privacy.crashReportingDescription": "Wysyłaj anonimowe raporty o błędach", + "settings.privacy.analytics": "Analityka użytkowania", + "settings.privacy.analyticsDescription": "Udostępniaj anonimowe wzorce użytkowania", + "settings.footerShortcut": "⌘, aby otworzyć ustawienia", + "settings.cancel": "Anuluj", + "settings.save": "Zapisz", + "common.cancel": "Anuluj", + "common.create": "Utwórz", + "common.save": "Zapisz", + "customize.color": "Kolor", + "customize.icon": "Ikona", + "customize.searchIcons": "Szukaj ikon…", + "customize.noIconsFound": "Nie znaleziono ikon", + "customize.template": "Szablon", + "customize.templatePlaceholder": "Szablon Markdown dla nowych notatek tego typu…", + "customize.done": "Gotowe", + "viewDialog.title.create": "Utwórz widok", + "viewDialog.title.edit": "Edytuj widok", + "viewDialog.description.create": "Utwórz zapisany widok, wybierając nazwę i reguły filtrowania.", + "viewDialog.description.edit": "Zaktualizuj nazwę i filtry tego zapisanego widoku.", + "viewDialog.nameLabel": "Nazwa", + "viewDialog.namePlaceholder": "np. Aktywne projekty, Lista do przeczytania...", + "viewDialog.filtersLabel": "Filtry", + "viewDialog.saveError": "Nie udało się zapisać widoku.", + "viewDialog.selectedIcon": "Wybrana ikona: {icon}", + "viewDialog.selectedColor": "Wybrany kolor: {color}", + "ai.permission.safe.short": "Bezpieczny", + "ai.permission.safe.control": "Sejf bezpieczny", + "ai.permission.safe.tooltip": "Sejf bezpieczny ogranicza agentów do narzędzi plików, wyszukiwania i edycji.", + "ai.permission.powerUser.short": "Zaawansowany", + "ai.permission.powerUser.control": "Zaawansowany", + "ai.permission.powerUser.tooltip": "Zaawansowany pozwala również na lokalne polecenia powłoki dla tego sejfu.", + "ai.permission.modeAria": "Tryb uprawnień agenta AI", + "ai.permission.changed": "Tryb uprawnień AI zmieniony na {label}. Zostanie zastosowany do następnej wiadomości.", + "ai.panel.title": "Agent AI", + "ai.panel.status.checking": "Sprawdzanie dostępności", + "ai.panel.status.missing": "{agent} · nie zainstalowany", + "ai.panel.status.ready": "{agent} · {mode}", + "ai.panel.copyMcpConfig": "Kopiuj konfigurację MCP", + "ai.panel.mcpConfig": "Konfiguracja MCP", + "ai.panel.newChat": "Nowy czat AI", + "ai.panel.close": "Zamknij panel AI", + "ai.panel.linkedCount": "+ {count} powiązanych", + "ai.panel.empty.checkingTitle": "Sprawdzanie dostępności agenta AI", + "ai.panel.empty.checkingDescription": "Wiadomości można wysyłać, gdy wybrany agent jest gotowy", + "ai.panel.empty.missingTitle": "{agent} nie jest dostępny na tym komputerze", + "ai.panel.empty.missingDescription": "Zainstaluj go lub zmień domyślnego agenta AI w Ustawieniach", + "ai.panel.empty.withContextTitle": "Zapytaj {agent} o tę notatkę i jej powiązany kontekst", + "ai.panel.empty.noContextTitle": "Otwórz notatkę, a następnie zapytaj {agent} o nią", + "ai.panel.empty.withContextDescription": "Podsumuj, znajdź powiązania, rozwiń pomysły", + "ai.panel.empty.noContextDescription": "AI użyje aktywnej notatki jako kontekstu", + "ai.panel.placeholder.checking": "Sprawdzanie dostępności agenta AI...", + "ai.panel.placeholder.missing": "{agent} nie jest zainstalowany. Otwórz Agentów AI w Ustawieniach.", + "ai.panel.placeholder.ready": "Zapytaj {agent}", + "ai.panel.send": "Wyślij wiadomość", + "mcp.setup.manageTitle": "Zarządzaj zewnętrznymi narzędziami AI", + "mcp.setup.setupTitle": "Skonfiguruj zewnętrzne narzędzia AI", + "mcp.setup.connectedDescription": "Tolaria jest już połączona z zewnętrznymi narzędziami AI dla tego sejfu. Połącz ponownie, aby odświeżyć konfigurację, lub rozłącz, aby usunąć Tolaria z plików konfiguracyjnych narzędzi zewnętrznych.", + "mcp.setup.setupDescription": "Tolaria może dodać swój serwer MCP do zewnętrznych narzędzi AI dla tego sejfu, ale nie dotknie plików konfiguracyjnych narzędzi zewnętrznych, dopóki nie potwierdzisz tego tutaj.", + "mcp.setup.reconnect": "Połącz ponownie zewnętrzne narzędzia AI", + "mcp.setup.connect": "Połącz zewnętrzne narzędzia AI", + "mcp.setup.disconnect": "Rozłącz", + "mcp.setup.connecting": "Łączenie…", + "mcp.setup.disconnecting": "Rozłączanie…", + "mcp.setup.nodeRequirement": "Ta konfiguracja wymaga Node.js 18+ w PATH i narzędzia kompatybilnego z MCP. Tolaria sprawdza Node.js przed zapisem konfiguracji, aby narzędzie nie wskazywało na uszkodzone polecenie.", + "mcp.setup.writeEntryDescription": "Potwierdzenie tej akcji zapisze lub zaktualizuje pojedynczy wpis MCP {entry} Tolaria w:", + "mcp.setup.clientPathsDescription": "Claude Code CLI czyta ~/.claude.json, Gemini CLI czyta ~/.gemini/settings.json, Cursor czyta ~/.cursor/mcp.json, a ogólna ścieżka ~/.config/mcp/mcp.json jest obsługiwana przez inne narzędzia kompatybilne z MCP. Zamknięcie pozostawia wszystkie pliki nietknięte, chyba że połączysz lub rozłączysz; ponowne połączenie jest idempotentne, a rozłączenie usuwa wpis Tolaria.", + "mcp.setup.geminiGuidanceDescription": "Gemini CLI wymaga własnej instalacji i logowania. Użyj Przywróć wytyczne Tolaria AI, gdy chcesz plik GEMINI.md w katalogu głównym sejfu wskazujący na wspólne instrukcje AGENTS.md bez nadpisywania niestandardowych wytycznych.", + "mcp.setup.manual.title": "Ręczna konfiguracja MCP", + "mcp.setup.manual.copy": "Kopiuj konfigurację MCP", + "mcp.setup.manual.loading": "Ładowanie dokładnej konfiguracji MCP...", + "mcp.setup.manual.unavailable": "Dokładna konfiguracja jest dostępna po otwarciu sejfu.", + "mcp.toast.connected": "Zewnętrzne narzędzia AI Tolaria połączone pomyślnie", + "mcp.toast.refreshed": "Konfiguracja zewnętrznych narzędzi AI Tolaria odświeżona pomyślnie", + "mcp.toast.disconnected": "Zewnętrzne narzędzia AI Tolaria rozłączone pomyślnie", + "mcp.toast.alreadyDisconnected": "Zewnętrzne narzędzia AI Tolaria były już rozłączone", + "mcp.toast.configCopied": "Konfiguracja MCP Tolaria skopiowana do schowka", + "mcp.toast.configCopyFailed": "Kopiowanie konfiguracji MCP nie powiodło się: {error}", + "mcp.toast.setupFailed": "Konfiguracja zewnętrznych narzędzi AI nie powiodła się: {error}", + "mcp.toast.disconnectFailed": "Rozłączanie zewnętrznych narzędzi AI nie powiodło się: {error}", + "mcp.error.clipboardUnavailable": "API schowka jest niedostępne", + "save.toast.saved": "Zapisano", + "save.toast.nothingToSave": "Nic do zapisania", + "save.toast.missingActiveVault": "Wybierz lub przywróć sejf przed zapisaniem.", + "save.error.failed": "Zapisywanie nie powiodło się: {error}", + "save.error.autoFailed": "Automatyczny zapis nie powiódł się: {error}", + "save.error.invalidPath": "Zapisywanie nie powiodło się: Ścieżka notatki jest nieprawidłowa na tej platformie. Zmień nazwę notatki lub przenieś ją do prawidłowego folderu, a następnie spróbuj ponownie.", + "savedViews.reordered": "Widoki uporządkowane", + "locale.en": "Angielski", + "sidebar.nav.inbox": "Skrzynka odbiorcza", + "sidebar.nav.allNotes": "Wszystkie notatki", + "sidebar.nav.archive": "Archiwum", + "sidebar.group.favorites": "ULUBIONE", + "sidebar.group.views": "WIDOKI", + "sidebar.group.types": "TYPY", + "sidebar.group.folders": "FOLDERY", + "sidebar.action.createView": "Utwórz widok", + "sidebar.action.editView": "Edytuj widok", + "sidebar.action.renameView": "Zmień nazwę widoku…", + "sidebar.action.deleteView": "Usuń widok", + "sidebar.action.reorderView": "Zmień kolejność widoku", + "sidebar.action.moveViewUp": "Przesuń widok w górę", + "sidebar.action.moveViewDown": "Przesuń widok w dół", + "sidebar.action.customizeSections": "Dostosuj sekcje", + "sidebar.action.renameSection": "Zmień nazwę sekcji…", + "sidebar.action.renameType": "Zmień nazwę typu…", + "sidebar.action.customizeIconColor": "Dostosuj ikonę i kolor…", + "sidebar.action.deleteType": "Usuń typ", + "sidebar.action.createType": "Utwórz nowy typ", + "sidebar.action.collapse": "Zwiń pasek boczny", + "sidebar.action.expand": "Rozwiń pasek boczny", + "sidebar.action.createFolder": "Utwórz folder", + "sidebar.action.renameFolder": "Zmień nazwę folderu", + "sidebar.action.deleteFolder": "Usuń folder", + "sidebar.action.revealFolderMenu": "Pokaż w Finderze", + "sidebar.action.copyFolderPathMenu": "Kopiuj ścieżkę folderu", + "sidebar.action.renameFolderMenu": "Zmień nazwę folderu...", + "sidebar.action.deleteFolderMenu": "Usuń folder...", + "sidebar.view.name": "Nazwa widoku", + "sidebar.folder.name": "Nazwa folderu", + "sidebar.folder.newName": "Nowa nazwa folderu", + "sidebar.folder.expand": "Rozwiń {name}", + "sidebar.folder.collapse": "Zwiń {name}", + "sidebar.section.name": "Nazwa sekcji", + "sidebar.section.showInSidebar": "Pokaż na pasku bocznym", + "sidebar.section.toggle": "Przełącz {label}", + "sidebar.disabled.comingSoon": "Wkrótce", + "noteList.title.archive": "Archiwum", + "noteList.title.changes": "Zmiany", + "noteList.title.inbox": "Skrzynka odbiorcza", + "noteList.title.history": "Historia", + "noteList.title.view": "Widok", + "noteList.title.notes": "Notatki", + "noteList.searchPlaceholder": "Szukaj notatek...", + "noteList.searchAction": "Szukaj notatek", + "noteList.createNote": "Utwórz nową notatkę", + "noteList.empty.changesError": "Nie udało się załadować zmian: {error}", + "noteList.empty.noChanges": "Brak oczekujących zmian", + "noteList.empty.noArchived": "Brak zarchiwizowanych notatek", + "noteList.empty.noMatching": "Brak pasujących notatek", + "noteList.empty.allOrganized": "Wszystkie notatki są uporządkowane", + "noteList.empty.noNotes": "Nie znaleziono notatek", + "noteList.empty.noMatchingItems": "Brak pasujących elementów", + "noteList.empty.noRelatedItems": "Brak powiązanych elementów", + "noteList.sort.modified": "Zmodyfikowano", + "noteList.sort.created": "Utworzono", + "noteList.sort.title": "Tytuł", + "noteList.sort.status": "Status", + "noteList.sort.by": "Sortuj według {label}", + "noteList.sort.menu": "Sortuj {label}", + "noteList.sort.ascending": "Rosnąco", + "noteList.sort.descending": "Malejąco", + "noteList.filter.open": "Otwarte", + "noteList.filter.archived": "Zarchiwizowane", + "noteList.filter.week": "Tydzień", + "noteList.filter.month": "Miesiąc", + "noteList.filter.all": "Wszystko", + "noteList.properties.customizeColumns": "Dostosuj kolumny", + "noteList.properties.customizeAllColumns": "Dostosuj kolumny Wszystkich notatek", + "noteList.properties.customizeInboxColumns": "Dostosuj kolumny Skrzynki odbiorczej", + "noteList.properties.customizeViewColumns": "Dostosuj kolumny {name}", + "noteList.properties.showInNoteList": "Pokaż na liście notatek", + "noteList.properties.searchPlaceholder": "Szukaj właściwości...", + "noteList.properties.searchLabel": "Szukaj właściwości listy notatek", + "noteList.properties.noMatches": "Brak właściwości pasujących do wyszukiwania.", + "noteList.properties.reorder": "Zmień kolejność {name}", + "noteList.changes.restoreNote": "Przywróć notatkę", + "noteList.changes.discardChanges": "Odrzuć zmiany", + "noteList.changes.restoreDescription": "Przywrócić {file} z Git?", + "noteList.changes.discardDescription": "Odrzucić zmiany w {file}? Tej operacji nie można cofnąć.", + "noteList.changes.thisFile": "ten plik", + "noteList.changes.restore": "Przywróć", + "noteList.changes.discard": "Odrzuć", + "noteList.changes.cancel": "Anuluj", + "editor.empty.selectNote": "Wybierz notatkę, aby rozpocząć edycję", + "editor.empty.shortcuts": "{quickOpen} aby wyszukać · {newNote} aby utworzyć", + "editor.raw.label": "Edytor surowy", + "editor.find.findLabel": "Znajdź", + "editor.find.findPlaceholder": "Znajdź", + "editor.find.replaceLabel": "Zamień", + "editor.find.replacePlaceholder": "Zamień", + "editor.find.matchCount": "{current} / {total}", + "editor.find.noMatches": "Brak wyników", + "editor.find.invalidRegex": "Nieprawidłowe wyrażenie regularne", + "editor.find.regexMustMatchText": "Wyrażenie regularne musi pasować do tekstu", + "editor.find.previousMatch": "Poprzedni wynik", + "editor.find.nextMatch": "Następny wynik", + "editor.find.showReplace": "Pokaż zamień", + "editor.find.hideReplace": "Ukryj zamień", + "editor.find.regex": "Użyj wyrażenia regularnego", + "editor.find.matchCase": "Uwzględnij wielkość liter", + "editor.find.close": "Zamknij wyszukiwanie", + "editor.find.replace": "Zamień", + "editor.find.replaceAll": "Wszystkie", + "editor.toolbar.rawReturn": "Wróć do edytora", + "editor.toolbar.rawOpen": "Otwórz edytor surowy", + "editor.toolbar.noteWidthNormal": "Przełącz na normalną szerokość notatki", + "editor.toolbar.noteWidthWide": "Przełącz na szeroką szerokość notatki", + "editor.toolbar.centerLayout": "Przełącz na wyśrodkowany układ notatki", + "editor.toolbar.leftLayout": "Przełącz na układ wyrównany do lewej", + "editor.toolbar.removeFavorite": "Usuń z ulubionych", + "editor.toolbar.addFavorite": "Dodaj do ulubionych", + "editor.toolbar.markUnorganized": "Ustaw notatkę jako nieuporządkowaną", + "editor.toolbar.markOrganized": "Ustaw notatkę jako uporządkowaną", + "editor.toolbar.noDiff": "Diff nie jest jeszcze dostępny", + "editor.toolbar.loadingDiff": "Ładowanie diff", + "editor.toolbar.showDiff": "Pokaż bieżący diff", + "editor.toolbar.openAi": "Otwórz panel AI", + "editor.toolbar.closeAi": "Zamknij panel AI", + "editor.toolbar.restoreArchived": "Przywróć tę zarchiwizowaną notatkę", + "editor.toolbar.archive": "Archiwizuj tę notatkę", + "editor.toolbar.delete": "Usuń tę notatkę", + "editor.toolbar.revealFile": "Pokaż w Finderze", + "editor.toolbar.copyFilePath": "Kopiuj ścieżkę pliku", + "editor.toolbar.openProperties": "Otwórz panel właściwości", + "editor.imageLightbox.title": "Podgląd obrazu", + "editor.filename.rename": "Zmień nazwę pliku", + "editor.filename.renameToTitle": "Zmień nazwę pliku na zgodną z tytułem", + "editor.filename.trigger": "Nazwa pliku {filename}. Naciśnij Enter, aby zmienić nazwę", + "editor.banner.archived": "Zarchiwizowano", + "editor.banner.unarchive": "Przywróć z archiwum", + "editor.banner.conflict": "Ta notatka ma konflikt scalania", + "editor.banner.keepMine": "Zachowaj moje", + "editor.banner.keepMineTooltip": "Zachowaj moją lokalną wersję", + "editor.banner.keepTheirs": "Zachowaj ich", + "editor.banner.keepTheirsTooltip": "Zachowaj wersję zdalną", + "inspector.title.properties": "Właściwości", + "inspector.title.propertiesShortcut": "Właściwości (⌘⇧I)", + "inspector.title.closePropertiesShortcut": "Zamknij Właściwości (⌘⇧I)", + "inspector.empty.noNoteSelected": "Nie wybrano notatki", + "inspector.empty.noProperties": "Ta notatka nie ma jeszcze właściwości", + "inspector.empty.initializeProperties": "Zainicjalizuj właściwości", + "inspector.empty.invalidProperties": "Nieprawidłowe właściwości", + "inspector.empty.fixInEditor": "Napraw w edytorze", + "inspector.properties.addProperty": "Dodaj właściwość", + "inspector.properties.deleteProperty": "Usuń właściwość", + "inspector.properties.none": "Brak", + "inspector.properties.missingType": "Brakujący typ", + "inspector.properties.missingTypeAria": "Brakujący typ {type}. Kliknij, aby utworzyć ten typ.", + "inspector.properties.searchTypes": "Szukaj typów...", + "inspector.properties.noMatchingTypes": "Brak pasujących typów", + "inspector.properties.yes": "Tak", + "inspector.properties.no": "Nie", + "inspector.properties.pickDate": "Wybierz datę…", + "inspector.properties.valuePlaceholder": "Wartość", + "inspector.properties.propertyName": "Nazwa właściwości", + "inspector.relationship.add": "Dodaj", + "inspector.relationship.addRelationship": "+ Dodaj relację", + "inspector.relationship.name": "Nazwa relacji", + "inspector.relationship.noteTitle": "Tytuł notatki", + "inspector.relationship.createAndOpen": "Utwórz i otwórz", + "inspector.info.title": "Informacje", + "inspector.info.modified": "Zmodyfikowano", + "inspector.info.created": "Utworzono", + "inspector.info.words": "Słowa", + "inspector.info.size": "Rozmiar", + "update.available": "jest dostępna", + "update.checking": "Sprawdzanie aktualizacji...", + "update.releaseNotes": "Informacje o wydaniu", + "update.updateNow": "Aktualizuj teraz", + "update.dismiss": "Odrzuć", + "update.downloading": "Pobieranie Tolaria {version}...", + "update.readyRestart": "jest gotowa — uruchom ponownie, aby zastosować", + "update.restartNow": "Uruchom ponownie", + "status.update.check": "Sprawdź aktualizacje", + "status.zoom.reset": "Resetuj poziom powiększenia", + "status.feedback.contribute": "Współtwórz Tolaria", + "status.feedback.label": "Współtwórz", + "status.theme.light": "Przełącz na tryb jasny", + "status.theme.dark": "Przełącz na tryb ciemny", + "status.settings.open": "Otwórz ustawienia", + "status.build.unknown": "b?", + "status.vault.switch": "Przełącz sejf", + "status.vault.default": "Sejf", + "status.vault.createEmpty": "Utwórz pusty sejf", + "status.vault.openLocal": "Otwórz lokalny folder", + "status.vault.cloneGit": "Klonuj repozytorium Git", + "status.vault.cloneGettingStarted": "Klonuj sejf Wprowadzenie", + "status.vault.notFound": "Sejf nie znaleziony: {path}", + "status.vault.reloading": "Przeładowywanie sejfu...", + "status.vault.reloadingTooltip": "Przeładowywanie sejfu z dysku", + "status.vault.remove": "Usuń {label} z listy", + "status.remote.noneConfigured": "Brak skonfigurowanego repozytorium zdalnego", + "status.remote.inSync": "Zsynchronizowano z repozytorium zdalnym", + "status.remote.aheadTitle": "{count} zatwierdzeń{plural} przed repozytorium zdalnym", + "status.remote.behindTitle": "{count} zatwierdzeń{plural} za repozytorium zdalnym", + "status.remote.ahead": "{count} przed", + "status.remote.behind": "{count} za", + "status.remote.add": "Dodaj zdalne repozytorium do tego sejfu", + "status.remote.none": "Brak zdalnego", + "status.remote.noneDescription": "Ten sejf Git nie ma skonfigurowanego zdalnego repozytorium. Zatwierdzenia pozostają lokalne, dopóki nie dodasz jednego.", + "status.sync.syncing": "Synchronizacja...", + "status.sync.conflict": "Konflikt", + "status.sync.failed": "Synchronizacja nie powiodła się", + "status.sync.pullRequired": "Wymagane pobranie", + "status.sync.notSynced": "Nie zsynchronizowano", + "status.sync.justNow": "Zsynchronizowano właśnie", + "status.sync.minutesAgo": "Zsynchronizowano {minutes} min temu", + "status.sync.resolveConflicts": "Rozwiąż konflikty scalania", + "status.sync.inProgress": "Synchronizacja w toku", + "status.sync.pullAndPush": "Pobierz ze zdalnego i wypchnij", + "status.sync.retry": "Ponów synchronizację", + "status.sync.now": "Synchronizuj teraz", + "status.sync.synced": "Zsynchronizowano", + "status.sync.conflicts": "Konflikty", + "status.sync.error": "Błąd", + "status.sync.status": "Status: {status}", + "status.sync.pull": "Pobierz", + "status.conflict.count": "{count} konflikt{plural}", + "status.offline.title": "Brak połączenia z internetem", + "status.offline.label": "Offline", + "status.changes.view": "Pokaż oczekujące zmiany", + "status.changes.label": "Zmiany", + "status.commit.local": "Zatwierdź zmiany lokalnie", + "status.commit.push": "Zatwierdź i wypchnij zmiany", + "status.commit.label": "Zatwierdź", + "status.commit.openOnGitHub": "Otwórz zatwierdzenie {hash} na GitHub", + "status.git.disabledTooltip": "Git jest wyłączony dla tego sejfu. Zainicjalizuj Git, aby włączyć historię, synchronizację, zatwierdzenia i widok zmian.", + "status.git.disabled": "Git wyłączony", + "status.history.onlyGit": "Historia jest dostępna tylko dla sejfów z włączonym Git", + "status.history.open": "Otwórz historię zmian", + "status.history.label": "Historia", + "status.mcp.notConnected": "Zewnętrzne narzędzia AI nie połączone — kliknij, aby skonfigurować", + "status.mcp.unknown": "Status MCP nieznany", + "status.claude.missing": "Brak Claude Code", + "status.claude.label": "Claude Code", + "status.claude.install": "Claude Code nie znaleziony — kliknij, aby zainstalować", + "status.ai.noAgents": "Nie wykryto agentów AI", + "status.ai.noAgentsTooltip": "Nie wykryto agentów AI — kliknij, aby uzyskać szczegóły konfiguracji", + "status.ai.selectedMissing": "{agent} jest wybrany, ale nie jest zainstalowany — kliknij, aby uzyskać szczegóły konfiguracji", + "status.ai.defaultAgent": "Domyślny agent AI: {agent}{version}", + "status.ai.restoreDetails": "{base}. {summary} — kliknij, aby uzyskać szczegóły przywracania", + "status.ai.withGuidance": "{base}. {summary}", + "status.ai.active": "Aktywny agent AI: {agent}", + "status.ai.unavailable": "Wybrany agent AI niedostępny: {agent}", + "status.ai.install": "Zainstaluj", + "status.ai.installAgent": "Zainstaluj {agent}", + "status.ai.vaultGuidance": "Wytyczne sejfu", + "status.ai.restoreGuidance": "Przywróć wytyczne Tolaria AI", + "status.ai.openOptions": "Otwórz opcje agenta AI", + "pulse.title": "Historia", + "pulse.today": "Dzisiaj", + "pulse.yesterday": "Wczoraj", + "pulse.commitCount": "{count} {label}", + "pulse.commitSingular": "zatwierdzenie", + "pulse.commitPlural": "zatwierdzeń", + "pulse.openOnGitHub": "Otwórz na GitHub", + "pulse.expandFiles": "Rozwiń pliki", + "pulse.collapseFiles": "Zwiń pliki", + "pulse.noActivity": "Brak aktywności", + "pulse.emptyDescription": "Zatwierdź zmiany, aby zobaczyć historię sejfu", + "pulse.retry": "Ponów", + "pulse.loadingActivity": "Ładowanie aktywności…", + "pulse.loading": "Ładowanie…", + "pulse.loadError": "Nie udało się załadować aktywności", + "command.switchLanguage": "Zmień język na {language}", + "locale.itIT": "Włoski", + "locale.frFR": "Francuski", + "locale.deDE": "Niemiecki", + "locale.ruRU": "Rosyjski", + "locale.esES": "Hiszpański (Hiszpania)", + "locale.ptBR": "Portugalski (Brazylia)", + "locale.ptPT": "Portugalski (Portugalia)", + "locale.es419": "Hiszpański (Ameryka Łacińska)", + "locale.zhCN": "Chiński uproszczony", + "locale.zhTW": "Chiński tradycyjny", + "locale.jaJP": "Japoński", + "locale.koKR": "Koreański", + "locale.vi": "Wietnamski", + "locale.plPL": "Polski" +} diff --git a/src/lib/locales/pt-BR.json b/src/lib/locales/pt-BR.json index 87c44e32..8a257d49 100644 --- a/src/lib/locales/pt-BR.json +++ b/src/lib/locales/pt-BR.json @@ -522,5 +522,6 @@ "locale.zhTW": "Chinês tradicional", "locale.jaJP": "Japonês", "locale.koKR": "Coreano", - "locale.vi": "Vietnamita" + "locale.vi": "Vietnamita", + "locale.plPL": "Polonês" } diff --git a/src/lib/locales/pt-PT.json b/src/lib/locales/pt-PT.json index ed5bca77..c91ab672 100644 --- a/src/lib/locales/pt-PT.json +++ b/src/lib/locales/pt-PT.json @@ -522,5 +522,6 @@ "locale.zhTW": "Chinês tradicional", "locale.jaJP": "Japonês", "locale.koKR": "Coreano", - "locale.vi": "Vietnamita" + "locale.vi": "Vietnamita", + "locale.plPL": "Polaco" } diff --git a/src/lib/locales/ru-RU.json b/src/lib/locales/ru-RU.json index 35c88131..f1db4493 100644 --- a/src/lib/locales/ru-RU.json +++ b/src/lib/locales/ru-RU.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "日本語", "locale.koKR": "Coreano", - "locale.vi": "Вьетнамский" + "locale.vi": "Вьетнамский", + "locale.plPL": "Польский" } diff --git a/src/lib/locales/vi.json b/src/lib/locales/vi.json index b3dd8a32..91b4e485 100644 --- a/src/lib/locales/vi.json +++ b/src/lib/locales/vi.json @@ -415,5 +415,6 @@ "locale.zhCN": "Tiếng Trung giản thể", "locale.jaJP": "Tiếng Nhật", "locale.koKR": "Tiếng Hàn", - "locale.vi": "Tiếng Việt" + "locale.vi": "Tiếng Việt", + "locale.plPL": "Tiếng Ba Lan" } diff --git a/src/lib/locales/zh-CN.json b/src/lib/locales/zh-CN.json index c090ffa0..bf352b40 100644 --- a/src/lib/locales/zh-CN.json +++ b/src/lib/locales/zh-CN.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁体中文", "locale.jaJP": "日语", "locale.koKR": "韩语", - "locale.vi": "越南语" + "locale.vi": "越南语", + "locale.plPL": "波兰语" } diff --git a/src/lib/locales/zh-TW.json b/src/lib/locales/zh-TW.json index e1345e24..f28ac50b 100644 --- a/src/lib/locales/zh-TW.json +++ b/src/lib/locales/zh-TW.json @@ -522,5 +522,6 @@ "locale.zhTW": "繁體中文", "locale.jaJP": "日語", "locale.koKR": "韓語", - "locale.vi": "越南文" + "locale.vi": "越南文", + "locale.plPL": "波蘭語" }