const pl: Record = { // Common 'common.save': 'Zapisz', 'common.showMore': 'Pokaż więcej', 'common.showLess': 'Pokaż mniej', 'common.cancel': 'Anuluj', 'common.clear': 'Wyczyść', 'common.delete': 'Usuń', 'common.edit': 'Edytuj', 'common.add': 'Dodaj', 'common.loading': 'Ładowanie...', 'common.error': 'Błąd', 'common.unknownError': 'Nieznany błąd', 'common.tooManyAttempts': 'Zbyt wiele prób. Spróbuj ponownie później.', 'common.back': 'Wstecz', 'common.all': 'Wszystko', 'common.close': 'Zamknij', 'common.open': 'Otwórz', 'common.upload': 'Prześlij', 'common.search': 'Szukaj', 'common.confirm': 'Potwierdź', 'common.ok': 'OK', 'common.yes': 'Tak', 'common.no': 'Nie', 'common.or': 'lub', 'common.none': 'Brak', 'common.date': 'Data', 'common.rename': 'Zmień nazwę', 'common.name': 'Nazwa', 'common.email': 'E-mail', 'common.password': 'Hasło', 'common.saving': 'Zapisywanie...', 'trips.memberRemoved': '{username} usunięty', 'trips.memberRemoveError': 'Nie udało się usunąć', 'trips.memberAdded': '{username} dodany', 'trips.memberAddError': 'Nie udało się dodać', 'common.expand': 'Rozwiń', 'common.collapse': 'Zwiń', 'common.update': 'Aktualizuj', 'common.change': 'Zmień', 'common.uploading': 'Przesyłanie...', 'common.backToPlanning': 'Powrót do planowania', 'common.reset': 'Resetuj', // Navbar 'nav.trip': 'Podróż', 'nav.share': 'Udostępnij', 'nav.settings': 'Ustawienia', 'nav.admin': 'Admin', 'nav.logout': 'Wyloguj', 'nav.lightMode': 'Tryb jasny', 'nav.darkMode': 'Tryb ciemny', 'nav.autoMode': 'Tryb automatyczny', 'nav.administrator': 'Administrator', // Dashboard 'dashboard.title': 'Moje podróże', 'dashboard.subtitle.loading': 'Ładowanie podróży...', 'dashboard.subtitle.trips': '{count} podróży ({archived} zarchiwizowanych)', 'dashboard.subtitle.empty': 'Rozpocznij swoją pierwszą podróż', 'dashboard.subtitle.activeOne': '{count} aktywna podróż', 'dashboard.subtitle.activeMany': '{count} aktywnych podróży', 'dashboard.subtitle.archivedSuffix': ' · {count} zarchiwizowanych', 'dashboard.newTrip': 'Nowa podróż', 'dashboard.gridView': 'Widok siatki', 'dashboard.listView': 'Widok listy', 'dashboard.currency': 'Waluta', 'dashboard.timezone': 'Strefy czasowe', 'dashboard.localTime': 'Czas lokalny', 'dashboard.timezoneCustomTitle': 'Własna strefa czasowa', 'dashboard.timezoneCustomLabelPlaceholder': 'Nazwa (opcjonalnie)', 'dashboard.timezoneCustomTzPlaceholder': 'np. Europe/Warsaw', 'dashboard.timezoneCustomAdd': 'Dodaj', 'dashboard.timezoneCustomErrorEmpty': 'Podaj identyfikator strefy czasowej', 'dashboard.timezoneCustomErrorInvalid': 'Nieprawidłowa strefa czasowa. Użyj formatu takiego jak Europe/Warsaw', 'dashboard.timezoneCustomErrorDuplicate': 'Już dodana', 'dashboard.emptyTitle': 'Brak podróży', 'dashboard.emptyText': 'Utwórz swoją pierwszą podróż i zacznij planować!', 'dashboard.emptyButton': 'Utwórz pierwszą podróż', 'dashboard.nextTrip': 'Następna podróż', 'dashboard.shared': 'Udostępniona', 'dashboard.sharedBy': 'Udostępniona przez {name}', 'dashboard.days': 'Dni', 'dashboard.places': 'Miejsca', 'dashboard.archive': 'Archiwizuj', 'dashboard.restore': 'Przywróć', 'dashboard.archived': 'Zarchiwizowana', 'dashboard.status.ongoing': 'W trakcie', 'dashboard.status.today': 'Dzisiaj', 'dashboard.status.tomorrow': 'Jutro', 'dashboard.status.past': 'Zakończona', 'dashboard.status.daysLeft': '{count} dni do końca', 'dashboard.toast.loadError': 'Nie udało się załadować podróży', 'dashboard.toast.created': 'Podróż została utworzona pomyślnie!', 'dashboard.toast.createError': 'Nie udało się utworzyć podróży', 'dashboard.toast.updated': 'Podróż została zaktualizowana!', 'dashboard.toast.updateError': 'Nie udało się zaktualizować podróży', 'dashboard.toast.deleted': 'Podróż została usunięta', 'dashboard.toast.deleteError': 'Nie udało się usunąć podróży', 'dashboard.toast.archived': 'Podróż została zarchiwizowana', 'dashboard.toast.archiveError': 'Nie udało się zarchiwizować podróży', 'dashboard.toast.restored': 'Podróż została przywrócona', 'dashboard.toast.restoreError': 'Nie udało się przywrócić podróży', 'dashboard.confirm.delete': 'Usunąć podróż "{title}"? Wszystkie miejsca i plany zostaną trwale usunięte.', 'dashboard.editTrip': 'Edytuj podróż', 'dashboard.createTrip': 'Utwórz nową podróż', 'dashboard.tripTitle': 'Nazwa podróży', 'dashboard.tripTitlePlaceholder': 'np. Lato w Japonii', 'dashboard.tripDescription': 'Opis', 'dashboard.tripDescriptionPlaceholder': 'Opisz swoją podróż', 'dashboard.startDate': 'Data rozpoczęcia', 'dashboard.endDate': 'Data zakończenia', 'dashboard.dayCount': 'Liczba dni', 'dashboard.dayCountHint': 'Ile dni zaplanować, gdy nie ustawiono dat podróży.', 'dashboard.noDateHint': 'Nie ustawiono daty — zostanie utworzonych 7 domyślnych dni. Możesz to zmienić w dowolnym momencie.', 'dashboard.coverImage': 'Okładka', 'dashboard.addCoverImage': 'Dodaj okładkę (lub przeciągnij i upuść)', 'dashboard.addMembers': 'Uczestnicy podróży', 'dashboard.addMember': 'Dodaj uczestnika', 'dashboard.coverSaved': 'Okładka została zapisana', 'dashboard.coverUploadError': 'Nie udało się przesłać okładki', 'dashboard.coverRemoveError': 'Nie udało się usunąć okładki', 'dashboard.titleRequired': 'Nazwa podróży jest wymagana', 'dashboard.endDateError': 'Data zakończenia musi być po dacie rozpoczęcia', // Settings 'settings.title': 'Ustawienia', 'settings.subtitle': 'Skonfiguruj swoje ustawienia', 'settings.tabs.display': 'Wygląd', 'settings.tabs.map': 'Mapa', 'settings.tabs.notifications': 'Powiadomienia', 'settings.tabs.integrations': 'Integracje', 'settings.tabs.account': 'Konto', 'settings.tabs.offline': 'Offline', 'settings.tabs.about': 'O aplikacji', 'settings.map': 'Mapa', 'settings.mapTemplate': 'Szablon mapy', 'settings.mapTemplatePlaceholder.select': 'Wybierz szablon...', 'settings.mapDefaultHint': 'Pozostaw puste dla OpenStreetMap (domyślnie)', 'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', 'settings.mapHint': 'Szablon URL dla kafelków mapy', 'settings.mapProvider': 'Dostawca mapy', 'settings.mapProviderHint': 'Dotyczy map Trip Planner i Journey. Atlas zawsze używa Leaflet.', 'settings.mapLeafletSubtitle': 'Klasyczne 2D, dowolne kafelki rastrowe', 'settings.mapMapboxSubtitle': 'Kafelki wektorowe, budynki 3D i teren', 'settings.mapExperimental': 'Eksperymentalne', 'settings.mapMapboxToken': 'Token dostępu Mapbox', 'settings.mapMapboxTokenHint': 'Token publiczny (pk.*) z', 'settings.mapMapboxTokenLink': 'mapbox.com → Tokeny dostępu', 'settings.mapStyle': 'Styl mapy', 'settings.mapStylePlaceholder': 'Wybierz styl Mapbox', 'settings.mapStyleHint': 'Preset lub własny URL mapbox://styles/USER/ID', 'settings.map3dBuildings': 'Budynki 3D i teren', 'settings.map3dHint': 'Nachylenie + prawdziwe wytłaczanie budynków 3D — działa w każdym stylu, także satelitarnym.', 'settings.mapHighQuality': 'Tryb wysokiej jakości', 'settings.mapHighQualityHint': 'Antialiasing + projekcja globusa dla ostrzejszych krawędzi i realistycznego widoku świata.', 'settings.mapHighQualityWarning': 'Może wpływać na wydajność na słabszych urządzeniach.', 'settings.mapTipLabel': 'Wskazówka:', 'settings.mapTip': 'Kliknij prawym przyciskiem i przeciągnij, aby obrócić/pochylić mapę. Środkowy przycisk dodaje miejsce (prawy jest zarezerwowany dla obrotu).', 'settings.latitude': 'Szerokość', 'settings.longitude': 'Długość', 'settings.saveMap': 'Zapisz mapę', 'settings.apiKeys': 'Klucze API', 'settings.mapsKey': 'Klucz Google Maps API', 'settings.mapsKeyHint': 'Do wyszukiwania miejsc. Wymaga Places API (New). Uzyskaj dostęp na console.cloud.google.com', 'settings.weatherKey': 'Klucz OpenWeatherMap API', 'settings.weatherKeyHint': 'Do danych pogodowych. Bezpłatnie na openweathermap.org/api', 'settings.keyPlaceholder': 'Podaj klucz...', 'settings.configured': 'Skonfigurowano', 'settings.saveKeys': 'Zapisz klucze', 'settings.display': 'Preferencje', 'settings.colorMode': 'Motyw', 'settings.light': 'Jasny', 'settings.dark': 'Ciemny', 'settings.auto': 'Automatyczny', 'settings.language': 'Język', 'settings.temperature': 'Jednostka temperatury', 'settings.timeFormat': 'Format czasu', 'settings.routeCalculation': 'Obliczanie trasy', 'settings.blurBookingCodes': 'Rozmyj kody rezerwacji', 'settings.notifications': 'Powiadomienia', 'settings.notifyTripInvite': 'Zaproszenia do podróży', 'settings.notifyBookingChange': 'Zmiany w rezerwacjach', 'settings.notifyTripReminder': 'Przypomnienia o podróżach', 'settings.notifyVacayInvite': 'Zaproszenia do połączenia kalendarzy', 'settings.notifyPhotosShared': 'Udostępnione zdjęcia (Immich)', 'settings.notifyCollabMessage': 'Wiadomości czatu (Collab)', 'settings.notifyPackingTagged': 'Lista pakowania: przypisania', 'settings.notifyWebhook': 'Powiadomienia Webhook', 'settings.notifyVersionAvailable': 'Nowa wersja dostępna', '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', 'dayplan.icsTooltip': 'Eksportuj kalendarz (ICS)', 'share.linkTitle': 'Publiczny link', 'share.linkHint': 'Utwórz link umożliwiający przeglądanie tej podróży bez logowania. Tylko do odczytu — bez możliwości edycji.', 'share.createLink': 'Utwórz link', 'share.deleteLink': 'Usuń link', 'share.createError': 'Nie udało się utworzyć linku', 'common.copy': 'Kopiuj', 'common.copied': 'Skopiowano', 'share.permMap': 'Mapa i plan', 'share.permBookings': 'Rezerwacje', 'share.permPacking': 'Lista pakowania', 'shared.expired': 'Link wygasł lub jest nieprawidłowy', 'shared.expiredHint': 'Ten link do podróży jest już nieaktywny.', 'shared.readOnly': 'Widok udostępniony tylko do odczytu', 'shared.tabPlan': 'Plan', 'shared.tabBookings': 'Rezerwacje', 'shared.tabPacking': 'Lista pakowania', 'shared.tabBudget': 'Budżet', 'shared.tabChat': 'Czat', 'shared.days': 'dni', 'shared.places': 'miejsca', 'shared.other': 'Inne', 'shared.totalBudget': 'Całkowity budżet', 'shared.messages': 'wiadomości', 'shared.sharedVia': 'Udostępnione przez', 'shared.confirmed': 'Potwierdzone', 'shared.pending': 'Oczekujące', 'share.permBudget': 'Budżet', 'share.permCollab': 'Czat', 'settings.on': 'Włączone', 'settings.off': 'Wyłączone', 'settings.mcp.title': 'Konfiguracja MCP', 'settings.mcp.endpoint': 'Endpoint MCP', 'settings.mcp.clientConfig': 'Konfiguracja klienta', 'settings.mcp.clientConfigHint': 'Zastąp tokenem API z listy poniżej. Ścieżka do npx może wymagać dostosowania do Twojego systemu (np. C:\\PROGRA~1\\nodejs\\npx.cmd w systemie Windows).', 'settings.mcp.clientConfigHintOAuth': 'Zastąp i danymi uwierzytelniającymi z klienta OAuth 2.1 utworzonego powyżej. mcp-remote otworzy przeglądarkę, aby dokończyć autoryzację przy pierwszym połączeniu. Ścieżka do npx może wymagać dostosowania do Twojego systemu (np. C:\\PROGRA~1\\nodejs\\npx.cmd w systemie Windows).', 'settings.mcp.copy': 'Kopiuj', 'settings.mcp.copied': 'Skopiowano!', 'settings.mcp.apiTokens': 'Tokeny API', 'settings.mcp.createToken': 'Utwórz nowy token', 'settings.mcp.noTokens': 'Brak tokenów. Utwórz go, aby połączyć klientów MCP.', 'settings.mcp.tokenCreatedAt': 'Utworzono', 'settings.mcp.tokenUsedAt': 'Użyto', 'settings.mcp.deleteTokenTitle': 'Usuń token', 'settings.mcp.deleteTokenMessage': 'Ten token przestanie działać natychmiastowo. Każdy klient MCP używający go straci dostęp.', 'settings.mcp.modal.createTitle': 'Utwórz token API', 'settings.mcp.modal.tokenName': 'Nazwa tokenu', 'settings.mcp.modal.tokenNamePlaceholder': 'np. Claude Desktop, Laptop służbowy', 'settings.mcp.modal.creating': 'Tworzenie...', 'settings.mcp.modal.create': 'Utwórz token', 'settings.mcp.modal.createdTitle': 'Token został utworzony', 'settings.mcp.modal.createdWarning': 'Ten token zostanie wyświetlony tylko raz. Skopiuj i zapisz go — nie będzie można go zobaczyć ponownie.', 'settings.mcp.modal.done': 'Gotowe', 'settings.mcp.toast.created': 'Token został utworzony', 'settings.mcp.toast.createError': 'Nie udało się utworzyć tokenu', 'settings.mcp.toast.deleted': 'Token został usunięty', 'settings.mcp.toast.deleteError': 'Nie udało się usunąć tokenu', 'settings.mcp.apiTokensDeprecated': 'Tokeny API są przestarzałe i zostaną usunięte w przyszłej wersji. Użyj zamiast tego klientów OAuth 2.1.', 'settings.oauth.clients': 'Klienci OAuth 2.1', 'settings.oauth.clientsHint': 'Zarejestruj klientów OAuth 2.1, aby zewnętrzne aplikacje MCP (Claude Web, Cursor itp.) mogły się łączyć bez statycznych tokenów.', 'settings.oauth.createClient': 'Nowy klient', 'settings.oauth.noClients': 'Brak zarejestrowanych klientów OAuth.', 'settings.oauth.clientId': 'ID klienta', 'settings.oauth.clientSecret': 'Sekret klienta', 'settings.oauth.deleteClient': 'Usuń klienta', 'settings.oauth.deleteClientMessage': 'Ten klient i wszystkie aktywne sesje zostaną trwale usunięte. Każda aplikacja, która go używa, natychmiast utraci dostęp.', 'settings.oauth.rotateSecret': 'Odnów sekret', 'settings.oauth.rotateSecretMessage': 'Zostanie wygenerowany nowy sekret klienta, a wszystkie istniejące sesje zostaną natychmiast unieważnione. Zaktualizuj aplikację przed zamknięciem tego okna.', 'settings.oauth.rotateSecretConfirm': 'Odnów', 'settings.oauth.rotateSecretConfirming': 'Odnawianie…', 'settings.oauth.rotateSecretDoneTitle': 'Wygenerowano nowy sekret', 'settings.oauth.rotateSecretDoneWarning': 'Ten sekret jest wyświetlany tylko raz. Skopiuj go teraz i zaktualizuj aplikację — wszystkie poprzednie sesje zostały unieważnione.', 'settings.oauth.activeSessions': 'Aktywne sesje OAuth', 'settings.oauth.sessionScopes': 'Uprawnienia', 'settings.oauth.sessionExpires': 'Wygasa', 'settings.oauth.revoke': 'Unieważnij', 'settings.oauth.revokeSession': 'Unieważnij sesję', 'settings.oauth.revokeSessionMessage': 'Spowoduje to natychmiastowe unieważnienie dostępu dla tej sesji OAuth.', 'settings.oauth.modal.createTitle': 'Zarejestruj klienta OAuth', 'settings.oauth.modal.presets': 'Szybkie ustawienia', 'settings.oauth.modal.clientName': 'Nazwa aplikacji', 'settings.oauth.modal.clientNamePlaceholder': 'np. Claude Web, Moja aplikacja MCP', 'settings.oauth.modal.redirectUris': 'URI przekierowania', 'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth', 'settings.oauth.modal.redirectUrisHint': 'Jeden URI na linię. Wymagane HTTPS (localhost zwolniony). Wymagana dokładna zgodność.', 'settings.oauth.modal.scopes': 'Dozwolone uprawnienia', 'settings.oauth.modal.scopesHint': 'list_trips i get_trip_summary są zawsze dostępne — bez wymaganych uprawnień. Umożliwiają AI odkrycie potrzebnych ID podróży.', 'settings.oauth.modal.selectAll': 'Zaznacz wszystko', 'settings.oauth.modal.deselectAll': 'Odznacz wszystko', 'settings.oauth.modal.creating': 'Rejestrowanie…', 'settings.oauth.modal.create': 'Zarejestruj klienta', 'settings.oauth.modal.createdTitle': 'Klient zarejestrowany', 'settings.oauth.modal.createdWarning': 'Sekret klienta jest wyświetlany tylko raz. Skopiuj go teraz — nie można go odzyskać.', 'settings.oauth.toast.createError': 'Nie udało się zarejestrować klienta OAuth', 'settings.oauth.toast.deleted': 'Klient OAuth usunięty', 'settings.oauth.toast.deleteError': 'Nie udało się usunąć klienta OAuth', 'settings.oauth.toast.revoked': 'Sesja unieważniona', 'settings.oauth.toast.revokeError': 'Nie udało się unieważnić sesji', 'settings.oauth.toast.rotateError': 'Nie udało się odnowić sekretu klienta', 'settings.account': 'Konto', 'settings.about': 'O aplikacji', 'settings.about.reportBug': 'Zgłoś błąd', 'settings.about.reportBugHint': 'Znalazłeś problem? Daj nam znać', 'settings.about.featureRequest': 'Zaproponuj funkcję', 'settings.about.featureRequestHint': 'Zaproponuj nową funkcję', 'settings.about.wikiHint': 'Dokumentacja i poradniki', 'settings.about.supporters.badge': 'Miesięczni Patroni', 'settings.about.supporters.title': 'Towarzystwo podróży dla TREK', 'settings.about.supporters.subtitle': 'Gdy planujesz kolejną trasę, te osoby planują razem ze mną przyszłość TREK. Ich comiesięczny wkład idzie bezpośrednio na rozwój i realnie przepracowane godziny — aby TREK pozostał Open Source.', 'settings.about.supporters.since': 'patron od {date}', 'settings.about.supporters.tierEmpty': 'Bądź pierwszy', 'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', 'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', 'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer', 'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', 'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', 'settings.about.description': 'TREK to samodzielnie hostowany planer podróży, który pomaga organizować wyprawy od pierwszego pomysłu po ostatnie wspomnienie. Planowanie dzienne, budżet, listy pakowania, zdjęcia i wiele więcej — wszystko w jednym miejscu, na własnym serwerze.', 'settings.about.madeWith': 'Stworzone z', 'settings.about.madeBy': 'przez Maurice\'a i rosnącą społeczność open-source.', 'settings.username': 'Nazwa użytkownika', 'settings.email': 'E-mail', 'settings.role': 'Rola', 'settings.roleAdmin': 'Administrator', 'settings.oidcLinked': 'Połączono z', 'settings.changePassword': 'Zmień hasło', 'settings.currentPassword': 'Aktualne hasło', 'settings.currentPasswordRequired': 'Aktualne hasło jest wymagane', 'settings.newPassword': 'Nowe hasło', 'settings.confirmPassword': 'Potwierdź nowe hasło', 'settings.updatePassword': 'Zaktualizuj hasło', 'settings.passwordRequired': 'Proszę podać aktualne i nowe hasło', 'settings.passwordTooShort': 'Hasło musi mieć co najmniej 8 znaków', 'settings.passwordMismatch': 'Hasła nie są identyczne', 'settings.passwordWeak': 'Hasło musi zawierać wielką literę, małą literę i cyfrę', 'settings.passwordChanged': 'Hasło zostało zmienione pomyślnie', 'settings.deleteAccount': 'Usuń konto', 'settings.deleteAccountTitle': 'Usunąć twoje konto?', 'settings.deleteAccountWarning': 'Twoje konto i wszystkie twoje podróże, miejsca i pliki zostaną trwale usunięte. Tej akcji nie można cofnąć.', 'settings.deleteAccountConfirm': 'Usuń na zawsze', 'settings.deleteBlockedTitle': 'Nie można usunąć konta', 'settings.deleteBlockedMessage': 'Jesteś jedynym administratorem. Wyznacz innego użytkownika na administratora przed usunięciem konta.', 'settings.roleUser': 'Użytkownik', 'settings.saveProfile': 'Zapisz profil', 'settings.toast.mapSaved': 'Ustawienia mapy zostały zapisane', 'settings.toast.keysSaved': 'Klucze API zostały zapisane', 'settings.toast.displaySaved': 'Preferencje zostały zapisane', 'settings.toast.profileSaved': 'Profil został zapisany', 'settings.uploadAvatar': 'Prześlij zdjęcie profilowe', 'settings.removeAvatar': 'Usuń zdjęcie profilowe', 'settings.avatarUploaded': 'Zdjęcie profilowe zostało zaktualizowane', 'settings.avatarRemoved': 'Zdjęcie profilowe zostało usunięte', 'settings.avatarError': 'Przesyłanie nie powiodło się', 'settings.mfa.title': 'Uwierzytelnianie dwuskładnikowe (2FA)', 'settings.mfa.description': 'Dodaje drugi krok, kiedy logujesz się e-mailem i hasłem. Użyj aplikacji uwierzytelniającej (Google Authenticator, Authy, itp.).', 'settings.mfa.requiredByPolicy': 'Twój administrator wymaga uwierzytelniania dwuskładnikowego. Skonfiguruj aplikację uwierzytelniającą poniżej, zanim przejdziesz dalej.', 'settings.mfa.backupTitle': 'Kody zapasowe', 'settings.mfa.backupDescription': 'Użyj tych jednorazowych kodów zapasowych, jeżeli stracisz dostęp do swojej aplikacji uwierzytelniającej.', 'settings.mfa.backupWarning': 'Zapisz te kody. Każdy z nich może być wykorzystany tylko raz.', 'settings.mfa.backupCopy': 'Kopiuj kody', 'settings.mfa.backupDownload': 'Pobierz TXT', 'settings.mfa.backupPrint': 'Drukuj / PDF', 'settings.mfa.backupCopied': 'Kody zapasowe zostały skopiowane', 'settings.mfa.enabled': '2FA jest włączone dla Twojego konta.', 'settings.mfa.disabled': '2FA jest wyłączone.', 'settings.mfa.setup': 'Skonfiguruj aplikację uwierzytelniającą', 'settings.mfa.scanQr': 'Zeskanuj ten kod QR za pomocą aplikacji lub wprowadź klucz ręcznie.', 'settings.mfa.secretLabel': 'Tajny klucz (wprowadź ręcznie)', 'settings.mfa.codePlaceholder': '6-cyfrowy kod', 'settings.mfa.enable': 'Włącz 2FA', 'settings.mfa.cancelSetup': 'Anuluj', 'settings.mfa.disableTitle': 'Wyłącz 2FA', 'settings.mfa.disableHint': 'Podaj hasło do konta i aktualny kod z aplikacji uwierzytelniającej.', 'settings.mfa.disable': 'Wyłącz 2FA', 'settings.mfa.toastEnabled': 'Uwierzytelnianie dwuskładnikowe zostało włączone', 'settings.mfa.toastDisabled': 'Uwierzytelnianie dwuskładnikowe zostało wyłączone', 'settings.mfa.demoBlocked': 'Niedostępne w trybie demonstracyjnym', // Login 'login.error': 'Logowanie nie powiodło się. Sprawdź dane logowania.', 'login.tagline': 'Twoje podróże.\nTwój plan.', 'login.description': 'Planuj wspólnie podróże z interaktywnymi mapami, budżetami i synchronizacją w czasie rzeczywistym.', 'login.features.maps': 'Interaktywne mapy', 'login.features.mapsDesc': 'Google Places, trasy i grupowanie', 'login.features.realtime': 'Synchronizacja w czasie rzeczywistym', 'login.features.realtimeDesc': 'Planuj wspólnie przez WebSocket', 'login.features.budget': 'Śledzenie budżetu', 'login.features.budgetDesc': 'Kategorie, wykresy i koszty w przeliczeniu na osobę', 'login.features.collab': 'Współpraca', 'login.features.collabDesc': 'Wielu użytkowników i wspólne podróże', 'login.features.packing': 'Listy pakowania', 'login.features.packingDesc': 'Kategorie, postęp i sugestie', 'login.features.bookings': 'Rezerwacje', 'login.features.bookingsDesc': 'Loty, hotele, restauracje i więcej', 'login.features.files': 'Dokumenty', 'login.features.filesDesc': 'Przesyłaj i zarządzaj dokumentami', 'login.features.routes': 'Inteligentne trasy', 'login.features.routesDesc': 'Automatyczna optymalizacja i eksport do Google Maps', 'login.selfHosted': 'Własny hosting \u00B7 Otwarty kod źródłowy \u00B7 Twoje dane pozostają Twoje', 'login.title': 'Zaloguj się', 'login.subtitle': 'Witaj ponownie', 'login.signingIn': 'Logowanie...', 'login.signIn': 'Zaloguj się', 'login.createAdmin': 'Utwórz konto administratora', 'login.createAdminHint': 'Skonfiguruj pierwsze konto administratora dla TREK.', 'login.createAccount': 'Utwórz konto', 'login.createAccountHint': 'Zarejestruj nowe konto.', 'login.creating': 'Tworzenie...', 'login.noAccount': "Nie masz konta?", 'login.hasAccount': 'Masz już konto?', 'login.register': 'Zarejestruj się', 'login.emailPlaceholder': 'twoj@email.pl', 'login.username': 'Nazwa użytkownika', 'login.oidc.registrationDisabled': 'Rejestracja jest wyłączona. Skontaktuj się z administratorem.', 'login.oidc.noEmail': 'Nie otrzymano e-maila od dostawcy.', 'login.oidc.tokenFailed': 'Nie udało się uwierzytelnić.', 'login.oidc.invalidState': 'Nieprawidłowa sesja. Spróbuj ponownie.', 'login.demoFailed': 'Nie udało się zalogować do wersji demonstracyjnej', 'login.oidcSignIn': 'Zaloguj się z {name}', 'login.oidcOnly': 'Uwierzytelnianie hasłem jest wyłączone. Zaloguj się za pomocą swojego dostawcy SSO.', 'login.oidcLoggedOut': 'Zostałeś wylogowany. Zaloguj się ponownie za pomocą swojego dostawcy SSO.', 'login.demoHint': 'Wypróbuj demo — nie wymaga rejestracji', 'login.mfaTitle': 'Uwierzytelnianie dwuskładnikowe', 'login.mfaSubtitle': 'Wprowadź 6-cyfrowy kod z aplikacji uwierzytelniającej.', 'login.mfaCodeLabel': 'Kod weryfikacyjny', 'login.mfaCodeRequired': 'Wprowadź kod z aplikacji uwierzytelniającej.', 'login.mfaHint': 'Otwórz Google Authenticator, Authy lub inną aplikację TOTP.', 'login.mfaBack': '← Powrót do logowania', 'login.mfaVerify': 'Weryfikuj', 'login.invalidInviteLink': 'Nieprawidłowy lub wygasły link zaproszenia', 'login.oidcFailed': 'Logowanie OIDC nie powiodło się', 'login.usernameRequired': 'Nazwa użytkownika jest wymagana', 'login.passwordMinLength': 'Hasło musi mieć co najmniej 8 znaków', 'login.forgotPassword': 'Nie pamiętasz hasła?', 'login.forgotPasswordTitle': 'Zresetuj hasło', 'login.forgotPasswordBody': 'Wpisz adres e-mail użyty przy rejestracji. Jeśli konto istnieje, wyślemy link do resetu.', 'login.forgotPasswordSubmit': 'Wyślij link', 'login.forgotPasswordSentTitle': 'Sprawdź swoją pocztę', 'login.forgotPasswordSentBody': 'Jeśli istnieje konto dla tego adresu, link jest już w drodze. Wygaśnie za 60 minut.', 'login.forgotPasswordSmtpHintOff': 'Uwaga: administrator nie skonfigurował SMTP, więc link resetujący zostanie zapisany w konsoli serwera zamiast wysłania e-mailem.', 'login.backToLogin': 'Wróć do logowania', 'login.newPassword': 'Nowe hasło', 'login.confirmPassword': 'Potwierdź nowe hasło', 'login.passwordsDontMatch': 'Hasła nie są zgodne', 'login.mfaCode': 'Kod 2FA', 'login.resetPasswordTitle': 'Ustaw nowe hasło', 'login.resetPasswordBody': 'Wybierz silne hasło, którego tu jeszcze nie używałeś. Minimum 8 znaków.', 'login.resetPasswordMfaBody': 'Wpisz kod 2FA lub kod zapasowy, aby zakończyć reset.', 'login.resetPasswordSubmit': 'Zresetuj hasło', 'login.resetPasswordVerify': 'Zweryfikuj i zresetuj', 'login.resetPasswordSuccessTitle': 'Hasło zaktualizowane', 'login.resetPasswordSuccessBody': 'Możesz się teraz zalogować nowym hasłem.', 'login.resetPasswordInvalidLink': 'Nieprawidłowy link', 'login.resetPasswordInvalidLinkBody': 'Brakuje linku lub jest uszkodzony. Poproś o nowy, aby kontynuować.', 'login.resetPasswordFailed': 'Reset nie powiódł się. Link mógł wygasnąć.', // Register 'register.passwordMismatch': 'Hasła nie są identyczne', 'register.passwordTooShort': 'Hasło musi mieć co najmniej 6 znaków', 'register.failed': 'Rejestracja nie powiodła się', 'register.getStarted': 'Rozpocznij', 'register.subtitle': 'Utwórz konto i zacznij planować swoje wymarzone podróże.', 'register.feature1': 'Nieograniczone plany podróży', 'register.feature2': 'Interaktywna mapa', 'register.feature3': 'Zarządzaj miejscami i kategoriami', 'register.feature4': 'Śledź rezerwacje', 'register.feature5': 'Twórz listy pakowania', 'register.feature6': 'Przechowuj zdjęcia i pliki', 'register.createAccount': 'Utwórz konto', 'register.startPlanning': 'Zacznij planować podróż', 'register.minChars': 'Min. 6 znaków', 'register.confirmPassword': 'Potwierdź hasło', 'register.repeatPassword': 'Powtórz hasło', 'register.registering': 'Rejestrowanie...', 'register.register': 'Zarejestruj się', 'register.hasAccount': 'Masz już konto?', 'register.signIn': 'Zaloguj się', // Admin '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.', // File Types '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', // Packing Templates & Bag Tracking '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', // Addons 'admin.tabs.addons': 'Dodatki', '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', // Weather info '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.', // GitHub '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.reloadHint': 'Proszę odświeżyć stronę za kilka sekund.', // Vacay addon 'vacay.subtitle': 'Planuj i zarządzaj dniami urlopu', 'vacay.settings': 'Ustawienia', 'vacay.year': 'Rok', 'vacay.addYear': 'Dodaj następny rok', 'vacay.addPrevYear': 'Dodaj poprzedni rok', 'vacay.removeYear': 'Usuń rok', 'vacay.removeYearConfirm': 'Usunąć {year}?', 'vacay.removeYearHint': 'Wszystkie wpisy dotyczące urlopów oraz dni wolnych w tym roku zostaną trwale usunięte.', 'vacay.remove': 'Usuń', 'vacay.persons': 'Osoby', 'vacay.noPersons': 'Nie dodano osób', 'vacay.addPerson': 'Dodaj osobę', 'vacay.editPerson': 'Edytuj osobę', 'vacay.removePerson': 'Usuń osobę', 'vacay.removePersonConfirm': 'Usunąć {name}?', 'vacay.removePersonHint': 'Wszystkie wpisy dotyczące urlopów dla tej osoby zostaną trwale usunięte.', 'vacay.personName': 'Imię', 'vacay.personNamePlaceholder': 'Podaj imię', 'vacay.color': 'Kolor', 'vacay.add': 'Dodaj', 'vacay.legend': 'Legenda', 'vacay.publicHoliday': 'Święto państwowe', 'vacay.companyHoliday': 'Urlop firmowy', 'vacay.weekend': 'Weekendowy', 'vacay.modeVacation': 'Urlop', 'vacay.modeCompany': 'Urlop firmowy', 'vacay.entitlement': 'Wymiar', 'vacay.entitlementDays': 'Dni', 'vacay.used': 'Wykorzystane', 'vacay.remaining': 'Pozostało', 'vacay.carriedOver': 'z {year}', 'vacay.blockWeekends': 'Blokuj weekendy', 'vacay.blockWeekendsHint': 'Zapobiegaj wpisywaniu urlopów w weekendy', 'vacay.weekendDays': 'Dni weekendowe', 'vacay.mon': 'Pon', 'vacay.tue': 'Wt', 'vacay.wed': 'Śr', 'vacay.thu': 'Czw', 'vacay.fri': 'Pt', 'vacay.sat': 'Sob', 'vacay.sun': 'Nd', 'vacay.publicHolidays': 'Święta państwowe', 'vacay.publicHolidaysHint': 'Oznacz święta państwowe w kalendarzu', 'vacay.selectCountry': 'Wybierz kraj', 'vacay.selectRegion': 'Wybierz region (opcjonalnie)', 'vacay.addCalendar': 'Dodaj kalendarz', 'vacay.calendarLabel': 'Etykieta (opcjonalnie)', 'vacay.calendarColor': 'Kolor', 'vacay.noCalendars': 'Nie dodano jeszcze kalendarzy świąt', 'vacay.companyHolidays': 'Urlopy firmowe', 'vacay.companyHolidaysHint': 'Pozwala oznaczać dni wolne od pracy w kalendarzu', 'vacay.companyHolidaysNoDeduct': 'Urlopy firmowe nie są odejmowane od puli dni urlopowych.', 'vacay.weekStart': 'Tydzień zaczyna się w', 'vacay.weekStartHint': 'Wybierz czy tydzień zaczyna się w poniedziałek czy niedzielę', 'vacay.carryOver': 'Przeniesienie na kolejny rok', 'vacay.carryOverHint': 'Automatycznie przenosi pozostałe dni urlopowe na kolejny rok', 'vacay.sharing': 'Udostępnianie', 'vacay.sharingHint': 'Udostępnij swój plan urlopów innym użytkownikom TREK', 'vacay.owner': 'Właściciel', 'vacay.shareEmailPlaceholder': 'E-mail użytkownika TREK', 'vacay.shareSuccess': 'Plan został udostępniony pomyślnie', 'vacay.shareError': 'Nie udało się udostępnić planu', 'vacay.dissolve': 'Rozłącz kalendarze', 'vacay.dissolveHint': 'Rozłącz kalendarze ponownie. Twoje wpisy zostaną zachowane.', 'vacay.dissolveAction': 'Rozłącz', 'vacay.dissolved': 'Kalendarz został rozłączony', 'vacay.fusedWith': 'Połączono z', 'vacay.you': 'ty', 'vacay.noData': 'Brak danych', 'vacay.changeColor': 'Zmień kolor', 'vacay.inviteUser': 'Zaproś użytkownika', 'vacay.inviteHint': 'Zaproś innego użytkownika TREK do wspólnego kalendarza urlopów.', 'vacay.selectUser': 'Wybierz użytkownika', 'vacay.sendInvite': 'Wyślij zaproszenie', 'vacay.inviteSent': 'Zaproszenie zostało wysłane', 'vacay.inviteError': 'Nie udało się wysłać zaproszenia', 'vacay.pending': 'oczekujące', 'vacay.noUsersAvailable': 'Brak dostępnych użytkowników', 'vacay.accept': 'Akceptuj', 'vacay.decline': 'Odrzuć', 'vacay.acceptFusion': 'Akceptuj i połącz', 'vacay.inviteTitle': 'Zaproszenie do połączenia', 'vacay.inviteWantsToFuse': 'chce udostępnić kalendarz urlopów.', 'vacay.fuseInfo1': 'Obie strony będą widzieć wszystkie wpisy urlopowe w jednym wspólnym kalendarzu.', 'vacay.fuseInfo2': 'Obie strony mogą tworzyć i edytować wpisy dla drugiej strony.', 'vacay.fuseInfo3': 'Obie strony mogą usuwać wpisy i zmieniać pulę dni urlopowych.', 'vacay.fuseInfo4': 'Ustawienia, takie jak święta państwowe i urlopy firmowe, są współdzielone.', 'vacay.fuseInfo5': 'Połączenie może zostać rozwiązane w dowolnym momencie przez każdą ze stron. Twoje wpisy zostaną zachowane.', 'nav.myTrips': 'Moje podróże', // Atlas addon 'atlas.subtitle': 'Twój ślad podróżniczy po świecie', 'atlas.countries': 'Kraje', 'atlas.trips': 'Podróże', 'atlas.places': 'Miejsca', 'atlas.unmark': 'Usuń', 'atlas.confirmMark': 'Oznaczyć ten kraj jako odwiedzony?', 'atlas.confirmUnmark': 'Usunąć ten kraj z listy odwiedzonych?', 'atlas.confirmUnmarkRegion': 'Usunąć ten region z listy odwiedzonych?', 'atlas.markVisited': 'Oznacz jako odwiedzony', 'atlas.markVisitedHint': 'Dodaj ten kraj do listy odwiedzonych', 'atlas.markRegionVisitedHint': 'Dodaj ten region do listy odwiedzonych', 'atlas.addToBucket': 'Dodaj do listy marzeń', 'atlas.addPoi': 'Dodaj miejsce', 'atlas.bucketNamePlaceholder': 'Nazwa (kraj, miasto, miejsce...)', 'atlas.month': 'Miesiąc', 'atlas.year': 'Rok', 'atlas.addToBucketHint': 'Zapisz jako miejsce, które chcesz odwiedzić', 'atlas.bucketWhen': 'Kiedy planujesz je odwiedzić?', 'atlas.statsTab': 'Statystyki', 'atlas.bucketTab': 'Lista marzeń', 'atlas.addBucket': 'Dodaj do listy marzeń', 'atlas.bucketNotesPlaceholder': 'Notatki (opcjonalnie)', 'atlas.bucketEmpty': 'Twoja lista marzeń jest pusta', 'atlas.bucketEmptyHint': 'Dodaj miejsca, które chcesz odwiedzić', 'atlas.days': 'Dni', 'atlas.visitedCountries': 'Odwiedzone kraje', 'atlas.cities': 'Miasta', 'atlas.noData': 'Brak danych o podróżach', 'atlas.noDataHint': 'Utwórz podróż i dodaj miejsca, aby zobaczyć swoją mapę świata', 'atlas.lastTrip': 'Ostatnia podróż', 'atlas.nextTrip': 'Następna podróż', 'atlas.daysLeft': 'dni do wyjazdu', 'atlas.streak': 'Seria', 'atlas.years': 'lata', 'atlas.yearInRow': 'rok z rzędu', 'atlas.yearsInRow': 'lat z rzędu', 'atlas.tripIn': 'podróż w', 'atlas.tripsIn': 'podróży w', 'atlas.since': 'od', 'atlas.europe': 'Europa', 'atlas.asia': 'Azja', 'atlas.northAmerica': 'Ameryka Pn.', 'atlas.southAmerica': 'Ameryka Pd.', 'atlas.africa': 'Afryka', 'atlas.oceania': 'Oceania', 'atlas.other': 'Inne', 'atlas.firstVisit': 'Pierwsza podróż', 'atlas.lastVisitLabel': 'Ostatnia podróż', 'atlas.tripSingular': 'Podróż', 'atlas.tripPlural': 'Podróże', 'atlas.placeVisited': 'Odwiedzone miejsce', 'atlas.placesVisited': 'Odwiedzone miejsca', // Trip Planner 'trip.tabs.plan': 'Plan', 'trip.tabs.transports': 'Transport', 'trip.tabs.reservations': 'Rezerwacje', 'trip.tabs.reservationsShort': 'Rezerwacje', 'trip.tabs.packing': 'Lista pakowania', 'trip.tabs.packingShort': 'Pakowanie', 'trip.tabs.lists': 'Listy', 'trip.tabs.listsShort': 'Listy', 'trip.tabs.budget': 'Budżet', 'trip.tabs.files': 'Pliki', 'trip.loading': 'Ładowanie podróży...', 'trip.mobilePlan': 'Plan', 'trip.mobilePlaces': 'Miejsca', 'trip.toast.placeUpdated': 'Miejsce zostało zaktualizowane', 'trip.toast.placeAdded': 'Miejsce zostało dodane', 'trip.toast.placeDeleted': 'Miejsce zostało usunięte', 'trip.toast.selectDay': 'Proszę najpierw wybrać dzień', 'trip.toast.assignedToDay': 'Miejsce przypisane do dnia', 'trip.toast.reorderError': 'Nie udało się zmienić kolejności', 'trip.toast.reservationUpdated': 'Rezerwacja została zaktualizowana', 'trip.toast.reservationAdded': 'Rezerwacja została dodana', 'trip.toast.deleted': 'Usunięto', 'trip.confirm.deletePlace': 'Czy na pewno chcesz usunąć to miejsce?', 'trip.confirm.deletePlaces': 'Usunąć {count} miejsc?', 'trip.toast.placesDeleted': '{count} miejsc usunięto', // Day Plan Sidebar 'dayplan.emptyDay': 'Brak miejsc zaplanowanych na ten dzień', 'dayplan.cannotReorderTransport': 'Nie można zmieniać kolejności dla rezerwacji z określoną godziną', 'dayplan.confirmRemoveTimeTitle': 'Usunąć godzinę?', 'dayplan.confirmRemoveTimeBody': 'To miejsce ma określoną godzinę ({time}). Przeniesienie go usunie godzinę i umożliwi swobodne sortowanie.', 'dayplan.confirmRemoveTimeAction': 'Usuń godzinę i przenieś', 'dayplan.cannotDropOnTimed': 'Nie można umieszczać elementów pomiędzy wpisami z określoną godziną', 'dayplan.cannotBreakChronology': 'Spowodowałoby to naruszenie chronologicznej kolejności elementów i rezerwacji z określoną godziną', 'dayplan.addNote': 'Dodaj notatkę', 'dayplan.editNote': 'Edytuj notatkę', 'dayplan.noteAdd': 'Dodaj notatkę', 'dayplan.noteEdit': 'Edytuj notatkę', 'dayplan.noteTitle': 'Notatka', 'dayplan.noteSubtitle': 'Notatka dnia', 'dayplan.totalCost': 'Łączny koszt', 'dayplan.days': 'Dni', 'dayplan.dayN': 'Dzień {n}', 'dayplan.calculating': 'Obliczanie...', 'dayplan.route': 'Trasa', 'dayplan.optimize': 'Optymalizuj', 'dayplan.optimized': 'Trasa została zoptymalizowana', 'dayplan.routeError': 'Nie udało się obliczyć trasy', 'dayplan.toast.needTwoPlaces': 'Potrzeba co najmniej dwóch miejsc, aby zoptymalizować trasę', 'dayplan.toast.routeOptimized': 'Trasa została zoptymalizowana', 'dayplan.toast.noGeoPlaces': 'Nie znaleziono miejsc ze współrzędnymi do obliczenia trasy', 'dayplan.confirmed': 'Potwierdzono', 'dayplan.pendingRes': 'Oczekujące', 'dayplan.pdf': 'PDF', 'dayplan.pdfTooltip': 'Eksportuj plan dnia jako PDF', 'dayplan.pdfError': 'Nie udało się wyeksportować pliku PDF', // Places Sidebar 'places.addPlace': 'Dodaj miejsce/atrakcję', 'places.importFile': 'Importuj plik', 'places.sidebarDrop': 'Upuść, aby zaimportować', 'places.importFileHint': 'Importuj pliki .gpx, .kml lub .kmz z narzędzi takich jak Google My Maps, Google Earth lub tracker GPS.', 'places.importFileDropHere': 'Kliknij, aby wybrać plik lub przeciągnij i upuść tutaj', 'places.importFileDropActive': 'Upuść plik, aby go wybrać', 'places.importFileUnsupported': 'Nieobsługiwany typ pliku. Użyj .gpx, .kml lub .kmz.', 'places.importFileTooLarge': 'Plik jest za duży. Maksymalny rozmiar przesyłania to {maxMb} MB.', 'places.importFileError': 'Import nie powiódł się', 'places.importAllSkipped': 'Wszystkie miejsca były już w podróży.', 'places.gpxImported': '{count} miejsc zaimportowanych z GPX', 'places.gpxImportTypes': 'Co chcesz zaimportować?', 'places.gpxImportWaypoints': 'Punkty trasy', 'places.gpxImportRoutes': 'Trasy', 'places.gpxImportTracks': 'Trasy GPS (ze śladem)', 'places.gpxImportNoneSelected': 'Wybierz co najmniej jeden typ do importu.', 'places.kmlImportTypes': 'Co chcesz zaimportować?', 'places.kmlImportPoints': 'Punkty (Placemarks)', 'places.kmlImportPaths': 'Ścieżki (LineStrings)', 'places.kmlImportNoneSelected': 'Wybierz co najmniej jeden typ.', 'places.selectionCount': '{count} zaznaczono', 'places.deleteSelected': 'Usuń wybrane', 'places.kmlKmzImported': 'Zaimportowano {count} miejsc z KMZ/KML', 'places.urlResolved': 'Miejsce zaimportowane z URL', 'places.kmlKmzSummaryValues': 'Placemarks: {total} • Zaimportowano: {created} • Pominięto: {skipped}', 'places.importGoogleList': 'Lista Google', 'places.assignToDay': 'Do którego dnia dodać?', 'places.all': 'Wszystkie', 'places.unplanned': 'Niezaplanowane', 'places.filterTracks': 'Trasy', 'places.search': 'Szukaj miejsc...', 'places.allCategories': 'Wszystkie kategorie', 'places.categoriesSelected': 'kategorii', 'places.clearFilter': 'Wyczyść filtr', 'places.count': '{count} miejsc', 'places.countSingular': '1 miejsce', 'places.allPlanned': 'Wszystkie miejsca są zaplanowane', 'places.noneFound': 'Nie znaleziono miejsc', 'places.editPlace': 'Edytuj miejsce', 'places.formName': 'Nazwa', 'places.formNamePlaceholder': 'np. Wieża Eiffla', 'places.formDescription': 'Opis', 'places.formDescriptionPlaceholder': 'Krótki opis...', 'places.formAddress': 'Adres', 'places.formAddressPlaceholder': 'Ulica, miasto, kraj', 'places.formLat': 'Szerokość (np. 48.8566)', 'places.formLng': 'Długość (np. 2.3522)', 'places.formCategory': 'Kategoria', 'places.noCategory': 'Brak kategorii', 'places.categoryNamePlaceholder': 'Nazwa kategorii', 'places.formTime': 'Godzina', 'places.startTime': 'Początek', 'places.endTime': 'Koniec', 'places.endTimeBeforeStart': 'Godzina zakończenia jest przed godziną rozpoczęcia', 'places.timeCollision': 'Nakładanie się godzin z:', 'places.formWebsite': 'Strona internetowa', 'places.formNotes': 'Notatki', 'places.formNotesPlaceholder': 'Osobiste notatki...', 'places.formReservation': 'Rezerwacja', 'places.reservationNotesPlaceholder': 'Notatki z rezerwacji, numer potwierdzenia...', 'places.mapsSearchPlaceholder': 'Szukaj miejsc...', 'places.mapsSearchError': 'Nie udało się wyszukać miejsca.', 'places.loadingDetails': 'Ładowanie szczegółów miejsca…', 'places.osmHint': 'Korzystając z OpenStreetMap (brak zdjęć, godzin otwarcia czy ocen). Dodaj klucz API Google w ustawieniach aby uzyskać pełne dane.', 'places.osmActive': 'Szukaj przez OpenStreetMap (brak zdjęć, ocen czy godzin otwarcia). Dodaj klucz API Google w ustawieniach aby uzyskać pełne dane.', 'places.categoryCreateError': 'Nie udało się utworzyć kategorii', 'places.nameRequired': 'Proszę podać nazwę', 'places.saveError': 'Nie udało się zapisać', // Place Inspector 'inspector.opened': 'Otwarte', 'inspector.closed': 'Zamknięte', 'inspector.openingHours': 'Godziny otwarcia', 'inspector.showHours': 'Pokaż godziny otwarcia', 'inspector.files': 'Pliki', 'inspector.filesCount': '{count} plików', 'inspector.removeFromDay': 'Usuń z dnia', 'inspector.remove': 'Usuń', 'inspector.addToDay': 'Dodaj do dnia', 'inspector.confirmedRes': 'Potwierdzona rezerwacja', 'inspector.pendingRes': 'Oczekująca rezerwacja', 'inspector.google': 'Otwórz w Mapach Google', 'inspector.website': 'Otwórz stronę internetową', 'inspector.addRes': 'Rezerwacja', 'inspector.editRes': 'Edytuj rezerwację', 'inspector.participants': 'Uczestnicy', // Reservations 'reservations.title': 'Rezerwacje', 'reservations.empty': 'Brak rezerwacji', 'reservations.emptyHint': 'Dodaj rezerwacje lotów, hoteli i innych', 'reservations.add': 'Dodaj rezerwację', 'reservations.addManual': 'Rezerwacja ręczna', 'reservations.placeHint': 'Wskazówka: Rezerwacje najlepiej tworzyć bezpośrednio z miejsca, aby powiązać je z planem dnia.', 'reservations.confirmed': 'Potwierdzona', 'reservations.pending': 'Oczekująca', 'reservations.summary': '{confirmed} potwierdzonych, {pending} oczekujących', 'reservations.fromPlan': 'Z planu', 'reservations.showFiles': 'Pokaż pliki', 'reservations.editTitle': 'Edytuj rezerwację', 'reservations.status': 'Status', 'reservations.datetime': 'Data i czas', 'reservations.startTime': 'Godzina rozpoczęcia', 'reservations.endTime': 'Godzina zakończenia', 'reservations.date': 'Data', 'reservations.time': 'Godzina', 'reservations.timeAlt': 'Godzina (alternatywna, np. 19:30)', 'reservations.notes': 'Notatki', 'reservations.notesPlaceholder': 'Dodatkowe notatki...', 'reservations.meta.airline': 'Linia lotnicza', 'reservations.meta.flightNumber': 'Numer lotu', 'reservations.meta.from': 'Skąd', 'reservations.meta.to': 'Dokąd', 'reservations.meta.trainNumber': 'Numer pociągu', 'reservations.meta.platform': 'Peron', 'reservations.meta.seat': 'Miejsce', 'reservations.meta.checkIn': 'Zameldowanie', 'reservations.meta.checkInUntil': 'Check-in do', 'reservations.meta.checkOut': 'Wymeldowanie', 'reservations.meta.linkAccommodation': 'Zakwaterowanie', 'reservations.meta.pickAccommodation': 'Link do zakwaterowania', 'reservations.meta.noAccommodation': 'Brak', 'reservations.meta.hotelPlace': 'Zakwaterowanie', 'reservations.meta.pickHotel': 'Wybierz zakwaterowanie', 'reservations.meta.fromDay': 'Od', 'reservations.meta.toDay': 'Do', 'reservations.meta.selectDay': 'Wybierz dzień', 'reservations.type.flight': 'Lot', 'reservations.type.hotel': 'Zakwaterowanie', 'reservations.type.restaurant': 'Restauracja', 'reservations.type.train': 'Pociąg', 'reservations.type.car': 'Samochód', 'reservations.needsReview': 'Sprawdź', 'reservations.needsReviewHint': 'Nie udało się automatycznie dopasować lotniska — potwierdź lokalizację.', 'reservations.searchLocation': 'Szukaj stacji, portu, adresu...', 'airport.searchPlaceholder': 'Kod lotniska lub miasto (np. FRA)', 'map.connections': 'Połączenia', 'map.showConnections': 'Pokaż trasy rezerwacji', 'map.hideConnections': 'Ukryj trasy rezerwacji', 'settings.bookingLabels': 'Etykiety tras rezerwacji', 'settings.bookingLabelsHint': 'Pokazuje nazwy stacji / lotnisk na mapie. Gdy wyłączone, wyświetlana jest tylko ikona.', 'reservations.type.cruise': 'Rejs', 'reservations.type.event': 'Wydarzenie', 'reservations.type.tour': 'Wycieczka', 'reservations.type.other': 'Inne', 'reservations.confirm.delete': 'Czy na pewno chcesz usunąć rezerwację "{name}"?', 'reservations.confirm.deleteTitle': 'Usunąć rezerwację?', 'reservations.confirm.deleteBody': 'Rezerwacja "{name}" zostanie trwale usunięta.', 'reservations.toast.updated': 'Rezerwacja została zaktualizowana', 'reservations.toast.removed': 'Rezerwacja została usunięta', 'reservations.toast.fileUploaded': 'Plik został przesłany', 'reservations.toast.uploadError': 'Nie udało się przesłać pliku', 'reservations.newTitle': 'Nowa rezerwacja', 'reservations.bookingType': 'Rodzaj rezerwacji', 'reservations.titleLabel': 'Tytuł', 'reservations.titlePlaceholder': 'np. Ryanair FR123, Hotel Dubaj, ...', 'reservations.locationAddress': 'Lokalizacja / Adres', 'reservations.locationPlaceholder': 'Adres, Lotnisko, Hotel...', 'reservations.confirmationCode': 'Kod rezerwacji', 'reservations.confirmationPlaceholder': 'np. ABC12345', 'reservations.day': 'Dzień', 'reservations.noDay': 'Brak dnia', 'reservations.place': 'Miejsce', 'reservations.noPlace': 'Brak miejsca', 'reservations.pendingSave': 'zostanie zapisane...', 'reservations.uploading': 'Przesyłanie...', 'reservations.attachFile': 'Załącz plik', 'reservations.linkExisting': 'Podlinkuj przesłany plik', 'reservations.toast.saveError': 'Nie udało się zapisać', 'reservations.toast.updateError': 'Nie udało się zaktualizować', 'reservations.toast.deleteError': 'Nie udało się usunąć', 'reservations.confirm.remove': 'Usunąć rezerwację "{name}"?', 'reservations.linkAssignment': 'Przypisz do miejsca', 'reservations.pickAssignment': 'Wybierz miejsce z planu...', 'reservations.noAssignment': 'Brak przypisania (samodzielna)', 'reservations.price': 'Cena', 'reservations.budgetCategory': 'Kategoria budżetu', 'reservations.budgetCategoryPlaceholder': 'np. Transport, Zakwaterowanie', 'reservations.budgetCategoryAuto': 'Auto (na podstawie typu rezerwacji)', 'reservations.budgetHint': 'Wpis budżetowy zostanie automatycznie utworzony podczas zapisywania.', 'reservations.departureDate': 'Wylot', 'reservations.arrivalDate': 'Przylot', 'reservations.departureTime': 'Godz. wylotu', 'reservations.arrivalTime': 'Godz. przylotu', 'reservations.pickupDate': 'Odbiór', 'reservations.returnDate': 'Zwrot', 'reservations.pickupTime': 'Godz. odbioru', 'reservations.returnTime': 'Godz. zwrotu', 'reservations.endDate': 'Data końca', 'reservations.meta.departureTimezone': 'TZ wylotu', 'reservations.meta.arrivalTimezone': 'TZ przylotu', 'reservations.span.departure': 'Wylot', 'reservations.span.arrival': 'Przylot', 'reservations.span.inTransit': 'W tranzycie', 'reservations.span.pickup': 'Odbiór', 'reservations.span.return': 'Zwrot', 'reservations.span.active': 'Aktywny', 'reservations.span.start': 'Start', 'reservations.span.end': 'Koniec', 'reservations.span.ongoing': 'W trakcie', 'reservations.validation.endBeforeStart': 'Data/godzina zakończenia musi być późniejsza niż data/godzina rozpoczęcia', 'reservations.addBooking': 'Dodaj rezerwację', // Budget 'budget.title': 'Budżet', 'budget.emptyTitle': 'Nie utworzono jeszcze budżetu', 'budget.emptyText': 'Utwórz kategorie i wpisy, aby zaplanować budżet podróży', 'budget.emptyPlaceholder': 'Podaj nazwę kategorii...', 'budget.createCategory': 'Utwórz kategorię', 'budget.category': 'Kategoria', 'budget.categoryName': 'Nazwa kategorii', 'budget.table.name': 'Nazwa', 'budget.table.total': 'Łącznie', 'budget.table.persons': 'Osoby', 'budget.table.days': 'Dni', 'budget.table.perPerson': 'Za osobę', 'budget.table.perDay': 'Za dzień', 'budget.table.perPersonDay': 'Za osobę/dzień', 'budget.table.note': 'Notatka', 'budget.newEntry': 'Nowy wpis', 'budget.defaultEntry': 'Nowy wpis', 'budget.defaultCategory': 'Nowa kategoria', 'budget.total': 'Łącznie', 'budget.totalBudget': 'Całkowity budżet', 'budget.byCategory': 'Według kategorii', 'budget.editTooltip': 'Kliknij, aby edytować', 'budget.linkedToReservation': 'Powiązano z rezerwacją — edytuj nazwę tam', 'budget.confirm.deleteCategory': 'Czy na pewno chcesz usunąć kategorię "{name}" z {count} wpisami?', 'budget.deleteCategory': 'Usuń kategorię', 'budget.perPerson': 'Za osobę', 'budget.paid': 'Zapłacone', 'budget.open': 'Otwarte', 'budget.noMembers': 'Brak przypisanych członków', 'budget.settlement': 'Rozliczenie', 'budget.settlementInfo': 'Kliknij avatar członka przy pozycji w budżecie, aby oznaczyć go na zielono — oznacza to, że zapłacił. Rozliczenie pokaże, kto komu i ile jest winien.', 'budget.netBalances': 'Bilans', // Files 'files.title': 'Pliki', 'files.pageTitle': 'Pliki i dokumenty', 'files.subtitle': '{count} plików dla {trip}', 'files.downloadPdf': 'Pobierz PDF', 'files.count': '{count} plików', 'files.countSingular': '1 plik', 'files.uploaded': '{count} przesłanych', 'files.uploadError': 'Przesyłanie nie powiodło się', 'files.dropzone': 'Przeciągnij pliki tutaj', 'files.dropzoneHint': 'lub kliknij, aby przeglądać', 'files.allowedTypes': 'Obrazki, PDF, DOC, DOCX, XLS, XLSX, TXT, CSV · Maks 50 MB', 'files.uploading': 'Przesyłanie...', 'files.filterAll': 'Wszystkie', 'files.filterPdf': 'PDF', 'files.filterImages': 'Obrazki', 'files.filterDocs': 'Dokumenty', 'files.filterCollab': 'Wspólne notatki', 'files.sourceCollab': 'Z wspólnych notatek', 'files.empty': 'Brak plików', 'files.emptyHint': 'Prześlij pliki, aby dodać je do swojej podróży', 'files.openTab': 'Otwórz w nowej karcie', 'files.confirm.delete': 'Czy na pewno chcesz usunąć ten plik?', 'files.toast.deleted': 'Plik został usunięty', 'files.toast.deleteError': 'Nie udało się usunąć pliku', 'files.sourcePlan': 'Plan dni', 'files.sourceBooking': 'Rezerwacje', 'files.attach': 'Załącz', 'files.pasteHint': 'Możesz również wkleić obrazki ze schowka (Ctrl+V)', 'files.trash': 'Kosz', 'files.trashEmpty': 'Kosz jest pusty', 'files.emptyTrash': 'Opróżnij kosz', 'files.restore': 'Przywróć', 'files.star': 'Oznacz', 'files.unstar': 'Usuń oznaczenie', 'files.assign': 'Przypisz', 'files.assignTitle': 'Przypisz plik', 'files.assignPlace': 'Miejsce', 'files.assignBooking': 'Rezerwacja', 'files.unassigned': 'Nieprzypisane', 'files.unlink': 'Usuń link', 'files.toast.trashed': 'Przeniesiono do kosza', 'files.toast.restored': 'Plik został przywrócony', 'files.toast.trashEmptied': 'Kosz został opróżniony', 'files.toast.assigned': 'Plik został przypisany', 'files.toast.assignError': 'Nie udało się przypisać', 'files.toast.restoreError': 'Nie udało się przywrócić', 'files.confirm.permanentDelete': 'Czy na pewno chcesz trwale usunąć ten plik? Tej operacji nie można cofnąć.', 'files.confirm.emptyTrash': 'Czy na pewno chcesz trwale usunąć wszystkie pliki z kosza? Tej operacji nie można cofnąć.', 'files.noteLabel': 'Notatka', 'files.notePlaceholder': 'Dodaj notatkę...', // Packing 'packing.title': 'Lista pakowania', 'packing.empty': 'Lista pakowania jest pusta', 'packing.import': 'Importuj', 'packing.importTitle': 'Importuj listę pakowania', 'packing.importHint': 'Jedna pozycja w wierszu. Format: kategoria, nazwa, waga w gramach (opcjonalnie), Torba (opcjonalnie), checked/unchecked (opcjonalnie)', 'packing.importPlaceholder': 'Higiena, Szczoteczka do zębów\nOdzież, Koszulki, 200\nDokumenty, Paszport, , Podręczny\nElektronika, Ładowarka, 50, Walizka, checked', 'packing.importCsv': 'Załaduj CSV/TXT', 'packing.importAction': 'Importuj {count}', 'packing.importSuccess': '{count} pozycji zaimportowanych', 'packing.importError': 'Import nie powiódł się', 'packing.importEmpty': 'Brak pozycji do zaimportowania', 'packing.progress': '{packed} z {total} spakowanych ({percent}%)', 'packing.clearChecked': 'Usuń {count} spakowanych', 'packing.clearCheckedShort': 'Usuń {count}', 'packing.suggestions': 'Sugestie', 'packing.suggestionsTitle': 'Dodaj sugestie', 'packing.allSuggested': 'Dodano wszystkie sugestie', 'packing.allPacked': 'Wszystko spakowane!', 'packing.addPlaceholder': 'Dodaj nowy przedmiot...', 'packing.categoryPlaceholder': 'Kategoria...', 'packing.filterAll': 'Wszystkie', 'packing.filterOpen': 'Do spakowania', 'packing.filterDone': 'Spakowane', 'packing.emptyTitle': 'Lista pakowania jest pusta', 'packing.emptyHint': 'Dodaj przedmioty lub użyj sugestii', 'packing.emptyFiltered': 'Brak przedmiotów pasujących do filtra', 'packing.menuRename': 'Zmień nazwę', 'packing.menuCheckAll': 'Zaznacz wszystko', 'packing.menuUncheckAll': 'Odznacz wszystko', 'packing.menuDeleteCat': 'Usuń kategorię', 'packing.saveAsTemplate': 'Zapisz jako szablon', 'packing.templateName': 'Nazwa szablonu', 'packing.templateSaved': 'Lista pakowania zapisana jako szablon', 'packing.noMembers': 'Brak członków podróży', 'packing.addItem': 'Dodaj przedmiot', 'packing.addItemPlaceholder': 'Nazwa przedmiotu...', 'packing.addCategory': 'Dodaj kategorię', 'packing.newCategoryPlaceholder': 'Nazwa kategorii (np. Odzież)', 'packing.applyTemplate': 'Zastosuj szablon', 'packing.template': 'Szablon', 'packing.templateApplied': '{count} przedmiotów dodanych z szablonu', 'packing.templateError': 'Nie udało się zastosować szablonu', 'packing.bags': 'Torby', 'packing.noBag': 'Nieprzypisane', 'packing.totalWeight': 'Waga całkowita', 'packing.bagName': 'Nazwa torby...', 'packing.addBag': 'Dodaj torbę', 'packing.changeCategory': 'Zmień kategorię', 'packing.confirm.clearChecked': 'Czy na pewno chcesz usunąć {count} spakowanych przedmiotów?', 'packing.confirm.deleteCat': 'Czy na pewno chcesz usunąć kategorię "{name}" z {count} przedmiotami?', 'packing.defaultCategory': 'Inne', 'packing.toast.saveError': 'Nie udało się zapisać', 'packing.toast.deleteError': 'Nie udało się usunąć', 'packing.toast.renameError': 'Nie udało się zmienić nazwy', 'packing.toast.addError': 'Nie udało się dodać', // Packing suggestions 'packing.suggestions.items': [ { name: 'Paszport', category: 'Dokumenty' }, { name: 'Dowód osobisty', category: 'Dokumenty' }, { name: 'Ubezpieczenie turystyczne', category: 'Dokumenty' }, { name: 'Bilety lotnicze', category: 'Dokumenty' }, { name: 'Karta kredytowa', category: 'Finanse' }, { name: 'Gotówka', category: 'Finanse' }, { name: 'Wiza', category: 'Dokumenty' }, { name: 'Koszulki', category: 'Odzież' }, { name: 'Spodnie', category: 'Odzież' }, { name: 'Bielizna', category: 'Odzież' }, { name: 'Skarpetki', category: 'Odzież' }, { name: 'Kurtka', category: 'Odzież' }, { name: 'Piżama', category: 'Odzież' }, { name: 'Strój kąpielowy', category: 'Odzież' }, { name: 'Kurtka przeciwdeszczowa', category: 'Odzież' }, { name: 'Wygodne buty', category: 'Obuwie' }, { name: 'Szczoteczka do zębów', category: 'Higiena' }, { name: 'Pasta do zębów', category: 'Higiena' }, { name: 'Szampon', category: 'Higiena' }, { name: 'Dezodorant', category: 'Higiena' }, { name: 'Krem z filtrem', category: 'Higiena' }, { name: 'Maszynka do golenia', category: 'Higiena' }, { name: 'Ładowarka', category: 'Elektronika' }, { name: 'Powerbank', category: 'Elektronika' }, { name: 'Słuchawki', category: 'Elektronika' }, { name: 'Adapter podróżny', category: 'Elektronika' }, { name: 'Aparat', category: 'Elektronika' }, { name: 'Leki', category: 'Zdrowie' }, { name: 'Plastry', category: 'Zdrowie' }, { name: 'Środek dezynfekujący', category: 'Zdrowie' }, ], // Members / Sharing 'members.shareTrip': 'Udostępnij podróż', 'members.inviteUser': 'Zaproś użytkownika', 'members.selectUser': 'Wybierz użytkownika...', 'members.invite': 'Zaproś', 'members.allHaveAccess': 'Wszyscy użytkownicy mają już dostęp.', 'members.access': 'Dostęp', 'members.person': 'osoba', 'members.persons': 'osoby', 'members.you': 'ty', 'members.owner': 'Właściciel', 'members.leaveTrip': 'Opuść podróż', 'members.removeAccess': 'Usuń dostęp', 'members.confirmLeave': 'Opuścić podróż? Stracisz dostęp.', 'members.confirmRemove': 'Usunąć dostęp dla tego użytkownika?', 'members.loadError': 'Nie udało się załadować członków', 'members.added': 'dodano', 'members.addError': 'Nie udało się dodać członka', 'members.removed': 'Usunięto członka', 'members.removeError': 'Nie udało się usunąć członka', // Categories (Admin) 'categories.title': 'Kategorie', 'categories.subtitle': 'Zarządzaj kategoriami miejsc', 'categories.new': 'Nowa kategoria', 'categories.empty': 'Brak kategorii', 'categories.namePlaceholder': 'Nazwa kategorii', 'categories.icon': 'Ikona', 'categories.color': 'Kolor', 'categories.customColor': 'Wybierz własny kolor', 'categories.preview': 'Podgląd', 'categories.defaultName': 'Kategoria', 'categories.update': 'Aktualizuj', 'categories.create': 'Utwórz', 'categories.confirm.delete': 'Usunąć kategorię? Miejsca w tej kategorii nie zostaną usunięte.', 'categories.toast.loadError': 'Nie udało się załadować kategorii', 'categories.toast.nameRequired': 'Proszę podać nazwę', 'categories.toast.updated': 'Kategoria została zaktualizowana', 'categories.toast.created': 'Kategoria została utworzona', 'categories.toast.saveError': 'Nie udało się zapisać kategorii', 'categories.toast.deleted': 'Kategoria została usunięta', 'categories.toast.deleteError': 'Nie udało się usunąć kategorii', // Backup (Admin) 'backup.title': 'Kopia zapasowa danych', 'backup.subtitle': 'Baza danych i wszystkie przesłane pliki', 'backup.refresh': 'Odśwież', 'backup.upload': 'Prześlij kopię zapasową', 'backup.uploading': 'Przesyłanie...', 'backup.create': 'Utwórz kopię zapasową', 'backup.creating': 'Tworzenie...', 'backup.empty': 'Brak kopii zapasowych', 'backup.createFirst': 'Utwórz pierwszą kopię zapasową', 'backup.download': 'Pobierz', 'backup.restore': 'Przywróć', 'backup.confirm.restore': 'Przywrócić kopię zapasową "{name}"?\n\nWszystkie obecne dane zostaną zastąpione danymi z kopii zapasowej.', 'backup.confirm.uploadRestore': 'Przesłać i przywrócić plik kopii zapasowej "{name}"?\n\nWszystkie obecne dane zostaną nadpisane.', 'backup.confirm.delete': 'Usunąć kopię zapasową "{name}"?', 'backup.toast.loadError': 'Nie udało się załadować kopii zapasowych', 'backup.toast.created': 'Kopia zapasowa została utworzona pomyślnie', 'backup.toast.createError': 'Nie udało się utworzyć kopii zapasowej', 'backup.toast.restored': 'Kopia zapasowa została przywrócona. Strona zostanie przeładowana...', 'backup.toast.restoreError': 'Nie udało się przywrócić kopii zapasowej', 'backup.toast.uploadError': 'Nie udało się przesłać kopii zapasowej', 'backup.toast.deleted': 'Kopia zapasowa została usunięta', 'backup.toast.deleteError': 'Nie udało się usunąć kopii zapasowej', 'backup.toast.downloadError': 'Nie udało się pobrać kopii zapasowej', 'backup.toast.settingsSaved': 'Ustawienia automatycznej kopii zapasowej zostały zapisane', 'backup.toast.settingsError': 'Nie udało się zapisać ustawień', 'backup.auto.title': 'Automatyczna kopia zapasowa', 'backup.auto.subtitle': 'Tworzenie automatycznej kopii zapasowej według harmonogramu', 'backup.auto.enable': 'Włącz automatyczną kopię zapasową', 'backup.auto.enableHint': 'Kopie zapasowe będą tworzone automatycznie zgodnie z wybranym harmonogramem', 'backup.auto.interval': 'Częstotliwość', 'backup.auto.hour': 'Uruchom o godzinie', 'backup.auto.hourHint': 'Czas lokalny serwera ({format} format)', 'backup.auto.dayOfWeek': 'Dzień tygodnia', 'backup.auto.dayOfMonth': 'Dzień miesiąca', 'backup.auto.dayOfMonthHint': 'Ograniczone do 1–28 dla kompatybilności ze wszystkimi miesiącami', 'backup.auto.scheduleSummary': 'Harmonogram', 'backup.auto.summaryDaily': 'Każdego dnia o {hour}:00', 'backup.auto.summaryWeekly': 'Co {day} o {hour}:00', 'backup.auto.summaryMonthly': '{day}. dnia każdego miesiąca o {hour}:00', 'backup.auto.envLocked': 'Docker', 'backup.auto.envLockedHint': 'Automatyczne kopie zapasowe są konfigurowane za pomocą zmiennych środowiskowych Dockera. Aby zmienić te ustawienia, zaktualizuj plik docker-compose.yml i uruchom ponownie kontener.', 'backup.auto.copyEnv': 'Kopiuj zmienne środowiskowe Dockera', 'backup.auto.envCopied': 'Zmienne środowiskowe Dockera zostały skopiowane do schowka', 'backup.auto.keepLabel': 'Usuń stare kopie zapasowe po', 'backup.dow.sunday': 'Nd', 'backup.dow.monday': 'Pon', 'backup.dow.tuesday': 'Wt', 'backup.dow.wednesday': 'Śr', 'backup.dow.thursday': 'Czw', 'backup.dow.friday': 'Pt', 'backup.dow.saturday': 'Sob', 'backup.interval.hourly': 'Co godzinę', 'backup.interval.daily': 'Co dzień', 'backup.interval.weekly': 'Co tydzień', 'backup.interval.monthly': 'Co miesiąc', 'backup.keep.1day': '1 dzień', 'backup.keep.3days': '3 dni', 'backup.keep.7days': '7 dni', 'backup.keep.14days': '14 dni', 'backup.keep.30days': '30 dni', 'backup.keep.forever': 'Przechowuj na zawsze', // Photos 'photos.title': 'Zdjęcia', 'photos.subtitle': '{count} zdjęć dla {trip}', 'photos.dropHere': 'Przeciągnij zdjęcia tutaj...', 'photos.dropHereActive': 'Przeciągnij zdjęcia tutaj', 'photos.captionForAll': 'Podpis (dla wszystkich)', 'photos.captionPlaceholder': 'Opcjonalny podpis...', 'photos.addCaption': 'Dodaj podpis...', 'photos.allDays': 'Wszystkie dni', 'photos.noPhotos': 'Brak zdjęć', 'photos.uploadHint': 'Prześlij zdjęcia z podróży', 'photos.clickToSelect': 'lub kliknij, aby wybrać', 'photos.linkPlace': 'Połącz z miejscem', 'photos.noPlace': 'Brak miejsca', 'photos.uploadN': 'Prześlij {n} zdjęć', 'photos.linkDay': 'Połącz dzień', 'photos.noDay': 'Brak dnia', 'photos.dayLabel': 'Dzień {number}', 'photos.photoSelected': 'Zdjęcie wybrane', 'photos.photosSelected': 'Zdjęcia wybrane', 'photos.fileTypeHint': 'JPG, PNG, WebP · maks. 10 MB · do 30 zdjęć', // Backup restore modal 'backup.restoreConfirmTitle': 'Przywrócić kopię zapasową?', 'backup.restoreWarning': 'Wszystkie obecne dane (podróże, miejsca, użytkownicy, przesłane pliki) zostaną trwale zastąpione danymi z kopii zapasowej. Tej operacji nie można cofnąć.', 'backup.restoreTip': 'Wskazówka: Przed przywróceniem utwórz kopię zapasową bieżącej instancji.', 'backup.restoreConfirm': 'Tak, przywróć', // PDF 'pdf.travelPlan': 'Plan podróży', 'pdf.planned': 'Zaplanowane', 'pdf.costLabel': 'Koszt w EUR', 'pdf.preview': 'Podgląd PDF', 'pdf.saveAsPdf': 'Zapisz jako PDF', // Planner 'planner.places': 'Miejsca', 'planner.bookings': 'Rezerwacje', 'planner.packingList': 'Lista pakowania', 'planner.documents': 'Dokumenty', 'planner.dayPlan': 'Plan', 'planner.reservations': 'Rezerwacje', 'planner.minTwoPlaces': 'Wymagane są przynajmniej dwa miejsca ze współrzędnymi', 'planner.noGeoPlaces': 'Brak miejsc ze współrzędnymi', 'planner.routeCalculated': 'Trasa została obliczona', 'planner.routeCalcFailed': 'Nie udało się obliczyć trasy', 'planner.routeError': 'Błąd obliczania trasy', 'planner.icsExportFailed': 'Eksport ICS nie powiódł się', 'planner.routeOptimized': 'Trasa została zoptymalizowana', 'planner.reservationUpdated': 'Rezerwacja została zaktualizowana', 'planner.reservationAdded': 'Rezerwacja została dodana', 'planner.confirmDeleteReservation': 'Usunąć rezerwację?', 'planner.reservationDeleted': 'Rezerwacja została usunięta', 'planner.days': 'Dni', 'planner.allPlaces': 'Wszystkie miejsca', 'planner.totalPlaces': '{n} miejsc ogółem', 'planner.noDaysPlanned': 'Nie zaplanowano jeszcze dni', 'planner.editTrip': 'Edytuj podróż \u2192', 'planner.placeOne': '1 miejsce', 'planner.placeN': '{n} miejsc', 'planner.addNote': 'Dodaj notatkę', 'planner.noEntries': 'Brak wpisów dla tego dnia', 'planner.addPlace': 'Dodaj miejsce/atrakcję', 'planner.addPlaceShort': '+ Dodaj miejsce/atrakcję', 'planner.resPending': 'Rezerwacja oczekująca · ', 'planner.resConfirmed': 'Rezerwacja potwierdzona · ', 'planner.notePlaceholder': 'Notatka\u2026', 'planner.noteTimePlaceholder': 'Godzina (opcjonalnie)', 'planner.noteExamplePlaceholder': 'np. S3 o 14:30 z dworca centralnego, prom z molo 7, przerwa na lunch\u2026', 'planner.totalCost': 'Całkowity koszt', 'planner.searchPlaces': 'Szukaj miejsc\u2026', 'planner.allCategories': 'Wszystkie kategorie', 'planner.noPlacesFound': 'Nie znaleziono miejsc', 'planner.addFirstPlace': 'Dodaj pierwsze miejsce', 'planner.noReservations': 'Brak rezerwacji', 'planner.addFirstReservation': 'Dodaj pierwszą rezerwację', 'planner.new': 'Nowy', 'planner.addToDay': '+ Dzień', 'planner.calculating': 'Obliczanie\u2026', 'planner.route': 'Trasa', 'planner.optimize': 'Optymalizuj', 'planner.openGoogleMaps': 'Otwórz w Google Maps', 'planner.selectDayHint': 'Wybierz dzień z listy po lewej, aby zobaczyć jego plan', 'planner.noPlacesForDay': 'Brak miejsc dla tego dnia', 'planner.addPlacesLink': 'Dodaj miejsca \u2192', 'planner.minTotal': 'min. łącznie', 'planner.noReservation': 'Brak rezerwacji', 'planner.removeFromDay': 'Usuń z dnia', 'planner.addToThisDay': 'Dodaj do dnia', 'planner.overview': 'Przegląd', 'planner.noDays': 'Brak dni', 'planner.editTripToAddDays': 'Edytuj podróż, aby dodać dni', 'planner.dayCount': '{n} dni', 'planner.clickToUnlock': 'Kliknij, aby odblokować', 'planner.keepPosition': 'Zachowaj pozycję podczas optymalizacji trasy', 'planner.dayDetails': 'Szczegóły dnia', 'planner.dayN': 'Dzień {n}', // Dashboard Stats 'stats.countries': 'Kraje', 'stats.cities': 'Miasta', 'stats.trips': 'Podróże', 'stats.places': 'Miejsca', 'stats.worldProgress': 'Postęp', 'stats.visited': 'odwiedzone', 'stats.remaining': 'pozostałe', 'stats.visitedCountries': 'Odwiedzone kraje', // Day Detail Panel 'day.precipProb': 'Prawdopodobieństwo opadów', 'day.precipitation': 'Opady', 'day.wind': 'Wiatr', 'day.sunrise': 'Wschód słońca', 'day.sunset': 'Zachód słońca', 'day.hourlyForecast': 'Prognoza godzinowa', 'day.climateHint': 'Historyczne średnie — rzeczywista prognoza dostępna na następne 16 dni od tej daty.', 'day.noWeather': 'Brak danych pogodowych. Dodaj miejsce ze współrzędnymi.', 'day.overview': 'Przegląd dnia', 'day.accommodation': 'Zakwaterowanie', 'day.addAccommodation': 'Dodaj zakwaterowanie', 'day.hotelDayRange': 'Zastosuj do dni', 'day.noPlacesForHotel': 'Najpierw dodaj miejsca do swojej podróży', 'day.allDays': 'Wszystkie', 'day.checkIn': 'Zameldowanie', 'day.checkInUntil': 'Do', 'day.checkOut': 'Wymeldowanie', 'day.confirmation': 'Potwierdzenie', 'day.editAccommodation': 'Edytuj zakwaterowanie', 'day.reservations': 'Rezerwacje', // Photos / Immich 'memories.title': 'Zdjęcia', 'memories.notConnected': 'Immich nie jest połączony', 'memories.notConnectedHint': 'Połącz swoją instancję Immich w ustawieniach, aby przeglądać tutaj swoje zdjęcia z podróży.', 'memories.notConnectedMultipleHint': 'Połącz jednego z tych dostawców zdjęć: {provider_names} w Ustawieniach, aby móc dodawać zdjęcia do tej podróży.', 'memories.noDates': 'Dodaj daty do swojej podróży, aby załadować zdjęcia.', 'memories.noPhotos': 'Nie znaleziono zdjęć', 'memories.noPhotosHint': 'Nie znaleziono zdjęć w Immich dla tego zakresu dat podróży.', 'memories.photosFound': 'zdjęć', 'memories.fromOthers': 'od innych', 'memories.sharePhotos': 'Udostępnij zdjęcia', 'memories.sharing': 'Udostępnianie', 'memories.reviewTitle': 'Przejrzyj swoje zdjęcia', 'memories.reviewHint': 'Kliknij w zdjęcia, aby wykluczyć je z udostępnienia.', 'memories.shareCount': 'Udostępnij {count} zdjęć', 'memories.providerUrl': 'URL serwera', 'memories.providerApiKey': 'Klucz API', 'memories.providerUsername': 'Nazwa użytkownika', 'memories.providerPassword': 'Hasło', 'memories.providerOTP': 'Kod MFA (jeśli włączony)', 'memories.skipSSLVerification': 'Pomiń weryfikację certyfikatu SSL', 'memories.immichAutoUpload': 'Przy przesyłaniu kopiuj zdjęcia journey także do Immich', 'memories.providerUrlHintSynology': 'Uwzględnij ścieżkę aplikacji Photos w URL, np. https://nas:5001/photo', 'memories.testConnection': 'Test', 'memories.connected': 'Połączono', 'memories.disconnected': 'Nie połączono', 'memories.connectionSuccess': 'Połączono z Immich', 'memories.connectionError': 'Nie udało się połączyć z Immich', 'memories.saved': 'Ustawienia {provider_name} zostały zapisane', 'memories.providerDisconnectedBanner': 'Połączenie z {provider_name} zostało utracone. Połącz ponownie w Ustawieniach, aby wyświetlać zdjęcia.', 'memories.saveError': 'Nie można zapisać ustawień {provider_name}', 'memories.addPhotos': 'Dodaj zdjęcia', 'memories.selectPhotos': 'Wybierz zdjęcia z Immich', 'memories.selectPhotosMultiple': 'Wybierz zdjęcia', 'memories.selectHint': 'Dotknij zdjęć, aby je zaznaczyć.', 'memories.selected': 'wybranych', 'memories.addSelected': 'Dodaj {count} zdjęć', 'memories.alreadyAdded': 'Dodano', 'memories.private': 'Prywatne', 'memories.stopSharing': 'Przestań udostępniać', 'memories.oldest': 'Od najstarszych', 'memories.newest': 'Od najnowszych', 'memories.allLocations': 'Wszystkie lokalizacje', 'memories.tripDates': 'Daty podróży', 'memories.allPhotos': 'Wszystkie zdjęcia', 'memories.confirmShareTitle': 'Udostępnić członkom podróży?', 'memories.confirmShareHint': '{count} zdjęć będzie widocznych dla wszystkich członków tej podróży. Możesz później ustawić poszczególne zdjęcia jako prywatne.', 'memories.confirmShareButton': 'Udostępnij zdjęcia', // Collab Addon 'collab.tabs.chat': 'Czat', 'collab.tabs.notes': 'Notatki', 'collab.tabs.polls': 'Ankiety', 'collab.whatsNext.title': 'Co dalej', 'collab.whatsNext.today': 'Dzisiaj', 'collab.whatsNext.tomorrow': 'Jutro', 'collab.whatsNext.empty': 'Brak nadchodzących aktywności', 'collab.whatsNext.until': 'do', 'collab.whatsNext.emptyHint': 'Aktywności z godzinami pojawią się tutaj', 'collab.chat.send': 'Wyślij', 'collab.chat.placeholder': 'Napisz wiadomość...', 'collab.chat.empty': 'Rozpocznij konwersację', 'collab.chat.emptyHint': 'Wiadomości są widoczne dla wszystkich uczestników podróży', 'collab.chat.emptyDesc': 'Dziel się pomysłami, planami i aktualizacjami z uczestnikami podróży', 'collab.chat.today': 'Dzisiaj', 'collab.chat.yesterday': 'Wczoraj', 'collab.chat.deletedMessage': 'usunięto wiadomość', 'collab.chat.loadMore': 'Załaduj starsze wiadomości', 'collab.chat.justNow': 'teraz', 'collab.chat.minutesAgo': '{n}m temu', 'collab.chat.hoursAgo': '{n}h temu', 'collab.notes.title': 'Notatki', 'collab.notes.new': 'Nowa notatka', 'collab.notes.empty': 'Brak notatek', 'collab.notes.emptyHint': 'Zapisuj pomysły i plany', 'collab.notes.all': 'Wszystkie', 'collab.notes.titlePlaceholder': 'Tytuł notatki', 'collab.notes.contentPlaceholder': 'Napisz coś...', 'collab.notes.categoryPlaceholder': 'Kategoria', 'collab.notes.newCategory': 'Nowa kategoria...', 'collab.notes.category': 'Kategoria', 'collab.notes.noCategory': 'Brak kategorii', 'collab.notes.color': 'Kolor', 'collab.notes.save': 'Zapisz', 'collab.notes.cancel': 'Anuluj', 'collab.notes.edit': 'Edytuj', 'collab.notes.delete': 'Usuń', 'collab.notes.pin': 'Przypnij', 'collab.notes.unpin': 'Odepnij', 'collab.notes.daysAgo': '{n}d temu', 'collab.notes.categorySettings': 'Zarządzaj kategoriami', 'collab.notes.create': 'Utwórz', 'collab.notes.website': 'Strona internetowa', 'collab.notes.websitePlaceholder': 'https://...', 'collab.notes.attachFiles': 'Załącz pliki', 'collab.notes.noCategoriesYet': 'Brak kategorii', 'collab.notes.emptyDesc': 'Utwórz notatkę, aby rozpocząć', 'collab.polls.title': 'Ankiety', 'collab.polls.new': 'Nowa ankieta', 'collab.polls.empty': 'Brak ankiet', 'collab.polls.emptyHint': 'Zapytaj grupę i głosujcie razem', 'collab.polls.question': 'Pytanie', 'collab.polls.questionPlaceholder': 'Co powinniśmy zrobić?', 'collab.polls.addOption': '+ Dodaj opcję', 'collab.polls.optionPlaceholder': 'Opcja {n}', 'collab.polls.create': 'Utwórz ankietę', 'collab.polls.close': 'Zamknij', 'collab.polls.closed': 'Zamknięta', 'collab.polls.votes': '{n} głosów', 'collab.polls.vote': '{n} głos', 'collab.polls.multipleChoice': 'Wielokrotny wybór', 'collab.polls.multiChoice': 'Wielokrotny wybór', 'collab.polls.deadline': 'Koniec', 'collab.polls.option': 'Opcja', 'collab.polls.options': 'Opcje', 'collab.polls.delete': 'Usuń', 'collab.polls.closedSection': 'Zamknięte', 'common.import': 'Importuj', 'common.select': 'Wybierz', 'common.selectAll': 'Zaznacz wszystko', 'common.deselectAll': 'Odznacz wszystko', 'common.saved': 'Zapisano', 'trips.reminder': 'Przypomnienie', 'trips.reminderNone': 'Brak', 'trips.reminderDay': 'dzień', 'trips.reminderDays': 'dni', 'trips.reminderCustom': 'Niestandardowe', 'trips.reminderDaysBefore': 'dni przed wyjazdem', 'trips.reminderDisabledHint': 'Przypomnienia o podróżach są wyłączone.', 'dashboard.members': 'Towarzysze', 'dashboard.copyTrip': 'Kopiuj', 'dashboard.copySuffix': 'kopia', 'dashboard.toast.copied': 'Podróż skopiowana!', 'dashboard.toast.copyError': 'Nie udało się skopiować podróży', '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.).', 'settings.notificationsDisabled': 'Powiadomienia nie są skonfigurowane.', 'settings.notificationPreferences.noChannels': 'Brak skonfigurowanych kanałów powiadomień. Poproś administratora o skonfigurowanie powiadomień e-mail lub webhook.', 'settings.webhookUrl.label': 'URL webhooka', 'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', 'settings.webhookUrl.hint': 'Wprowadź adres URL webhooka Discord, Slack lub własnego, aby otrzymywać powiadomienia.', 'settings.webhookUrl.saved': 'URL webhooka zapisany', 'settings.webhookUrl.test': 'Testuj', 'settings.webhookUrl.testSuccess': 'Testowy webhook wysłany pomyślnie', 'settings.webhookUrl.testFailed': 'Wysyłanie testowego webhooka nie powiodło się', 'settings.ntfyUrl.topicLabel': 'Temat Ntfy', 'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', 'settings.ntfyUrl.serverLabel': 'URL serwera Ntfy (opcjonalne)', 'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', 'settings.ntfyUrl.hint': 'Wprowadź swój temat Ntfy, aby otrzymywać powiadomienia push. Pozostaw pole serwera puste, aby użyć domyślnego ustawienia skonfigurowanego przez administratora.', 'settings.ntfyUrl.tokenLabel': 'Token dostępu (opcjonalne)', 'settings.ntfyUrl.tokenHint': 'Wymagane dla tematów chronionych hasłem.', 'settings.ntfyUrl.saved': 'Ustawienia Ntfy zapisane', 'settings.ntfyUrl.test': 'Testuj', 'settings.ntfyUrl.testSuccess': 'Testowe powiadomienie Ntfy wysłane pomyślnie', 'settings.ntfyUrl.testFailed': 'Testowe powiadomienie Ntfy nie powiodło się', 'settings.ntfyUrl.tokenCleared': 'Token dostępu wyczyszczony', 'settings.notificationPreferences.inapp': 'In-App', 'settings.notificationPreferences.webhook': 'Webhook', 'settings.notificationPreferences.email': 'Email', 'settings.notificationPreferences.ntfy': 'Ntfy', 'settings.notificationsActive': 'Aktywny kanał', 'settings.notificationsManagedByAdmin': 'Zdarzenia konfigurowane przez administratora.', 'settings.mustChangePassword': 'Musisz zmienić hasło przed kontynuowaniem.', 'login.setNewPassword': 'Ustaw nowe hasło', 'login.setNewPasswordHint': 'Musisz zmienić hasło.', 'atlas.searchCountry': 'Szukaj kraju...', 'trip.loadingPhotos': 'Ładowanie zdjęć...', 'places.importNaverList': 'Lista Naver', 'places.importList': 'Import listy', 'places.googleListHint': 'Wklej link do listy Google Maps.', 'places.googleListImported': 'Zaimportowano {count} miejsc', 'places.googleListError': 'Nie udało się zaimportować listy', 'places.naverListHint': 'Wklej link do udostępnionej listy Naver Maps, aby zaimportować wszystkie miejsca.', 'places.naverListImported': 'Zaimportowano {count} miejsc z "{list}"', 'places.naverListError': 'Nie udało się zaimportować listy Naver Maps', 'places.viewDetails': 'Zobacz szczegóły', 'inspector.trackStats': 'Statystyki trasy', 'budget.exportCsv': 'Eksportuj CSV', 'budget.table.date': 'Data', 'memories.testFirst': 'Najpierw przetestuj połączenie', 'memories.linkAlbum': 'Połącz album', 'memories.selectAlbum': 'Wybierz album Immich', 'memories.selectAlbumMultiple': 'Wybierz album', 'memories.noAlbums': 'Nie znaleziono albumów', 'memories.syncAlbum': 'Synchronizuj album', 'memories.unlinkAlbum': 'Odłącz album', 'memories.photos': 'zdjęcia', 'memories.error.loadAlbums': 'Nie udało się załadować albumów', 'memories.error.linkAlbum': 'Nie udało się połączyć albumu', 'memories.error.unlinkAlbum': 'Nie udało się odłączyć albumu', 'memories.error.syncAlbum': 'Nie udało się zsynchronizować albumu', 'memories.error.loadPhotos': 'Nie udało się załadować zdjęć', 'memories.error.addPhotos': 'Nie udało się dodać zdjęć', 'memories.error.removePhoto': 'Nie udało się usunąć zdjęcia', 'memories.error.toggleSharing': 'Nie udało się zaktualizować udostępniania', 'collab.chat.reply': 'Odpowiedz', 'admin.tabs.permissions': 'Uprawnienia', 'perm.title': 'Ustawienia uprawnień', 'perm.subtitle': 'Kontroluj uprawnienia w aplikacji', 'perm.saved': 'Ustawienia uprawnień zapisane', 'perm.resetDefaults': 'Przywróć domyślne', 'perm.customized': 'dostosowane', 'perm.level.admin': 'Tylko admin', 'perm.level.tripOwner': 'Właściciel podróży', 'perm.level.tripMember': 'Członkowie podróży', 'perm.level.everybody': 'Wszyscy', 'perm.cat.trip': 'Zarządzanie podróżami', 'perm.cat.members': 'Zarządzanie członkami', 'perm.cat.files': 'Pliki', 'perm.cat.content': 'Treść i harmonogram', 'perm.cat.extras': 'Budżet, pakowanie i współpraca', 'perm.action.trip_create': 'Tworzenie podróży', 'perm.action.trip_edit': 'Edytowanie podróży', 'perm.action.trip_delete': 'Usuwanie podróży', 'perm.action.trip_archive': 'Archiwizacja podróży', 'perm.action.trip_cover_upload': 'Przesyłanie okładki', 'perm.action.member_manage': 'Zarządzanie członkami', 'perm.action.file_upload': 'Przesyłanie plików', 'perm.action.file_edit': 'Edytowanie plików', 'perm.action.file_delete': 'Usuwanie plików', 'perm.action.place_edit': 'Zarządzanie miejscami', 'perm.action.day_edit': 'Edytowanie dni', 'perm.action.reservation_edit': 'Zarządzanie rezerwacjami', 'perm.action.budget_edit': 'Zarządzanie budżetem', 'perm.action.packing_edit': 'Zarządzanie pakowaniem', 'perm.action.collab_edit': 'Współpraca', 'perm.action.share_manage': 'Zarządzanie udostępnianiem', 'perm.actionHint.trip_create': 'Kto może tworzyć nowe podróże', 'perm.actionHint.trip_edit': 'Kto może edytować szczegóły podróży', 'perm.actionHint.trip_delete': 'Kto może usunąć podróż', 'perm.actionHint.trip_archive': 'Kto może archiwizować podróż', 'perm.actionHint.trip_cover_upload': 'Kto może zmieniać okładkę', 'perm.actionHint.member_manage': 'Kto może zapraszać lub usuwać członków', 'perm.actionHint.file_upload': 'Kto może przesyłać pliki', 'perm.actionHint.file_edit': 'Kto może edytować pliki', 'perm.actionHint.file_delete': 'Kto może usuwać pliki', 'perm.actionHint.place_edit': 'Kto może zarządzać miejscami', 'perm.actionHint.day_edit': 'Kto może edytować dni i przypisania', 'perm.actionHint.reservation_edit': 'Kto może zarządzać rezerwacjami', 'perm.actionHint.budget_edit': 'Kto może zarządzać budżetem', 'perm.actionHint.packing_edit': 'Kto może zarządzać pakowaniem', 'perm.actionHint.collab_edit': 'Kto może korzystać ze współpracy', 'perm.actionHint.share_manage': 'Kto może zarządzać linkami', 'undo.button': 'Cofnij', 'undo.tooltip': 'Cofnij: {action}', 'undo.assignPlace': 'Miejsce przypisane do dnia', 'undo.removeAssignment': 'Miejsce usunięte z dnia', 'undo.reorder': 'Kolejność zmieniona', 'undo.optimize': 'Trasa zoptymalizowana', 'undo.deletePlace': 'Miejsce usunięte', 'undo.deletePlaces': 'Miejsca usunięte', 'undo.moveDay': 'Miejsce przeniesione', 'undo.lock': 'Blokada przełączona', 'undo.importGpx': 'Import GPX', 'undo.importKeyholeMarkup': 'Import KMZ/KML', 'undo.importGoogleList': 'Import Google Maps', 'undo.importNaverList': 'Import Naver Maps', 'undo.addPlace': 'Miejsce dodane', 'undo.done': 'Cofnięto: {action}', 'notifications.title': 'Powiadomienia', 'notifications.markAllRead': 'Oznacz wszystkie jako przeczytane', 'notifications.deleteAll': 'Usuń wszystkie', 'notifications.showAll': 'Pokaż wszystkie', 'notifications.empty': 'Brak powiadomień', 'notifications.emptyDescription': 'Jesteś na bieżąco!', 'notifications.all': 'Wszystkie', 'notifications.unreadOnly': 'Nieprzeczytane', 'notifications.markRead': 'Oznacz jako przeczytane', 'notifications.markUnread': 'Oznacz jako nieprzeczytane', 'notifications.delete': 'Usuń', 'notifications.system': 'System', 'notifications.synologySessionCleared.title': 'Synology Photos rozłączone', 'notifications.synologySessionCleared.text': 'Twój serwer lub konto zostało zmienione — przejdź do Ustawień, aby ponownie przetestować połączenie.', 'notifications.versionAvailable.title': 'Dostępna aktualizacja', 'notifications.versionAvailable.text': 'TREK {version} jest już dostępny.', 'notifications.versionAvailable.button': 'Zobacz szczegóły', 'notifications.test.title': 'Testowe powiadomienie od {actor}', 'notifications.test.text': 'To jest powiadomienie testowe.', 'notifications.test.booleanTitle': '{actor} prosi o akceptację', 'notifications.test.booleanText': 'Testowe powiadomienie z wyborem.', 'notifications.test.accept': 'Zatwierdź', 'notifications.test.decline': 'Odrzuć', 'notifications.test.navigateTitle': 'Sprawdź coś', 'notifications.test.navigateText': 'Testowe powiadomienie nawigacyjne.', 'notifications.test.goThere': 'Przejdź tam', 'notifications.test.adminTitle': 'Komunikat administracyjny', 'notifications.test.adminText': '{actor} wysłał testowe powiadomienie.', 'notifications.test.tripTitle': '{actor} opublikował w Twojej podróży', 'notifications.test.tripText': 'Testowe powiadomienie dla podróży "{trip}".', // Todo 'todo.subtab.packing': 'Lista pakowania', 'todo.subtab.todo': 'Do zrobienia', 'todo.completed': 'ukończono', 'todo.filter.all': 'Wszystkie', 'todo.filter.open': 'Otwarte', 'todo.filter.done': 'Gotowe', 'todo.uncategorized': 'Bez kategorii', 'todo.namePlaceholder': 'Nazwa zadania', 'todo.descriptionPlaceholder': 'Opis (opcjonalnie)', 'todo.unassigned': 'Nieprzypisane', 'todo.noCategory': 'Brak kategorii', 'todo.hasDescription': 'Ma opis', 'todo.addItem': 'Nowe zadanie', 'todo.sidebar.sortBy': 'Sortuj wg', 'todo.priority': 'Priorytet', 'todo.newCategoryLabel': 'nowa', 'budget.categoriesLabel': 'kategorie', 'todo.newCategory': 'Nazwa kategorii', 'todo.addCategory': 'Dodaj kategorię', 'todo.newItem': 'Nowe zadanie', 'todo.empty': 'Brak zadań. Dodaj zadanie, aby zacząć!', 'todo.filter.my': 'Moje zadania', 'todo.filter.overdue': 'Przeterminowane', 'todo.sidebar.tasks': 'Zadania', 'todo.sidebar.categories': 'Kategorie', 'todo.detail.title': 'Zadanie', 'todo.detail.description': 'Opis', 'todo.detail.category': 'Kategoria', 'todo.detail.dueDate': 'Termin', 'todo.detail.assignedTo': 'Przypisano do', 'todo.detail.delete': 'Usuń', 'todo.detail.save': 'Zapisz zmiany', 'todo.detail.create': 'Utwórz zadanie', 'todo.detail.priority': 'Priorytet', 'todo.detail.noPriority': 'Brak', 'todo.sortByPrio': 'Priorytet', // Notifications — dev test events 'notif.test.title': '[Test] Powiadomienie', 'notif.test.simple.text': 'To jest proste powiadomienie testowe.', 'notif.test.boolean.text': 'Czy akceptujesz to powiadomienie testowe?', 'notif.test.navigate.text': 'Kliknij poniżej, aby przejść do pulpitu.', // Notifications 'notif.trip_invite.title': 'Zaproszenie do podróży', 'notif.trip_invite.text': '{actor} zaprosił Cię do {trip}', 'notif.booking_change.title': 'Rezerwacja zaktualizowana', 'notif.booking_change.text': '{actor} zaktualizował rezerwację w {trip}', 'notif.trip_reminder.title': 'Przypomnienie o podróży', 'notif.trip_reminder.text': 'Twoja podróż {trip} zbliża się!', 'notif.vacay_invite.title': 'Zaproszenie Vacay Fusion', 'notif.vacay_invite.text': '{actor} zaprosił Cię do połączenia planów urlopowych', 'notif.photos_shared.title': 'Zdjęcia udostępnione', 'notif.photos_shared.text': '{actor} udostępnił {count} zdjęcie/zdjęcia w {trip}', 'notif.collab_message.title': 'Nowa wiadomość', 'notif.collab_message.text': '{actor} wysłał wiadomość w {trip}', 'notif.packing_tagged.title': 'Zadanie pakowania', 'notif.packing_tagged.text': '{actor} przypisał Cię do {category} w {trip}', 'notif.version_available.title': 'Nowa wersja dostępna', 'notif.version_available.text': 'TREK {version} jest teraz dostępny', 'notif.action.view_trip': 'Zobacz podróż', 'notif.action.view_collab': 'Zobacz wiadomości', 'notif.action.view_packing': 'Zobacz pakowanie', 'notif.action.view_photos': 'Zobacz zdjęcia', 'notif.action.view_vacay': 'Zobacz Vacay', 'notif.action.view_admin': 'Przejdź do admina', 'notif.action.view': 'Zobacz', 'notif.action.accept': 'Akceptuj', 'notif.action.decline': 'Odrzuć', 'notif.generic.title': 'Powiadomienie', 'notif.generic.text': 'Masz nowe powiadomienie', 'notif.dev.unknown_event.title': '[DEV] Nieznane zdarzenie', 'notif.dev.unknown_event.text': 'Typ zdarzenia "{event}" nie jest zarejestrowany w EVENT_NOTIFICATION_CONFIG', // Journey, Dashboard, Nav, DayPlan 'common.justNow': 'przed chwilą', 'common.hoursAgo': '{count} godz. temu', 'common.daysAgo': '{count} dn. temu', 'memories.saveRouteNotConfigured': 'Trasa zapisu nie jest skonfigurowana dla tego dostawcy', 'memories.testRouteNotConfigured': 'Trasa testowa nie jest skonfigurowana dla tego dostawcy', 'memories.fillRequiredFields': 'Proszę wypełnić wszystkie wymagane pola', 'journey.search.placeholder': 'Szukaj podróży…', 'journey.search.noResults': 'Brak podróży pasujących do „{query}"', 'journey.title': 'Dziennik podróży', 'journey.subtitle': 'Dokumentuj swoje podróże na bieżąco', 'journey.new': 'Nowy dziennik podróży', 'journey.create': 'Utwórz', 'journey.titlePlaceholder': 'Dokąd jedziesz?', 'journey.empty': 'Brak dzienników podróży', 'journey.emptyHint': 'Zacznij dokumentować swoją następną podróż', 'journey.deleted': 'Dziennik podróży usunięty', 'journey.createError': 'Nie udało się utworzyć dziennika podróży', 'journey.deleteError': 'Nie udało się usunąć dziennika podróży', 'journey.deleteConfirmTitle': 'Usuń', 'journey.deleteConfirmMessage': 'Usunąć „{title}"? Tej operacji nie można cofnąć.', 'journey.deleteConfirmGeneric': 'Czy na pewno chcesz to usunąć?', 'journey.notFound': 'Nie znaleziono dziennika podróży', 'journey.photos': 'Zdjęcia', 'journey.timelineEmpty': 'Brak przystanków', 'journey.timelineEmptyHint': 'Dodaj zameldowanie lub napisz wpis w dzienniku, aby rozpocząć', 'journey.status.draft': 'Szkic', 'journey.status.active': 'Aktywny', 'journey.status.completed': 'Zakończony', 'journey.status.upcoming': 'Nadchodzący', 'journey.status.archived': 'Zarchiwizowano', 'journey.checkin.add': 'Zamelduj się', 'journey.checkin.namePlaceholder': 'Nazwa miejsca', 'journey.checkin.notesPlaceholder': 'Notatki (opcjonalnie)', 'journey.checkin.save': 'Zapisz', 'journey.checkin.error': 'Nie udało się zapisać zameldowania', 'journey.entry.add': 'Dziennik', 'journey.entry.edit': 'Edytuj wpis', 'journey.entry.titlePlaceholder': 'Tytuł (opcjonalnie)', 'journey.entry.bodyPlaceholder': 'Co się dziś wydarzyło?', 'journey.entry.save': 'Zapisz', 'journey.entry.error': 'Nie udało się zapisać wpisu', 'journey.photo.add': 'Zdjęcie', 'journey.photo.uploadError': 'Przesyłanie nie powiodło się', 'journey.share.share': 'Udostępnij', 'journey.share.public': 'Publiczny', 'journey.share.linkCopied': 'Publiczny link skopiowany', 'journey.share.disabled': 'Udostępnianie publiczne wyłączone', 'journey.editor.titlePlaceholder': 'Nadaj temu momentowi nazwę...', 'journey.editor.bodyPlaceholder': 'Opowiedz historię tego dnia...', 'journey.editor.placePlaceholder': 'Lokalizacja (opcjonalnie)', 'journey.editor.tagsPlaceholder': 'Tagi: ukryty skarb, najlepszy posiłek, warto wrócić...', 'journey.visibility.private': 'Prywatny', 'journey.visibility.shared': 'Udostępniony', 'journey.visibility.public': 'Publiczny', 'journey.emptyState.title': 'Twoja historia zaczyna się tutaj', 'journey.emptyState.subtitle': 'Zamelduj się w miejscu lub napisz swój pierwszy wpis w dzienniku', 'journey.frontpage.subtitle': 'Zamień swoje podróże w historie, których nigdy nie zapomnisz', 'journey.frontpage.createJourney': 'Utwórz dziennik podróży', 'journey.frontpage.activeJourney': 'Aktywny dziennik podróży', 'journey.frontpage.allJourneys': 'Wszystkie dzienniki podróży', 'journey.frontpage.journeys': 'dzienniki podróży', 'journey.frontpage.createNew': 'Utwórz nowy dziennik podróży', 'journey.frontpage.createNewSub': 'Wybierz podróże, pisz historie, dziel się przygodami', 'journey.frontpage.live': 'Na żywo', 'journey.frontpage.synced': 'Zsynchronizowany', 'journey.frontpage.continueWriting': 'Kontynuuj pisanie', 'journey.frontpage.updated': 'Zaktualizowano {time}', 'journey.frontpage.suggestionLabel': 'Podróż właśnie się zakończyła', 'journey.frontpage.suggestionText': 'Zamień {title} w dziennik podróży', 'journey.frontpage.dismiss': 'Odrzuć', 'journey.frontpage.journeyName': 'Nazwa dziennika podróży', 'journey.frontpage.namePlaceholder': 'np. Azja Południowo-Wschodnia 2026', 'journey.frontpage.selectTrips': 'Wybierz podróże', 'journey.frontpage.tripsSelected': 'podróży wybranych', 'journey.frontpage.trips': 'podróże', 'journey.frontpage.placesImported': 'miejsc zostanie zaimportowanych', 'journey.frontpage.places': 'miejsca', 'journey.detail.backToJourney': 'Powrót do dziennika podróży', 'journey.detail.syncedWithTrips': 'Zsynchronizowany z podróżami', 'journey.detail.addEntry': 'Dodaj wpis', 'journey.detail.newEntry': 'Nowy wpis', 'journey.detail.editEntry': 'Edytuj wpis', 'journey.detail.noEntries': 'Brak wpisów', 'journey.detail.noEntriesHint': 'Dodaj podróż, aby rozpocząć ze szkieletowymi wpisami', 'journey.detail.noPhotos': 'Brak zdjęć', 'journey.detail.noPhotosHint': 'Prześlij zdjęcia do wpisów lub przeglądaj bibliotekę Immich/Synology', 'journey.detail.journeyStats': 'Statystyki podróży', 'journey.detail.syncedTrips': 'Zsynchronizowane podróże', 'journey.detail.noTripsLinked': 'Brak powiązanych podróży', 'journey.detail.contributors': 'Współtwórcy', 'journey.detail.readMore': 'Czytaj dalej', 'journey.detail.prosCons': 'Zalety i wady', 'journey.detail.photos': 'zdjęć', 'journey.detail.day': 'Dzień {number}', 'journey.detail.places': 'miejsc', 'journey.stats.days': 'Dni', 'journey.stats.cities': 'Miasta', 'journey.stats.entries': 'Wpisy', 'journey.stats.photos': 'Zdjęcia', 'journey.stats.places': 'Miejsca', 'journey.skeletons.show': 'Pokaż sugestie', 'journey.skeletons.hide': 'Ukryj sugestie', 'journey.verdict.lovedIt': 'Świetne', 'journey.verdict.couldBeBetter': 'Mogłoby być lepiej', 'journey.synced.places': 'miejsca', 'journey.synced.synced': 'zsynchronizowane', 'journey.editor.discardChangesConfirm': 'Masz niezapisane zmiany. Odrzucić?', 'journey.editor.uploadPhotos': 'Prześlij zdjęcia', 'journey.editor.uploading': 'Przesyłanie...', 'journey.editor.fromGallery': 'Z galerii', 'journey.editor.allPhotosAdded': 'Wszystkie zdjęcia już dodane', 'journey.editor.writeStory': 'Napisz swoją historię...', 'journey.editor.prosCons': 'Zalety i wady', 'journey.editor.pros': 'Zalety', 'journey.editor.cons': 'Wady', 'journey.editor.proPlaceholder': 'Coś świetnego...', 'journey.editor.conPlaceholder': 'Nie tak świetne...', 'journey.editor.addAnother': 'Dodaj kolejny', 'journey.editor.date': 'Data', 'journey.editor.location': 'Lokalizacja', 'journey.editor.searchLocation': 'Szukaj lokalizacji...', 'journey.editor.mood': 'Nastrój', 'journey.editor.weather': 'Pogoda', 'journey.editor.photoFirst': '1.', 'journey.editor.makeFirst': 'Ustaw jako 1.', 'journey.editor.searching': 'Szukanie...', 'journey.mood.amazing': 'Niesamowity', 'journey.mood.good': 'Dobry', 'journey.mood.neutral': 'Neutralny', 'journey.mood.rough': 'Ciężki', 'journey.weather.sunny': 'Słonecznie', 'journey.weather.partly': 'Częściowe zachmurzenie', 'journey.weather.cloudy': 'Pochmurno', 'journey.weather.rainy': 'Deszczowo', 'journey.weather.stormy': 'Burzowo', 'journey.weather.cold': 'Śnieżnie', 'journey.trips.linkTrip': 'Powiąż podróż', 'journey.trips.searchTrip': 'Szukaj podróży', 'journey.trips.searchPlaceholder': 'Nazwa podróży lub cel...', 'journey.trips.noTripsAvailable': 'Brak dostępnych podróży', 'journey.trips.link': 'Powiąż', 'journey.trips.tripLinked': 'Podróż powiązana', 'journey.trips.linkFailed': 'Powiązanie podróży nie powiodło się', 'journey.trips.addTrip': 'Dodaj podróż', 'journey.trips.unlinkTrip': 'Odłącz podróż', 'journey.trips.unlinkMessage': 'Odłączyć „{title}"? Wszystkie zsynchronizowane wpisy i zdjęcia z tej podróży zostaną trwale usunięte. Tej operacji nie można cofnąć.', 'journey.trips.unlink': 'Odłącz', 'journey.trips.tripUnlinked': 'Podróż odłączona', 'journey.trips.unlinkFailed': 'Odłączenie podróży nie powiodło się', 'journey.trips.noTripsLinkedSettings': 'Brak powiązanych podróży', 'journey.contributors.invite': 'Zaproś współtwórcę', 'journey.contributors.searchUser': 'Szukaj użytkownika', 'journey.contributors.searchPlaceholder': 'Nazwa użytkownika lub e-mail...', 'journey.contributors.noUsers': 'Nie znaleziono użytkowników', 'journey.contributors.role': 'Rola', 'journey.contributors.added': 'Współtwórca dodany', 'journey.contributors.addFailed': 'Dodawanie współtwórcy nie powiodło się', 'journey.share.publicShare': 'Udostępnianie publiczne', 'journey.share.createLink': 'Utwórz link udostępniania', 'journey.share.linkCreated': 'Link udostępniania utworzony', 'journey.share.createFailed': 'Tworzenie linku nie powiodło się', 'journey.share.copy': 'Kopiuj', 'journey.share.copied': 'Skopiowano!', 'journey.share.timeline': 'Oś czasu', 'journey.share.gallery': 'Galeria', 'journey.share.map': 'Mapa', 'journey.share.removeLink': 'Usuń link udostępniania', 'journey.share.linkDeleted': 'Link udostępniania usunięty', 'journey.share.deleteFailed': 'Usunięcie nie powiodło się', 'journey.share.updateFailed': 'Aktualizacja nie powiodła się', // Journey — Invite 'journey.invite.role': 'Rola', 'journey.invite.viewer': 'Obserwator', 'journey.invite.editor': 'Redaktor', 'journey.invite.invite': 'Zaproś', 'journey.invite.inviting': 'Zapraszanie...', 'journey.settings.title': 'Ustawienia dziennika podróży', 'journey.settings.coverImage': 'Zdjęcie okładkowe', 'journey.settings.changeCover': 'Zmień okładkę', 'journey.settings.addCover': 'Dodaj zdjęcie okładkowe', 'journey.settings.name': 'Nazwa', 'journey.settings.subtitle': 'Podtytuł', 'journey.settings.subtitlePlaceholder': 'np. Tajlandia, Wietnam i Kambodża', 'journey.settings.endJourney': 'Archiwizuj podróż', 'journey.settings.reopenJourney': 'Przywróć podróż', 'journey.settings.archived': 'Podróż zarchiwizowana', 'journey.settings.reopened': 'Podróż wznowiona', 'journey.settings.endDescription': 'Ukrywa odznakę Na żywo. Możesz wznowić w dowolnym momencie.', 'journey.settings.delete': 'Usuń', 'journey.settings.deleteJourney': 'Usuń dziennik podróży', 'journey.settings.deleteMessage': 'Usunąć „{title}"? Wszystkie wpisy i zdjęcia zostaną utracone.', 'journey.settings.saved': 'Ustawienia zapisane', 'journey.settings.saveFailed': 'Zapisywanie nie powiodło się', 'journey.settings.coverUpdated': 'Okładka zaktualizowana', 'journey.settings.coverFailed': 'Przesyłanie nie powiodło się', 'journey.settings.failedToDelete': 'Nie udało się usunąć', 'journey.entries.deleteTitle': 'Usuń wpis', 'journey.photosUploaded': '{count} zdjęć przesłanych', 'journey.photosAdded': '{count} zdjęć dodanych', 'journey.public.notFound': 'Nie znaleziono', 'journey.public.notFoundMessage': 'Ten dziennik podróży nie istnieje lub link wygasł.', 'journey.public.readOnly': 'Tylko do odczytu · Publiczny dziennik podróży', 'journey.public.tagline': 'Travel Resource & Exploration Kit', 'journey.public.sharedVia': 'Udostępnione przez', 'journey.public.madeWith': 'Stworzone z', 'journey.pdf.journeyBook': 'Książka podróży', 'journey.pdf.madeWith': 'Stworzone z TREK', 'journey.pdf.day': 'Dzień', 'journey.pdf.theEnd': 'Koniec', 'journey.pdf.saveAsPdf': 'Zapisz jako PDF', 'journey.pdf.pages': 'stron', 'journey.picker.tripPeriod': 'Okres podróży', 'journey.picker.dateRange': 'Zakres dat', 'journey.picker.allPhotos': 'Wszystkie zdjęcia', 'journey.picker.albums': 'Albumy', 'journey.picker.selected': 'wybranych', 'journey.picker.addTo': 'Dodaj do', 'journey.picker.newGallery': 'Nowa galeria', 'journey.picker.selectAll': 'Zaznacz wszystko', 'journey.picker.deselectAll': 'Odznacz wszystko', 'journey.picker.noAlbums': 'Nie znaleziono albumów', 'journey.picker.selectDate': 'Wybierz datę', 'journey.picker.search': 'Szukaj', 'dashboard.greeting.morning': 'Dzień dobry,', 'dashboard.greeting.afternoon': 'Dzień dobry,', 'dashboard.greeting.evening': 'Dobry wieczór,', 'dashboard.mobile.liveNow': 'Na żywo', 'dashboard.mobile.tripProgress': 'Postęp podróży', 'dashboard.mobile.daysLeft': 'Pozostało {count} dni', 'dashboard.mobile.places': 'Miejsca', 'dashboard.mobile.buddies': 'Towarzysze', 'dashboard.mobile.newTrip': 'Nowa podróż', 'dashboard.mobile.currency': 'Waluta', 'dashboard.mobile.timezone': 'Strefa czasowa', 'dashboard.mobile.upcomingTrips': 'Nadchodzące podróże', 'dashboard.mobile.yourTrips': 'Twoje podróże', 'dashboard.mobile.trips': 'podróże', 'dashboard.mobile.starts': 'Początek', 'dashboard.mobile.duration': 'Czas trwania', 'dashboard.mobile.day': 'dzień', 'dashboard.mobile.days': 'dni', 'dashboard.mobile.ongoing': 'W trakcie', 'dashboard.mobile.startsToday': 'Zaczyna się dziś', 'dashboard.mobile.tomorrow': 'Jutro', 'dashboard.mobile.inDays': 'Za {count} dni', 'dashboard.mobile.inMonths': 'Za {count} miesięcy', 'dashboard.mobile.completed': 'Zakończone', 'dashboard.mobile.currencyConverter': 'Przelicznik walut', 'nav.profile': 'Profil', 'nav.bottomSettings': 'Ustawienia', 'nav.bottomAdmin': 'Ustawienia administratora', 'nav.bottomLogout': 'Wyloguj się', 'nav.bottomAdminBadge': 'Administrator', 'dayplan.mobile.addPlace': 'Dodaj miejsce', 'dayplan.mobile.searchPlaces': 'Szukaj miejsc...', 'dayplan.mobile.allAssigned': 'Wszystkie miejsca przypisane', 'dayplan.mobile.noMatch': 'Brak wyników', 'dayplan.mobile.createNew': 'Utwórz nowe miejsce', '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', // OAuth scope groups 'oauth.scope.group.trips': 'Podróże', 'oauth.scope.group.places': 'Miejsca', 'oauth.scope.group.atlas': 'Atlas', 'oauth.scope.group.packing': 'Pakowanie', 'oauth.scope.group.todos': 'Zadania', 'oauth.scope.group.budget': 'Budżet', 'oauth.scope.group.reservations': 'Rezerwacje', 'oauth.scope.group.collab': 'Współpraca', 'oauth.scope.group.notifications': 'Powiadomienia', 'oauth.scope.group.vacay': 'Urlop', 'oauth.scope.group.geo': 'Geo', 'oauth.scope.group.weather': 'Pogoda', 'oauth.scope.group.journey': 'Dziennik podróży', // OAuth scope labels & descriptions 'oauth.scope.trips:read.label': 'Przeglądaj podróże i itineraria', 'oauth.scope.trips:read.description': 'Odczytuj podróże, dni, notatki i członków', 'oauth.scope.trips:write.label': 'Edytuj podróże i itineraria', 'oauth.scope.trips:write.description': 'Twórz i aktualizuj podróże, dni, notatki oraz zarządzaj członkami', 'oauth.scope.trips:delete.label': 'Usuń podróże', 'oauth.scope.trips:delete.description': 'Trwale usuń całe podróże — ta akcja jest nieodwracalna', 'oauth.scope.trips:share.label': 'Zarządzaj linkami udostępniania', 'oauth.scope.trips:share.description': 'Twórz, aktualizuj i unieważniaj publiczne linki udostępniania', 'oauth.scope.places:read.label': 'Przeglądaj miejsca i dane mapy', 'oauth.scope.places:read.description': 'Odczytuj miejsca, przypisania dni, tagi i kategorie', 'oauth.scope.places:write.label': 'Zarządzaj miejscami', 'oauth.scope.places:write.description': 'Twórz, aktualizuj i usuń miejsca, przypisania i tagi', 'oauth.scope.atlas:read.label': 'Przeglądaj Atlas', 'oauth.scope.atlas:read.description': 'Odczytuj odwiedzone kraje, regiony i listę marzeń', 'oauth.scope.atlas:write.label': 'Zarządzaj Atlasem', 'oauth.scope.atlas:write.description': 'Oznaczaj kraje i regiony jako odwiedzone, zarządzaj listą marzeń', 'oauth.scope.packing:read.label': 'Przeglądaj listy pakowania', 'oauth.scope.packing:read.description': 'Odczytuj przedmioty, torby i przypisania kategorii', 'oauth.scope.packing:write.label': 'Zarządzaj listami pakowania', 'oauth.scope.packing:write.description': 'Dodawaj, aktualizuj, usuwaj, zaznaczaj i porządkuj przedmioty i torby', 'oauth.scope.todos:read.label': 'Przeglądaj listy zadań', 'oauth.scope.todos:read.description': 'Odczytuj zadania podróży i przypisania kategorii', 'oauth.scope.todos:write.label': 'Zarządzaj listami zadań', 'oauth.scope.todos:write.description': 'Twórz, aktualizuj, zaznaczaj, usuwaj i porządkuj zadania', 'oauth.scope.budget:read.label': 'Przeglądaj budżet', 'oauth.scope.budget:read.description': 'Odczytuj pozycje budżetu i zestawienie wydatków', 'oauth.scope.budget:write.label': 'Zarządzaj budżetem', 'oauth.scope.budget:write.description': 'Twórz, aktualizuj i usuń pozycje budżetu', 'oauth.scope.reservations:read.label': 'Przeglądaj rezerwacje', 'oauth.scope.reservations:read.description': 'Odczytuj rezerwacje i szczegóły zakwaterowania', 'oauth.scope.reservations:write.label': 'Zarządzaj rezerwacjami', 'oauth.scope.reservations:write.description': 'Twórz, aktualizuj, usuwaj i porządkuj rezerwacje', 'oauth.scope.collab:read.label': 'Przeglądaj współpracę', 'oauth.scope.collab:read.description': 'Odczytuj notatki, ankiety i wiadomości', 'oauth.scope.collab:write.label': 'Zarządzaj współpracą', 'oauth.scope.collab:write.description': 'Twórz, aktualizuj i usuń notatki, ankiety i wiadomości', 'oauth.scope.notifications:read.label': 'Przeglądaj powiadomienia', 'oauth.scope.notifications:read.description': 'Odczytuj powiadomienia i liczby nieprzeczytanych', 'oauth.scope.notifications:write.label': 'Zarządzaj powiadomieniami', 'oauth.scope.notifications:write.description': 'Oznaczaj powiadomienia jako przeczytane i odpowiadaj na nie', 'oauth.scope.vacay:read.label': 'Przeglądaj plany urlopowe', 'oauth.scope.vacay:read.description': 'Odczytuj dane planowania urlopu, wpisy i statystyki', 'oauth.scope.vacay:write.label': 'Zarządzaj planami urlopowymi', 'oauth.scope.vacay:write.description': 'Twórz i zarządzaj wpisami urlopowymi, świętami i planami zespołu', 'oauth.scope.geo:read.label': 'Mapy i geokodowanie', 'oauth.scope.geo:read.description': 'Wyszukuj miejsca, rozwiązuj adresy URL map i odwrotnie geokoduj współrzędne', 'oauth.scope.weather:read.label': 'Prognozy pogody', 'oauth.scope.weather:read.description': 'Pobieraj prognozy pogody dla miejsc i dat podróży', 'oauth.scope.journey:read.label': 'Przeglądaj dzienniki podróży', 'oauth.scope.journey:read.description': 'Odczytuj dzienniki podróży, wpisy i listę współautorów', 'oauth.scope.journey:write.label': 'Zarządzaj dziennikami podróży', 'oauth.scope.journey:write.description': 'Twórz, aktualizuj i usuwaj dzienniki podróży oraz ich wpisy', 'oauth.scope.journey:share.label': 'Zarządzaj linkami dzienników podróży', 'oauth.scope.journey:share.description': 'Twórz, aktualizuj i unieważniaj publiczne linki udostępniania dzienników podróży', // System notices 'system_notice.welcome_v1.title': 'Witaj w TREK', 'system_notice.welcome_v1.body': 'Twój kompleksowy planer podróży. Twórz trasy, dziel się wycieczkami ze znajomymi i bądź zorganizowany — online i offline.', 'system_notice.welcome_v1.cta_label': 'Zaplanuj podróż', 'system_notice.welcome_v1.hero_alt': 'Malownicze miejsce z interfejsem planowania TREK', 'system_notice.welcome_v1.highlight_plan': 'Trasy dzień po dniu', 'system_notice.welcome_v1.highlight_share': 'Współpraca z partnerami podróży', 'system_notice.welcome_v1.highlight_offline': 'Działa offline na telefonie', 'system_notice.dev_test_modal.title': '[Dev] Test notice', 'system_notice.dev_test_modal.body': 'This is a dev-only test notice.', 'system_notice.pager.prev': 'Poprzednie powiadomienie', 'system_notice.pager.next': 'Następne powiadomienie', 'system_notice.pager.counter': '{current} / {total}', 'system_notice.pager.goto': 'Przejdź do powiadomienia {n}', 'system_notice.pager.position': 'Powiadomienie {current} z {total}', // System notices — 3.0.0 upgrade 'system_notice.v3_photos.title': 'Zdjęcia zostały przeniesione w 3.0', 'system_notice.v3_photos.body': '**Zdjęcia** w Planerze Podróży zostały usunięte. Twoje zdjęcia są bezpieczne — TREK nigdy nie modyfikował Twojej biblioteki Immich lub Synology.\n\nZdjęcia są teraz dostępne w dodatku **Journey**. Journey jest opcjonalny — jeśli jeszcze nie jest dostępny, poproś administratora o jego włączenie w Admin → Dodatki.', 'system_notice.v3_journey.title': 'Poznaj Journey — dziennik podróży', 'system_notice.v3_journey.body': 'Dokumentuj swoje podróże jako bogatrze opowieści z osami czasu, galeriami i mapami interaktywnymi.', 'system_notice.v3_journey.cta_label': 'Otwórz Journey', 'system_notice.v3_journey.highlight_timeline': 'Dzienna oś czasu i galeria', 'system_notice.v3_journey.highlight_photos': 'Import z Immich lub Synology', 'system_notice.v3_journey.highlight_share': 'Udostępnij publicznie — bez logowania', 'system_notice.v3_journey.highlight_export': 'Eksportuj jako książkę fotograficzną PDF', 'system_notice.v3_features.title': 'Więcej nowości w 3.0', 'system_notice.v3_features.body': 'Kilka innych rzeczy wartych uwagi w tym wydaniu.', 'system_notice.v3_features.highlight_dashboard': 'Przeprojektowany pulpit mobile-first', 'system_notice.v3_features.highlight_offline': 'Pełny tryb offline jako PWA', 'system_notice.v3_features.highlight_search': 'Autouzupełnianie wyszukiwania miejsc', 'system_notice.v3_features.highlight_import': 'Import miejsc z plików KMZ/KML', // System notices — MCP OAuth 2.1 upgrade 'system_notice.v3_mcp.title': 'MCP: aktualizacja OAuth 2.1', 'system_notice.v3_mcp.body': 'Integracja MCP została całkowicie przeprojektowana. OAuth 2.1 jest teraz zalecaną metodą uwierzytelniania. Statyczne tokeny (trek_…) są przestarzałe i zostaną usunięte w przyszłej wersji.', 'system_notice.v3_mcp.highlight_oauth': 'OAuth 2.1 zalecany (mcp-remote)', 'system_notice.v3_mcp.highlight_scopes': '24 szczegółowe zakresy uprawnień', 'system_notice.v3_mcp.highlight_deprecated': 'Statyczne tokeny trek_ przestarzałe', 'system_notice.v3_mcp.highlight_tools': 'Rozszerzony zestaw narzędzi i promptów', // System notices — personal thank you 'system_notice.v3_thankyou.title': 'Osobiste słowo ode mnie', 'system_notice.v3_thankyou.body': 'Zanim pójdziesz dalej — chcę się na chwilę zatrzymać.\n\nTREK zaczął się jako poboczny projekt, który zbudowałem na własne podróże. Nigdy nie wyobrażałem sobie, że wyrośnie na coś, czemu 4000 z was ufa przy planowaniu swoich przygód. Każda gwiazdka, każdy issue, każda prośba o funkcję — czytam je wszystkie i to one trzymają mnie na nogach podczas późnych nocy między pracą na pełny etat a uczelnią.\n\nChcę, żebyście wiedzieli: TREK zawsze będzie open source, zawsze self-hosted, zawsze wasz. Bez śledzenia, bez subskrypcji, bez haczyków. Po prostu narzędzie zbudowane przez kogoś, kto kocha podróżowanie tak samo jak wy.\n\nSzczególne podziękowania dla [jubnl](https://github.com/jubnl) — stałeś się niesamowitym współpracownikiem. Tak wiele z tego, co czyni wersję 3.0 wspaniałą, nosi twój ślad. Dziękuję, że uwierzyłeś w ten projekt, gdy był jeszcze surowy.\n\nI każdemu z was, kto zgłosił błąd, przetłumaczył tekst, podzielił się TREK z przyjacielem lub po prostu użył go do zaplanowania podróży — **dziękuję**. To wy jesteście powodem, dla którego to istnieje.\n\nZa wiele kolejnych wspólnych przygód.\n\n— Maurice\n\n---\n\n[Dołącz do społeczności na Discordzie](https://discord.gg/7Q6M6jDwzf)\n\nJeśli TREK sprawia, że Twoje podróże są lepsze, [mała kawa](https://ko-fi.com/mauriceboe) zawsze pomaga utrzymać światła włączone.', 'transport.addTransport': 'Add transport', 'transport.modalTitle.create': 'Add transport', 'transport.modalTitle.edit': 'Edit transport', 'transport.title': 'Transport', 'transport.addManual': 'Ręczny transport', } export default pl