Files
TREK/shared/src/i18n/pl/admin.ts
T
Maurice 96b0e7546e feat(plugins): honest security info in the admin panel + update consent UI
Reworks how the plugins panel talks about safety, since the old copy
oversold it. Drops the "install at your own risk" banner and the generic
trust note, and replaces them with:

- a collapsible security section that lays out plainly how a plugin is
  contained, what the permissions actually mean (a hard limit on what a
  plugin CAN do, not a promise of what it does), where the limits are,
  and what a hostile plugin could do at worst.
- a short note on what "Reviewed" means: a maintainer scanned it for
  malware each version, not for quality — not a guarantee it's harmless.
- the consent dialog for the update flow: when an update asks for rights
  you never granted, it lists the new permissions and outbound hosts and
  makes you approve before the plugin turns back on.

Full copy in all 22 locales.
2026-07-04 11:08:48 +02:00

465 lines
32 KiB
TypeScript

import type { TranslationStrings } from '../types';
const admin: TranslationStrings = {
'admin.smtp.title': 'E-maile i powiadomienia',
'admin.smtp.hint': 'Konfiguracja SMTP dla powiadomień e-mail. Opcjonalnie: URL Webhooka dla Discorda, Slacka, itp.',
'admin.smtp.testButton': 'Wyślij testowego e-maila',
'admin.smtp.testSuccess': 'Testowy e-mail został wysłany pomyślnie',
'admin.smtp.testFailed': 'Nie udało się wysłać testowego e-maila',
'admin.title': 'Administracja',
'admin.subtitle': 'Zarządzanie użytkownikami i ustawienia systemowe',
'admin.tabs.users': 'Użytkownicy',
'admin.tabs.categories': 'Kategorie',
'admin.tabs.backup': 'Backupy',
'admin.tabs.notifications': 'Powiadomienia',
'admin.tabs.audit': 'Audit',
'admin.stats.users': 'Użytkownicy',
'admin.stats.trips': 'Podróże',
'admin.stats.places': 'Miejsca',
'admin.stats.photos': 'Zdjęcia',
'admin.stats.files': 'Pliki',
'admin.table.user': 'Użytkownik',
'admin.table.email': 'E-mail',
'admin.table.role': 'Rola',
'admin.table.created': 'Utworzono',
'admin.table.lastLogin': 'Ostatnie logowanie',
'admin.table.actions': 'Akcje',
'admin.you': '(Ty)',
'admin.editUser': 'Edytuj użytkownika',
'admin.newPassword': 'Nowe hasło',
'admin.newPasswordHint': 'Pozostaw puste, aby zachować obecne hasło',
'admin.deleteUser': 'Usunąć użytkownika "{name}"? Wszystkie jego podróże zostaną trwale usunięte.',
'admin.deleteUserTitle': 'Usuń użytkownika',
'admin.newPasswordPlaceholder': 'Podaj nowe hasło...',
'admin.toast.loadError': 'Nie udało się załadować danych administratora',
'admin.toast.userUpdated': 'Użytkownik został zaktualizowany',
'admin.toast.updateError': 'Nie udało się zaktualizować użytkownika',
'admin.toast.userDeleted': 'Użytkownik został usunięty',
'admin.toast.deleteError': 'Nie udało się usunąć użytkownika',
'admin.toast.cannotDeleteSelf': 'Nie można usunąć własnego konta',
'admin.toast.userCreated': 'Użytkownik został utworzony',
'admin.toast.createError': 'Nie udało się utworzyć użytkownika',
'admin.toast.fieldsRequired': 'Nazwa użytkownika, e-mail i hasło są wymagane',
'admin.createUser': 'Utwórz użytkownika',
'admin.invite.title': 'Linki zaproszeń',
'admin.invite.subtitle': 'Twórz jednorazowe linki do rejestracji',
'admin.invite.create': 'Utwórz link',
'admin.invite.createAndCopy': 'Utwórz i skopiuj',
'admin.invite.empty': 'Nie utworzono jeszcze żadnych linków zaproszeń',
'admin.invite.maxUses': 'Maksymalna liczba użyć',
'admin.invite.expiry': 'Wygasa po',
'admin.invite.uses': 'użycia',
'admin.invite.expiresAt': 'wygasa',
'admin.invite.createdBy': 'utworzone przez',
'admin.invite.active': 'Aktywny',
'admin.invite.expired': 'Wygasł',
'admin.invite.usedUp': 'Wykorzystany',
'admin.invite.copied': 'Link zaproszenia został skopiowany do schowka',
'admin.invite.copyLink': 'Skopiuj link',
'admin.invite.deleted': 'Link zaproszenia został usunięty',
'admin.invite.createError': 'Nie udało się utworzyć linku zaproszenia',
'admin.invite.deleteError': 'Nie udało się usunąć linku zaproszenia',
'admin.tabs.settings': 'Ustawienia',
'admin.allowRegistration': 'Zezwól na rejestrację',
'admin.allowRegistrationHint': 'Nowi użytkownicy mogą się rejestrować samodzielnie',
'admin.authMethods': 'Authentication Methods',
'admin.passwordLogin': 'Password Login',
'admin.passwordLoginHint': 'Allow users to sign in with email and password',
'admin.passwordRegistration': 'Password Registration',
'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
'admin.oidcLogin': 'SSO Login',
'admin.oidcLoginHint': 'Allow users to sign in with SSO',
'admin.oidcRegistration': 'SSO Auto-Provisioning',
'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
'admin.envOverrideHint':
'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
'admin.lockoutWarning': 'At least one login method must remain enabled',
'admin.requireMfa': 'Wymagaj uwierzytelniania dwuskładnikowego (2FA)',
'admin.requireMfaHint':
'Użytkownicy bez 2FA muszą ukończyć konfigurację w Ustawieniach zanim zaczną korzystać z aplikacji.',
'admin.apiKeys': 'Klucze API',
'admin.apiKeysHint':
'Opcjonalne. Umożliwiają pobieranie większej ilości danych o miejscach, takich jak zdjęcia i pogoda.',
'admin.mapsKey': 'Klucz Google Maps API',
'admin.mapsKeyHint': 'Wymagany do wyszukiwania miejsc. Uzyskaj go na console.cloud.google.com',
'admin.mapsKeyHintLong':
'Bez klucza API, OpenStreetMap jest wykorzystywany do wyszukiwania miejsc. Z kluczem API Google, zdjęcia, oceny i godziny otwarcia również mogą być pobierane. Uzyskaj go na console.cloud.google.com.',
'admin.recommended': 'Polecane',
'admin.weatherKey': 'Klucz OpenWeatherMap API',
'admin.weatherKeyHint': 'Do danych pogodowych. Uzyskaj go bezpłatnie na openweathermap.org',
'admin.validateKey': 'Testuj',
'admin.keyValid': 'Połączono',
'admin.keyInvalid': 'Niepoprawny',
'admin.keySaved': 'Klucze API zostały zapisane',
'admin.oidcTitle': 'Logowanie jednokrotne (OIDC)',
'admin.oidcSubtitle':
'Zezwól na logowanie za pomocą zewnętrznych dostawców, takich jak Google, Apple, Authentik lub Keycloak.',
'admin.oidcDisplayName': 'Wyświetlana nazwa',
'admin.oidcIssuer': 'URL wystawcy',
'admin.oidcIssuerHint': 'Adres URL wystawcy OpenID Connect dostawcy, np. https://accounts.google.com',
'admin.oidcSaved': 'Konfiguracja OIDC została zapisana',
'admin.oidcOnlyMode': 'Wyłącz uwierzytelnianie hasłem',
'admin.oidcOnlyModeHint':
'Po włączeniu dozwolone jest tylko logowanie jednokrotne. Logowanie i rejestracja za pomocą hasła są zablokowane.',
'admin.fileTypes': 'Dozwolone typy plików',
'admin.fileTypesHint': 'Ustaw, które typy plików mogą być przesyłane przez użytkowników.',
'admin.fileTypesFormat':
'Rozszerzenia oddzielone przecinkami (np. jpg,png,pdf,doc). Użyj * aby zezwolić na wszystkie typy.',
'admin.fileTypesSaved': 'Ustawienia typów plików zostały zapisane',
'admin.placesPhotos.title': 'Zdjęcia miejsc',
'admin.placesPhotos.subtitle':
'Pobiera zdjęcia z Google Places API. Wyłącz, aby zaoszczędzić limit API. Zdjęcia z Wikimedia nie są objęte.',
'admin.placesAutocomplete.title': 'Autouzupełnianie miejsc',
'admin.placesAutocomplete.subtitle':
'Używa Google Places API do sugestii wyszukiwania. Wyłącz, aby zaoszczędzić limit API.',
'admin.placesDetails.title': 'Szczegóły miejsca',
'admin.placesDetails.subtitle':
'Pobiera szczegółowe informacje o miejscu (godziny, ocena, strona) z Google Places API. Wyłącz, aby zaoszczędzić limit API.',
'admin.bagTracking.title': 'Kontrola bagażu',
'admin.bagTracking.subtitle': 'Włącz wagę i przypisywanie do toreb dla przedmiotów do pakowania',
'admin.collab.chat.title': 'Czat',
'admin.collab.chat.subtitle': 'Wiadomości w czasie rzeczywistym',
'admin.collab.notes.title': 'Notatki',
'admin.collab.notes.subtitle': 'Wspólne notatki i dokumenty',
'admin.collab.polls.title': 'Ankiety',
'admin.collab.polls.subtitle': 'Ankiety grupowe i głosowania',
'admin.collab.whatsnext.title': 'Co dalej',
'admin.collab.whatsnext.subtitle': 'Sugestie aktywności i następne kroki',
'admin.tabs.config': 'Personalizacja',
'admin.tabs.defaults': 'Domyślne ustawienia',
'admin.defaultSettings.title': 'Domyślne ustawienia użytkownika',
'admin.defaultSettings.description':
'Ustaw domyślne wartości dla całej instancji. Użytkownicy, którzy nie zmienili ustawienia, zobaczą te wartości. Ich własne zmiany zawsze mają pierwszeństwo.',
'admin.defaultSettings.saved': 'Domyślne zapisane',
'admin.defaultSettings.reset': 'Przywróć wbudowaną wartość domyślną',
'admin.defaultSettings.resetToBuiltIn': 'przywróć',
'admin.tabs.templates': 'Szablony pakowania',
'admin.packingTemplates.title': 'Szablony pakowania',
'admin.packingTemplates.subtitle': 'Twórz szablony list pakowania do wielokrotnego użycia dla swoich podróży',
'admin.packingTemplates.create': 'Nowy szablon',
'admin.packingTemplates.namePlaceholder': 'Nazwa szablonu (np. Wakacje na plaży)',
'admin.packingTemplates.empty': 'Nie utworzono jeszcze żadnych szablonów',
'admin.packingTemplates.items': 'przedmiotów',
'admin.packingTemplates.categories': 'kategorie',
'admin.packingTemplates.itemName': 'Nazwa przedmiotu',
'admin.packingTemplates.itemCategory': 'Kategoria',
'admin.packingTemplates.categoryName': 'Nazwa kategorii (np. Ubrania)',
'admin.packingTemplates.addCategory': 'Dodaj kategorię',
'admin.packingTemplates.created': 'Szablon został utworzony',
'admin.packingTemplates.deleted': 'Szablon został usunięty',
'admin.packingTemplates.loadError': 'Nie udało się załadować szablonów',
'admin.packingTemplates.createError': 'Nie udało się utworzyć szablonu',
'admin.packingTemplates.deleteError': 'Nie udało się usunąć szablonu',
'admin.packingTemplates.saveError': 'Nie udało się zapisać szablonu',
'admin.tabs.addons': 'Dodatki',
'admin.tabs.plugins': 'Wtyczki',
'admin.plugins.rescan': 'Skanuj ponownie',
'admin.plugins.rescanned': 'Folder wtyczek został ponownie przeskanowany',
'admin.plugins.browse': 'Przeglądaj wtyczki',
'admin.plugins.installed': 'Zainstalowane',
'admin.plugins.install': 'Zainstaluj',
'admin.plugins.registryEmpty': 'W rejestrze nie ma jeszcze dostępnych wtyczek.',
'admin.plugins.actionError': 'Akcja nie powiodła się',
'admin.plugins.activate': 'Aktywuj',
'admin.plugins.activated': 'Wtyczka została aktywowana',
'admin.plugins.deactivate': 'Dezaktywuj',
'admin.plugins.deactivated': 'Wtyczka została dezaktywowana',
'admin.plugins.viewErrors': 'Pokaż dziennik błędów',
'admin.plugins.errorLog': 'Dziennik błędów',
'admin.plugins.noErrors': 'Brak zarejestrowanych błędów.',
'admin.plugins.uninstalled': 'Wtyczka została odinstalowana',
'admin.plugins.uninstallTitle': 'Odinstalować wtyczkę?',
'admin.plugins.uninstallBody': 'Spowoduje to zatrzymanie wtyczki, usunięcie jej kodu i wszystkich jej danych. Tej operacji nie można cofnąć.',
'admin.plugins.status.starting': 'Uruchamianie…',
'admin.plugins.type.widget': 'Widget',
'admin.plugins.type.page': 'Strona',
'admin.plugins.type.integration': 'Integracja',
'admin.plugins.reviewed': 'Zweryfikowana',
'admin.plugins.unreviewed': 'Niezweryfikowana',
'admin.plugins.updated': 'Wtyczka została zaktualizowana',
'admin.plugins.updateTo': 'Update → v{version}',
'admin.plugins.enabledToggle': 'Włącz wtyczkę',
'plugins.notFound': 'Nie znaleziono wtyczki',
'admin.plugins.title': 'Wtyczki',
'admin.plugins.subtitle': 'Instaluj wtyczki innych autorów i zarządzaj nimi na swojej instancji.',
'admin.plugins.disabledTitle': 'Wtyczki są wyłączone',
'admin.plugins.disabledBody': 'Środowisko uruchomieniowe wtyczek jest wyłączone (TREK_PLUGINS_ENABLED). Żadna wtyczka nie może działać, dopóki administrator nie włączy tej opcji w konfiguracji serwera.',
'admin.plugins.empty': 'Nie zainstalowano jeszcze żadnych wtyczek.',
'admin.plugins.loadError': 'Nie udało się załadować wtyczek.',
'admin.plugins.scaffoldNote': 'Instalacja i aktywacja wtyczek pojawią się w późniejszej aktualizacji. Ten panel obecnie jedynie wyświetla zainstalowane wtyczki.',
'admin.plugins.status.active': 'Aktywna',
'admin.plugins.status.inactive': 'Nieaktywna',
'admin.plugins.status.disabled': 'Wyłączona',
'admin.plugins.status.error': 'Błąd',
'admin.plugins.status.incompatible': 'Niekompatybilna',
'admin.plugins.details': 'Szczegóły',
'admin.plugins.detailError': 'Nie udało się załadować szczegółów wtyczki.',
'admin.plugins.permissionsTitle': 'Uprawnienia',
'admin.plugins.noPermissions': 'Ta wtyczka nie wymaga żadnych specjalnych uprawnień.',
'admin.plugins.egressNote': 'Może łączyć się z: {hosts}',
'admin.plugins.setupTitle': 'Konfiguracja',
'admin.plugins.noSetup': 'Działa od razu — nie wymaga konfiguracji.',
'admin.plugins.scope.instance': 'Dla całej instancji',
'admin.plugins.scope.user': 'Na użytkownika',
'admin.plugins.fieldRequired': 'Wymagane',
'admin.plugins.sourceRepo': 'Repozytorium źródłowe',
'admin.plugins.homepage': 'Strona główna',
'admin.plugins.requiresTrek': 'Wymaga TREK {version}+',
'admin.plugins.reviewedOn': 'Zweryfikowano {date}',
'admin.plugins.perm.db:own': 'Przechowywanie własnych danych w izolowanej bazie danych',
'admin.plugins.perm.db:read:trips': 'Odczyt podróży, do których działający użytkownik ma dostęp',
'admin.plugins.perm.db:read:users': 'Odczyt podstawowych informacji profilowych (nazwa, awatar — nigdy dane logowania)',
'admin.plugins.perm.ws:broadcast:trip': 'Wysyłanie aktualizacji w czasie rzeczywistym do członków podróży',
'admin.plugins.perm.ws:broadcast:user': 'Wysyłanie aktualizacji w czasie rzeczywistym do poszczególnych użytkowników',
'admin.plugins.perm.hook:photo-provider': 'Dostarczanie zdjęć do sekcji Zdjęcia',
'admin.plugins.perm.hook:calendar-source': 'Dostarczanie wydarzeń do kalendarza',
'admin.plugins.perm.http:outbound': 'Wykonywanie wychodzących zapytań do zadeklarowanych hostów',
'admin.plugins.updateConsentTitle': 'Ta aktualizacja wymaga nowych uprawnień',
'admin.plugins.updateConsentBody':
'{name} v{version} prosi o uprawnienia, których jeszcze nie przyznałeś. Nowa wersja jest zainstalowana, ale pozostaje wyłączona, dopóki jej nie zatwierdzisz.',
'admin.plugins.updateNewPermissions': 'Nowo wymagane uprawnienia',
'admin.plugins.updateNewEgress': 'Nowe połączenia wychodzące',
'admin.plugins.updateApprove': 'Zatwierdź i włącz',
'admin.plugins.updateLater': 'Na razie pozostaw wyłączoną',
'admin.plugins.updateKeptOff': 'Aktualizacja zainstalowana — pozostaje wyłączona, dopóki nie zatwierdzisz nowych uprawnień',
'admin.plugins.reviewedMeaning':
'„Zweryfikowana” oznacza, że opiekun TREK przeskanował tę wtyczkę pod kątem złośliwego oprogramowania w każdej wersji — nie pod kątem jakości ani tego, czy działa. To nie jest gwarancja, że wtyczka jest nieszkodliwa.',
'admin.plugins.security.title': 'Jak wtyczki są izolowane — i jakie są tego granice',
'admin.plugins.security.isolationTitle': 'Każda wtyczka działa w izolacji',
'admin.plugins.security.isolationBody':
'Wtyczka działa jako własny, odizolowany proces, który może odczytywać wyłącznie swoje własne pliki. Nie może odczytać Twojej bazy danych, sekretu logowania ani klucza szyfrującego, nie może uruchamiać innych programów ani nigdzie zapisywać plików. Jej interfejs działa w zamkniętej ramce przeglądarki, która nie może odczytać Twojego pliku cookie sesji ani ingerować w otaczającą ją stronę TREK.',
'admin.plugins.security.permsTitle': 'Co oznaczają uprawnienia',
'admin.plugins.security.permsBody':
'Uprawnienia pokazywane przed instalacją to twarda granica, którą TREK egzekwuje w trakcie działania wtyczki — dosłownie nie może ona zrobić niczego, czego nie ma na liście. Mówią one jednak, co wtyczka może robić, a nie co faktycznie robi. Wtyczka, która może odczytywać Twoje podróże i łączyć się z serwerem, może wysłać Twoje podróże na ten serwer, dlatego czytaj uprawnienia i hosty wychodzące, a nie tylko opis.',
'admin.plugins.security.limitsTitle': 'Czego nie możemy obiecać',
'admin.plugins.security.limitsBody':
'Izolacja to silna granica programowa, ale nie absolutna. Wtyczka działa dokładnie z tymi uprawnieniami, które zatwierdzisz, więc w ich ramach może zachowywać się inaczej, niż sugeruje jej opis, i może wysyłać dane, do których ma zgodny z uprawnieniami dostęp, do zadeklarowanych przez siebie hostów. TREK nie odczytuje ani nie ocenia tego, co faktycznie robi kod wtyczki.',
'admin.plugins.security.worstTitle': 'Najgorszy scenariusz',
'admin.plugins.security.worstBody':
'Wroga wtyczka, którą włączysz, może nadużyć danych i połączeń, które jej przyznałeś — na przykład ujawnić podróże, które może odczytywać. Nie może wykraść haseł, sfałszować logowania administratora, uruchamiać poleceń na Twoim serwerze ani sięgać po dane, których jej nie przyznałeś. Szkody pozostają w granicach tego, co zatwierdziłeś, a wyłączenie wtyczki je zatrzymuje.',
'admin.plugins.security.reviewedTitle': 'Co oznacza „Zweryfikowana”',
'admin.plugins.security.reviewedBody':
'Zweryfikowana wtyczka została ręcznie przeskanowana pod kątem złośliwego oprogramowania przez opiekuna TREK w każdej wersji — sprawdzona pod kątem wrogiego kodu, a nie tego, czy działa dobrze. To nie jest obietnica, że wtyczka jest nieszkodliwa.',
'admin.plugins.security.trustTitle': 'Podsumowanie',
'admin.plugins.security.trustBody':
'Instalacja wtyczki jest jak instalacja dowolnej aplikacji innych firm: dodawaj tylko kod od autorów, którym ufasz, a w razie wątpliwości najpierw samodzielnie go sprawdź. TREK nie ponosi żadnej odpowiedzialności za wtyczki innych firm.',
'admin.addons.title': 'Dodatki',
'admin.addons.subtitle': 'Włączaj lub wyłączaj funkcje, aby dostosować swoje doświadczenie w TREK.',
'admin.addons.catalog.packing.name': 'Listy',
'admin.addons.catalog.packing.description': 'Listy pakowania i zadania do wykonania dla Twoich podróży',
'admin.addons.catalog.budget.name': 'Budżet',
'admin.addons.catalog.budget.description': 'Śledź wydatki i planuj budżet podróży',
'admin.addons.catalog.documents.name': 'Dokumenty',
'admin.addons.catalog.documents.description': 'Przechowuj i zarządzaj dokumentami podróżnymi',
'admin.addons.catalog.vacay.name': 'Urlopy',
'admin.addons.catalog.vacay.description': 'Osobisty planer urlopu z widokiem kalendarza',
'admin.addons.catalog.atlas.name': 'Atlas',
'admin.addons.catalog.atlas.description': 'Mapa świata z odwiedzonymi krajami i statystykami podróży',
'admin.addons.catalog.collab.name': 'Współpraca',
'admin.addons.catalog.collab.description': 'Notatki w czasie rzeczywistym, ankiety i czat do planowania podróży',
'admin.addons.catalog.memories.name': 'Zdjęcia (Immich)',
'admin.addons.catalog.memories.description': 'Udostępniaj zdjęcia z podróży za pośrednictwem swojej instancji Immich',
'admin.addons.catalog.mcp.name': 'MCP',
'admin.addons.catalog.mcp.description': 'Model Context Protocol dla integracji asystenta AI',
'admin.addons.subtitleBefore': 'Włączaj lub wyłączaj funkcje, aby dostosować swoje doświadczenie w ',
'admin.addons.subtitleAfter': '.',
'admin.addons.enabled': 'Włączone',
'admin.addons.disabled': 'Wyłączone',
'admin.addons.type.trip': 'Podróż',
'admin.addons.type.global': 'Globalne',
'admin.addons.type.integration': 'Integracja',
'admin.addons.tripHint': 'Dostępne jako zakładka w każdej podróży',
'admin.addons.globalHint': 'Dostępne jako osobna sekcja w menu głównym',
'admin.addons.integrationHint': 'Usługi backendowe i integracje API bez dedykowanej strony',
'admin.addons.toast.updated': 'Dodatek został zaktualizowany',
'admin.addons.toast.error': 'Nie udało się zaktualizować dodatku',
'admin.addons.noAddons': 'Brak dostępnych dodatków',
'admin.weather.title': 'Dane pogodowe',
'admin.weather.badge': 'Od 24 marca 2026',
'admin.weather.description':
'TREK korzysta z Open-Meteo jako źródła danych pogodowych. Open-Meteo to darmowy, otwartoźródłowy serwis pogodowy — klucz API nie jest wymagany.',
'admin.weather.forecast': '16-dniowa prognoza',
'admin.weather.forecastDesc': 'Wcześniej 5 dni (OpenWeatherMap)',
'admin.weather.climate': 'Historyczne dane klimatyczne',
'admin.weather.climateDesc': 'Średnie z ostatnich 85 lat dla dni poza 16-dniową prognozą',
'admin.weather.requests': '10,000 zapytań / dzień',
'admin.weather.requestsDesc': 'Bezpłatnie, bez klucza API',
'admin.weather.locationHint':
'Pogoda jest określana na podstawie pierwszego miejsca z przypisanymi współrzędnymi w danym dniu. Jeśli do dnia nie przypisano żadnego miejsca, jako punkt odniesienia używane jest dowolne miejsce z listy.',
'admin.tabs.mcpTokens': 'Dostęp MCP',
'admin.mcpTokens.title': 'Dostęp MCP',
'admin.mcpTokens.subtitle': 'Zarządzaj sesjami OAuth i tokenami API dla wszystkich użytkowników',
'admin.mcpTokens.sectionTitle': 'Tokeny API',
'admin.mcpTokens.owner': 'Właściciel',
'admin.mcpTokens.tokenName': 'Nazwa tokenu',
'admin.mcpTokens.created': 'Utworzono',
'admin.mcpTokens.lastUsed': 'Ostatnio użyto',
'admin.mcpTokens.never': 'Nigdy',
'admin.mcpTokens.empty': 'Nie utworzono jeszcze żadnych tokenów MCP',
'admin.mcpTokens.deleteTitle': 'Usuń token',
'admin.mcpTokens.deleteMessage':
'Spowoduje to natychmiastowe unieważnienie tokenu. Użytkownik straci dostęp MCP przez ten token.',
'admin.mcpTokens.deleteSuccess': 'Token został usunięty',
'admin.mcpTokens.deleteError': 'Nie udało się usunąć tokenu',
'admin.mcpTokens.loadError': 'Nie udało się załadować tokenów',
'admin.oauthSessions.sectionTitle': 'Sesje OAuth',
'admin.oauthSessions.clientName': 'Klient',
'admin.oauthSessions.owner': 'Właściciel',
'admin.oauthSessions.scopes': 'Uprawnienia',
'admin.oauthSessions.created': 'Utworzono',
'admin.oauthSessions.empty': 'Brak aktywnych sesji OAuth',
'admin.oauthSessions.revokeTitle': 'Unieważnij sesję',
'admin.oauthSessions.revokeMessage': 'Ta sesja OAuth zostanie natychmiast unieważniona. Klient straci dostęp do MCP.',
'admin.oauthSessions.revokeSuccess': 'Sesja unieważniona',
'admin.oauthSessions.revokeError': 'Nie udało się unieważnić sesji',
'admin.oauthSessions.loadError': 'Nie udało się załadować sesji OAuth',
'admin.tabs.github': 'GitHub',
'admin.audit.subtitle':
'Zdarzenia związane z bezpieczeństwem i administracją (kopie zapasowe, użytkownicy, MFA, ustawienia).',
'admin.audit.empty': 'Brak zapisów w historii aktywności.',
'admin.audit.refresh': 'Odśwież',
'admin.audit.loadMore': 'Załaduj więcej',
'admin.audit.showing': '{count} załadowanych · {total} łącznie',
'admin.audit.col.time': 'Czas',
'admin.audit.col.user': 'Użytkownik',
'admin.audit.col.action': 'Akcja',
'admin.audit.col.resource': 'Zasób',
'admin.audit.col.ip': 'IP',
'admin.audit.col.details': 'Szczegóły',
'admin.github.title': 'Historia wydań',
'admin.github.subtitle': 'Najnowsze aktualizacje z {repo}',
'admin.github.latest': 'Najnowsze',
'admin.github.prerelease': 'Wersja testowa',
'admin.github.showDetails': 'Pokaż szczegóły',
'admin.github.hideDetails': 'Ukryj szczegóły',
'admin.github.loadMore': 'Załaduj więcej',
'admin.github.loading': 'Ładowanie...',
'admin.github.error': 'Nie udało się załadować wydań',
'admin.github.by': 'przez',
'admin.github.support': 'Pomóż mi rozwijać TREK',
'admin.update.available': 'Dostępna aktualizacja',
'admin.update.text': 'Dostępna jest wersja TREK {version}. Używasz {current}.',
'admin.update.button': 'Zobacz na GitHubie',
'admin.update.install': 'Zainstaluj aktualizację',
'admin.update.confirmTitle': 'Zainstalować aktualizację?',
'admin.update.confirmText':
'TREK zostanie zaktualizowany z {current} do {version}. Serwer zostanie automatycznie zrestartowany po zakończeniu.',
'admin.update.dataInfo':
'Wszystkie twoje dane (podróże, użytkownicy, klucze API, przesłane pliki, urlopy, Atlas, budżety) zostaną zachowane.',
'admin.update.warning': 'Aplikacja będzie niedostępna przez krótki czas podczas restartu.',
'admin.update.confirm': 'Zaktualizuj',
'admin.update.installing': 'Aktualizowanie...',
'admin.update.success': 'Aktualizacja zakończona! Serwer restartuje się...',
'admin.update.failed': 'Aktualizacja nie powiodła się',
'admin.update.backupHint': 'Zalecamy utworzenie kopii zapasowej przed aktualizacją.',
'admin.update.backupLink': 'Zrób kopię zapasową',
'admin.update.howTo': 'Jak zaktualizować',
'admin.update.dockerText':
'Twoja instancja TREK działa w Dockerze. Aby zaktualizować do {version}, uruchom następujące polecenia na swoim serwerze:',
'admin.update.nonDockerText':
'Ta instancja TREK nie działa w Dockerze. Aby zaktualizować do {version}, uruchom ponownie metodę instalacji lub aktualizacji, której użyłeś — na przykład w Proxmox Community Scripts uruchom aktualizację z konsoli LXC:',
'admin.update.wikiLink': 'Otwórz przewodnik aktualizacji',
'admin.update.reloadHint': 'Proszę odświeżyć stronę za kilka sekund.',
'admin.notifications.title': 'Powiadomienia',
'admin.notifications.hint': 'Wybierz jeden kanał powiadomień.',
'admin.notifications.none': 'Wyłączone',
'admin.notifications.email': 'E-mail (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.save': 'Zapisz ustawienia powiadomień',
'admin.notifications.saved': 'Ustawienia powiadomień zapisane',
'admin.notifications.testWebhook': 'Wyślij testowy webhook',
'admin.notifications.testWebhookSuccess': 'Testowy webhook wysłany pomyślnie',
'admin.notifications.testWebhookFailed': 'Testowy webhook nie powiódł się',
'admin.notifications.emailPanel.title': 'Email (SMTP)',
'admin.notifications.webhookPanel.title': 'Webhook',
'admin.notifications.inappPanel.title': 'In-App',
'admin.notifications.inappPanel.hint':
'Powiadomienia w aplikacji są zawsze aktywne i nie można ich globalnie wyłączyć.',
'admin.notifications.adminWebhookPanel.title': 'Webhook admina',
'admin.notifications.adminWebhookPanel.hint':
'Ten webhook służy wyłącznie do powiadomień admina (np. alertów o nowych wersjach). Jest niezależny od webhooków użytkowników i wysyła automatycznie, gdy URL jest skonfigurowany.',
'admin.notifications.adminWebhookPanel.saved': 'URL webhooka admina zapisany',
'admin.notifications.adminWebhookPanel.testSuccess': 'Testowy webhook wysłany pomyślnie',
'admin.notifications.adminWebhookPanel.testFailed': 'Wysyłanie testowego webhooka nie powiodło się',
'admin.notifications.adminWebhookPanel.alwaysOnHint':
'Webhook admina wysyła automatycznie, gdy URL jest skonfigurowany',
'admin.notifications.ntfy': 'Ntfy',
'admin.ntfy.hint':
'Pozwala użytkownikom skonfigurować własne tematy ntfy dla powiadomień push. Ustaw domyślny serwer poniżej, aby wstępnie wypełnić ustawienia użytkownika.',
'admin.notifications.testNtfy': 'Wyślij testowe Ntfy',
'admin.notifications.testNtfySuccess': 'Testowe Ntfy wysłane pomyślnie',
'admin.notifications.testNtfyFailed': 'Wysyłanie testowego Ntfy nie powiodło się',
'admin.notifications.adminNtfyPanel.title': 'Admin Ntfy',
'admin.notifications.adminNtfyPanel.hint':
'Ten temat Ntfy jest używany wyłącznie do powiadomień admina (np. alertów o wersjach). Jest niezależny od tematów użytkowników i zawsze wysyła po skonfigurowaniu.',
'admin.notifications.adminNtfyPanel.serverLabel': 'URL serwera Ntfy',
'admin.notifications.adminNtfyPanel.serverHint':
'Używany również jako domyślny serwer dla powiadomień ntfy użytkowników. Pozostaw puste, aby użyć ntfy.sh. Użytkownicy mogą to nadpisać w swoich ustawieniach.',
'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
'admin.notifications.adminNtfyPanel.topicLabel': 'Temat admina',
'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
'admin.notifications.adminNtfyPanel.tokenLabel': 'Token dostępu (opcjonalne)',
'admin.notifications.adminNtfyPanel.tokenCleared': 'Token dostępu admina wyczyszczony',
'admin.notifications.adminNtfyPanel.saved': 'Ustawienia admin Ntfy zapisane',
'admin.notifications.adminNtfyPanel.test': 'Wyślij testowe Ntfy',
'admin.notifications.adminNtfyPanel.testSuccess': 'Testowe Ntfy wysłane pomyślnie',
'admin.notifications.adminNtfyPanel.testFailed': 'Wysyłanie testowego Ntfy nie powiodło się',
'admin.notifications.adminNtfyPanel.alwaysOnHint': 'Admin Ntfy zawsze wysyła po skonfigurowaniu tematu',
'admin.notifications.adminNotificationsHint':
'Skonfiguruj, które kanały dostarczają powiadomienia admina (np. alerty o wersjach). Webhook wysyła automatycznie, gdy ustawiony jest URL webhooka admina.',
'admin.notifications.tripReminders.title': 'Przypomnienia o podróżach',
'admin.notifications.tripReminders.hint':
'Wysyła powiadomienie z przypomnieniem przed rozpoczęciem podróży (wymaga ustawienia dni przypomnienia dla podróży).',
'admin.notifications.tripReminders.enabled': 'Przypomnienia o podróżach włączone',
'admin.notifications.tripReminders.disabled': 'Przypomnienia o podróżach wyłączone',
'admin.webhook.hint':
'Pozwól użytkownikom konfigurować własne adresy URL webhooka dla powiadomień (Discord, Slack itp.).',
'admin.tabs.permissions': 'Uprawnienia',
'admin.addons.catalog.journey.name': 'Dziennik podróży',
'admin.addons.catalog.journey.description':
'Śledzenie podróży i dziennik z zameldowaniami, zdjęciami i codziennymi historiami',
'admin.addons.catalog.collections.name': 'Kolekcje',
'admin.addons.catalog.collections.description':
'Osobista biblioteka miejsc — zapisuj miejsca z podróży na nazwanych listach, kopiuj je do dowolnej podróży i udostępniaj innym',
'admin.passkey.title': 'Logowanie kluczem dostępu',
'admin.passkey.cardHint': 'Pozwól użytkownikom logować się kluczami dostępu (WebAuthn). Domyślnie wyłączone.',
'admin.passkey.login': 'Włącz logowanie kluczem dostępu',
'admin.passkey.loginHint':
'Pokaż opcję „Zaloguj się kluczem dostępu” i pozwól użytkownikom rejestrować klucze dostępu w swoich ustawieniach.',
'admin.passkey.notConfigured':
'Dla tego wdrożenia nie ustalono jeszcze żadnej domeny WebAuthn. Ustaw APP_URL lub Relying Party ID poniżej — do tego czasu klucze dostępu pozostaną ukryte.',
'admin.passkey.rpId': 'Relying Party ID (domena)',
'admin.passkey.rpIdHint':
'Sama domena, do której przypisane są klucze dostępu, np. trek.example.org. Pozostaw puste, aby wyprowadzić ją z APP_URL. Późniejsza zmiana unieważnia istniejące klucze dostępu.',
'admin.passkey.origins': 'Dozwolone origins',
'admin.passkey.originsHint':
'Pełne origins oddzielone przecinkami, np. https://trek.example.org. Pozostaw puste, aby użyć APP_URL.',
'admin.passkey.reset': 'Zresetuj klucze dostępu',
'admin.passkey.resetHint':
'Usuń wszystkie klucze dostępu tego użytkownika (np. po utracie urządzenia). Nadal będzie mógł logować się hasłem.',
'admin.passkey.resetConfirm': 'Usunąć wszystkie klucze dostępu dla {name}?',
'admin.passkey.resetDone': 'Usunięto {count} kluczy dostępu',
'admin.defaultSettings.mapProvider': 'Silnik map',
'admin.defaultSettings.mapProviderHint':
'Domyślna mapa dla wszystkich na tej instancji. Każdy użytkownik może ją zmienić we własnych ustawieniach.',
'admin.defaultSettings.providerLeaflet': 'Standardowa (bezpłatna)',
'admin.defaultSettings.providerMapbox': 'Mapbox (3D)',
'admin.defaultSettings.providerMapLibre': 'MapLibre (OpenFreeMap)',
'admin.defaultSettings.mapboxToken': 'Współdzielony token Mapbox',
'admin.defaultSettings.mapboxTokenHint':
'Używany dla każdego użytkownika, który nie wprowadził własnego tokena — dzięki temu cała instancja korzysta z Mapbox bez udostępniania klucza każdemu z osobna. Przechowywany w postaci zaszyfrowanej.',
'admin.defaultSettings.mapboxStyle': 'Styl mapy',
'admin.defaultSettings.mapboxStylePlaceholder': 'Wybierz styl…',
'admin.defaultSettings.mapbox3d': 'Budynki i teren 3D',
'admin.defaultSettings.mapboxQuality': 'Tryb wysokiej jakości',
'admin.group.users': 'Users',
'admin.group.config': 'Configuration',
'admin.group.integration': 'Integrations',
'admin.group.maintenance': 'Maintenance',
'admin.invite.tripLabel': 'Dodaj do podróży (opcjonalnie)',
'admin.invite.tripNone': 'Brak podróży',
'admin.invite.tripHint': 'Nowy użytkownik zostanie automatycznie dodany do tej podróży po rejestracji przez link.',
'admin.invite.boundTo': 'dodaje do {trip}',
};
export default admin;