mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-23 07:26:30 +00:00
26df56d76c
The three AI addons share one tile in the integration column; a dialog holds the connection, the assistant's limits and AI parsing, which now reads with the assistant's connection unless an install keeps its own. Existing parsing configs stay where they are and keep winning. The chat sees the map on screen, offers next questions under an answer, shows its live step in the window head, previews waiting changes inside the day list, checks whether a day still works, folds a multi-day plan into a week grid, keeps per-trip notes and can estimate costs. An empty or cut-off answer gets one push instead of ending silently, and the assistant's own step and size limits are raised.
1019 lines
72 KiB
TypeScript
1019 lines
72 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żytkownika',
|
|
'admin.stats.users.one': 'Użytkownik',
|
|
'admin.stats.users.few': 'Użytkownicy',
|
|
'admin.stats.users.many': 'Użytkowników',
|
|
'admin.stats.trips': 'Podróży',
|
|
'admin.stats.trips.one': 'Podróż',
|
|
'admin.stats.trips.few': 'Podróże',
|
|
'admin.stats.trips.many': 'Podróży',
|
|
'admin.stats.places': 'Miejsca',
|
|
'admin.stats.places.one': 'Miejsce',
|
|
'admin.stats.places.few': 'Miejsca',
|
|
'admin.stats.places.many': 'Miejsc',
|
|
'admin.stats.photos': 'Zdjęcia',
|
|
'admin.stats.files': 'Pliku',
|
|
'admin.stats.files.one': 'Plik',
|
|
'admin.stats.files.few': 'Pliki',
|
|
'admin.stats.files.many': 'Plików',
|
|
'admin.table.user': 'Użytkownik',
|
|
'admin.table.email': 'E-mail',
|
|
'admin.table.role': 'Rola',
|
|
'admin.table.created': 'Utworzono',
|
|
'admin.table.lastActive': 'Ostatnia aktywność',
|
|
'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':
|
|
'Skąd pochodzą dane miejsc. Indeks TREK nie potrzebuje klucza; dwaj dostawcy poniżej są opcjonalni.',
|
|
'admin.trekApi.badgeDefault': 'Zalecane źródło domyślne',
|
|
'admin.googleCaveat.badge': 'Niezalecane',
|
|
'admin.googleCaveat.body':
|
|
'TREK jest otwartym oprogramowaniem i nie jesteśmy tu neutralni. W tej skali oceny i zdjęcia zwykłych lokali istnieją tylko u Google, i to jest właśnie monopol. Pole jest tu z braku alternatywy, a nie dlatego, że je zalecamy. Każde zapytanie idzie wtedy do Google.',
|
|
'admin.trekApi.tagline':
|
|
'Własny indeks miejsc TREK-a. Wyszukiwanie bez klucza Google, bez limitu i bez tego, żeby ktoś liczył twoje zapytania.',
|
|
'admin.trekApi.factPlaces': '73,6 miliona miejsc na świecie',
|
|
'admin.trekApi.factNoKey': 'Bez klucza, bez limitu',
|
|
'admin.trekApi.factOffline': 'Pakiety krajowe działają offline',
|
|
'admin.trekApi.factPrivacy': 'Zapytania nigdy nie są zapisywane',
|
|
'admin.trekApi.more': 'Co w tym jest',
|
|
'admin.trekApi.fieldPhone': 'Telefon',
|
|
'admin.trekApi.fieldStableId': 'Stały identyfikator',
|
|
'admin.trekApi.includedNote':
|
|
'Opisy pochodzą ze strony samego miejsca, a godziny otwarcia z OpenStreetMap tam, gdzie je wpisano.',
|
|
'admin.trekApi.notRatings': 'Oceny',
|
|
'admin.trekApi.notPhotos': 'Zdjęcia zwykłych lokali',
|
|
'admin.trekApi.notIncludedNote':
|
|
'Żadne otwarte źródło nie ma ani jednego, ani drugiego, za żadną cenę. Do tych dwóch klucz Google pozostaje jedyną drogą.',
|
|
'admin.trekApi.sourcesLabel': 'Źródła',
|
|
'admin.trekApi.sourcesNote': 'Każde pole w odpowiedzi mówi, z którego z nich pochodzi.',
|
|
'admin.trekApi.included': 'Zawiera',
|
|
'admin.trekApi.notIncluded': 'Nie zawiera',
|
|
'admin.mapsKey': 'Klucz Google Maps API',
|
|
'admin.mapsKeyHint': 'Wymagany do wyszukiwania miejsc. Uzyskaj go na console.cloud.google.com',
|
|
'admin.mapsKeyHintLong':
|
|
'Bez klucza API Google używane jest zalecane API TREK. Z kluczem można dodatkowo wczytać zdjęcia, oceny i godziny otwarcia. Klucz utworzysz 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.unsplashKey': 'Klucz API Unsplash',
|
|
'admin.unsplashKeyHint': 'Do wyszukiwania obrazów. Bezpłatnie na unsplash.com/developers',
|
|
'admin.amapKey': 'Klucz API Amap (高德地图)',
|
|
'admin.amapKeyHint':
|
|
'Do wyszukiwania miejsc w Chinach kontynentalnych, gdzie Google jest nieosiągalny, a OpenStreetMap ma niewiele danych. Wymaga klucza typu „Web 服务" (usługa sieciowa), a nie klucza JS API. Można go uzyskać na console.amap.com.',
|
|
'admin.keyFromEnv': 'Ustawiono przez {name}',
|
|
'admin.placesProvider.title': 'Dostawca wyszukiwania miejsc',
|
|
'admin.placesProvider.subtitle':
|
|
'Własny indeks TREK i OpenStreetMap odpowiadają na każde wyszukiwanie. Tutaj wybierasz, kogo zapytać dodatkowo, gdy nic nie znajdą: Automatycznie preferuje Google, jeśli jest klucz, potem Amap.',
|
|
'admin.placesProvider.auto': 'Automatycznie',
|
|
'admin.placesProvider.google': 'Google Places',
|
|
'admin.placesProvider.amap': 'Amap (高德地图)',
|
|
'admin.placesProvider.openstreetmap': 'OpenStreetMap',
|
|
'admin.placesProvider.missingKey':
|
|
'Wybrany dostawca nie ma skonfigurowanego klucza API, więc na wyszukiwanie miejsc odpowiadają tylko indeks TREK i OpenStreetMap.',
|
|
'admin.placesProvider.saved': 'Zapisano dostawcę wyszukiwania miejsc',
|
|
'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.googleOptions': 'Do czego służy klucz',
|
|
'admin.googleOptionsSummary': '{on} z {total} włączone',
|
|
'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.placesEnrich.title': 'Wzbogacanie miejsc',
|
|
'admin.placesEnrich.subtitle':
|
|
'Pokazuje zdjęcia i opis podczas dodawania miejsca. Wikipedia i OpenStreetMap są używane zawsze; Google dochodzi, gdy włączone są Zdjęcia miejsc lub Szczegóły miejsc.',
|
|
'admin.placesGoogleOnly.title': 'Szukaj tylko przez Google',
|
|
'admin.placesGoogleOnly.subtitle':
|
|
'Każde wyszukiwanie i każda podpowiedź trafia do Google Places. Wyłączone: najpierw odpowiadają indeks TREK i OpenStreetMap, a Google jest pytany tylko wtedy, gdy nic nie znajdą.',
|
|
'admin.placesGoogleOnly.missingKey':
|
|
'Wymaga klucza Google Maps API. Bez niego wyszukiwanie działa przez indeks TREK i OpenStreetMap, niezależnie od tego przełącznika.',
|
|
'admin.placesGoogleOnly.otherProvider':
|
|
'Wymaga Google jako dostawcy miejsc. Przy wybranym Amap lub OpenStreetMap żadne wyszukiwanie nie trafia do Google, niezależnie od tego przełącznika.',
|
|
'admin.googleQuota.title': 'Dzienny limit wywołań Google',
|
|
'admin.googleQuota.subtitle':
|
|
'Po osiągnięciu TREK nie wywołuje Google do następnego dnia (UTC) i wyszukuje przez OpenStreetMap. Puste oznacza brak limitu.',
|
|
'admin.googleQuota.placeholder': 'Bez limitu',
|
|
'admin.googleQuota.usedToday': 'Dziś: {used}',
|
|
'admin.googleQuota.usedOfLimit': 'Dziś: {used} z {limit}',
|
|
'admin.googleQuota.reached': 'Limit osiągnięty ({used}), Google wstrzymany do jutra',
|
|
'admin.googleQuota.saved': 'Zapisano dzienny limit',
|
|
'admin.transitProvider.title': 'Dostawca transportu publicznego',
|
|
'admin.transitProvider.subtitle': 'Która usługa odpowiada na wyszukiwanie transportu publicznego.',
|
|
'admin.transitProvider.transitous': 'Transitous (bezpłatnie)',
|
|
'admin.transitProvider.google': 'Google',
|
|
'admin.transitProvider.transitousHint':
|
|
'Społecznościowe źródła GTFS. Bezpłatne i bez klucza, z najlepszym zasięgiem w Europie.',
|
|
'admin.transitProvider.googleHint':
|
|
'Używa powyższego klucza Google w regionach, dla których Transitous nie ma danych. Rozliczane za wyszukiwanie — dopóki nie ustawiono klucza, działa Transitous.',
|
|
'admin.transitProvider.noKeyWarning':
|
|
'Wybrano Google, ale nie skonfigurowano klucza Google — wyszukiwanie transportu nadal korzysta z Transitous. Dodaj klucz w sekcji Klucze API powyżej.',
|
|
'admin.transitProvider.personalKeyWarning':
|
|
'Ustawiono tylko Twój własny klucz Google, więc wyszukiwanie pozostałych członków nadal wraca do Transitous. Zapisz klucz powyżej jako administrator, aby obowiązywał w całej instancji.',
|
|
'admin.placeShadow.title': 'Dziennik wyszukiwania miejsc',
|
|
'admin.placeShadow.subtitle':
|
|
'Zapisywanie, który wynik wyszukiwania został wybrany, aby później ocenić inny indeks miejsc na prawdziwych zapytaniach. Nic nie opuszcza tej instancji, a administrator może w każdej chwili wyeksportować lub usunąć dziennik.',
|
|
'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': 'przedmiotu',
|
|
'admin.packingTemplates.items.one': 'przedmiot',
|
|
'admin.packingTemplates.items.few': 'przedmioty',
|
|
'admin.packingTemplates.items.many': 'przedmiotów',
|
|
'admin.packingTemplates.categories': 'kategorii',
|
|
'admin.packingTemplates.categories.one': 'kategoria',
|
|
'admin.packingTemplates.categories.few': 'kategorie',
|
|
'admin.packingTemplates.categories.many': 'kategorii',
|
|
'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.deleteCategoryError': 'Nie udało się usunąć kategorii',
|
|
'admin.packingTemplates.deleteItemError': 'Nie udało się usunąć pozycji',
|
|
'admin.packingTemplates.saveError': 'Nie udało się zapisać szablonu',
|
|
'admin.tabs.addons': 'Dodatki',
|
|
'admin.tabs.plugins': 'Wtyczki',
|
|
'admin.tabs.storage': 'Magazyn',
|
|
'admin.plugins.rescan': 'Skanuj ponownie',
|
|
'admin.plugins.rescanned': 'Folder wtyczek został ponownie przeskanowany',
|
|
'admin.plugins.upload': 'Prześlij wtyczkę',
|
|
'admin.plugins.dropToUpload': 'Upuść plik .zip wtyczki, aby zainstalować',
|
|
'admin.plugins.uploaded': 'Wtyczka “{name}” przesłana — aktywuj ją, aby uruchomić',
|
|
'admin.plugins.sideloaded': 'Załadowano ręcznie',
|
|
'admin.plugins.devLinkBadge': 'Dev-Link',
|
|
'admin.plugins.devLinkHint':
|
|
'Wczytany z lokalnego katalogu kompilacji i przeładowywany na gorąco na prawdziwych danych — tylko dla programistów',
|
|
'admin.plugins.devLinkTitle': 'Podłącz lokalny plugin',
|
|
'admin.plugins.devLinkPathPlaceholder': '/absolute/path/to/your/plugin',
|
|
'admin.plugins.devLinkButton': 'Podłącz',
|
|
'admin.plugins.devLinkLinked': '{id} podłączony — aktywuj, aby uruchomić',
|
|
'admin.plugins.sideloadedHint': 'Przesłano ręcznie — nie z rejestru, niepodpisane i niesprawdzone',
|
|
'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.allowedHosts': 'Dozwolone hosty',
|
|
'admin.plugins.allowedHosts.hint':
|
|
'Ta wtyczka łączy się z usługą, którą tylko Ty możesz wskazać (serwer self-hosted). Dodaj hosty, do których może sięgać — do innych nie sięgnie.',
|
|
'admin.plugins.allowedHosts.none': 'Nie dodano jeszcze żadnych hostów.',
|
|
'admin.plugins.allowedHosts.unsupported':
|
|
'Ta wtyczka nie używa hostów podanych przez operatora. Jej dozwolone hosty są zapisane w manifeście.',
|
|
'admin.plugins.allowedHosts.restartNote': 'Zapis restartuje wtyczkę, aby pobrała nową listę.',
|
|
'admin.plugins.allowedHosts.add': 'Dodaj dozwolony host',
|
|
'admin.plugins.allowedHosts.count': '{n} dozwolonego hosta',
|
|
'admin.plugins.allowedHosts.count.one': '{n} dozwolony host',
|
|
'admin.plugins.allowedHosts.count.few': '{n} dozwolone hosty',
|
|
'admin.plugins.allowedHosts.count.many': '{n} dozwolonych hostów',
|
|
'admin.plugins.operatorEgressPill': '+ hosty, które dodasz',
|
|
'admin.plugins.operatorEgressHint':
|
|
'Ta wtyczka łączy się z usługą, którą tylko Ty możesz wskazać (serwer self-hosted). Po instalacji dodaj hosty w ⋯ → Dozwolone hosty. Do innych nie sięgnie.',
|
|
'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.type.trip-page': 'Strona podróży',
|
|
'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',
|
|
'plugins.frameLoadFailed': 'This plugin could not be loaded.',
|
|
'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.reportIssue': 'Zgłoś problem',
|
|
'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.db:read:costs': 'Odczyt wydatków (pozycji budżetu), do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:read:packing':
|
|
'Odczyt list rzeczy do spakowania w podróżach, do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:write:packing':
|
|
'Tworzenie, edytowanie i usuwanie pozycji listy pakowania w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.weather:read': 'Odczyt zapisanej w pamięci prognozy pogody hosta (wg współrzędnych)',
|
|
'admin.plugins.perm.db:read:categories': 'Odczyt globalnej listy kategorii miejsc',
|
|
'admin.plugins.perm.db:read:tags': 'Odczyt tagów działającego użytkownika',
|
|
'admin.plugins.perm.db:write:tags': 'Tworzenie, edytowanie i usuwanie tagów działającego użytkownika',
|
|
'admin.plugins.perm.db:read:todos': 'Odczyt zadań w podróżach, do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:write:todos':
|
|
'Tworzenie, edytowanie i usuwanie zadań w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:atlas':
|
|
'Oznaczanie krajów i regionów jako odwiedzonych oraz zarządzanie listą marzeń działającego użytkownika (wymaga dodatku Atlas)',
|
|
'admin.plugins.perm.db:write:vacay':
|
|
'Przełączanie dni urlopu i świąt firmowych w aktywnym planie działającego użytkownika (wymaga dodatku Vacay)',
|
|
'admin.plugins.perm.db:write:journal':
|
|
'Tworzenie, edytowanie i usuwanie wpisów w dziennikach, które działający użytkownik może edytować (wymaga dodatku Journey)',
|
|
'admin.plugins.perm.db:write:collections':
|
|
'Tworzenie i edytowanie kolekcji oraz zapisywanie w nich miejsc, z rolą działającego użytkownika w kolekcji (wymaga dodatku Collections)',
|
|
'admin.plugins.perm.db:write:files':
|
|
'Dołączanie plików do podróży, które działający użytkownik może edytować (limit 10 MB, zablokowane rozszerzenia odrzucane), i zarządzanie ich powiązaniami',
|
|
'admin.plugins.perm.db:write:collab':
|
|
'Publikowanie notatek, ankiet i wiadomości czatu w podróżach, które działający użytkownik może edytować (wymaga dodatku Collab)',
|
|
'admin.plugins.perm.db:write:members':
|
|
'Dodawanie użytkowników do podróży — przyznaje dostęp do podróży; chronione uprawnieniem zarządzania członkami działającego użytkownika',
|
|
'admin.plugins.perm.notify:send':
|
|
'Wysyłanie powiadomienia (skrzynka dzwonka + e-mail/ntfy) do działającego użytkownika lub jego podróży — nigdy do dowolnego odbiorcy',
|
|
'admin.plugins.perm.ai:invoke':
|
|
'Korzystanie ze skonfigurowanego przez administratora dostawcy AI (uzupełnianie tekstu + wyodrębnianie z dokumentów) w imieniu działającego użytkownika — wtyczka nigdy nie przechowuje klucza',
|
|
'admin.plugins.perm.oauth:client':
|
|
'Łączenie się z usługą zewnętrzną w Twoim imieniu przez OAuth pośredniczony przez hosta (host przechowuje tokeny, wtyczka ich nie widzi)',
|
|
'admin.plugins.perm.db:read:files': 'Odczyt plików w podróżach, do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:write:reservations':
|
|
'Tworzenie, edytowanie i usuwanie rezerwacji w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:accommodations':
|
|
'Tworzenie, edytowanie i usuwanie zakwaterowań w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:read:journal': 'Odczyt dzienników podróży działającego użytkownika (wymaga dodatku Journey)',
|
|
'admin.plugins.perm.db:read:atlas':
|
|
'Odczyt krajów i regionów odwiedzonych przez działającego użytkownika (wymaga dodatku Atlas)',
|
|
'admin.plugins.perm.db:read:vacay': 'Odczyt planu urlopu działającego użytkownika (wymaga dodatku Vacay)',
|
|
'admin.plugins.perm.db:read:daynotes':
|
|
'Odczyt notatek dziennych w podróżach, do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:read:collections':
|
|
'Odczyt kolekcji zapisanych miejsc działającego użytkownika (wymaga dodatku Collections)',
|
|
'admin.plugins.perm.db:write:daynotes':
|
|
'Tworzenie, edytowanie i usuwanie notatek dziennych w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.jobs:run':
|
|
'Uruchamianie zadeklarowanych zadań w tle według harmonogramu (bez kontekstu użytkownika — nie może odczytywać danych użytkownika)',
|
|
'admin.plugins.perm.db:write:costs':
|
|
'Tworzenie wydatków (pozycji budżetu) w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:places':
|
|
'Dodawanie, edycja i usuwanie miejsc w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:days':
|
|
'Dodawanie, edycja i usuwanie dni w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:itinerary':
|
|
'Przypisywanie i usuwanie miejsc do dni w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:write:trips':
|
|
'Edycja szczegółów podróży (tytuł, daty, waluta…) w podróżach, które działający użytkownik może edytować',
|
|
'admin.plugins.perm.db:meta':
|
|
'Dołączanie własnych prywatnych danych do podróży, miejsc i dni, do których działający użytkownik ma dostęp',
|
|
'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.hook:place-detail-provider':
|
|
'Dodawanie dodatkowych szczegółów (recenzji, ocen, linków) do miejsca',
|
|
'admin.plugins.perm.hook:search-provider': 'Odpowiadać na wyszukiwania miejsc z własnego indeksu, obok wyników TREK',
|
|
'admin.plugins.perm.hook:poi-category-provider':
|
|
'Dodawanie własnych kategorii miejsc do „Odkrywaj miejsca na mapie”; wybranie jednej z nich wysyła wtyczce obszar mapy, który oglądasz',
|
|
'admin.plugins.perm.hook:trip-warning-provider':
|
|
'Zgłaszanie ostrzeżeń walidacyjnych dla podróży (widocznych w planerze)',
|
|
'admin.plugins.perm.hook:table-contributor': 'Dodawanie kolumn i akcji do widoków podróży (rezerwacje, miejsca, dni)',
|
|
'admin.plugins.perm.hook:map-marker-provider':
|
|
'Dodawanie znaczników do mapy podróży (np. pokazywanie rezerwacji lub POI)',
|
|
'admin.plugins.perm.hook:map-layer-provider': 'Rysowanie tras, korytarzy i stref na mapie podróży',
|
|
'admin.plugins.perm.hook:route-provider':
|
|
'Udostępnianie profili trasowania, za pomocą których planer wyznacza trasy dni (np. trasowanie aut elektrycznych z postojami na ładowanie)',
|
|
'admin.plugins.perm.hook:day-schedule-provider':
|
|
'Dołączanie wpisów czasowych do planu dnia (postoje na ładowanie, bufory czasowe)',
|
|
'admin.plugins.perm.hook:day-tint-provider':
|
|
'Oznaczanie dni w planie dnia kolorami (na przykład do którego etapu podróży należy dany dzień)',
|
|
'admin.plugins.cap.mcpTools': 'Publikuje narzędzia AI',
|
|
'admin.plugins.mcpToolsTitle': 'Publikowane narzędzia AI',
|
|
'admin.plugins.mcpToolsHint':
|
|
'Asystent może je uruchomić w imieniu użytkownika. Każde działa z uprawnieniami nadanymi powyżej.',
|
|
'admin.plugins.poiCategoriesTitle': 'Kategorie mapy, które dodaje',
|
|
'admin.plugins.perm.mcp:tools':
|
|
'Publikowanie narzędzi, które asystent AI może uruchomić w Twoim imieniu (działa z uprawnieniami nadanymi tutaj wtyczce, nie z własnymi)',
|
|
'admin.plugins.perm.geolocation:read':
|
|
'Odczytywanie Twojej aktualnej lokalizacji, gdy otwarty jest któryś z jego widoków (TREK odczytuje ją z uprawnieniem do lokalizacji tej witryny, a nie z własnym uprawnieniem wtyczki)',
|
|
'admin.plugins.perm.hook:pdf-section-provider': 'Dołączanie sekcji tekstowych do eksportu PDF podróży',
|
|
'admin.plugins.perm.hook:atlas-layer-provider':
|
|
'Wyróżnianie krajów na mapie świata Atlasu (np. listy życzeń lub ostrzeżenia dla podróżnych)',
|
|
'admin.plugins.perm.hook:journal-entry-provider':
|
|
'Dodawanie dodatkowych wierszy (linki, statystyki) do wpisów dziennika',
|
|
'admin.plugins.perm.hook:user-data':
|
|
'Usuwanie lub eksport przechowywanych danych o użytkowniku (RODO: usunięcie konta i wnioski o dane)',
|
|
'admin.plugins.perm.hook:trip-card-provider':
|
|
'Dodawanie małych plakietek (status, liczniki) do kart podróży na pulpicie',
|
|
'admin.plugins.perm.hook:notification-channel': 'Dostarczać Twoje powiadomienia dodatkowym kanałem',
|
|
'admin.plugins.perm.events:subscribe':
|
|
'Reagowanie na podstawowe zdarzenia aktywności (tylko nazwa zdarzenia i podróż, nigdy treść)',
|
|
'admin.plugins.perm.http:outbound': 'Wykonywanie wychodzących zapytań do zadeklarowanych hostów',
|
|
'admin.plugins.perm.db:read:collab':
|
|
'Odczyt notatek, ankiet i wiadomości czatu w podróżach, do których działający użytkownik ma dostęp (wymaga dodatku Collab)',
|
|
'admin.plugins.perm.db:read:files:content':
|
|
'Odczyt zawartości (bajtów) plików w podróżach, do których działający użytkownik ma dostęp',
|
|
'admin.plugins.perm.db:create:trips': 'Tworzenie nowych podróży należących do działającego użytkownika',
|
|
'admin.plugins.perm.rates:read': 'Odczyt zapisanych w pamięci kursów walut hosta',
|
|
'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.signedTitle': 'Co oznacza „Podpisana”',
|
|
'admin.plugins.security.signedBody':
|
|
'Suma kontrolna, którą TREK weryfikuje przy każdej instalacji, dowodzi, że pliki są dokładnie tym, za co ręczy rejestr. Podpis dowodzi czegoś innego: że pochodzą od autora i zostały podpisane kluczem, który ma tylko on. Podpisana wtyczka ma jedno i drugie. Wtyczka bez podpisu nie jest niebezpieczna — po prostu niesie o jedną gwarancję mniej, a większość wtyczek w rejestrze jest dziś niepodpisana.',
|
|
'admin.plugins.signed': 'Podpisana',
|
|
'admin.plugins.signedHint': 'Zweryfikowana kluczem podpisującym autora w chwili instalacji',
|
|
'admin.plugins.unsigned': 'Niepodpisana',
|
|
'admin.plugins.unsignedHint':
|
|
'Pliki zgadzają się z tym, za co ręczy rejestr, ale nic nie wiąże ich z autorem. O jedną gwarancję mniej — nie oznacza to, że jest niebezpieczna.',
|
|
'admin.plugins.updateBlocked': 'Aktualizacja zablokowana — {reason}',
|
|
'admin.plugins.reviewBlock': 'Sprawdź',
|
|
'admin.plugins.retrusted': 'Nowy klucz podpisujący uznany za zaufany — wtyczka została zaktualizowana',
|
|
'admin.plugins.sig.title': 'Nie udało się zweryfikować podpisu wtyczki {name}',
|
|
'admin.plugins.sig.keyChangedBody':
|
|
'Klucz podpisujący autora nie jest tym, którym podpisano wtyczkę w chwili instalacji. Autorzy rzeczywiście wymieniają klucze — ale atakujący, który przejął wtyczkę, wyglądałby dokładnie tak samo.',
|
|
'admin.plugins.sig.invalidBody':
|
|
'Pliki nie zgadzają się z podpisem autora. Nie są tym, co autor podpisał — albo uległy uszkodzeniu, albo zostały zmodyfikowane. Tego nie można pominąć.',
|
|
'admin.plugins.sig.missingBody':
|
|
'Ta wtyczka była podpisana, gdy ją instalowałeś, ale nowa wersja nie zawiera żadnego podpisu. TREK nie przyjmie po cichu takiego kroku wstecz. Tego nie można pominąć.',
|
|
'admin.plugins.sig.incompleteBody':
|
|
'Wpis w rejestrze jest podpisany połowicznie: deklaruje klucz autora, ale wersja nie ma podpisu (albo odwrotnie). To błąd po stronie wtyczki. Tego nie można pominąć.',
|
|
'admin.plugins.sig.pinnedKey': 'Klucz, którym podpisano ją przy instalacji',
|
|
'admin.plugins.sig.newKey': 'Klucz, który proponuje teraz',
|
|
'admin.plugins.sig.confirmOutOfBand':
|
|
'TREK nie odróżni prawidłowej wymiany klucza od przejęcia wtyczki — stąd wyglądają identycznie. Zanim zaakceptujesz nowy klucz, potwierdź go u autora kanałem, któremu już ufasz. Gdy to zrobisz, wtyczka zostanie zaktualizowana, a nowy klucz zapamiętany.',
|
|
'admin.plugins.sig.retrustConfirm': 'Zaufaj nowemu kluczowi i zaktualizuj',
|
|
'admin.plugins.sig.cancel': 'Nie ufaj mu',
|
|
'admin.plugins.sig.consentUnsigned':
|
|
'Nic nie wiąże tej wersji z jej autorem — pliki zgadzają się z rejestrem, ale nie niosą podpisu autora.',
|
|
'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.plugins.runtimeOn': 'Środowisko włączone',
|
|
'admin.plugins.tabDiscover': 'Odkrywaj',
|
|
'admin.plugins.searchPlaceholder': 'Szukaj wtyczek…',
|
|
'admin.plugins.filterType': 'Typ',
|
|
'admin.plugins.filterStatus': 'Status',
|
|
'admin.plugins.sortBy': 'Sortuj',
|
|
'admin.plugins.allTypes': 'Wszystkie typy',
|
|
'admin.plugins.allStatuses': 'Wszystkie',
|
|
'admin.plugins.stateOff': 'Wył.',
|
|
'admin.plugins.filterUpdate': 'Dostępna aktualizacja',
|
|
'admin.plugins.sortName': 'Nazwa',
|
|
'admin.plugins.sortRecent': 'Ostatnio zaktualizowane',
|
|
'admin.plugins.sortUpdates': 'Najpierw aktualizacje',
|
|
'admin.plugins.sortDownloads': 'Najczęściej pobierane',
|
|
'admin.plugins.updatesAvailable': 'Dostępne aktualizacje dla Twoich wtyczek: {count}.',
|
|
'admin.plugins.updatesAvailable.one': 'Dostępna jest {count} aktualizacja dla Twoich wtyczek.',
|
|
'admin.plugins.updatesAvailable.few': 'Dostępne są {count} aktualizacje dla Twoich wtyczek.',
|
|
'admin.plugins.updatesAvailable.many': 'Dostępnych jest {count} aktualizacji dla Twoich wtyczek.',
|
|
'admin.plugins.newerNeedsTrek': 'v{version} dostępna — wymaga TREK {range}',
|
|
'admin.plugins.versionsTitle': 'Wersje',
|
|
'admin.plugins.versionPickerTitle': 'Zmień wersję — {name}',
|
|
'admin.plugins.versionSwitch': 'Przełącz na {version}',
|
|
'admin.plugins.versionNeedsTrek': 'wymaga TREK {range}',
|
|
'admin.plugins.changeVersion': 'Zmień wersję…',
|
|
'admin.plugins.noVersions': 'Nie znaleziono opublikowanych wersji w rejestrze.',
|
|
'admin.plugins.downgradeTitle': 'Przywrócić starszą wersję tej wtyczki?',
|
|
'admin.plugins.downgradeBody':
|
|
'Przejście z v{from} na v{to}: dane zapisane przez nowszą wersję pozostają, a starsza wersja może ich nie rozumieć.',
|
|
'admin.plugins.downgradeConfirm': 'Przywróć',
|
|
'admin.plugins.updatesHeld': 'Aktualizacje wstrzymane na v{version}',
|
|
'admin.plugins.resumeUpdates': 'Wznów aktualizacje',
|
|
'admin.plugins.updatesResumed': 'Wznowiono aktualizacje',
|
|
'admin.plugins.updateAll': 'Zaktualizuj wszystkie',
|
|
'admin.plugins.noMatchInstalled': 'Żadna zainstalowana wtyczka nie pasuje do wyszukiwania.',
|
|
'admin.plugins.noMatchRegistry': 'Żadna wtyczka w rejestrze nie pasuje do wyszukiwania.',
|
|
'admin.plugins.restart': 'Uruchom ponownie',
|
|
'admin.plugins.restarted': 'Wtyczka została uruchomiona ponownie',
|
|
'admin.plugins.instanceSettings': 'Ustawienia instancji',
|
|
'admin.plugins.settingsSaved': 'Ustawienia zapisane',
|
|
'admin.plugins.settingsSavedRestarted': 'Ustawienia zapisane — wtyczka została uruchomiona ponownie',
|
|
'admin.plugins.actions': 'Akcje',
|
|
'admin.plugins.actions.confirm': 'Wykonać tę akcję?',
|
|
'admin.plugins.actions.inactive': 'Aktywuj wtyczkę, aby uruchomić jej akcje',
|
|
'admin.plugins.requiredMissing': '"{field}" jest wymagane',
|
|
'admin.plugins.cap.readsTrips': 'Odczytuje Twoje podróże',
|
|
'admin.plugins.cap.readsUsers': 'Odczytuje podstawowe profile',
|
|
'admin.plugins.cap.readsCosts': 'Odczytuje Twoje wydatki',
|
|
'admin.plugins.cap.readsPacking': 'Odczytuje listy pakowania',
|
|
'admin.plugins.cap.readsFiles': 'Odczytuje pliki podróży',
|
|
'admin.plugins.cap.writesCosts': 'Dodaje wydatki',
|
|
'admin.plugins.cap.writesPlaces': 'Edytuje miejsca',
|
|
'admin.plugins.cap.writesDays': 'Edytuje dni',
|
|
'admin.plugins.cap.writesItinerary': 'Edytuje plan podróży',
|
|
'admin.plugins.cap.writesTrips': 'Edytuje podróże',
|
|
'admin.plugins.cap.metadata': 'Dodaje metadane',
|
|
'admin.plugins.cap.widget': 'Widget na pulpicie',
|
|
'admin.plugins.cap.heroWidget': 'Widget karty pokładowej',
|
|
'admin.plugins.cap.placeSlot': 'Szczegóły miejsca',
|
|
'admin.plugins.cap.daySlot': 'Szczegóły dnia',
|
|
'admin.plugins.cap.reservationSlot': 'Szczegóły rezerwacji',
|
|
'admin.plugins.cap.replacesTabs': 'Zastępuje karty planera',
|
|
'admin.plugins.cap.realtime': 'Aktualizacje na żywo',
|
|
'admin.plugins.cap.notificationChannel': 'Kanał powiadomień',
|
|
'admin.plugins.cap.photos': 'Dostarcza zdjęcia',
|
|
'admin.plugins.cap.calendar': 'Dostarcza wydarzenia kalendarza',
|
|
'admin.plugins.cap.placeDetails': 'Wzbogaca miejsca',
|
|
'admin.plugins.cap.search': 'Odpowiada na wyszukiwania',
|
|
'admin.plugins.cap.poiCategories': 'Dodaje kategorie mapy',
|
|
'admin.plugins.cap.warnings': 'Zgłasza problemy',
|
|
'admin.plugins.cap.mapLayers': 'Rysuje na mapie',
|
|
'admin.plugins.cap.routing': 'Oferuje trasowanie',
|
|
'admin.plugins.cap.daySchedule': 'Uzupełnia czasy planu',
|
|
'admin.plugins.cap.dayTint': 'Koloruje dni',
|
|
'admin.plugins.cap.geolocation': 'Odczytuje Twoją lokalizację',
|
|
'admin.plugins.cap.events': 'Reaguje na aktywność',
|
|
'admin.plugins.cap.requiresAddon': 'Wymaga {addon}',
|
|
'admin.plugins.cap.dependsOn': 'Wymaga {id} {version}',
|
|
'admin.plugins.dep.addonDisabledToast': 'Najpierw włącz wymagane dodatki: {addons}',
|
|
'admin.plugins.dep.addonDisabledToast.one': 'Najpierw włącz wymagany dodatek: {addons}',
|
|
'admin.plugins.dep.addonDisabledToast.few': 'Najpierw włącz wymagane dodatki: {addons}',
|
|
'admin.plugins.dep.addonDisabledToast.many': 'Najpierw włącz wymagane dodatki: {addons}',
|
|
'admin.plugins.dep.autoEnabled': 'Najpierw włączono wymagane wtyczki: {plugins}',
|
|
'admin.plugins.dep.autoEnabled.one': 'Najpierw włączono wymaganą wtyczkę: {plugins}',
|
|
'admin.plugins.dep.autoEnabled.few': 'Najpierw włączono wymagane wtyczki: {plugins}',
|
|
'admin.plugins.dep.autoEnabled.many': 'Najpierw włączono wymagane wtyczki: {plugins}',
|
|
'admin.plugins.dep.downloaded': 'Pobrano {id}',
|
|
'admin.plugins.dep.resolveTitle': 'Brakujące zależności',
|
|
'admin.plugins.dep.resolveBody': '„{name}” wymaga zainstalowania tych wtyczek, zanim będzie można ją włączyć.',
|
|
'admin.plugins.dep.requires': 'Wymaga {version}',
|
|
'admin.plugins.dep.mismatch': 'Wymaga {wanted} — zainstalowano {installed}',
|
|
'admin.plugins.dep.download': 'Pobierz',
|
|
'admin.plugins.dep.update': 'Aktualizuj',
|
|
'admin.plugins.dep.resolveHint': 'Pobiera najnowszą zgodną wersję wraz z jej zależnościami.',
|
|
'admin.plugins.dep.trekIncompatible': 'Wymaga TREK {range} — ten serwer działa na {host}',
|
|
'admin.plugins.dep.trekUnknown': 'Nie określa, które wersje TREK obsługuje',
|
|
'admin.plugins.installCompatible': 'Zainstaluj {version}',
|
|
'admin.plugins.installAnyway': 'Zainstaluj mimo to',
|
|
'admin.plugins.rangeBypass.pill': 'Kontrola wersji wyłączona',
|
|
'admin.plugins.rangeBypass.pillHint':
|
|
'Ustawiono TREK_PLUGINS_IGNORE_TREK_RANGE — wtyczki mogą być instalowane i uruchamiane poza wersjami TREK zadeklarowanymi przez ich autorów',
|
|
'admin.plugins.rangeBypass.title': 'Poza obsługiwanymi wersjami TREK',
|
|
'admin.plugins.rangeBypass.noticeTitle': 'Zainstalowano poza obsługiwanymi wersjami TREK',
|
|
'admin.plugins.rangeBypass.body':
|
|
'„{name}” deklaruje obsługę TREK {range}, a ten serwer działa na {host}. TREK przepuszcza ją tylko dlatego, że ustawiono TREK_PLUGINS_IGNORE_TREK_RANGE. Autor nie zaktualizował zakresu wersji wtyczki dla tego TREK, więc nie ma gwarancji, że zadziała — a w rzadkich przypadkach niedopasowana wtyczka może uszkodzić dane TREK. Kontynuuj tylko, jeśli akceptujesz to ryzyko.',
|
|
'admin.plugins.rangeBypass.bodyUnknown':
|
|
'„{name}” nie deklaruje, które wersje TREK obsługuje; ten serwer działa na {host}. TREK przepuszcza ją tylko dlatego, że ustawiono TREK_PLUGINS_IGNORE_TREK_RANGE. Nic nie wskazuje, że autor testował ją na tym TREK, więc nie ma gwarancji, że zadziała — a w rzadkich przypadkach niedopasowana wtyczka może uszkodzić dane TREK. Kontynuuj tylko, jeśli akceptujesz to ryzyko.',
|
|
'admin.plugins.dep.trekBypassed': 'Poza swoim zakresem TREK ({range}) — kontrola wersji wyłączona',
|
|
'admin.plugins.dep.trekBypassedUnknown': 'Nie deklaruje zakresu TREK — kontrola wersji wyłączona',
|
|
'admin.plugins.incompatible': 'Niezgodny',
|
|
'admin.plugins.accessTitle': 'Do czego ma dostęp',
|
|
'admin.plugins.connectsTitle': 'Łączy się z',
|
|
'admin.plugins.detailsTitle': 'Szczegóły',
|
|
'admin.plugins.noAccess': 'Nie wymaga specjalnego dostępu.',
|
|
'admin.plugins.metaVersion': 'Wersja',
|
|
'admin.plugins.metaSize': 'Rozmiar',
|
|
'admin.plugins.metaRequires': 'Wymaga',
|
|
'admin.plugins.metaReviewed': 'Zweryfikowano',
|
|
'admin.plugins.downloads': 'Pobrania',
|
|
'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': 'Koszty',
|
|
'admin.addons.catalog.budget.description': 'Śledź wydatki na podróż i dziel je między uczestników',
|
|
'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, ankiety, czat i podpowiedzi do wspólnego planowania',
|
|
'admin.addons.catalog.roadtrip.name': 'Podróż samochodowa',
|
|
'admin.addons.catalog.roadtrip.description':
|
|
'Planuj przejazdy z przystankami — czasy jazdy i godziny przyjazdu przeliczają się same',
|
|
'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.catalog.naver_list_import.name': 'Naver List Import',
|
|
'admin.addons.catalog.naver_list_import.description': 'Importuj miejsca z udostępnionej listy Naver Maps',
|
|
'admin.addons.catalog.airtrail.name': 'AirTrail',
|
|
'admin.addons.catalog.airtrail.description': 'Synchronizuj loty ze swojej instancji AirTrail',
|
|
'admin.addons.catalog.dawarich.name': 'Dawarich',
|
|
'admin.addons.catalog.dawarich.description':
|
|
'Odczytuj pobyty i zapisane trasy z instancji Dawarich, którą każdy użytkownik podłącza sam',
|
|
'admin.addons.catalog.llm_parsing.name': 'Analiza AI',
|
|
'admin.addons.catalog.llm_parsing.description':
|
|
'Odczytuje rezerwacje, których nie rozumie wbudowany parser, przy użyciu wybranego modelu AI',
|
|
'admin.addons.catalog.ai_assistant.name': 'Asystent AI',
|
|
'admin.addons.catalog.ai_assistant.description':
|
|
'Czat w każdej podróży, który odpowiada na pytania i proponuje zmiany do Twojego zatwierdzenia',
|
|
'admin.addons.llm.vision.auto': 'Automatycznie',
|
|
'admin.addons.llm.vision.on': 'Tak',
|
|
'admin.addons.llm.vision.off': 'Nie',
|
|
'admin.addons.llm.vision.hintLocal': 'Automatycznie pyta serwer Ollama, czy ten model czyta obrazy.',
|
|
'admin.addons.llm.vision.hintCloud':
|
|
'Automatycznie oznacza „nie” dla modelu w chmurze. Wybierz Tak, jeśli ten model czyta obrazy.',
|
|
'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.group.count': '{enabled} z {total} włączonych',
|
|
'admin.addons.subOptions': '{count} opcji',
|
|
'admin.addons.subOptions.one': '{count} opcja',
|
|
'admin.addons.subOptions.few': '{count} opcje',
|
|
'admin.addons.subOptions.many': '{count} opcji',
|
|
'admin.addons.subOptionsOn': 'włączone: {count}',
|
|
'admin.addons.subOptionsOn.one': 'włączone: {count}',
|
|
'admin.addons.subOptionsOn.few': 'włączone: {count}',
|
|
'admin.addons.subOptionsOn.many': 'włączone: {count}',
|
|
'admin.toursWanderer.title': 'wanderer',
|
|
'admin.toursWanderer.subtitle':
|
|
'Użytkownicy mogą połączyć własną instancję wanderer i importować z niej szlaki jako wycieczki',
|
|
'admin.toursHikingMap.title': 'Mapa turystyczna (OpenHikingMap)',
|
|
'admin.toursHikingMap.subtitle':
|
|
'Udostępnia OpenHikingMap jako mapę bazową w planerze tras. Bezpłatnie dla niekomercyjnych instalacji do 500 000 kafelków miesięcznie; instalacja komercyjna lub większa wymaga najpierw porozumienia z openmaps.fr',
|
|
'admin.toursCycleMap.title': 'Mapa rowerowa (CyclOSM)',
|
|
'admin.toursCycleMap.subtitle':
|
|
'Udostępnia CyclOSM jako mapę bazową dla wycieczek rowerowych w planerze. OpenStreetMap France udostępnia ją do umiarkowanego użytku; instalacja intensywnie używana lub komercyjna wyłącza ją albo najpierw zawiera porozumienie z operatorem',
|
|
'admin.toursSkiRouting.title': 'Router tras narciarskich',
|
|
'admin.toursSkiRouting.subtitle':
|
|
'Planuje wycieczki narciarskie trasami, wyciągami i szlakami na danych tras serwera Places. Po wyłączeniu odcinki wycieczki narciarskiej są rysowane prosto',
|
|
'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': 'Załadowano {count} wpisu · łącznie {total}',
|
|
'admin.audit.showing.one': 'Załadowano {count} wpis · łącznie {total}',
|
|
'admin.audit.showing.few': 'Załadowano {count} wpisy · łącznie {total}',
|
|
'admin.audit.showing.many': 'Załadowano {count} wpisów · łącznie {total}',
|
|
'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.webPushPanel.title': 'Web Push',
|
|
'admin.notifications.webPushPanel.hint':
|
|
'Pozwala użytkownikom otrzymywać powiadomienia na telefonach i komputerach przez przeglądarkę, nawet gdy TREK jest zamknięty. Wymaga HTTPS; na iPhonie i iPadzie TREK musi zostać dodany do ekranu początkowego.',
|
|
'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.notificationDefaults.title': 'Ustawienia domyślne dla użytkowników',
|
|
'admin.notificationDefaults.hint':
|
|
'Tak zaczynają się powiadomienia każdego użytkownika. „Wył.” użytkownik może sam włączyć, „Zablokowane” wyłącza dla wszystkich i jest zablokowane w ich ustawieniach. Dotyczy każdego, kto sam nie zmienił komórki.',
|
|
'admin.notificationDefaults.on': 'Wł.',
|
|
'admin.notificationDefaults.off': 'Wył.',
|
|
'admin.notificationDefaults.blocked': 'Zablokowane',
|
|
'admin.notificationDefaults.cycle': 'Kliknij, aby ustawić: {next}',
|
|
'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':
|
|
'Zbieraj miejsca ze wszystkich podróży na nazwane listy i używaj ich ponownie',
|
|
'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} klucza dostępu',
|
|
'admin.passkey.resetDone.one': 'Usunięto {count} klucz dostępu',
|
|
'admin.passkey.resetDone.few': 'Usunięto {count} klucze dostępu',
|
|
'admin.passkey.resetDone.many': '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.defaultSettings.cartoKey': 'Współdzielony klucz CARTO',
|
|
'admin.defaultSettings.cartoKeyHint':
|
|
'Używany dla każdego użytkownika, który nie wprowadził własnego klucza, dzięki czemu cała instancja otrzymuje kafelki CARTO bez znaku wodnego. Przechowywany w postaci zaszyfrowanej.',
|
|
'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}',
|
|
'admin.placesUsageTitle': 'Do czego służy klucz',
|
|
'admin.mapsKeyHintShort': 'Dodaje zdjęcia, oceny i godziny otwarcia. Każde zapytanie trafia wtedy do Google.',
|
|
'admin.amapKeyHintShort':
|
|
'Do wyszukiwania miejsc w Chinach kontynentalnych. Wymaga klucza usługi webowej, nie klucza JS API.',
|
|
'admin.collab.links.subtitle': 'Udostępnione linki i zakładki',
|
|
'admin.paddleRegions.title': 'Dane wodne dla spływów',
|
|
'admin.paddleRegions.hint':
|
|
'Jazy, śluzy i zasady pływania z OpenStreetMap, wczytywane dla każdego regionu i ponownie co miesiąc.',
|
|
'admin.paddleRegions.search': 'Dodaj region',
|
|
'admin.paddleRegions.searchPlaceholder': 'Szukaj w Geofabrik, na przykład Oberpfalz',
|
|
'admin.paddleRegions.noHits': 'Brak regionu o tej nazwie',
|
|
'admin.paddleRegions.added': 'Dodano',
|
|
'admin.paddleRegions.empty':
|
|
'Nie ma jeszcze żadnego regionu. Spływy pokazują wtedy, że nie są znane żadne dane o przeszkodach.',
|
|
'admin.paddleRegions.status.queued': 'Oczekuje',
|
|
'admin.paddleRegions.status.importing': 'Wczytywanie',
|
|
'admin.paddleRegions.status.ready': 'Gotowe',
|
|
'admin.paddleRegions.status.failed': 'Błąd',
|
|
'admin.paddleRegions.phase.download': 'Pobieranie',
|
|
'admin.paddleRegions.phase.read': 'Odczytywanie',
|
|
'admin.paddleRegions.objects': '{count} obiektu',
|
|
'admin.paddleRegions.objects.one': '{count} obiekt',
|
|
'admin.paddleRegions.asOf': 'Stan na {date}',
|
|
'admin.paddleRegions.keptData': 'Wcześniej wczytane dane pozostają w użyciu.',
|
|
'admin.paddleRegions.refresh': 'Wczytaj ponownie',
|
|
'admin.paddleRegions.remove': 'Usuń region',
|
|
'admin.paddleRegions.removeMessage':
|
|
'{name} i jego dane o przeszkodach zostaną usunięte. Spływy w tym regionie nie będą wtedy pokazywać danych.',
|
|
'admin.paddleRegions.retry': 'Spróbuj ponownie',
|
|
'admin.paddleRegions.offline': 'Regionami można zarządzać tylko z połączeniem internetowym.',
|
|
'admin.paddleRegions.catalogUnavailable': 'Geofabrik jest teraz nieosiągalny. Spróbuj ponownie później.',
|
|
'admin.paddleRegions.attribution':
|
|
'Dane © współtwórcy OpenStreetMap (ODbL), wycinki regionalne z Geofabrik. Wczytywane ponownie 3. dnia każdego miesiąca.',
|
|
'admin.paddleRegions.toast.added': 'Dodano region. TREK wczytuje go w tle.',
|
|
'admin.paddleRegions.toast.removed': 'Usunięto region',
|
|
'admin.paddleRegions.objects.few': '{count} obiekty',
|
|
'admin.paddleRegions.objects.many': '{count} obiektów',
|
|
'admin.paddleRegions.phase.build': 'Budowanie sieci wodnej',
|
|
'admin.paddleRegions.network.km': '{km} km wód',
|
|
'admin.paddleRegions.network.lakes': '{count} jeziora',
|
|
'admin.paddleRegions.network.lakes.one': '{count} jezioro',
|
|
'admin.paddleRegions.network.lakes.few': '{count} jeziora',
|
|
'admin.paddleRegions.network.lakes.many': '{count} jezior',
|
|
'admin.paddleRegions.network.portages': '{count} zmapowanej przenoski',
|
|
'admin.paddleRegions.network.portages.one': '{count} zmapowana przenoska',
|
|
'admin.paddleRegions.network.portages.few': '{count} zmapowane przenoski',
|
|
'admin.paddleRegions.network.portages.many': '{count} zmapowanych przenosek',
|
|
'admin.paddleRegions.network.inferred': '{count} przyjętego przeniesienia',
|
|
'admin.paddleRegions.network.inferred.one': '{count} przyjęte przeniesienie',
|
|
'admin.paddleRegions.network.inferred.few': '{count} przyjęte przeniesienia',
|
|
'admin.paddleRegions.network.inferred.many': '{count} przyjętych przeniesień',
|
|
'admin.paddleRegions.network.locks': '{count} śluzy',
|
|
'admin.paddleRegions.network.locks.one': '{count} śluza',
|
|
'admin.paddleRegions.network.locks.few': '{count} śluzy',
|
|
'admin.paddleRegions.network.locks.many': '{count} śluz',
|
|
'admin.paddleRegions.network.gaps': '{count} połączonej luki',
|
|
'admin.paddleRegions.network.gaps.one': '{count} połączona luka',
|
|
'admin.paddleRegions.network.gaps.few': '{count} połączone luki',
|
|
'admin.paddleRegions.network.gaps.many': '{count} połączonych luk',
|
|
'admin.paddleRegions.network.missing': 'Brak sieci wodnej',
|
|
'admin.paddleRegions.network.missingHint':
|
|
'Wczytaj region ponownie, aby zbudować sieć, po której prowadzi trasa kajakowa.',
|
|
'admin.paddleRegions.auto.title': 'Wczytuj regiony automatycznie',
|
|
'admin.paddleRegions.auto.mode.auto': 'Automatycznie',
|
|
'admin.paddleRegions.auto.mode.ask': 'Na prośbę',
|
|
'admin.paddleRegions.auto.mode.off': 'Wyłączone',
|
|
'admin.paddleRegions.auto.modeHint.auto':
|
|
'Gdy ktoś planuje spływ tam, gdzie nie ma jeszcze danych wodnych, TREK od razu wczytuje najmniejszy pasujący region, do limitu rozmiaru i tylko kilka dziennie. Większe czekają tutaj jako prośba. Do Geofabrik trafia tylko nazwa regionu, nigdy miejsce.',
|
|
'admin.paddleRegions.auto.modeHint.ask':
|
|
'Każdy nowy region czeka tutaj, aż administrator go zatwierdzi. Gdy planuje administrator, wczytuje się od razu.',
|
|
'admin.paddleRegions.auto.modeHint.off':
|
|
'TREK niczego nie wczytuje sam i o nic nie prosi. Dodawaj regiony tutaj ręcznie.',
|
|
'admin.paddleRegions.auto.maxSize': 'Największy region wczytywany automatycznie',
|
|
'admin.paddleRegions.auto.maxSizeHint':
|
|
'Większe regiony czekają tutaj jako prośba. Wczytanie regionu trwa kilka minut i w tym czasie zajmuje pamięć.',
|
|
'admin.paddleRegions.requests.title': 'Prośby',
|
|
'admin.paddleRegions.requests.reason.ask': 'Na prośbę',
|
|
'admin.paddleRegions.requests.reason.too_large': 'Za duży',
|
|
'admin.paddleRegions.requests.reason.limit': 'Limit dzienny',
|
|
'admin.paddleRegions.requests.declined': 'Odrzucony',
|
|
'admin.paddleRegions.requests.by': 'od {user}',
|
|
'admin.paddleRegions.requests.approve': 'Wczytaj',
|
|
'admin.paddleRegions.requests.decline': 'Odrzuć',
|
|
'admin.paddleRegions.origin.auto': 'Automatycznie',
|
|
'admin.paddleRegions.origin.autoHint': 'TREK wczytał ten region sam dla planowanego tam spływu.',
|
|
'admin.addons.ai.name': 'AI', // same-as-en
|
|
'admin.addons.ai.description':
|
|
'Jedno połączenie dla asystenta i importu rezerwacji. MCP pozwala innym aplikacjom AI korzystać z TREK.',
|
|
'admin.addons.ai.setup': 'Skonfiguruj AI',
|
|
'admin.addons.ai.dialogSub': 'Połączenie wspólne dla asystenta i analizy AI oraz to, co każde z nich może robić.',
|
|
'admin.addons.ai.tab.connection': 'Połączenie',
|
|
'admin.addons.ai.parsing.readsWith': 'Czyta rezerwacje za pomocą',
|
|
'admin.addons.ai.parsing.own': 'Własne połączenie',
|
|
'admin.addons.ai.parsing.ownHint': 'Używane zamiast wspólnego połączenia.',
|
|
'admin.addons.ai.parsing.useShared': 'Użyj wspólnego połączenia',
|
|
'admin.addons.ai.parsing.sharedTag': 'Wspólne',
|
|
'admin.addons.ai.parsing.perUser': 'Każda osoba czyta za pomocą własnego połączenia z ustawień.',
|
|
'admin.addons.ai.parsing.none': 'Brak połączenia. Skonfiguruj jedno dla wszystkich albo daj analizie AI własne.',
|
|
'admin.addons.ai.parsing.setupOwn': 'Użyj innego',
|
|
'admin.addons.ai.parsing.installed': 'Zainstalowane na serwerze',
|
|
'admin.addons.ai.parsing.refresh': 'Odśwież',
|
|
'admin.addons.ai.parsing.noModels': 'Brak zainstalowanych modeli. Pobierz jeden poniżej.',
|
|
'admin.addons.ai.parsing.pullTitle': 'Pobierz zalecany model',
|
|
'admin.addons.ai.parsing.pull': 'Pobierz',
|
|
'admin.addons.ai.parsing.pulling': 'Pobieranie…',
|
|
'admin.addons.ai.parsing.use': 'Użyj',
|
|
'admin.addons.ai.parsing.selected': 'Wybrany',
|
|
'admin.addons.ai.parsing.pulled': 'Model pobrany',
|
|
'admin.addons.ai.parsing.pullFailed': 'Nie udało się pobrać modelu',
|
|
'admin.addons.ai.parsing.unreachable': 'Nie można połączyć się z lokalnym serwerem',
|
|
'admin.addons.ai.parsing.apiKeyOptional': 'Zwykle niepotrzebny',
|
|
};
|
|
export default admin;
|