Files
TREK/client/src/i18n/translations/pl.ts
Maurice 67b21d5fe3 i18n(admin): rename tabs and merge notification panels
- Configuration → Personalization (all 13 languages)
- Merge Notification Channels + Admin Notifications into single Notifications tab
- Audit Log → Audit (all 13 languages)
2026-04-05 14:46:36 +02:00

1674 lines
86 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const pl: Record<string, string | { name: string; category: string }[]> = {
// Common
'common.save': 'Zapisz',
'common.cancel': 'Anuluj',
'common.delete': 'Usuń',
'common.edit': 'Edytuj',
'common.add': 'Dodaj',
'common.loading': 'Ładowanie...',
'common.error': 'Błąd',
'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...',
'common.update': 'Aktualizuj',
'common.change': 'Zmień',
'common.uploading': 'Przesyłanie...',
'common.backToPlanning': 'Powrót do planowania',
'common.reset': 'Reset',
// 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.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.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.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 <your_token> 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.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.account': 'Konto',
'settings.about': 'O aplikacji',
'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.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',
// 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.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': 'Test',
'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.bagTracking.title': 'Kontrola bagażu',
'admin.bagTracking.subtitle': 'Włącz wagę i przypisywanie do toreb dla przedmiotów do pakowania',
'admin.tabs.config': 'Personalizacja',
'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': 'Collab',
'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': 'Tokeny MCP',
'admin.mcpTokens.title': 'Tokeny MCP',
'admin.mcpTokens.subtitle': 'Zarządzaj tokenami API dla wszystkich użytkowników',
'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.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': 'Weekend',
'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.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': 'Streak',
'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.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?',
// 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.importGpx': 'Importuj GPX',
'places.gpxImported': '{count} miejsc zaimportowanych z GPX',
'places.urlResolved': 'Miejsce zaimportowane z URL',
'places.gpxError': 'Nie udało się zaimportować pliku GPX',
'places.assignToDay': 'Do którego dnia dodać?',
'places.all': 'Wszystkie',
'places.unplanned': 'Niezaplanowane',
'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.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.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.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.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.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',
// 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.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.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.assignUser': 'Przypisz użytkownika',
'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 128 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.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ęć',
// 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.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.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.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.immichUrl': 'URL serwera Immich',
'memories.immichApiKey': 'Klucz API',
'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 Immich zostały zapisane',
'memories.addPhotos': 'Dodaj zdjęcia',
'memories.selectPhotos': 'Wybierz zdjęcia z Immich',
'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.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': 'Email (SMTP)',
'admin.notifications.webhook': 'Webhook',
'admin.notifications.events': 'Zdarzenia powiadomień',
'admin.notifications.eventsHint': 'Wybierz zdarzenia wyzwalające powiadomienia.',
'admin.notifications.configureFirst': 'Najpierw skonfiguruj ustawienia SMTP lub 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.adminNotificationsHint': 'Skonfiguruj, które kanały dostarczają powiadomienia admina (np. alerty o wersjach). Webhook wysyła automatycznie, gdy ustawiony jest URL webhooka admina.',
'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.save': 'Zapisz',
'settings.webhookUrl.saved': 'URL webhooka zapisany',
'settings.webhookUrl.test': 'Test',
'settings.webhookUrl.testSuccess': 'Testowy webhook wysłany pomyślnie',
'settings.webhookUrl.testFailed': 'Wysyłanie testowego webhooka nie powiodło się',
'settings.notificationPreferences.inapp': 'In-App',
'settings.notificationPreferences.webhook': 'Webhook',
'settings.notificationPreferences.email': 'Email',
'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.importGoogleList': 'Lista Google',
'places.googleListHint': 'Wklej link do listy Google Maps.',
'places.googleListImported': 'Zaimportowano {count} miejsc',
'places.googleListError': 'Nie udało się zaimportować listy',
'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.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.moveDay': 'Miejsce przeniesione',
'undo.lock': 'Blokada przełączona',
'undo.importGpx': 'Import GPX',
'undo.importGoogleList': 'Import Google 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.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': 'Dodaj nowe zadanie...',
'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',
}
export default pl