// ignore: unused_import
import 'package:intl/intl.dart' as intl;
import 'app_localizations.dart';

// ignore_for_file: type=lint

/// The translations for Polish (`pl`).
class AppLocalizationsPl extends AppLocalizations {
  AppLocalizationsPl([String locale = 'pl']) : super(locale);

  @override
  String get appTitle => 'MeshCore Open';

  @override
  String get nav_contacts => 'Kontakty';

  @override
  String get nav_channels => 'Kanały';

  @override
  String get nav_map => 'Mapa';

  @override
  String get common_cancel => 'Anuluj';

  @override
  String get common_ok => 'Dobrze';

  @override
  String get common_connect => 'Połącz';

  @override
  String get common_unknownDevice => 'Nieznane urządzenie';

  @override
  String get common_save => 'Zapisz';

  @override
  String get common_delete => 'Usuń';

  @override
  String get common_deleteAll => 'Usuń wszystko';

  @override
  String get common_close => 'Zamknij';

  @override
  String get common_done => 'Done';

  @override
  String get common_edit => 'Edytuj';

  @override
  String get common_add => 'Dodaj';

  @override
  String get common_settings => 'Ustawienia';

  @override
  String get common_disconnect => 'Odłącz';

  @override
  String get common_connected => 'Połączono';

  @override
  String get common_disconnected => 'Odłączony';

  @override
  String get common_create => 'Utwórz';

  @override
  String get common_continue => 'Kontynuuj';

  @override
  String get common_share => 'Udostępnij';

  @override
  String get common_copy => 'Kopiuj';

  @override
  String get common_retry => 'Ponów';

  @override
  String get common_hide => 'Ukryj';

  @override
  String get common_remove => 'Usuń';

  @override
  String get common_enable => 'Włącz';

  @override
  String get common_disable => 'Wyłącz';

  @override
  String get common_undo => 'Wycofaj';

  @override
  String get messageStatus_sent => 'Wysłane';

  @override
  String get messageStatus_delivered => 'Dostarczone';

  @override
  String get messageStatus_pending => 'Wysyłanie';

  @override
  String get messageStatus_failed => 'Nie udało się wysłać';

  @override
  String get messageStatus_repeated => 'Usłyszałem to wielokrotnie';

  @override
  String get common_reboot => 'Uruchom ponownie';

  @override
  String get common_loading => 'Ładowanie...';

  @override
  String get common_notAvailable => '—';

  @override
  String common_voltageValue(String volts) {
    return '$volts V';
  }

  @override
  String common_percentValue(int percent) {
    return '$percent%';
  }

  @override
  String get common_autoRefresh => 'Automatyczne odświeżanie';

  @override
  String get common_interval => 'Interwał';

  @override
  String get scanner_title => 'MeshCore – wersja open source';

  @override
  String get connectionChoiceUsbLabel => 'USB';

  @override
  String get connectionChoiceBluetoothLabel => 'Bluetooth';

  @override
  String get connectionChoiceTcpLabel => 'TCP';

  @override
  String get tcpScreenTitle => 'Połącz się za pomocą protokołu TCP';

  @override
  String get tcpHostLabel => 'Adres IP';

  @override
  String get tcpHostHint => '192.168.40.10';

  @override
  String get tcpPortLabel => 'Port';

  @override
  String get tcpPortHint => '5000';

  @override
  String get tcpStatus_notConnected => 'Wprowadź adres URL i połącz';

  @override
  String tcpStatus_connectingTo(String endpoint) {
    return 'Połączenie z $endpoint...';
  }

  @override
  String get tcpErrorHostRequired => 'Wymagana jest adresa IP.';

  @override
  String get tcpErrorPortInvalid =>
      'Numer portu musi mieścić się w zakresie od 1 do 65535.';

  @override
  String get tcpErrorUnsupported =>
      'Transport TCP nie jest obsługiwany na tej platformie.';

  @override
  String get tcpErrorTimedOut =>
      'Połączenie TCP zakończyło się bez powodzenia.';

  @override
  String tcpConnectionFailed(String error) {
    return 'Błąd połączenia TCP: $error';
  }

  @override
  String get usbScreenTitle => 'Połącz przez USB';

  @override
  String get usbScreenSubtitle =>
      'Wybierz wykryte urządzenie szeregowe i połącz się bezpośrednio ze swoim węzłem MeshCore.';

  @override
  String get usbScreenStatus => 'Wybierz urządzenie USB';

  @override
  String get usbScreenNote =>
      'Port szeregowy USB jest aktywny na urządzeniach z systemem Android i platformach stacjonarnych, które go obsługują.';

  @override
  String get usbScreenEmptyState =>
      'Nie znaleziono żadnych urządzeń USB. Podłącz jedno i zaktualizuj.';

  @override
  String get usbErrorPermissionDenied =>
      'Zostało odrzucone żądanie dostępu przez USB.';

  @override
  String get usbErrorDeviceMissing =>
      'Wybór urządzenia USB już nie jest dostępny.';

  @override
  String get usbErrorInvalidPort => 'Wybierz prawidłowe urządzenie USB.';

  @override
  String get usbErrorBusy =>
      'Kolejne żądanie połączenia przez USB jest już w trakcie realizacji.';

  @override
  String get usbErrorNotConnected => 'Brak podłączonego urządzenia USB.';

  @override
  String get usbErrorOpenFailed =>
      'Nie udało się otworzyć wybranego urządzenia USB.';

  @override
  String get usbErrorConnectFailed =>
      'Nie udało się połączyć z wybranym urządzeniem USB.';

  @override
  String get usbErrorUnsupported =>
      'Port szeregowy USB nie jest obsługiwany na tym urządzeniu.';

  @override
  String get usbErrorAlreadyActive => 'Połączenie USB jest już aktywne.';

  @override
  String get usbErrorNoDeviceSelected =>
      'Nie został wybrany żaden urządzenie USB.';

  @override
  String get usbErrorPortClosed => 'Połączenie USB nie jest aktywne.';

  @override
  String get usbErrorConnectTimedOut =>
      'Połączenie nie zostało nawiązane. Upewnij się, że urządzenie posiada oprogramowanie \"USB Companion\".';

  @override
  String get usbFallbackDeviceName =>
      'Urządzenie do komunikacji przez sieć (seria)';

  @override
  String get usbStatus_notConnected => 'Wybierz urządzenie USB';

  @override
  String get usbStatus_connecting => 'Połączenie z urządzeniem USB...';

  @override
  String get usbStatus_searching => 'Wyszukiwanie urządzeń USB...';

  @override
  String usbConnectionFailed(String error) {
    return 'Błąd połączenia USB: $error';
  }

  @override
  String get scanner_scanning => 'Skanowanie urządzeń...';

  @override
  String get scanner_connecting => 'Łączenie...';

  @override
  String get scanner_disconnecting => 'Odłączanie...';

  @override
  String get scanner_notConnected => 'Nie połączono';

  @override
  String scanner_connectedTo(String deviceName) {
    return 'Połączono z $deviceName';
  }

  @override
  String get scanner_searchingDevices => 'Wyszukiwanie urządzeń MeshCore...';

  @override
  String get scanner_tapToScan =>
      'Naciśnij Skan, aby znaleźć urządzenia MeshCore';

  @override
  String scanner_connectionFailed(String error) {
    return 'Połączenie nieudane: $error';
  }

  @override
  String get scanner_stop => 'Zatrzymaj';

  @override
  String get scanner_scan => 'Przeskanuj';

  @override
  String get scanner_bluetoothOff => 'Bluetooth jest wyłączony';

  @override
  String get scanner_bluetoothOffMessage =>
      'Prosimy włączyć Bluetooth, aby przeskanować urządzenia.';

  @override
  String get scanner_chromeRequired => 'Wymagana przeglądarka Chrome';

  @override
  String get scanner_chromeRequiredMessage =>
      'Ta aplikacja internetowa wymaga przeglądarki Google Chrome lub opartej na Chromium do obsługi Bluetooth.';

  @override
  String get scanner_enableBluetooth => 'Włącz Bluetooth';

  @override
  String get scanner_bluetoothWebUnsupported =>
      'Bluetooth nie jest dostępny w przeglądarce. Połącz się przez USB.';

  @override
  String get device_quickSwitch => 'Szybka zmiana';

  @override
  String get device_meshcore => 'MeshCore';

  @override
  String get settings_title => 'Ustawienia';

  @override
  String get settings_deviceInfo => 'Informacje o urządzeniu';

  @override
  String get settings_appSettings => 'Ustawienia aplikacji';

  @override
  String get settings_appSettingsSubtitle =>
      'Powiadomienia, wiadomości i preferencje mapy';

  @override
  String get settings_nodeSettings => 'Ustawienia węzła';

  @override
  String get settings_nodeName => 'Nazwa węzła';

  @override
  String get settings_nodeNameNotSet => 'Nie ustawione';

  @override
  String get settings_nodeNameHint => 'Wprowadź nazwę węzła';

  @override
  String get settings_nodeNameUpdated => 'Nazwa zaktualizowana';

  @override
  String get settings_radioSettings => 'Ustawienia radia';

  @override
  String get settings_radioSettingsSubtitle =>
      'Częstotliwość, moc, współczynnik rozpraszania';

  @override
  String get settings_radioSettingsUpdated =>
      'Ustawienia radia zostały zaktualizowane';

  @override
  String get settings_regionSettings => 'Regiony';

  @override
  String get settings_regionSettingsSubtitle =>
      'Zarządzanie zapisanymi regionami';

  @override
  String get settings_regionManagement_screenTitle => 'Zarządzanie Regionami';

  @override
  String get settings_regionNameHint => 'Wprowadź nazwę regionu';

  @override
  String get settings_regionAddRegion => 'Dodaj region';

  @override
  String get settings_regionFetchRegions => 'Pobierz regiony z repeaterów';

  @override
  String get settings_regionFetchRegionsFail =>
      'Nie znaleziono żadnych regionów';

  @override
  String get settings_regionFetchRegionsAlreadyExists =>
      'Ten region został już dodany';

  @override
  String get settings_regionName => 'Nazwa Regionu';

  @override
  String get settings_regionDeleted => 'Region usunięto';

  @override
  String get settings_deleteRegion => 'Usuń Region';

  @override
  String settings_deleteRegionConfirm(String region) {
    return 'Czy usunąć \"$region\" z listy regionów?';
  }

  @override
  String get settings_location => 'Lokalizacja';

  @override
  String get settings_locationSubtitle => 'Koordynaty GPS';

  @override
  String get settings_locationUpdated => 'Lokalizacja zaktualizowana';

  @override
  String get settings_locationBothRequired =>
      'Wprowadź zarówno szerokość, jak i długość geograficzną.';

  @override
  String get settings_locationInvalid =>
      'Nieprawidłowa szerokość geograficzna lub długość geograficzna.';

  @override
  String get settings_locationGPSEnable => 'Włącz GPS';

  @override
  String get settings_locationGPSEnableSubtitle =>
      'Włącza automatyczne aktualizowanie pozycji za pomocą GPS.';

  @override
  String get settings_locationIntervalSec => 'Interwał dla GPS (Sekundy)';

  @override
  String get settings_locationIntervalInvalid =>
      'Interwał musi wynosić co najmniej 60 sekund i mniej niż 86400 sekund.';

  @override
  String get settings_latitude => 'Szerokość';

  @override
  String get settings_longitude => 'Długość';

  @override
  String get settings_contactSettings => 'Ustawienia kontaktów';

  @override
  String get settings_contactSettingsSubtitle =>
      'Ustawienia dotyczące sposobu dodawania kontaktów';

  @override
  String get settings_privacyMode => 'Tryb prywatności';

  @override
  String get settings_privacyModeSubtitle =>
      'Ukryj imię/lokalizację w rozgłoszeniach';

  @override
  String get settings_privacyModeToggle =>
      'Włącz tryb prywatności, aby ukryć swoje imię i lokalizację w rozgłoszeniach.';

  @override
  String get settings_privacyModeEnabled => 'Tryb prywatności włączony';

  @override
  String get settings_privacyModeDisabled => 'Tryb prywatności wyłączony';

  @override
  String get settings_privacy => 'Ustawienia prywatności';

  @override
  String get settings_privacySubtitle =>
      'Kontroluj jakie informacje są udostępniane.';

  @override
  String get settings_privacySettingsDescription =>
      'Wybierz jakie informacje urządzenie udostępni innym.';

  @override
  String get settings_denyAll => 'Odmów wszystkim';

  @override
  String get settings_allowByContact => 'Zezwalaj według flag kontaktowych';

  @override
  String get settings_allowAll => 'Zezwalaj na wszystko';

  @override
  String get settings_telemetryBaseMode => 'Tryb podstawowy telemetrii';

  @override
  String get settings_telemetryLocationMode => 'Tryb położenia telemetrycznego';

  @override
  String get settings_telemetryEnvironmentMode =>
      'Tryb środowiska telemetrycznego';

  @override
  String get settings_advertLocation => 'Lokalizacja reklamowa';

  @override
  String get settings_advertLocationSubtitle =>
      'Uwzględnij lokalizację w ogłoszeniu';

  @override
  String get settings_autoZeroHopAdvertOnGpsUpdate =>
      'Automatyczne ogłoszenie zero-hop przy aktualizacji GPS';

  @override
  String get settings_autoZeroHopAdvertOnGpsUpdateSubtitle =>
      'Gdy lokalizacja GPS się zmieni, wyślij ogłoszenie zero-hop (wymaga lokalizacji w ogłoszeniu).';

  @override
  String get settings_multiAck => 'Wielokrotne potwierdzenia odbioru';

  @override
  String get settings_telemetryModeUpdated =>
      'Tryb telemetryczny zaktualizowany';

  @override
  String get settings_actions => 'Działania';

  @override
  String get settings_deleteAllPaths => 'Delete All Paths';

  @override
  String get settings_deleteAllPathsSubtitle =>
      'Clear all path data from contacts.';

  @override
  String get settings_sendAdvertisement => 'Wyślij rozgłoszenie';

  @override
  String get settings_sendAdvertisementSubtitle => 'Nadaj obecność teraz';

  @override
  String get settings_advertisementSent => 'Rozgłoszenie wysłane';

  @override
  String get settings_syncTime => 'Synchronizacja czasu';

  @override
  String get settings_syncTimeSubtitle =>
      'Ustaw zegar urządzenia na czas telefonu.';

  @override
  String get settings_timeSynchronized => 'Czas zsynchronizowany';

  @override
  String get settings_refreshContacts => 'Odśwież Kontakty';

  @override
  String get settings_refreshContactsSubtitle =>
      'Odśwież listę kontaktów z urządzenia';

  @override
  String get settings_rebootDevice => 'Zrestartuj Urządzenie';

  @override
  String get settings_rebootDeviceSubtitle => 'Zrestartuj urządzenie MeshCore';

  @override
  String get settings_rebootDeviceConfirm =>
      'Czy na pewno chcesz zrestartować urządzenie? Będziesz odłączony.';

  @override
  String get settings_debug => 'Naprawianie błędów';

  @override
  String get settings_companionDebugLog =>
      'Log debugowania (dla pomocy w rozwiązywaniu problemów)';

  @override
  String get settings_companionDebugLogSubtitle =>
      'Polecenia, odpowiedzi i surowe dane związane z protokołami BLE/TCP/USB';

  @override
  String get settings_appDebugLog => 'Dziennik debugowania aplikacji';

  @override
  String get settings_appDebugLogSubtitle => 'Komunikaty debugowania aplikacji';

  @override
  String get settings_about => 'O aplikacji';

  @override
  String settings_aboutVersion(String version) {
    return 'MeshCore Open w wersji $version';
  }

  @override
  String get settings_aboutLegalese => 'Projekt MeshCore Open Source 2026';

  @override
  String get settings_aboutDescription =>
      'Otwartoźródłowy klient Flutter dla urządzeń MeshCore LoRa do sieci mesh.';

  @override
  String get settings_aboutOpenMeteoAttribution =>
      'Dane wysokościowe LOS: Open-Meteo (CC BY 4.0)';

  @override
  String get settings_infoName => 'Nazwa';

  @override
  String get settings_infoId => 'ID';

  @override
  String get settings_infoStatus => 'Stan';

  @override
  String get settings_infoBattery => 'Bateria';

  @override
  String get settings_infoPublicKey => 'Klucz Publiczny';

  @override
  String get settings_infoContactsCount => 'Liczba kontaktów';

  @override
  String get settings_infoChannelCount => 'Liczba kanałów';

  @override
  String get settings_infoHardware => 'Sprzęt';

  @override
  String get settings_infoFirmware => 'Oprogramowanie wbudowane';

  @override
  String get settings_presets => 'Presety';

  @override
  String get settings_frequency => 'Częstotliwość (MHz)';

  @override
  String get settings_frequencyHelper => '300,0 - 2500,0';

  @override
  String get settings_frequencyInvalid =>
      'Nieprawidłowa częstotliwość (300-2500 MHz)';

  @override
  String get settings_bandwidth => 'Przepustowość';

  @override
  String get settings_spreadingFactor => 'Współczynnik rozpraszania';

  @override
  String get settings_codingRate => 'Współczynnik kodowania';

  @override
  String get settings_txPower => 'Moc TX (dBm)';

  @override
  String get settings_txPowerHelper => '0 – 22';

  @override
  String get settings_txPowerInvalid => 'Nieprawidłowa moc TX (0-22 dBm)';

  @override
  String get settings_clientRepeat => 'Powtórzenie: Niezależne od sieci';

  @override
  String get settings_clientRepeatSubtitle =>
      'Pozwól temu urządzeniu powtarzać pakiety danych dla innych urządzeń.';

  @override
  String get settings_clientRepeatFreqWarning =>
      'Powtórka poza siecią wymaga częstotliwości 433, 869 lub 918 MHz.';

  @override
  String settings_error(String message) {
    return 'Błąd: $message';
  }

  @override
  String get appSettings_title => 'Ustawienia aplikacji';

  @override
  String get appSettings_appearance => 'Wygląd';

  @override
  String get appSettings_theme => 'Motyw';

  @override
  String get appSettings_themeSystem => 'Domyślne ustawienia systemu';

  @override
  String get appSettings_themeLight => 'Jasne';

  @override
  String get appSettings_themeDark => 'Ciemny';

  @override
  String get appSettings_language => 'Język';

  @override
  String get appSettings_languageSystem => 'Domyślny systemowy';

  @override
  String get appSettings_languageEn => 'Angielski';

  @override
  String get appSettings_languageFr => 'Francuski';

  @override
  String get appSettings_languageEs => 'Hiszpański';

  @override
  String get appSettings_languageDe => 'Niemiecki';

  @override
  String get appSettings_languagePl => 'Polski';

  @override
  String get appSettings_languageSl => 'Słoweński';

  @override
  String get appSettings_languagePt => 'Portugalski';

  @override
  String get appSettings_languageIt => 'Włoski';

  @override
  String get appSettings_languageZh => 'Chiński';

  @override
  String get appSettings_languageSv => 'Szwedzki';

  @override
  String get appSettings_languageNl => 'Niderlandzki';

  @override
  String get appSettings_languageSk => 'Słoweniština';

  @override
  String get appSettings_languageBg => 'Българский';

  @override
  String get appSettings_languageRu => 'Rosyjski';

  @override
  String get appSettings_languageUk => 'Ukraińska';

  @override
  String get repeater_pathHashModeOption0 => '0 - 1 bajt';

  @override
  String get repeater_pathHashModeOption1 => '1 - 2 bity';

  @override
  String get repeater_pathHashModeOption2 => '2 - 3 bajty';

  @override
  String get repeater_pathHashModeOption3 => '3 - 4 bajty';

  @override
  String get appSettings_enableMessageTracing => 'Włącz śledzenie wiadomości';

  @override
  String get appSettings_enableMessageTracingSubtitle =>
      'Pokaż szczegółowe metadane trasowania i czasu dla wiadomości';

  @override
  String get appSettings_notifications => 'Powiadomienia';

  @override
  String get appSettings_enableNotifications => 'Włącz Powiadomienia';

  @override
  String get appSettings_enableNotificationsSubtitle =>
      'Otrzymuj powiadomienia o wiadomościach i rozgłoszeniach.';

  @override
  String get appSettings_notificationPermissionDenied =>
      'Odmowa zezwolenia na powiadomienia';

  @override
  String get appSettings_notificationsEnabled => 'Powiadomienia włączone';

  @override
  String get appSettings_notificationsDisabled => 'Powiadomienia wyłączone';

  @override
  String get appSettings_messageNotifications =>
      'Powiadomienia o wiadomościach';

  @override
  String get appSettings_messageNotificationsSubtitle =>
      'Pokaż powiadomienie przy otrzymywaniu nowych wiadomości';

  @override
  String get appSettings_channelMessageNotifications =>
      'Powiadomienia o Wiadomościach na Kanałach';

  @override
  String get appSettings_channelMessageNotificationsSubtitle =>
      'Pokaż powiadomienie przy odbieraniu wiadomości z kanału';

  @override
  String get appSettings_advertisementNotifications =>
      'Powiadomienia o rozgłoszeniach';

  @override
  String get appSettings_advertisementNotificationsSubtitle =>
      'Wyświetl powiadomienie, gdy zostaną wykryte nowe węzły.';

  @override
  String get appSettings_messaging => 'Wiadomości';

  @override
  String get appSettings_clearPathOnMaxRetry =>
      'Wyczyść ścieżkę po maks. liczbie prób';

  @override
  String get appSettings_clearPathOnMaxRetrySubtitle =>
      'Resetuj ścieżkę kontaktu po 5 nieudanych próbach wysłania';

  @override
  String get appSettings_pathsWillBeCleared =>
      'Ścieżka zostanie wyczyszczona po 5 nieudanych próbach.';

  @override
  String get appSettings_pathsWillNotBeCleared =>
      'Ścieżka nie zostanie automatycznie wyczyszczona.';

  @override
  String get appSettings_autoRouteRotation => 'Automatyczna rotacja trasy';

  @override
  String get appSettings_autoRouteRotationSubtitle =>
      'Przełączaj się między najlepszymi ścieżkami a trybem zalewowym.';

  @override
  String get appSettings_autoRouteRotationEnabled =>
      'Automatyczne obracanie tras włączone';

  @override
  String get appSettings_autoRouteRotationDisabled =>
      'Automatyczne obracanie tras wyłączone';

  @override
  String get appSettings_maxRouteWeight =>
      'Maksymalny dopuszczalny ciężar pojazdu';

  @override
  String get appSettings_maxRouteWeightSubtitle =>
      'Maksymalna waga, jaką ścieżka może zgromadzić dzięki udanym dostawom.';

  @override
  String get appSettings_initialRouteWeight => 'Początkowa waga trasy';

  @override
  String get appSettings_initialRouteWeightSubtitle =>
      'Początkowa waga dla nowych, odkrytych ścieżek';

  @override
  String get appSettings_routeWeightSuccessIncrement => 'Wzrost wagi sukcesu';

  @override
  String get appSettings_routeWeightSuccessIncrementSubtitle =>
      'Waga dodana do ścieżki po pomyślnym dostarczeniu';

  @override
  String get appSettings_routeWeightFailureDecrement =>
      'Zmniejszenie wagi kary';

  @override
  String get appSettings_routeWeightFailureDecrementSubtitle =>
      'Waga usunięta z trasy po nieudanej dostawie';

  @override
  String get appSettings_maxMessageRetries =>
      'Maksymalna liczba prób wysłania wiadomości';

  @override
  String get appSettings_maxMessageRetriesSubtitle =>
      'Liczba prób ponownego wysłania wiadomości przed oznaczaniem jej jako nieudanej';

  @override
  String get appSettings_battery => 'Bateria';

  @override
  String get appSettings_batteryChemistry => 'Chemia Baterii';

  @override
  String appSettings_batteryChemistryPerDevice(String deviceName) {
    return 'Ustaw dla urządzenia ($deviceName)';
  }

  @override
  String get appSettings_batteryChemistryConnectFirst =>
      'Połącz się z urządzeniem, aby wybrać';

  @override
  String get appSettings_batteryNmc => '18650 NMC (3,0-4,2V)';

  @override
  String get appSettings_batteryLifepo4 => 'LiFePO4 (2,6-3,65 V)';

  @override
  String get appSettings_batteryLipo => 'LiPo (3,0-4,2V)';

  @override
  String get appSettings_batteryLipoHv => 'Bateria LiPo HV (3,0-4,35 V)';

  @override
  String get appSettings_mapDisplay => 'Wyświetlanie mapy';

  @override
  String get appSettings_showRepeaters => 'Pokaż przekaźniki';

  @override
  String get appSettings_showRepeatersSubtitle =>
      'Wyświetl węzły przekaźników na mapie';

  @override
  String get appSettings_showChatNodes => 'Pokaż Węzły Rozmowy';

  @override
  String get appSettings_showChatNodesSubtitle =>
      'Wyświetl węzły czatu na mapie';

  @override
  String get appSettings_showOtherNodes => 'Pokaż inne węzły';

  @override
  String get appSettings_showOtherNodesSubtitle =>
      'Wyświetl inne typy węzłów na mapie';

  @override
  String get appSettings_timeFilter => 'Filtrowanie Czasu';

  @override
  String get appSettings_timeFilterShowAll => 'Pokaż wszystkie węzły';

  @override
  String appSettings_timeFilterShowLast(int hours) {
    return 'Pokaż węzły z ostatnich $hours godzin';
  }

  @override
  String get appSettings_mapTimeFilter => 'Filtr czasu mapy';

  @override
  String get appSettings_showNodesDiscoveredWithin => 'Pokaż węzły odkryte w:';

  @override
  String get appSettings_allTime => 'Cały czas';

  @override
  String get appSettings_lastHour => 'Ostatnia godzina';

  @override
  String get appSettings_last6Hours => 'Ostatnie 6 godzin';

  @override
  String get appSettings_last24Hours => 'Ostatnie 24 godziny';

  @override
  String get appSettings_lastWeek => 'Ostatni tydzień';

  @override
  String get appSettings_rasterTileSource => 'Źródło kafelków rastrowych';

  @override
  String get appSettings_stadiaEndpoint => 'Punkt końcowy Stadia';

  @override
  String get appSettings_stadiaApiKey => 'Klucz API Stadia';

  @override
  String get appSettings_stadiaApiKeyRequired =>
      'Wymagane do korzystania ze Stadia Maps';

  @override
  String appSettings_stadiaApiKeyConfigured(String maskedKey) {
    return 'Skonfigurowano: $maskedKey';
  }

  @override
  String get appSettings_stadiaApiKeyDialogDescription =>
      'Wprowadź swój klucz API Stadia Maps. Aplikacja używa go do żądań kafelków rastrowych.';

  @override
  String get appSettings_offlineMapCache => 'Pamięć podręczna map offline';

  @override
  String get appSettings_unitsTitle => 'Jednostki';

  @override
  String get appSettings_unitsMetric => 'Metryczne (m / km)';

  @override
  String get appSettings_unitsImperial => 'Imperialne (ft / mi)';

  @override
  String get appSettings_noAreaSelected => 'Nie wybrano żadnego obszaru.';

  @override
  String appSettings_areaSelectedZoom(int minZoom, int maxZoom) {
    return 'Wybrany obszar (skala $minZoom-$maxZoom)';
  }

  @override
  String get appSettings_debugCard => 'Naprawianie błędów';

  @override
  String get appSettings_appDebugLogging => 'Logowanie Debugowania Aplikacji';

  @override
  String get appSettings_appDebugLoggingSubtitle =>
      'Rejestruj komunikaty debugowania aplikacji w celu diagnozowania problemów.';

  @override
  String get appSettings_appDebugLoggingEnabled =>
      'Logowanie debugowania aplikacji włączone';

  @override
  String get appSettings_appDebugLoggingDisabled =>
      'Logowanie debugowania aplikacji wyłączone.';

  @override
  String get contacts_title => 'Kontakty';

  @override
  String get contacts_noContacts => 'Brak jeszcze kontaktów.';

  @override
  String get contacts_contactsWillAppear =>
      'Kontakty będą wyświetlane, gdy urządzenia nadają rozgłoszenia.';

  @override
  String get contacts_unread => 'Nieprzeczytane';

  @override
  String get contacts_searchContactsNoNumber => 'Wyszukaj kontakty...';

  @override
  String contacts_searchContacts(int number, String str) {
    String _temp0 = intl.Intl.pluralLogic(
      number,
      locale: localeName,
      other: 'kontaktu',
      many: 'kontaktów',
      few: 'kontakty',
      one: 'kontakt',
    );
    return 'Wyszukaj $number$str $_temp0...';
  }

  @override
  String contacts_searchFavorites(int number, String str) {
    return 'Wyszukaj $number$str ulubione...';
  }

  @override
  String contacts_searchUsers(int number, String str) {
    return 'Wyszukaj $number$str Użytkowników...';
  }

  @override
  String contacts_searchRepeaters(int number, String str) {
    return 'Wyszukaj $number$str przekaźników...';
  }

  @override
  String contacts_searchRoomServers(int number, String str) {
    return 'Wyszukaj $number$str serwerów Room...';
  }

  @override
  String get contacts_noUnreadContacts => 'Brak nieprzeczytanych kontaktów';

  @override
  String get contacts_noContactsFound =>
      'Brak znalezionych kontaktów ani grup.';

  @override
  String get contacts_deleteContact => 'Usuń Kontakt';

  @override
  String contacts_removeConfirm(String contactName) {
    return 'Usunąć $contactName z kontaktów?';
  }

  @override
  String get contacts_manageRepeater => 'Zarządzaj przekaźnikiem';

  @override
  String get contacts_manageRoom => 'Zarządzaj Serwerem Pokoju';

  @override
  String get contacts_roomLogin => 'Logowanie do pokoju';

  @override
  String get contacts_openChat => 'Otwórz czat';

  @override
  String get contacts_editGroup => 'Edytuj Grupę';

  @override
  String get contacts_deleteGroup => 'Usuń Grupę';

  @override
  String contacts_deleteGroupConfirm(String groupName) {
    return 'Usuń \"$groupName\"?';
  }

  @override
  String get contacts_newGroup => 'Nowa Grupa';

  @override
  String get contacts_moreOptions => 'Więcej opcji';

  @override
  String get contacts_searchOpen => 'Wyszukaj kontakty';

  @override
  String get contacts_searchClose => 'Zaawansowane wyszukiwanie';

  @override
  String get contacts_groupName => 'Nazwa grupy';

  @override
  String get contacts_groupNameRequired => 'Nazwa grupy jest wymagana';

  @override
  String get contacts_groupNameReserved => 'Ta nazwa grupy jest zastrzeżona';

  @override
  String contacts_groupAlreadyExists(String name) {
    return 'Grupa \"$name\" już istnieje';
  }

  @override
  String get contacts_filterContacts => 'Filtruj kontakty...';

  @override
  String get contacts_noContactsMatchFilter =>
      'Brak pasujących kontaktów do Twojego filtra';

  @override
  String get contacts_noMembers => 'Brak członków';

  @override
  String get contacts_lastSeenNow => 'niedawno';

  @override
  String contacts_lastSeenMinsAgo(int minutes) {
    return '~ $minutes min';
  }

  @override
  String get contacts_lastSeenHourAgo => '~ 1 godz.';

  @override
  String contacts_lastSeenHoursAgo(int hours) {
    return '~ $hours godz.';
  }

  @override
  String get contacts_lastSeenDayAgo => '~ 1 dzień';

  @override
  String contacts_lastSeenDaysAgo(int days) {
    return '~ $days dni';
  }

  @override
  String get contact_info => 'Informacje kontaktowe';

  @override
  String get contact_settings => 'Ustawienia kontaktowe';

  @override
  String get contact_telemetry => 'Telemetryka';

  @override
  String get contact_lastSeen => 'Ostatnio widziany';

  @override
  String get contact_clearChat => 'Wyczyść czat';

  @override
  String get contact_teleBase => 'Baza telemetryczna';

  @override
  String get contact_teleBaseSubtitle =>
      'Pozwól na udostępnianie poziomu naładowania baterii i podstawowych danych telemetrycznych';

  @override
  String get contact_teleLoc => 'Lokalizacja telemetryczna';

  @override
  String get contact_teleLocSubtitle =>
      'Zezwalaj na udostępnianie danych lokalizacji';

  @override
  String get contact_teleEnv => 'Środowisko telemetryczne';

  @override
  String get contact_teleEnvSubtitle =>
      'Zezwalaj na udostępnianie danych czujników środowiskowych';

  @override
  String get channels_title => 'Kanały';

  @override
  String get channels_noChannelsConfigured => 'Brak skonfigurowanych kanałów';

  @override
  String get channels_addPublicChannel => 'Dodaj kanał publiczny';

  @override
  String get channels_searchChannels => 'Wyszukaj kanały...';

  @override
  String get channels_noChannelsFound => 'Brak znalezionych kanałów';

  @override
  String channels_channelIndex(int index) {
    return 'Kanał $index';
  }

  @override
  String get channels_public => 'Publiczny';

  @override
  String channels_via(String path) {
    return 'via $path';
  }

  @override
  String get channels_private => 'Prywatny';

  @override
  String get channels_editChannel => 'Edytuj kanał';

  @override
  String get channels_muteChannel => 'Wycisz kanał';

  @override
  String get channels_unmuteChannel => 'Wyłącz wyciszenie kanału';

  @override
  String get channels_deleteChannel => 'Usuń kanał';

  @override
  String channels_deleteChannelConfirm(String name) {
    return 'Usuń \"$name\"? Nie można tego cofnąć.';
  }

  @override
  String channels_channelDeleteFailed(String name) {
    return 'Nie udało się usunąć kanału \"$name\"';
  }

  @override
  String channels_channelDeleted(String name) {
    return 'Kanał \"$name\" usunięto';
  }

  @override
  String get channels_addChannel => 'Dodaj Kanał';

  @override
  String get channels_channelIndexLabel => 'Indeks kanału';

  @override
  String get channels_channelName => 'Nazwa kanału';

  @override
  String get channels_usePublicChannel => 'Użyj kanału publicznego';

  @override
  String get channels_standardPublicPsk => 'Standardowy publiczny PSK';

  @override
  String get channels_pskHex => 'PSK (heksadecymalne)';

  @override
  String get channels_generateRandomPsk => 'Wygeneruj losowy klucz PSK';

  @override
  String get channels_enterChannelName => 'Proszę podać nazwę kanału.';

  @override
  String get channels_pskMustBe32Hex =>
      'PSK musi składać się z 32 znaków szesnastkowych.';

  @override
  String channels_channelAdded(String name) {
    return 'Kanał \"$name\" dodany';
  }

  @override
  String channels_editChannelTitle(int index) {
    return 'Edytuj Kanał $index';
  }

  @override
  String get channels_smazCompression => 'Kompresja SMAZ';

  @override
  String get channels_cyr2latCompression => 'Kompresja Cyr2Lat';

  @override
  String get channels_cyr2latCompressionDscr =>
      'Zastępuje niektóre znaki cyrylicy alfabetem łacińskim podczas wysyłania.';

  @override
  String get channels_cyr2latSettingsHeading => 'Ustawienia Cyr2Lat';

  @override
  String get channels_cyr2latSettingsSubheading => 'Lista zamian';

  @override
  String get channels_cyr2latSettingsDscr =>
      'Edytuj konfigurację JSON zamiany znaków';

  @override
  String get channels_cyr2latSettingsDialogHint => 'Mapa zamian JSON';

  @override
  String channels_cyr2latSettingsDialogWrongJSON(Object error) {
    return 'Nieprawidłowy JSON: $error';
  }

  @override
  String channels_channelUpdated(String name) {
    return 'Kanał \"$name\" został zaktualizowany';
  }

  @override
  String get settings_cyr2latProfileAdd => 'Dodaj profil Cyr2Lat';

  @override
  String get settings_cyr2latProfileName => 'Nazwa profilu';

  @override
  String get settings_cyr2latProfileNameEmpty =>
      'Nazwa profilu nie może być pusta';

  @override
  String get settings_cyr2latProfileAdded => 'Profil dodano pomyślnie';

  @override
  String get settings_cyr2latProfileUpdated =>
      'Profil został pomyślnie zaktualizowany';

  @override
  String get settings_cyr2latProfileEdit => 'Edytuj profil Cyr2Lat';

  @override
  String get settings_cyr2latProfileDelete => 'Usuń profil Cyr2Lat';

  @override
  String get settings_cyr2latProfileDeleted =>
      'Profil został pomyślnie usunięty';

  @override
  String settings_cyr2latProfileDeleteDscr(String name) {
    return 'Czy na pewno chcesz usunąć profil \"$name\"?';
  }

  @override
  String get channels_publicChannelAdded => 'Kanał publiczny dodany';

  @override
  String get channels_sortBy => 'Sortuj po';

  @override
  String get channels_sortManual => 'Ręczna';

  @override
  String get channels_sortAZ => 'Od A do Z';

  @override
  String get channels_sortLatestMessages => 'Najnowsze wiadomości';

  @override
  String get channels_sortUnread => 'Nieprzeczytane';

  @override
  String get channels_createPrivateChannel => 'Utwórz Prywatny Kanał';

  @override
  String get channels_createPrivateChannelDesc =>
      'Zabezpieczone kluczem szyfrowym.';

  @override
  String get channels_joinPrivateChannel => 'Dołącz do Prywatnego Kanału';

  @override
  String get channels_joinPrivateChannelDesc => 'Ręcznie wprowadź klucz tajny.';

  @override
  String get channels_joinPublicChannel => 'Dołącz do kanału publicznego.';

  @override
  String get channels_joinPublicChannelDesc =>
      'Każdy może dołączyć do tego kanału.';

  @override
  String get channels_joinHashtagChannel =>
      'Dołącz do kanału oznaczanego hashtagiem';

  @override
  String get channels_joinHashtagChannelDesc =>
      'Każdy może dołączyć do kanałów z hashtagami.';

  @override
  String get channels_scanQrCode => 'Skanuj kod QR';

  @override
  String get channels_scanQrCodeComingSoon => 'Wkrótce';

  @override
  String get channels_enterHashtag => 'Wprowadź hashtag';

  @override
  String get channels_hashtagHint => 'np. #zespół';

  @override
  String channels_regionSetTo(String region) {
    return 'Region: $region';
  }

  @override
  String get channels_regionNotSet => 'Region: brak';

  @override
  String get channels_regionSelect_Title => 'Wybierz region';

  @override
  String get channels_clearRegion => 'Przejrzyste obszar';

  @override
  String get chat_noMessages => 'Brak jeszcze wiadomości';

  @override
  String get chat_sendMessage => 'Wyślij wiadomość';

  @override
  String chat_sendMessageTo(String contactName) {
    return 'Wyślij wiadomość do $contactName';
  }

  @override
  String get chat_sendMessageToStart => 'Wyślij wiadomość, aby rozpocząć.';

  @override
  String get chat_originalMessageNotFound =>
      'Błąd: Nie znaleziono oryginalnego komunikatu';

  @override
  String chat_replyingTo(String name) {
    return 'Odpowiadanie na $name';
  }

  @override
  String chat_replyTo(String name) {
    return 'Odpowiedz do $name';
  }

  @override
  String get chat_location => 'Lokalizacja';

  @override
  String get chat_typeMessage => 'Wpisz wiadomość...';

  @override
  String chat_messageTooLong(int maxBytes) {
    return 'Wiadomość jest za długa (maksymalnie $maxBytes bajtów).';
  }

  @override
  String get chat_messageCopied => 'Wiadomość skopiowana';

  @override
  String get chat_messageDeleted => 'Wiadomość usunięta';

  @override
  String get chat_retryingMessage => 'Ponawianie wiadomości';

  @override
  String chat_retryCount(int current, int max) {
    return 'Próba $current/$max';
  }

  @override
  String get chat_sendGif => 'Wyślij GIF';

  @override
  String get chat_sendImage => 'Wyślij obraz';

  @override
  String get chat_imagePickFailed => 'Nie mogłem otworzyć tego obrazu';

  @override
  String get chat_receivedGif => 'Otrzymano GIF';

  @override
  String get chat_reply => 'Odpowiedz';

  @override
  String get chat_addReaction => 'Dodaj Reakcję';

  @override
  String get chat_me => 'Ja';

  @override
  String get emojiCategorySmileys => 'Emoji';

  @override
  String get emojiCategoryGestures => 'Gesty';

  @override
  String get emojiCategoryHearts => 'Serca';

  @override
  String get emojiCategoryObjects => 'Obiekty';

  @override
  String get gifPicker_title => 'Wybierz GIF';

  @override
  String get gifPicker_searchHint => 'Wyszukaj GIF-y...';

  @override
  String get gifPicker_poweredBy => 'Zasilane przez GIPHY';

  @override
  String get gifPicker_noGifsFound => 'Nie znaleziono GIF-ów';

  @override
  String get gifPicker_failedLoad => 'Nie udało się załadować GIF-ów';

  @override
  String get gifPicker_failedSearch => 'Nie udało się znaleźć GIF-ów';

  @override
  String get gifPicker_noInternet => 'Brak połączenia internetowego';

  @override
  String get debugLog_appTitle => 'Log Wykonywania Aplikacji';

  @override
  String get debugLog_bleTitle => 'Log błędów BLE';

  @override
  String get debugLog_copyLog => 'Kopiuj log';

  @override
  String get debugLog_clearLog => 'Wyczyść dziennik';

  @override
  String get debugLog_copied => 'Skopiowano dziennik debugowania';

  @override
  String get debugLog_bleCopied => 'Skopiowany log BLE';

  @override
  String get debugLog_noEntries => 'Nie ma jeszcze żadnych logów debugowania.';

  @override
  String get debugLog_enableInSettings =>
      'Włącz logowanie debugowania aplikacji w ustawieniach';

  @override
  String get debugLog_frames => 'Ramki';

  @override
  String get debugLog_rawLogRx => 'Surowy log RX';

  @override
  String get debugLog_noBleActivity => 'Brak aktywności BLE.';

  @override
  String debugFrame_length(int count) {
    return 'Długość ramy: $count bajtów';
  }

  @override
  String debugFrame_command(String value) {
    return 'Polecenie: 0x$value';
  }

  @override
  String get debugFrame_textMessageHeader => 'Wiadomość tekstowa:';

  @override
  String debugFrame_destinationPubKey(String pubKey) {
    return '- Docelowy klucz publiczny: $pubKey';
  }

  @override
  String debugFrame_timestamp(int timestamp) {
    return '- Znacznik czasu: $timestamp';
  }

  @override
  String debugFrame_flags(String value) {
    return '- Flagi: 0x$value';
  }

  @override
  String debugFrame_textType(int type, String label) {
    return '- Typ tekstu: $type ($label)';
  }

  @override
  String get debugFrame_textTypeCli => 'Interfejs wiersza poleceń';

  @override
  String get debugFrame_textTypePlain => 'Zwykły';

  @override
  String debugFrame_text(String text) {
    return '- Tekst: \"$text\"';
  }

  @override
  String get debugFrame_hexDump => 'Zrzut hex:';

  @override
  String chat_hopsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'skoków',
      many: 'skoków',
      few: 'skoki',
      one: 'skok',
    );
    return '$count $_temp0';
  }

  @override
  String get chat_removePath => 'Usuń ścieżkę';

  @override
  String get chat_noPathHistoryYet =>
      'Brak historii ścieżek.\nWyślij wiadomość, aby odkryć ścieżki.';

  @override
  String get chat_pathCleared =>
      'Ścieżka wyczyszczona. Następna wiadomość odnajdzie trasę.';

  @override
  String get chat_fullPath => 'Pełna ścieżka';

  @override
  String get routing_title => 'Planowanie tras';

  @override
  String get routing_modeAuto => 'Samochód';

  @override
  String get routing_modeFlood => 'Powódź';

  @override
  String get routing_modeManual => 'Instrukcja obsługi';

  @override
  String get routing_modeAutoHint =>
      'Automatycznie wybiera najpopularniejszą ścieżkę, a w przypadku braku znanej, przechodzi do trybu \"przepływu\".';

  @override
  String get routing_modeFloodHint =>
      'Transmisje za pośrednictwem każdego repeatera. Najbardziej niezawodna metoda, ale zużywa więcej czasu transmisji.';

  @override
  String get routing_modeManualHint =>
      'Zawsze prowadzi dokładnie po trasie, którą określiłeś.';

  @override
  String get routing_currentRoute => 'Obecna trasa';

  @override
  String get routing_directNoHops =>
      'Bezpośrednio – bez pośrednictwa repeaterów';

  @override
  String get routing_noPathYet =>
      'Na razie nie ma żadnej ścieżki. Komunikacja trwa do momentu, gdy zostanie odkryta trasa.';

  @override
  String get routing_floodBroadcast =>
      'Transmisja za pośrednictwem każdego urządzenia powielającego';

  @override
  String get routing_editPath => 'Edytuj ścieżkę';

  @override
  String get routing_forgetPath => 'Zapomnij o ścieżce';

  @override
  String get routing_knownPaths => 'Znane trasy';

  @override
  String get routing_knownPathsHint =>
      'Wybierz ścieżkę, aby przełączyć się na nią.';

  @override
  String get routing_inUse => 'W użyciu';

  @override
  String get routing_qualityStrong => 'Silny pierwszy skok';

  @override
  String get routing_qualityGood => 'Świetny początek';

  @override
  String get routing_qualityFair => 'Świetny pierwszy krzak';

  @override
  String get routing_qualityWorked => 'Zostało dostarczone';

  @override
  String get routing_qualityFlood => 'Usłyszano dzięki doniesieniom';

  @override
  String get routing_qualityUntested => 'Nieużywany';

  @override
  String routing_lastWorked(String when) {
    return 'pracował $when';
  }

  @override
  String get routing_neverWorked => 'nigdy nie zostało potwierdzone';

  @override
  String routing_deliveryCounts(int successes, int failures) {
    return '$successes delivered, $failures failed';
  }

  @override
  String get routing_floodDelivery => 'Dostawa w przypadku powodzi';

  @override
  String get pathEditor_title => 'Stworzenie ścieżki';

  @override
  String pathEditor_hopCounter(int count) {
    return '$count z 64 rodzajów chmielu';
  }

  @override
  String get pathEditor_noHops =>
      'Na razie nie dodano żadnych chmielu. Aby dodać je w odpowiedniej kolejności, kliknij w odpowiednie przyciski poniżej, lub zapisz przepis bez chmielu, aby wysłać go bezpośrednio.';

  @override
  String get pathEditor_addHops => 'Dodawaj chmiel zgodnie z kolejnością.';

  @override
  String get pathEditor_searchRepeaters => 'Funkcje powtarzania';

  @override
  String get pathEditor_advancedHex =>
      'Zaawansowane: ścieżka w formacie szesnastkowym';

  @override
  String get pathEditor_hexLabel => 'Prefiksy heksadecymalne';

  @override
  String get pathEditor_hexHelper =>
      'Dwa znaki szesnastkowe na każdym kroku, oddzielone przecinkami';

  @override
  String pathEditor_invalidTokens(String tokens) {
    return 'Nieprawidłowe: $tokens';
  }

  @override
  String get pathEditor_tooManyHops => 'Maksymalnie 64 hopów';

  @override
  String get pathEditor_usePath => 'Użyj tej ścieżki.';

  @override
  String get pathEditor_removeHop => 'Usuń dziką psiankę';

  @override
  String get pathEditor_unknownHop => 'Nieznany repeater';

  @override
  String get chat_pathSavedLocally =>
      'Zapisano lokalnie. Połącz się, aby zsynchronizować.';

  @override
  String get chat_pathDeviceConfirmed => 'Urządzenie potwierdzone.';

  @override
  String get chat_pathDeviceNotConfirmed =>
      'Urządzenie nie zostało jeszcze potwierdzone.';

  @override
  String get chat_type => 'Typ';

  @override
  String get chat_path => 'Ścieżka';

  @override
  String get chat_publicKey => 'Klucz Publiczny';

  @override
  String get chat_compressOutgoingMessages => 'Kompresuj wychodzące wiadomości';

  @override
  String get chat_floodForced => 'Zalew (wymuszony)';

  @override
  String get chat_directForced => 'Bezpośrednio (wymuszono)';

  @override
  String chat_hopsForced(int count) {
    return '$count skoków (wymuszonych)';
  }

  @override
  String get chat_floodAuto => 'Zalew (automatyczny)';

  @override
  String get chat_direct => 'Bezpośrednio';

  @override
  String get chat_poiShared => 'Wspólny POI';

  @override
  String chat_unread(int count) {
    return 'Nieprzeczytane: $count';
  }

  @override
  String get chat_markAsUnread => 'Oznacz jako nieprzeczytane';

  @override
  String get chat_newMessages => 'Nowe wiadomości';

  @override
  String get chat_openLink => 'Otworzyć link?';

  @override
  String get chat_openLinkConfirmation =>
      'Czy chcesz otworzyć ten link w przeglądarce?';

  @override
  String get chat_open => 'Otwórz';

  @override
  String chat_couldNotOpenLink(String url) {
    return 'Nie można otworzyć linku: $url';
  }

  @override
  String get chat_invalidLink => 'Nieprawidłowy format linku';

  @override
  String get map_title => 'Mapa węzłów';

  @override
  String get map_searchHint => 'Wyszukaj nazwę lub identyfikator węzła';

  @override
  String get map_activity => 'Aktywność';

  @override
  String get map_online => 'Online';

  @override
  String get map_recent => 'Ostatnie';

  @override
  String get map_stale => 'Nieaktualne';

  @override
  String get map_visible => 'Widoczny';

  @override
  String get map_hidden => 'Ukryty';

  @override
  String get map_centerOnNode => 'Wyśrodkuj na węźle';

  @override
  String get map_details => 'Szczegóły';

  @override
  String get map_noGps => 'Brak GPS';

  @override
  String get map_noResults => 'Brak pasujących węzłów';

  @override
  String get map_lineOfSight => 'Linia wzroku';

  @override
  String get map_losScreenTitle => 'Linia wzroku';

  @override
  String get map_noNodesWithLocation => 'Brak węzłów z danymi lokalizacyjnymi';

  @override
  String get map_nodesNeedGps =>
      'Węzły muszą udostępniać swoje współrzędne GPS,\naby pojawić się na mapie.';

  @override
  String map_nodesCount(int count) {
    return 'Węzły: $count';
  }

  @override
  String map_pinsCount(int count) {
    return 'Pinezki: $count';
  }

  @override
  String get map_chat => 'Rozmowa';

  @override
  String get map_repeater => 'Przekaźnik';

  @override
  String get map_room => 'Pokój';

  @override
  String get map_sensor => 'Czujnik';

  @override
  String get map_pinDm => 'Pinezka (DM)';

  @override
  String get map_pinPrivate => 'Pinezka (prywatna)';

  @override
  String get map_pinPublic => 'Pinezka (publiczna)';

  @override
  String get map_lastSeen => 'Ostatni raz widziany';

  @override
  String get map_disconnectConfirm =>
      'Czy na pewno chcesz się odłączyć od tego urządzenia?';

  @override
  String get map_from => 'Od';

  @override
  String get map_source => 'Źródło';

  @override
  String get map_flags => 'Flagi';

  @override
  String get map_type => 'Type';

  @override
  String get map_path => 'Path';

  @override
  String get map_location => 'Location';

  @override
  String get map_estLocation => 'Est. Location';

  @override
  String get map_publicKey => 'Public Key';

  @override
  String get map_publicKeyPrefixHint => 'e.g. ab12';

  @override
  String get map_shareMarkerHere => 'Udostępnij znacznik tutaj';

  @override
  String get map_setAsMyLocation => 'Ustaw jako moją lokalizację';

  @override
  String get map_pinLabel => 'Etykieta pinezki';

  @override
  String get map_label => 'Etykieta';

  @override
  String get map_pointOfInterest => 'Punkt zainteresowań';

  @override
  String get map_sendToContact => 'Wyślij do kontaktu';

  @override
  String get map_sendToChannel => 'Wyślij do kanału';

  @override
  String get map_noChannelsAvailable => 'Brak dostępnych kanałów';

  @override
  String get map_publicLocationShare => 'Udostępnij lokalizację publicznie';

  @override
  String map_publicLocationShareConfirm(String channelLabel) {
    return 'Zamierzasz udostępnić lokalizację w $channelLabel. Ten kanał jest publiczny i każdy z PSK może go zobaczyć.';
  }

  @override
  String get map_connectToShareMarkers =>
      'Połącz się z urządzeniem, aby udostępniać znaczniki.';

  @override
  String get map_filterNodes => 'Filtruj Węzły';

  @override
  String get map_nodeTypes => 'Typy węzłów';

  @override
  String get map_chatNodes => 'Węzły czatu';

  @override
  String get map_repeaters => 'Przekaźniki';

  @override
  String get map_otherNodes => 'Inne węzły';

  @override
  String get map_showOverlaps => 'Nakładające się klucze przekaźników';

  @override
  String get map_keyPrefix => 'Prefiks klucza';

  @override
  String get map_filterByKeyPrefix => 'Filtruj po prefiksie klucza';

  @override
  String get map_publicKeyPrefix => 'Prefiks klucza publicznego';

  @override
  String get map_markers => 'Znaczniki';

  @override
  String get map_showSharedMarkers => 'Pokaż udostępnione znaczniki.';

  @override
  String get map_showGuessedLocations =>
      'Pokaż przypuszczalne lokalizacje węzłów';

  @override
  String get map_showDiscoveryContacts => 'Pokaż odkryte kontakty';

  @override
  String get map_guessedLocation => 'Przypuszczalna lokalizacja';

  @override
  String get map_lastSeenTime => 'Ostatni raz widziany';

  @override
  String get map_sharedPin => 'Udostępniona pinezka';

  @override
  String get map_sharedAt => 'Udostępnione';

  @override
  String get map_joinRoom => 'Dołącz do pokoju';

  @override
  String get map_manageRepeater => 'Zarządzaj przekaźnikiem';

  @override
  String get map_tapToAdd => 'Kliknij na węzły, aby dodać je do ścieżki.';

  @override
  String get map_runTrace => 'Uruchom ślad ścieżki';

  @override
  String get map_runTraceWithReturnPath => 'Wróć tą samą ścieżką';

  @override
  String get map_removeLast => 'Usuń ostatni';

  @override
  String get map_pathTraceCancelled => 'Śledzenie ścieżki anulowano.';

  @override
  String get mapCache_title => 'Pamięć podręczna map offline';

  @override
  String get mapCache_selectAreaFirst =>
      'Najpierw wybierz obszar do zapisania w pamięci podręcznej.';

  @override
  String get mapCache_noTilesToDownload =>
      'Brak kafelków do pobrania dla tego obszaru.';

  @override
  String get mapCache_downloadTilesTitle => 'Pobierz kafelki';

  @override
  String mapCache_downloadTilesPrompt(int count) {
    return 'Pobrać $count kafelków do użytku offline?';
  }

  @override
  String get mapCache_downloadAction => 'Pobierz';

  @override
  String mapCache_cachedTiles(int count) {
    return 'Zapisano w pamięci podręcznej $count kafelków';
  }

  @override
  String mapCache_cachedTilesWithFailed(int downloaded, int failed) {
    return 'Zapisano w pamięci podręcznej $downloaded kafelków ($failed nieudanych)';
  }

  @override
  String get mapCache_clearOfflineCacheTitle =>
      'Wyczyść pamięć podręczną offline';

  @override
  String get mapCache_clearOfflineCachePrompt =>
      'Usunąć wszystkie zapisane kafelki mapy?';

  @override
  String get mapCache_offlineCacheCleared =>
      'Wyczyszczono pamięć podręczną offline';

  @override
  String get mapCache_noAreaSelected => 'Nie wybrano żadnego obszaru.';

  @override
  String get mapCache_cacheArea => 'Obszar pamięci podręcznej';

  @override
  String get mapCache_useCurrentView => 'Użyj aktualnego widoku';

  @override
  String get mapCache_zoomRange => 'Zakres przybliżenia';

  @override
  String mapCache_estimatedTiles(int count) {
    return 'Szacowana liczba kafelków: $count';
  }

  @override
  String mapCache_downloadedTiles(int completed, int total) {
    return 'Pobrano $completed / $total';
  }

  @override
  String get mapCache_downloadTilesButton => 'Pobierz kafelki';

  @override
  String get mapCache_clearCacheButton => 'Wyczyść pamięć podręczną';

  @override
  String mapCache_failedDownloads(int count) {
    return 'Nieudane pobrania: $count';
  }

  @override
  String get mapCache_cachedTilesLabel => 'Cached tiles';

  @override
  String get mapCache_cachedTileSummaryLabel => 'Cached tile summary';

  @override
  String mapCache_bulkDownloadDisabledForSource(String source) {
    return 'Offline bulk downloads are disabled for $source.';
  }

  @override
  String mapCache_bulkDownloadDisabledInConfig(String source) {
    return 'Offline bulk downloads are disabled for $source in this app configuration.';
  }

  @override
  String mapCache_summarySource(String source) {
    return 'Source: $source';
  }

  @override
  String mapCache_summaryCachedTilesForSource(int count) {
    return 'Cached tiles for source: $count';
  }

  @override
  String mapCache_summaryCachedInSelection(int count) {
    return 'Cached in selected area/zoom: $count';
  }

  @override
  String mapCache_summaryApproxCacheSize(String size) {
    return 'Approx cache size: $size';
  }

  @override
  String mapCache_boundsLabel(
    String north,
    String south,
    String east,
    String west,
  ) {
    return 'N $north, S $south, E $east, W $west';
  }

  @override
  String get time_justNow => 'Właśnie teraz';

  @override
  String time_minutesAgo(int minutes) {
    return '$minutes minut temu';
  }

  @override
  String time_hoursAgo(int hours) {
    return '${hours}h temu';
  }

  @override
  String time_daysAgo(int days) {
    return '$days dni temu';
  }

  @override
  String get time_hour => 'godzina';

  @override
  String get time_hours => 'godziny';

  @override
  String get time_day => 'dzień';

  @override
  String get time_days => 'dni';

  @override
  String get time_week => 'tydzień';

  @override
  String get time_weeks => 'tygodnie';

  @override
  String get time_month => 'miesiąc';

  @override
  String get time_months => 'miesiące';

  @override
  String get time_minutes => 'minuty';

  @override
  String get time_allTime => 'Cały czas';

  @override
  String get dialog_disconnect => 'Odłącz';

  @override
  String get dialog_disconnectConfirm =>
      'Czy na pewno chcesz się odłączyć od tego urządzenia?';

  @override
  String get login_repeaterLogin => 'Logowanie do przekaźnika';

  @override
  String get login_roomLogin => 'Logowanie do pokoju';

  @override
  String get login_password => 'Hasło';

  @override
  String get login_enterPassword => 'Wprowadź hasło';

  @override
  String get login_savePassword => 'Zapisz hasło';

  @override
  String get login_savePasswordSubtitle =>
      'Hasło będzie bezpiecznie przechowywane na tym urządzeniu.';

  @override
  String get login_repeaterDescription =>
      'Wprowadź hasło do przekaźnika, aby uzyskać dostęp do ustawień i stanu.';

  @override
  String get login_roomDescription =>
      'Wprowadź hasło do pokoju, aby uzyskać dostęp do ustawień i statusu.';

  @override
  String get login_routing => 'Trasowanie';

  @override
  String get login_routingMode => 'Tryb routingu';

  @override
  String get login_autoUseSavedPath => 'Automatycznie (użyj zapisanej ścieżki)';

  @override
  String get login_forceFloodMode => 'Wymuś tryb zalewowy';

  @override
  String get login_managePaths => 'Zarządzaj Ścieżkami';

  @override
  String get login_login => 'Zaloguj się';

  @override
  String login_attempt(int current, int max) {
    return 'Próba $current/$max';
  }

  @override
  String login_failed(String error) {
    return 'Zalogowanie się nie powiodło: $error';
  }

  @override
  String get login_failedMessage =>
      'Logowanie nie powiodło się. Hasło jest nieprawidłowe albo przekaźnik jest nieosiągalny.';

  @override
  String get common_reload => 'Odśwież';

  @override
  String get common_clear => 'Wyczyść';

  @override
  String get path_currentPathLabel => 'Aktualna ścieżka';

  @override
  String get path_noRepeatersFound =>
      'Nie znaleziono przekaźników ani serwerów pokoi.';

  @override
  String get repeater_management => 'Zarządzanie przekaźnikami';

  @override
  String get room_management => 'Zarządzanie Serwerem Pokoju';

  @override
  String get repeater_guest => 'Informacje dotyczące urządzenia powtarzającego';

  @override
  String get room_guest => 'Informacje o serwerze';

  @override
  String get repeater_managementTools => 'Narzędzia Zarządzania';

  @override
  String get repeater_guestTools => 'Narzędzia dla gości';

  @override
  String get repeater_status => 'Stan';

  @override
  String get repeater_statusSubtitle =>
      'Wyświetl status przekaźnika, statystyki i sąsiadów.';

  @override
  String get repeater_telemetry => 'Telemetria';

  @override
  String get repeater_telemetrySubtitle =>
      'Wyświetl dane telemetryczne z czujników i statystyki systemu';

  @override
  String get repeater_cli => 'Interfejs wiersza poleceń';

  @override
  String get repeater_cliSubtitle => 'Wyślij polecenia do przekaźnika';

  @override
  String get repeater_neighbors => 'Sąsiedzi';

  @override
  String get repeater_neighborsSubtitle => 'Wyświetl sąsiadów zero-hop.';

  @override
  String get repeater_settings => 'Ustawienia';

  @override
  String get repeater_settingsSubtitle => 'Skonfiguruj parametry przekaźnika';

  @override
  String get repeater_clockSyncAfterLogin =>
      'Synchronizacja zegara po zalogowaniu';

  @override
  String get repeater_clockSyncAfterLoginSubtitle =>
      'Automatycznie wysyłaj powiadomienie \"synchronizacja zegara\" po pomyślnym zalogowaniu.';

  @override
  String get repeater_statusTitle => 'Status przekaźnika';

  @override
  String get repeater_routingMode => 'Tryb routingu';

  @override
  String get repeater_refresh => 'Odśwież';

  @override
  String get repeater_statusRequestTimeout =>
      'Przekroczono czas oczekiwania na status.';

  @override
  String repeater_errorLoadingStatus(String error) {
    return 'Błąd podczas ładowania statusu: $error';
  }

  @override
  String get repeater_systemInformation => 'Informacje o systemie';

  @override
  String get repeater_battery => 'Bateria';

  @override
  String get repeater_clockAtLogin => 'Godzina (przy logowaniu)';

  @override
  String get repeater_uptime => 'Czas pracy';

  @override
  String get repeater_queueLength => 'Długość kolejki';

  @override
  String get repeater_debugFlags => 'Opcje debugowania';

  @override
  String get repeater_radioStatistics => 'Statystyki Radia';

  @override
  String get repeater_lastRssi => 'Ostatni RSSI';

  @override
  String get repeater_lastSnr => 'Ostatnie SNR';

  @override
  String get repeater_noiseFloor => 'Poziom Szumów';

  @override
  String get repeater_txAirtime => 'Czas nadawania TX';

  @override
  String get repeater_rxAirtime => 'Czas odbioru RX';

  @override
  String get repeater_chanUtil => 'Wykorzystanie kanału';

  @override
  String get repeater_packetStatistics => 'Statystyki pakietów';

  @override
  String get repeater_sent => 'Wysłane';

  @override
  String get repeater_received => 'Otrzymano';

  @override
  String get repeater_duplicates => 'Powtórzenia';

  @override
  String repeater_daysHoursMinsSecs(
    int days,
    int hours,
    int minutes,
    int seconds,
  ) {
    return '$days dni ${hours}h ${minutes}m ${seconds}s';
  }

  @override
  String repeater_packetTxTotal(int total, String flood, String direct) {
    return 'Razem: $total, Zalew: $flood, Bezpośrednio: $direct';
  }

  @override
  String repeater_packetRxTotal(int total, String flood, String direct) {
    return 'Razem: $total, Zalew: $flood, Bezpośrednio: $direct';
  }

  @override
  String repeater_duplicatesFloodDirect(String flood, String direct) {
    return 'Zalew: $flood, Bezpośrednie: $direct';
  }

  @override
  String repeater_duplicatesTotal(int total) {
    return 'Razem: $total';
  }

  @override
  String get repeater_settingsTitle => 'Ustawienia przekaźnika';

  @override
  String get repeater_basicSettings => 'Podstawowe Ustawienia';

  @override
  String get repeater_repeaterName => 'Nazwa przekaźnika';

  @override
  String get repeater_repeaterNameHelper => 'Wyświetl nazwę tego przekaźnika';

  @override
  String get repeater_adminPassword => 'Hasło Administracyjne';

  @override
  String get repeater_adminPasswordHelper => 'Hasło z pełnym dostępem';

  @override
  String get repeater_guestPassword => 'Hasło gościa';

  @override
  String get repeater_guestPasswordHelper => 'Hasło tylko do odczytu';

  @override
  String get repeater_radioSettings => 'Ustawienia radia';

  @override
  String get repeater_frequencyMhz => 'Częstotliwość (MHz)';

  @override
  String get repeater_frequencyHelper => '300–2500 MHz';

  @override
  String get repeater_txPower => 'Moc TX';

  @override
  String get repeater_txPowerHelper => '1-30 dBm';

  @override
  String get repeater_bandwidth => 'Przepustowość';

  @override
  String get repeater_spreadingFactor => 'Współczynnik rozpraszania';

  @override
  String get repeater_codingRate => 'Współczynnik kodowania';

  @override
  String get repeater_locationSettings => 'Ustawienia Lokalizacji';

  @override
  String get repeater_latitude => 'Szerokość';

  @override
  String get repeater_latitudeHelper => 'Stopnie dziesiętne (np. 37.7749)';

  @override
  String get repeater_longitude => 'Długość';

  @override
  String get repeater_longitudeHelper => 'Stopnie dziesiętne (np. -122,4194)';

  @override
  String get repeater_features => 'Funkcje';

  @override
  String get repeater_packetForwarding => 'Przekierowanie pakietów';

  @override
  String get repeater_packetForwardingSubtitle =>
      'Włącz przekaźnik, aby przekazywać pakiety.';

  @override
  String get repeater_guestAccess => 'Dostęp dla gości';

  @override
  String get repeater_guestAccessSubtitle =>
      'Umożliw dostęp tylko do odczytu dla gości.';

  @override
  String get repeater_privacyMode => 'Tryb prywatności';

  @override
  String get repeater_privacyModeSubtitle =>
      'Ukryj imię/lokalizację w rozgłoszeniach';

  @override
  String get repeater_advertisementSettings => 'Ustawienia rozgłoszeń';

  @override
  String get repeater_localAdvertInterval => 'Interwał rozgłoszenia lokalnego';

  @override
  String repeater_localAdvertIntervalMinutes(int minutes) {
    return '$minutes minut';
  }

  @override
  String get repeater_floodAdvertInterval => 'Interwał rozgłoszenia zalewowego';

  @override
  String repeater_floodAdvertIntervalHours(int hours) {
    return '$hours godzin';
  }

  @override
  String get repeater_encryptedAdvertInterval =>
      'Interwał Zaszyfrowanego Rozgłoszenia';

  @override
  String get repeater_dangerZone => 'Strefa Zagrożeń';

  @override
  String get repeater_rebootRepeater => 'Zrestartuj Przekaźnik';

  @override
  String get repeater_rebootRepeaterSubtitle => 'Zrestartuj przekaźnik.';

  @override
  String get repeater_rebootRepeaterConfirm =>
      'Czy na pewno chcesz zrestartować ten przekaźnik?';

  @override
  String get repeater_regenerateIdentityKey => 'Wygeneruj klucz tożsamości';

  @override
  String get repeater_regenerateIdentityKeySubtitle =>
      'Wygeneruj nową parę kluczy publicznych/prywatnych';

  @override
  String get repeater_regenerateIdentityKeyConfirm =>
      'Zostanie wygenerowana nowa tożsamość dla przekaźnika. Kontynuować?';

  @override
  String get repeater_eraseFileSystem => 'Wyczyść System Plików';

  @override
  String get repeater_eraseFileSystemSubtitle =>
      'Sformatuj system plików przekaźnika';

  @override
  String get repeater_eraseFileSystemConfirm =>
      'OSTRZEŻENIE: To spowoduje usunięcie wszystkich danych z przekaźnika. Nie da się tego cofnąć!';

  @override
  String get repeater_eraseSerialOnly =>
      'Usunięcie jest dostępne tylko przez konsolę szeregową.';

  @override
  String repeater_commandSent(String command) {
    return 'Polecenie wysłane: $command';
  }

  @override
  String repeater_errorSendingCommand(String error) {
    return 'Błąd podczas wysyłania polecenia: $error';
  }

  @override
  String get repeater_confirm => 'Potwierdź';

  @override
  String get repeater_settingsSaved => 'Ustawienia zostały pomyślnie zapisane.';

  @override
  String get repeater_rxGain => 'Zwiększony zysk RX';

  @override
  String get repeater_rxGainHelper =>
      'Większa czułość, większe pobieranie prądu (dotyczy tylko SX1262/SX1268)';

  @override
  String get repeater_refreshRxGain => 'Zaktualizuj zwiększone zyski RX';

  @override
  String get repeater_multiAcks => 'Wielokrotne potwierdzenia odbioru';

  @override
  String get repeater_multiAcksSubtitle =>
      'Potwierdź odbiór wiadomości za pomocą różnych ścieżek, aby zapewnić lepszą dostawę.';

  @override
  String get repeater_refreshMultiAcks =>
      'Odświeżanie wielokrotnych potwierdzeń';

  @override
  String get repeater_networkHealth => 'Stan sieci';

  @override
  String get repeater_loopDetect => 'Wykrywanie pętli';

  @override
  String get repeater_loopDetectHelper =>
      'Wysyłaj pakiety, które wyglądają jak pętle routingu.';

  @override
  String get repeater_loopDetectOff => 'Z domu';

  @override
  String get repeater_loopDetectMinimal => 'Minimalny';

  @override
  String get repeater_loopDetectModerate => 'Umiarkowany';

  @override
  String get repeater_loopDetectStrict => 'Surowe';

  @override
  String get repeater_dutyCycle => 'Cykl pracy';

  @override
  String get repeater_dutyCycleHelper =>
      'Maksymalny procent czasu, który stacja może wykorzystać.';

  @override
  String repeater_dutyCyclePercent(int percent) {
    return '$percent%';
  }

  @override
  String get repeater_ownerInfo => 'Informacje o operatorze';

  @override
  String get repeater_ownerInfoHelper =>
      'Publiczne metadane dla tego urządzenia powielającego';

  @override
  String get repeater_refreshOwnerInfo =>
      'Aktualizacja danych dotyczących operatora';

  @override
  String get repeater_floodMax => 'Maksymalna liczba skoków podczas powodzi';

  @override
  String get repeater_floodMaxHelper =>
      'Maksymalna liczba pakietów, które mogą przemieszczać się w jednym strumieniu (0-64)';

  @override
  String get repeater_advancedSettings => 'Zaawansowany';

  @override
  String get repeater_advancedSettingsSubtitle =>
      'Regulowane pokrętła dla doświadczonych operatorów';

  @override
  String get repeater_pathHashMode => 'Tryb haszujący ścieżkę';

  @override
  String get repeater_pathHashModeHelper =>
      'Bajty używane do kodowania identyfikatora tego repeatera w tagach ścieżki flood/wykrywania pętli. 0=1 bajt (256 identyfikatorów, do 64 skoków), 1=2 bajty (65 000 identyfikatorów, do 32 skoków), 2=3 bajty (16 milionów identyfikatorów, do 21 skoków). Firmware sprzed v1.14 zawsze używał ścieżek 1-bajtowych; v1.14 i nowsze można skonfigurować na ścieżki 2- lub 3-bajtowe.';

  @override
  String get repeater_keySettings => 'Zmiana kluczy tożsamości';

  @override
  String get repeater_keySettingsSubtitle =>
      'Zmień parę kluczy publiczną/prywatną';

  @override
  String get repeater_prvKey => 'Klucz prywatny';

  @override
  String get repeater_prvKeyHelper =>
      'Nowy klucz prywatny dla wzmacniacza, 128-znakowa string hexadecyimalny.';

  @override
  String get repeater_generatePrvKey => 'Wygeneruj losowy klucz parowy';

  @override
  String get repeater_stopGeneratingPrvKey =>
      'Przerwij wyszukiwanie kluczowego paru';

  @override
  String get repeater_pubKey => 'Klucz publiczny';

  @override
  String get repeater_pubKeyHelper =>
      'To jest klucz publiczny, który odpowiada wygenerowanemu kluczowi prywatnemu. Nie można go ustawić bezpośrednio.';

  @override
  String get repeater_pubKeyPrefix => 'Pożądane przedrostek';

  @override
  String repeater_pubKeyPrefixHelper(int tries) {
    return 'Znajdź klucz publiczny, który zaczyna się od tych cyfr hex. Oczekiwana liczba prób: $tries.';
  }

  @override
  String get repeater_txDelay => 'Opóźnienie w Flood, TX';

  @override
  String get repeater_txDelayHelper =>
      'Ustawienie odstępu dla ruchu związanego z powodzią, jako mnożnik czasu przesyłania pakietu (0-2, domyślnie 0,5). Wyższe wartości oznaczają mniejszą liczbę kolizji, ale wolniejszą prędkość przesyłania.';

  @override
  String get repeater_directTxDelay => 'Bezpośrednie opóźnienie sygnału TX';

  @override
  String get repeater_directTxDelayHelper =>
      'Ustawienie odstępu dla ruchu bezpośredniego (bez rozgłaszania), jako mnożnika czasu przesyłania pakietu (0-2, domyślnie 0,3).';

  @override
  String get repeater_intThresh => 'Próg zakłóceń';

  @override
  String get repeater_intThreshHelper =>
      'Próg został ustawiony na poziom szumów w radiu, dzięki czemu odrzuca sygnały zakłócające powyżej tego poziomu. 0 oznacza wyłączenie – ustaw tylko wtedy, gdy występują błędy odbierania w szumie.';

  @override
  String get repeater_agcResetInterval => 'Interwał resetowania AGC';

  @override
  String get repeater_agcResetIntervalHelper =>
      'Jak często należy resetować automatyczną regulację głośności radia, aby odzyskać z sytuacji, w której głośność jest ustawiona na stałe. Ustawienie \"0\" dezaktywuje okresowe resetowanie.';

  @override
  String get repeater_actionsTitle => 'Działania';

  @override
  String get repeater_sendAdvert => 'Wysłać reklamę dotyczącą powodzi';

  @override
  String get repeater_sendAdvertSubtitle =>
      'Wyemituj reklamę dotyczącą powodzi w sieci.';

  @override
  String get repeater_sendAdvertZeroHop => 'Wysłać reklamę bez pośrednictwa';

  @override
  String get repeater_sendAdvertZeroHopSubtitle =>
      'Napisz reklamę, która będzie transmitowana bezpośrednio (bez powtarzania).';

  @override
  String get repeater_clockSync => 'Synchronizuj zegar';

  @override
  String get repeater_clockSyncSubtitle =>
      'Przekaż czas z telefonu do urządzenia powielającego';

  @override
  String repeater_actionSucceeded(String action) {
    return '$action zakończyło się pomyślnie';
  }

  @override
  String repeater_actionFailed(String action, String error) {
    return '$action failed: $error';
  }

  @override
  String get repeater_settingsSavedRebootNeeded =>
      'Ustawienia zapisane – uruchom ponownie repeater, aby zastosować zmiany.';

  @override
  String repeater_settingsPartialFailure(String failures) {
    return 'Niektóre ustawienia nie zostały zaimplementowane: $failures';
  }

  @override
  String repeater_errorSavingSettings(String error) {
    return 'Błąd zapisu ustawień: $error';
  }

  @override
  String get repeater_refreshBasicSettings => 'Odśwież Podstawowe Ustawienia';

  @override
  String get repeater_refreshRadioSettings => 'Odśwież ustawienia radia';

  @override
  String get repeater_refreshTxPower => 'Odśwież moc TX';

  @override
  String get repeater_refreshPacketForwarding => 'Odśwież trasowanie pakietów';

  @override
  String get repeater_refreshGuestAccess => 'Odśwież dostęp gościa';

  @override
  String get repeater_refreshPrivacyMode => 'Odśwież Tryb Prywatności';

  @override
  String repeater_refreshed(String label) {
    return '$label odświeżone';
  }

  @override
  String repeater_errorRefreshing(String label) {
    return 'Błąd podczas odświeżania $label';
  }

  @override
  String get repeater_cliTitle => 'Przekaźnik CLI';

  @override
  String get repeater_debugNextCommand => 'Debug Następną Komendę';

  @override
  String get repeater_commandHelp => 'Pomoc';

  @override
  String get repeater_clearHistory => 'Wyczyść historię';

  @override
  String get repeater_noCommandsSent => 'Nie wysłano jeszcze żadnych poleceń';

  @override
  String get repeater_typeCommandOrUseQuick =>
      'Wprowadź polecenie poniżej lub użyj szybkich poleceń';

  @override
  String get repeater_enterCommandHint => 'Wprowadź polecenie...';

  @override
  String get repeater_previousCommand => 'Poprzednia komenda';

  @override
  String get repeater_nextCommand => 'Następna komenda';

  @override
  String get repeater_enterCommandFirst => 'Wprowadź najpierw polecenie';

  @override
  String get repeater_cliCommandFrameTitle => 'Ramka polecenia CLI';

  @override
  String repeater_cliCommandError(String error) {
    return 'Błąd: $error';
  }

  @override
  String get repeater_cliQuickGetName => 'Pobierz nazwę';

  @override
  String get repeater_cliQuickGetRadio => 'Pobierz radio';

  @override
  String get repeater_cliQuickGetTx => 'Pobierz TX';

  @override
  String get repeater_cliQuickNeighbors => 'Sąsiedzi';

  @override
  String get repeater_cliQuickVersion => 'Wersja';

  @override
  String get repeater_cliQuickAdvertise => 'Rozgłoś';

  @override
  String get repeater_cliQuickClock => 'Godzina';

  @override
  String get repeater_cliQuickClockSync => 'Synchronizacja zegara';

  @override
  String get repeater_cliQuickDiscovery => 'Odkryj Sąsiadów';

  @override
  String get repeater_cliHelpAdvert => 'Wysyła pakiet rozgłoszeniowy';

  @override
  String get repeater_cliHelpReboot =>
      'Zresetuj urządzenie. (Uwaga, może pojawić się \'Timeout\', co jest normalne)';

  @override
  String get repeater_cliHelpClock =>
      'Wyświetla aktualny czas zgodnie z zegarem urządzenia.';

  @override
  String get repeater_cliHelpPassword =>
      'Ustawia nowe hasło administratora dla urządzenia.';

  @override
  String get repeater_cliHelpVersion =>
      'Wyświetla wersję urządzenia i datę budowy oprogramowania.';

  @override
  String get repeater_cliHelpClearStats =>
      'Resetuje różne wskaźniki statystyk do zera.';

  @override
  String get repeater_cliHelpSetAf => 'Ustawia czynnik czasu powietrznego.';

  @override
  String get repeater_cliHelpSetTx =>
      'Ustawia moc transmisji LoRa w dBm. (zrestartuj, aby zastosować)';

  @override
  String get repeater_cliHelpSetRepeat =>
      'Włącza lub wyłącza rolę przekaźnika dla tego węzła.';

  @override
  String get repeater_cliHelpSetAllowReadOnly =>
      '(Serwer pokoju) Jeśli \'włączone\', to logowanie z pustym hasłem będzie dozwolone, ale nie można publikować w pokoju (tylko czytać).';

  @override
  String get repeater_cliHelpSetFloodMax =>
      'Ustawia maksymalną liczbę skoków pakietu zalewowego (jeśli >= max, pakiet nie jest przekierowywany)';

  @override
  String get repeater_cliHelpSetIntThresh =>
      'Ustawia Próg Interferencji (w dB). Domyślnie wynosi 14. Ustaw na 0, aby wyłączyć wykrywanie zakłóceń kanału.';

  @override
  String get repeater_cliHelpSetAgcResetInterval =>
      'Ustawia interwał do zresetowania automatycznego wzmocnienia (AGC). Ustaw na 0, aby wyłączyć.';

  @override
  String get repeater_cliHelpSetMultiAcks =>
      'Włącza lub wyłącza funkcję \'podwójnych potwierdzeń\'.';

  @override
  String get repeater_cliHelpSetAdvertInterval =>
      'Ustawia interwał timera w minutach do wysyłania pakietu rozgłoszenia lokalnego (bezpośredniego). Ustaw na 0, aby wyłączyć.';

  @override
  String get repeater_cliHelpSetFloodAdvertInterval =>
      'Ustawia interwał timera w godzinach do wysłania pakietu rozgłoszeniowego typu \"flood\". Ustaw na 0, aby wyłączyć.';

  @override
  String get repeater_cliHelpSetGuestPassword =>
      'Ustawia/aktualizuje hasło gościa. (dla przekaźników loginy gości mogą wysyłać żądanie \"Get Stats\")';

  @override
  String get repeater_cliHelpSetName => 'Ustawia nazwę rozgłoszenia.';

  @override
  String get repeater_cliHelpSetLat =>
      'Ustawia współrzędną geograficzną (w stopniach dziesiętnych) mapy rozgłoszeń.';

  @override
  String get repeater_cliHelpSetLon =>
      'Ustawia współrzędną długościową mapy rozgłoszeń. (stopnie dziesiętne)';

  @override
  String get repeater_cliHelpSetRadio =>
      'Ustawia nowe parametry radia i zapisuje je w preferencjach. Wymaga polecenia \"reboot\" do zastosowania.';

  @override
  String get repeater_cliHelpSetRxDelay =>
      'Ustawienia (eksperymentalne) bazowe (muszą być > 1, aby działać) do stosowania lekkiego opóźnienia dla odebranych pakietów, w oparciu o siłę sygnału/wynik. Ustaw na 0, aby wyłączyć.';

  @override
  String get repeater_cliHelpSetTxDelay =>
      'Ustawia czynnik mnożony przez czas utrzymania w trybie zalewowym dla pakietu oraz z wykorzystaniem losowego systemu slotów, aby opóźnić jego przesyłanie (zmniejszając prawdopodobieństwo kolizji).';

  @override
  String get repeater_cliHelpSetDirectTxDelay =>
      'Taki sam jak txdelay, ale dla stosowania losowej opóźnienia przy przekazywaniu pakietów w trybie bezpośrednim.';

  @override
  String get repeater_cliHelpSetBridgeEnabled => 'Włącz/Wyłącz mostek.';

  @override
  String get repeater_cliHelpSetBridgeDelay =>
      'Ustaw czas opóźnienia przed ponownym wysyłaniem pakietów.';

  @override
  String get repeater_cliHelpSetBridgeSource =>
      'Wybierz, czy most będzie ponownie transmitował otrzymywane pakiety, czy też wysyłane.';

  @override
  String get repeater_cliHelpSetBridgeBaud =>
      'Ustaw prędkość transmisji magistrali szeregowej dla mostów rs232.';

  @override
  String get repeater_cliHelpSetBridgeSecret =>
      'Ustaw sekret dla mostów ESPNOW.';

  @override
  String get repeater_cliHelpSetAdcMultiplier =>
      'Ustawia niestandardowy współczynnik do korekty zgłaszanego napięcia baterii (obsługa tylko na wybranych płytach).';

  @override
  String get repeater_cliHelpTempRadio =>
      'Ustawia tymczasowe parametry radia na podany czas trwania w minutach, a następnie powraca do oryginalnych parametrów radia. (nie zapisuje zmian w preferencjach).';

  @override
  String get repeater_cliHelpSetPerm =>
      'Modyfikuje ACL. Usuwa dopasowaną wpis (z prefiksem pubkey), jeśli \"permissions\" wynosi zero. Dodaje nowy wpis, jeśli pubkey-hex ma pełną długość i nie znajduje się obecnie w ACL. Aktualizuje wpis, dopasowując prefiks pubkey. Bit uprawnień zależy od roli firmware, ale dolne 2 bity to: 0 (Gość), 1 (tylko odczyt), 2 (odczyt i zapis), 3 (administrator).';

  @override
  String get repeater_cliHelpGetBridgeType =>
      'Pobiera typ mostka: brak, rs232, espnow';

  @override
  String get repeater_cliHelpLogStart =>
      'Rozpoczyna się logowanie pakietów do systemu plików.';

  @override
  String get repeater_cliHelpLogStop =>
      'Zatrzymuje logowanie pakietów do systemu plików.';

  @override
  String get repeater_cliHelpLogErase =>
      'Usuwa logi pakietów z systemu plików.';

  @override
  String get repeater_cliHelpNeighbors =>
      'Wyświetla listę innych węzłów przekaźnikowych usłyszanych przez rozgłoszenia zero-hop. Każda linia to: id-prefix-hex:timestamp:snr-times-4';

  @override
  String get repeater_cliHelpNeighborRemove =>
      'Usuwa pierwszy pasujący wpis (z prefiksem pubkey (hex)) z listy sąsiadów.';

  @override
  String get repeater_cliHelpRegion =>
      '(tylko port szeregowy) Wyświetla wszystkie zdefiniowane regiony i aktualne uprawnienia do zalewu.';

  @override
  String get repeater_cliHelpRegionLoad =>
      'UWAGA: to jest specjalne wywołanie wielokomendowe. Każda następna komenda jest nazwą regionu (wcięta spacjami, aby wskazywać hierarchię nadrzędną, z minimum jedną spacją). Zakończona wysłaniem pustej linii/komendy.';

  @override
  String get repeater_cliHelpRegionGet =>
      'Wyszukuje region o podanej nazwie prefiksu (lub \"\" dla zakresu globalnego). Odpowiada \"-> region-name (parent-name) \'F\'\"';

  @override
  String get repeater_cliHelpRegionPut =>
      'Dodaje lub aktualizuje definicję regionu z podaną nazwą.';

  @override
  String get repeater_cliHelpRegionRemove =>
      'Usuwa definicję regionu o podanej nazwie. (musi się dokładnie zgadzać i nie może mieć podregionów).';

  @override
  String get repeater_cliHelpRegionAllowf =>
      'Ustawia uprawnienia \'F\' (zalewowe) dla podanego regionu. (\'\' dla zakresu globalnego/starszego)';

  @override
  String get repeater_cliHelpRegionDenyf =>
      'Usuwa uprawnienie \'F\' (zalewowe) dla podanej strefy. (ZALECANE: na tym etapie NIE zaleca się używania tego na globalnym/starszym zakresie!!).';

  @override
  String get repeater_cliHelpRegionHome =>
      'Odpowiada z aktualnej \'home\' region. (Uwaga: nie zostało jeszcze zastosowane, zarezerwowane na przyszłość).';

  @override
  String get repeater_cliHelpRegionHomeSet => 'Ustawia region \'domowe\'.';

  @override
  String get repeater_cliHelpRegionSave =>
      'Zapisuje listę/mapę regionów do pamięci.';

  @override
  String get repeater_cliHelpGps =>
      'Wyświetla status GPS. Jeśli GPS jest wyłączony, odpowiada tylko \"off\", jeśli jest włączony, odpowiada z \"on\", \"status\", \"fix\", liczbą satelitów.';

  @override
  String get repeater_cliHelpGpsOnOff => 'Włącza/wyłącza nawigację GPS.';

  @override
  String get repeater_cliHelpGpsSync =>
      'Synchronizuje czas węzła z zegarem GPS.';

  @override
  String get repeater_cliHelpGpsSetLoc =>
      'Ustawia pozycję węzła na współrzędne GPS i zapisuje preferencje.';

  @override
  String get repeater_cliHelpGpsAdvert =>
      'Udostępnia konfigurację rozgłoszeń lokalizacji węzła:\n- brak: nie uwzględniaj lokalizacji w rozgłoszeniach\n- udostępnia: udostępnia lokalizację GPS (z SensorManager)\n- ustawienia: rozgłaszaj lokalizację przechowywaną w ustawieniach';

  @override
  String get repeater_cliHelpGpsAdvertSet =>
      'Ustawia konfigurację rozgłoszeń lokalizacji.';

  @override
  String get repeater_commandsListTitle => 'Lista poleceń';

  @override
  String get repeater_commandsListNote =>
      'UWAGA: dla różnych poleceń \"set ...\" istnieje również polecenie \"get ...\".';

  @override
  String get repeater_general => 'Ogólne';

  @override
  String get repeater_settingsCategory => 'Ustawienia';

  @override
  String get repeater_bridge => 'Most';

  @override
  String get repeater_logging => 'Rejestrowanie';

  @override
  String get repeater_neighborsRepeaterOnly => 'Sąsiedzi (tylko przekaźnik)';

  @override
  String get repeater_regionManagementRepeaterOnly =>
      'Zarządzanie Regionem (tylko Przekaźnik)';

  @override
  String get repeater_regionNote =>
      'Wprowadzono komendy regionalne w celu zarządzania definicjami i uprawnieniami regionów.';

  @override
  String get repeater_gpsManagement => 'Zarządzanie GPS';

  @override
  String get repeater_gpsNote =>
      'Polecenie GPS zostało wprowadzone w celu zarządzania tematami związanymi z lokalizacją.';

  @override
  String get repeater_getCategory => 'Uzyskaj wartości';

  @override
  String get repeater_powerMgmt => 'Zarządzanie energią';

  @override
  String get repeater_sensors => 'Czujniki';

  @override
  String get repeater_cliHelpPowerOff =>
      'Wyłącza urządzenie. (oczekiwanie na brak reakcji)';

  @override
  String get repeater_cliHelpClkReboot =>
      'Przywraca zegar do znanego punktu odniesienia i resetuje urządzenie.';

  @override
  String get repeater_cliHelpAdvertZeroHop =>
      'Wysyła reklamę, która dociera bezpośrednio do sąsiadów (bez pośrednictwa).';

  @override
  String get repeater_cliHelpStartOta =>
      'Rozpoczyna aktualizację oprogramowania przez sieć (bezpośrednio z urządzenia).';

  @override
  String get repeater_cliHelpTime =>
      'Ustawia zegar urządzenia na określone sekundy od epoki Unix. Zegar nie może się cofać.';

  @override
  String get repeater_cliHelpBoard =>
      'Wyświetla informacje o producencie płyty głównej / identyfikator sprzętu.';

  @override
  String get repeater_cliHelpDiscoverNeighbors =>
      'Wysyła żądanie wykrywania sąsiednich węzłów. (Działa tylko w urządzeniu powielającym sygnał)';

  @override
  String get repeater_cliHelpPowersaving =>
      'Pokazuje, czy tryb oszczędzania energii jest włączony, czy wyłączony.';

  @override
  String get repeater_cliHelpPowersavingOnOff =>
      'Umożliwia lub wyłącza tryb oszczędzania energii (jeśli jest obsługiwany).';

  @override
  String get repeater_cliHelpErase =>
      '(Dla urządzeń) Formatuje system plików urządzenia. Usuwa wszystkie ustawienia i kontakty.';

  @override
  String get repeater_cliHelpSetDutyCycle =>
      'Ustawia maksymalny dopuszczalny cykl przesyłania w procentach (1-100). Automatycznie dostosowuje współczynnik czasu przesyłania.';

  @override
  String get repeater_cliHelpSetPrvKey =>
      '(Dla urządzeń) Zastępuje klucz prywatny identyfikujący urządzenie. Wymagana jest ponowna uruchomienie urządzenia, aby zastosować zmianę. Generuje nowy klucz publiczny.';

  @override
  String get repeater_cliHelpSetRadioRxGain =>
      '(tylko SX126x) Włącza wzmocniony sygnał RX, co poprawia czułość przy wyższym poborze prądu.';

  @override
  String get repeater_cliHelpSetOwnerInfo =>
      'Określa ciąg znaków zawierający dane kontaktowe właściciela, który znajduje się w ogłoszeniach. Użyj \'|\' jako separatora wierszy.';

  @override
  String get repeater_cliHelpSetPathHashMode =>
      'Ustawia tryb haszowania ścieżki. 0 = stary, 1 = standardowy, 2 = restrykcyjny. Wpływa na sposób dopasowywania ścieżek routingu.';

  @override
  String get repeater_cliHelpSetLoopDetect =>
      'Ustawia czułość detekcji pętli routingu: wyłączona, minimalna, umiarkowana lub rygorystyczna.';

  @override
  String get repeater_cliHelpSetFreq =>
      '(Dla urządzeń szeregowych) Szybko ustawia tylko częstotliwość. Wymagana ponowna uruchomienie. Zaleca się użycie opcji \"ustawienie radia\" w celu ustawienia wszystkich parametrów radia.';

  @override
  String get repeater_cliHelpSetBridgeChannel =>
      '(Tylko most ESPNow) Ustawia kanał WiFi (od 1 do 14), który jest wykorzystywany przez most.';

  @override
  String get repeater_cliHelpGetName =>
      'Wyświetla nazwę skonfigurowanego węzła.';

  @override
  String get repeater_cliHelpGetRole =>
      'Pokazuje rolę oprogramowania (np. repeater, serwer dla pokoju).';

  @override
  String get repeater_cliHelpGetPublicKey =>
      'Wyświetla publiczny klucz urządzenia.';

  @override
  String get repeater_cliHelpGetPrvKey =>
      '(Tylko dla serialu) Wyświetla prywatny klucz urządzenia. Traktuj go jako poufny.';

  @override
  String get repeater_cliHelpGetRepeat =>
      'Pokazuje, czy funkcja przekierowywania pakietów (funkcja repeatera) jest włączona lub wyłączona.';

  @override
  String get repeater_cliHelpGetTx => 'Pokazuje aktualną moc transmisji w dBm.';

  @override
  String get repeater_cliHelpGetFreq =>
      'Pokazuje skonfigurowaną częstotliwość radiową w MHz.';

  @override
  String get repeater_cliHelpGetRadio =>
      'Wyświetla pełne parametry radia: częstotliwość, szerokość pasma, współczynnik modulacji, stopień kodowania.';

  @override
  String get repeater_cliHelpGetRadioRxGain =>
      '(tylko SX126x) Wyświetla stan wzmocnienia sygnału RX.';

  @override
  String get repeater_cliHelpGetAf =>
      'Pokazuje aktualny współczynnik czasu emisji.';

  @override
  String get repeater_cliHelpGetDutyCycle =>
      'Pokazuje aktualny dopuszczalny cykl pracy w procentach.';

  @override
  String get repeater_cliHelpGetIntThresh =>
      'Pokazuje próg zakłóceń kanału w dB.';

  @override
  String get repeater_cliHelpGetAgcResetInterval =>
      'Pokazuje interwał resetowania AGC w sekundach.';

  @override
  String get repeater_cliHelpGetMultiAcks =>
      'Pokazuje, czy tryb podwójnego potwierdzania jest włączony (1) czy wyłączony (0).';

  @override
  String get repeater_cliHelpGetAllowReadOnly =>
      'Pokazuje, czy dostęp dla gości jest ograniczony do odczytu tylko.';

  @override
  String get repeater_cliHelpGetAdvertInterval =>
      'Pokazuje czas trwania lokalnej reklamy w minutach.';

  @override
  String get repeater_cliHelpGetFloodAdvertInterval =>
      'Pokazuje interwał reklamowy dotyczący powodzi w godzinach.';

  @override
  String get repeater_cliHelpGetGuestPassword =>
      'Wyświetla ustawione hasło dla gościa.';

  @override
  String get repeater_cliHelpGetLat =>
      'Pokazuje ustawioną szerokość geograficzną.';

  @override
  String get repeater_cliHelpGetLon =>
      'Pokazuje ustawioną długość geograficzną.';

  @override
  String get repeater_cliHelpGetRxDelay =>
      'Pokazuje bazową wartość opóźnienia RX.';

  @override
  String get repeater_cliHelpGetTxDelay =>
      'Pokazuje współczynnik opóźnienia transmisji w trybie zalewowym.';

  @override
  String get repeater_cliHelpGetDirectTxDelay =>
      'Pokazuje współczynnik opóźnienia w trybie bezpośrednim.';

  @override
  String get repeater_cliHelpGetFloodMax =>
      'Pokazuje maksymalną liczbę skoków spowodowanych powodzią.';

  @override
  String get repeater_cliHelpGetOwnerInfo =>
      'Wyświetla ciąg znaków zawierający dane kontaktowe właściciela.';

  @override
  String get repeater_cliHelpGetPathHashMode =>
      'Pokazuje tryb haszujący ścieżkę (0/1/2).';

  @override
  String get repeater_cliHelpGetLoopDetect =>
      'Pokazuje czułość detekcji pętli.';

  @override
  String get repeater_cliHelpGetAcl =>
      '(Tylko dla seriali) Wyświetla wpisy kontroli dostępu w repeaterze.';

  @override
  String get repeater_cliHelpGetBridgeEnabled =>
      'Pokazuje, czy most jest włączony.';

  @override
  String get repeater_cliHelpGetBridgeDelay =>
      'Pokazuje opóźnienie mostu w milisekundach.';

  @override
  String get repeater_cliHelpGetBridgeSource =>
      'Pokazuje, czy most odbiera pakiety RX lub TX.';

  @override
  String get repeater_cliHelpGetBridgeBaud =>
      '(Tylko interfejs RS232) Wyświetla prędkość transmisji na interfejsie RS232.';

  @override
  String get repeater_cliHelpGetBridgeChannel =>
      '(Tylko moduł ESPNow) Wyświetla kanał WiFi modułu.';

  @override
  String get repeater_cliHelpGetBridgeSecret =>
      '(Tylko most ESPNow) Wyświetla sekret udostępniony przez most.';

  @override
  String get repeater_cliHelpGetBootloaderVer =>
      '(tylko dla NRF52) Wyświetla wersję bootloadera.';

  @override
  String get repeater_cliHelpGetAdcMultiplier =>
      'Pokazuje wzmacniacz ADC (skalowanie napięcia baterii).';

  @override
  String get repeater_cliHelpGetPwrMgtSupport =>
      'Informuje, czy rada nadzorcza posiada wsparcie w zakresie zarządzania energią.';

  @override
  String get repeater_cliHelpGetPwrMgtSource =>
      'Pokazuje aktualne źródło zasilania: zewnętrzne lub bateryjne.';

  @override
  String get repeater_cliHelpGetPwrMgtBootReason =>
      'Pokazuje najnowsze przyczyny resetowania i wyłączania.';

  @override
  String get repeater_cliHelpGetPwrMgtBootMv =>
      'Pokazuje napięcie baterii podczas uruchamiania systemu w milivoltach (mV).';

  @override
  String get repeater_cliHelpSensorGet =>
      'Odczytuje ustawienie czujnika zdefiniowane za pomocą klawisza.';

  @override
  String get repeater_cliHelpSensorSet =>
      'Tworzy niestandardowe ustawienia dla czujnika.';

  @override
  String get repeater_cliHelpSensorList =>
      'Wyświetla wszystkie ustawienia dla niestandardowych czujników, podzielone na strony, z opcjonalnym indeksem początkowym.';

  @override
  String get repeater_cliHelpRegionDefault =>
      'Pokazuje aktualny domyślny zakres regionu.';

  @override
  String get repeater_cliHelpRegionDefaultSet =>
      'Ustawia domyślny zakres regionu. Użyj wartości \"<null>\", aby go zresetować.';

  @override
  String get repeater_cliHelpRegionListAllowed =>
      'Wymienia regiony, w których dopuszczony jest ruch związany z powodzami.';

  @override
  String get repeater_cliHelpRegionListDenied =>
      'Wymienia regiony, w których ruch związany z powodziami jest ograniczony.';

  @override
  String get repeater_cliHelpStatsPackets =>
      '(Tylko dla serialu) Prezentuje statystyki na poziomie pakietów.';

  @override
  String get repeater_cliHelpStatsRadio =>
      '(Tylko serial) Prezentuje statystyki dotyczące nadawania radiowego.';

  @override
  String get repeater_cliHelpStatsCore =>
      '(Tylko wersja serialowa) Wyświetla podstawowe statystyki o oprogramowaniu.';

  @override
  String get telemetry_receivedData => 'Odebrane dane telemetrii';

  @override
  String get telemetry_requestTimeout =>
      'Przekroczono czas oczekiwania na telemetrię.';

  @override
  String telemetry_errorLoading(String error) {
    return 'Błąd podczas ładowania telemetrii: $error';
  }

  @override
  String get telemetry_noData => 'Brak dostępnych danych telemetrycznych.';

  @override
  String telemetry_channelTitle(int channel) {
    return 'Kanał $channel';
  }

  @override
  String get telemetry_batteryLabel => 'Bateria';

  @override
  String get telemetry_voltageLabel => 'Napięcie';

  @override
  String get telemetry_mcuTemperatureLabel => 'Temperatura MCU';

  @override
  String get telemetry_temperatureLabel => 'Temperatura';

  @override
  String get telemetry_currentLabel => 'Prąd';

  @override
  String telemetry_batteryValue(int percent, String volts) {
    return '$percent% / $volts W';
  }

  @override
  String telemetry_voltageValue(String volts) {
    return '${volts}V';
  }

  @override
  String telemetry_currentValue(String amps) {
    return '${amps}A';
  }

  @override
  String telemetry_temperatureValue(String celsius, String fahrenheit) {
    return '$celsius°C / $fahrenheit°F';
  }

  @override
  String get telemetry_digitalInputLabel => 'Wejście cyfrowe';

  @override
  String get telemetry_digitalOutputLabel => 'Wyjście cyfrowe';

  @override
  String get telemetry_analogInputLabel => 'Wejście analogowe';

  @override
  String get telemetry_analogOutputLabel => 'Wyjście analogowe';

  @override
  String get telemetry_genericLabel => 'Czujnik ogólny';

  @override
  String get telemetry_luminosityLabel => 'Jasność';

  @override
  String get telemetry_presenceLabel => 'Obecność';

  @override
  String get telemetry_humidityLabel => 'Wilgotność';

  @override
  String get telemetry_accelerometerLabel => 'Akcelerometr';

  @override
  String get telemetry_pressureLabel => 'Ciśnienie';

  @override
  String get telemetry_altitudeLabel => 'Wysokość';

  @override
  String get telemetry_frequencyLabel => 'Częstotliwość';

  @override
  String get telemetry_percentageLabel => 'Procent';

  @override
  String get telemetry_concentrationLabel => 'Stężenie';

  @override
  String get telemetry_powerLabel => 'Moc';

  @override
  String get telemetry_distanceLabel => 'Odległość';

  @override
  String get telemetry_energyLabel => 'Energia';

  @override
  String get telemetry_directionLabel => 'Kierunek';

  @override
  String get telemetry_timeLabel => 'Czas';

  @override
  String get telemetry_gyrometerLabel => 'Żyrometr';

  @override
  String get telemetry_colourLabel => 'Kolor';

  @override
  String get telemetry_gpsLabel => 'GPS';

  @override
  String get telemetry_switchLabel => 'Przełącznik';

  @override
  String get telemetry_polylineLabel => 'Polilinia';

  @override
  String telemetry_altitudeValue(String meters) {
    return '$meters m';
  }

  @override
  String telemetry_frequencyValue(String hertz) {
    return '$hertz Hz';
  }

  @override
  String telemetry_pressureValue(String hpa) {
    return '$hpa hPa';
  }

  @override
  String telemetry_luminosityValue(String lux) {
    return '$lux lx';
  }

  @override
  String telemetry_powerValue(String watts) {
    return '$watts W';
  }

  @override
  String telemetry_distanceValue(String meters) {
    return '$meters m';
  }

  @override
  String telemetry_energyValue(String kilowattHours) {
    return '$kilowattHours kWh';
  }

  @override
  String telemetry_directionValue(String degrees) {
    return '$degrees°';
  }

  @override
  String telemetry_concentrationValue(String ppm) {
    return '$ppm ppm';
  }

  @override
  String telemetry_percentageValue(String percent) {
    return '$percent%';
  }

  @override
  String telemetry_analogValue(String value) {
    return '$value';
  }

  @override
  String get telemetry_autoFetchQuantity => 'Liczba żądań';

  @override
  String get telemetry_error => 'Nie udało się pobrać danych';

  @override
  String get neighbors_receivedData => 'Otrzymano dane sąsiedztwa';

  @override
  String get neighbors_requestTimedOut =>
      'Sąsiedzi proszą o wyłączenie timingu.';

  @override
  String neighbors_errorLoading(String error) {
    return 'Błąd podczas ładowania sąsiadów: $error';
  }

  @override
  String get neighbors_repeatersNeighbors => 'Sąsiedzi przekaźników';

  @override
  String get neighbors_noData => 'Brak danych dotyczących sąsiadów.';

  @override
  String neighbors_unknownContact(String pubkey) {
    return 'Nieznana $pubkey';
  }

  @override
  String neighbors_heardAgo(String time) {
    return 'Usłyszano: $time temu';
  }

  @override
  String get channelPath_title => 'Ścieżka pakietu';

  @override
  String get channelPath_viewMap => 'Wyświetl mapę';

  @override
  String get channelPath_otherObservedPaths => 'Inne zaobserwowane ścieżki';

  @override
  String get channelPath_repeaterHops => 'Skoki przekaźników';

  @override
  String get channelPath_noHopDetails =>
      'Szczegóły dotyczące tego pakietu nie zostały podane.';

  @override
  String get channelPath_messageDetails => 'Szczegóły wiadomości';

  @override
  String get channelPath_senderLabel => 'Nadawca';

  @override
  String get channelPath_timeLabel => 'Czas';

  @override
  String get channelPath_repeatsLabel => 'Powtórzenia';

  @override
  String channelPath_pathLabel(int index) {
    return 'Ścieżka $index';
  }

  @override
  String get channelPath_observedLabel => 'Obserwowane';

  @override
  String channelPath_observedPathTitle(int index, String hops) {
    return 'Obserwowana ścieżka $index • $hops';
  }

  @override
  String get channelPath_noLocationData => 'Brak danych lokalizacyjnych';

  @override
  String channelPath_timeWithDate(int day, int month, String time) {
    return '$day/$month $time';
  }

  @override
  String channelPath_timeOnly(String time) {
    return '$time';
  }

  @override
  String get channelPath_unknownPath => 'Nieznane';

  @override
  String get channelPath_floodPath => 'Zalew';

  @override
  String get channelPath_directPath => 'Bezpośrednio';

  @override
  String channelPath_observedZeroOf(int total) {
    return '0 z $total skoków';
  }

  @override
  String channelPath_observedSomeOf(int observed, int total) {
    return '$observed z $total skoków';
  }

  @override
  String get channelPath_mapTitle => 'Mapa ścieżek';

  @override
  String get channelPath_noRepeaterLocations =>
      'Brak dostępnych lokalizacji przekaźników dla tej ścieżki.';

  @override
  String channelPath_primaryPath(int index) {
    return 'Ścieżka $index (Główna)';
  }

  @override
  String get channelPath_pathLabelTitle => 'Ścieżka';

  @override
  String get channelPath_observedPathHeader => 'Obserwowana ścieżka';

  @override
  String channelPath_selectedPathLabel(String label, String prefixes) {
    return '$label • $prefixes';
  }

  @override
  String get channelPath_noHopDetailsAvailable =>
      'Brak dostępnych szczegółów hopa dla tego pakietu.';

  @override
  String get channelPath_unknownRepeater => 'Nieznany Przekaźnik';

  @override
  String get community_title => 'Społeczność';

  @override
  String get community_create => 'Utwórz Społeczność';

  @override
  String get community_createDesc =>
      'Utwórz nową społeczność i udostępnij za pomocą kodu QR.';

  @override
  String get community_join => 'Dołącz';

  @override
  String get community_joinTitle => 'Dołącz do społeczności';

  @override
  String community_joinConfirmation(String name) {
    return 'Czy chcesz dołączyć do społeczności \"$name\"?';
  }

  @override
  String get community_scanQr => 'Skanuj QR kod społeczności';

  @override
  String get community_scanInstructions =>
      'Skieruj kamerę w kierunku kodu QR społeczności.';

  @override
  String get community_showQr => 'Pokaż kod QR';

  @override
  String get community_publicChannel => 'Społeczność Publiczna';

  @override
  String get community_hashtagChannel => 'Hashtag Społeczności';

  @override
  String get community_name => 'Nazwa Społeczności';

  @override
  String get community_enterName => 'Wprowadź nazwę społeczności';

  @override
  String community_created(String name) {
    return 'Społeczność \"$name\" została utworzona';
  }

  @override
  String community_joined(String name) {
    return 'Dołączył do społeczności \"$name\"';
  }

  @override
  String get community_qrTitle => 'Dziel się Społecznością';

  @override
  String community_qrInstructions(String name) {
    return 'Skanuj ten kod QR, aby dołączyć $name';
  }

  @override
  String get community_hashtagPrivacyHint =>
      'Kanały hashtagowe społeczności są dostępne tylko dla członków społeczności';

  @override
  String get community_invalidQrCode => 'Nieprawidłowy kod QR społeczności.';

  @override
  String get community_alreadyMember => 'Już jesteś członkiem.';

  @override
  String community_alreadyMemberMessage(String name) {
    return 'Jesteś już członkiem \"$name\".';
  }

  @override
  String get community_addPublicChannel => 'Dodaj Kanał Publiczny Społeczności';

  @override
  String get community_addPublicChannelHint =>
      'Automatycznie dodaj kanał publiczny dla tej społeczności.';

  @override
  String get community_noCommunities =>
      'Nie dołączono jeszcze żadnych społeczności.';

  @override
  String get community_scanOrCreate =>
      'Skanuj kod QR lub utwórz społeczność, aby zacząć.';

  @override
  String get community_manageCommunities => 'Zarządzaj Grupami';

  @override
  String get community_delete => 'Opuszczenie Społeczności';

  @override
  String community_deleteConfirm(String name) {
    return 'Opuścić \"$name\"?';
  }

  @override
  String community_deleteChannelsWarning(int count) {
    return 'Spowoduje to również usunięcie $count kanału/kanałów i ich wiadomości.';
  }

  @override
  String community_deleted(String name) {
    return 'Opuszczono społeczność \"$name\"';
  }

  @override
  String get community_regenerateSecret => 'Zregeneruj sekret';

  @override
  String community_regenerateSecretConfirm(String name) {
    return 'Regeneruj tajny klucz dla \"$name\"? Wszyscy członkowie będą musieli zeskanować nowy kod QR, aby kontynuować komunikację.';
  }

  @override
  String get community_regenerate => 'Zregeneruj';

  @override
  String community_secretRegenerated(String name) {
    return 'Hasło ponownie wygenerowane dla \"$name\"';
  }

  @override
  String get community_updateSecret => 'Zaktualizuj tajny klucz';

  @override
  String community_secretUpdated(String name) {
    return 'Hasło zaktualizowane dla \"$name\"';
  }

  @override
  String community_scanToUpdateSecret(String name) {
    return 'Skanuj nowy kod QR, aby zaktualizować sekret dla \"$name\"';
  }

  @override
  String get community_addHashtagChannel => 'Dodaj hashtag społeczności';

  @override
  String get community_addHashtagChannelDesc =>
      'Dodaj kanał z hashtagiem dla tej społeczności';

  @override
  String get community_selectCommunity => 'Wybierz społeczność';

  @override
  String get community_regularHashtag => 'Hashtag regular';

  @override
  String get community_regularHashtagDesc =>
      'Publiczny hashtag (każdy może dołączyć)';

  @override
  String get community_communityHashtag => 'Hashtag Społeczności';

  @override
  String get community_communityHashtagDesc =>
      'Dostępne tylko dla członków społeczności';

  @override
  String community_forCommunity(String name) {
    return 'Dla $name';
  }

  @override
  String get listFilter_tooltip => 'Filtruj i sortuj';

  @override
  String get listFilter_sortBy => 'Sortuj po';

  @override
  String get listFilter_latestMessages => 'Najnowsze wiadomości';

  @override
  String get listFilter_heardRecently => 'Słyszano niedawno';

  @override
  String get listFilter_az => 'Od A do Z';

  @override
  String get listFilter_filters => 'Filtry';

  @override
  String get listFilter_all => 'Wszystko';

  @override
  String get listFilter_favorites => 'Ulubione';

  @override
  String get listFilter_addToFavorites => 'Dodaj do ulubionych';

  @override
  String get listFilter_removeFromFavorites => 'Usuń z ulubionych';

  @override
  String get listFilter_users => 'Użytkownicy';

  @override
  String get listFilter_repeaters => 'Przekaźniki';

  @override
  String get listFilter_roomServers => 'Serwery pokoju';

  @override
  String get listFilter_unreadOnly => 'Tylko nieprzeczytane';

  @override
  String get listFilter_newGroup => 'Nowa grupa';

  @override
  String get pathTrace_you => 'Ty';

  @override
  String get pathTrace_failed => 'Śledzenie ścieżki nie powiodło się.';

  @override
  String get pathTrace_notAvailable => 'Ścieżka śledzenia niedostępna.';

  @override
  String get pathTrace_refreshTooltip => 'Odśwież ścieżkę.';

  @override
  String get pathTrace_someHopsNoLocation =>
      'Jeden lub więcej z chmieli nie ma określonej lokalizacji!';

  @override
  String get pathTrace_clearTooltip => 'Wyczyść ścieżkę';

  @override
  String get losSelectStartEnd => 'Wybierz węzły początkowe i końcowe dla LOS.';

  @override
  String losRunFailed(String error) {
    return 'Sprawdzenie pola widzenia nie powiodło się: $error';
  }

  @override
  String get losClearAllPoints => 'Wyczyść wszystkie punkty';

  @override
  String get losRunToViewElevationProfile =>
      'Uruchom LOS, aby wyświetlić profil wysokości';

  @override
  String get losMenuTitle => 'Menu LOS';

  @override
  String get losMenuSubtitle =>
      'Stuknij węzły lub naciśnij i przytrzymaj mapę, aby uzyskać niestandardowe punkty';

  @override
  String get losShowDisplayNodes => 'Pokaż węzły wyświetlające';

  @override
  String get losCustomPoints => 'Punkty niestandardowe';

  @override
  String losCustomPointLabel(int index) {
    return 'Niestandardowe $index';
  }

  @override
  String get losPointA => 'Punkt A';

  @override
  String get losPointB => 'Punkt B';

  @override
  String losAntennaA(String value, String unit) {
    return 'Antena A: $value $unit';
  }

  @override
  String losAntennaB(String value, String unit) {
    return 'Antena B: $value $unit';
  }

  @override
  String get losRun => 'Uruchom LOS-a';

  @override
  String get losNoElevationData => 'Brak danych o wysokości';

  @override
  String losProfileClear(
    String distance,
    String distanceUnit,
    String clearance,
    String heightUnit,
  ) {
    return '$distance $distanceUnit, czysty LOS, minimalny prześwit $clearance $heightUnit';
  }

  @override
  String losProfileBlocked(
    String distance,
    String distanceUnit,
    String obstruction,
    String heightUnit,
  ) {
    return '$distance $distanceUnit, zablokowane przez $obstruction $heightUnit';
  }

  @override
  String get losStatusChecking => 'LOS: sprawdzam...';

  @override
  String get losStatusNoData => 'LOS: brak danych';

  @override
  String losStatusSummary(int clear, int total, int blocked, int unknown) {
    return 'LOS: $clear/$total jasne, $blocked zablokowane, $unknown nieznane';
  }

  @override
  String get losErrorElevationUnavailable =>
      'Dane dotyczące wysokości są niedostępne dla jednej lub większej liczby próbek.';

  @override
  String get losErrorInvalidInput =>
      'Nieprawidłowe dane punktów/wysokości do obliczenia LOS.';

  @override
  String get losRenameCustomPoint => 'Zmień nazwę punktu niestandardowego';

  @override
  String get losPointName => 'Nazwa punktu';

  @override
  String get losShowPanelTooltip => 'Pokaż panel LOS';

  @override
  String get losHidePanelTooltip => 'Ukryj panel LOS';

  @override
  String get losElevationAttribution =>
      'Dane dotyczące wysokości: Open-Meteo (CC BY 4.0)';

  @override
  String get losLegendRadioHorizon => 'Horyzont radiowy';

  @override
  String get losLegendLosBeam => 'Linia widoczności';

  @override
  String get losLegendTerrain => 'Teren';

  @override
  String get losBlockedSpotsTitle => 'Zablokowane miejsca';

  @override
  String get losBlockedSpotsHint =>
      'Kliknij zablokowane miejsce, aby je zaznaczyć na mapie.';

  @override
  String losBlockedSpotChip(
    String distance,
    String distanceUnit,
    String obstruction,
    String heightUnit,
  ) {
    return '$distance $distanceUnit • $obstruction $heightUnit';
  }

  @override
  String get losSelectedObstructionTitle => 'Wybór przeszkody';

  @override
  String losSelectedObstructionDetails(
    String obstruction,
    String heightUnit,
    String distanceFromA,
    String distanceUnit,
    String distanceFromB,
  ) {
    return 'Blocked by $obstruction $heightUnit, $distanceFromA from A and $distanceFromB from B ($distanceUnit).';
  }

  @override
  String get losFrequencyLabel => 'Częstotliwość';

  @override
  String get losFrequencyInfoTooltip => 'Zobacz szczegóły obliczenia';

  @override
  String get losFrequencyDialogTitle => 'Obliczanie horyzontu radiowego';

  @override
  String losFrequencyDialogDescription(
    double baselineK,
    double baselineFreq,
    double frequencyMHz,
    double kFactor,
  ) {
    return 'Zaczynając od k=$baselineK przy $baselineFreq MHz, obliczenia korygują współczynnik k dla bieżącego pasma $frequencyMHz MHz, które definiuje zakrzywiony limit horyzontu radiowego.';
  }

  @override
  String get contacts_pathTrace => 'Śledzenie Ścieżek';

  @override
  String get contacts_ping => 'Pingować';

  @override
  String get contacts_repeaterPathTrace => 'Śledzenie ścieżki do przekaźnika';

  @override
  String get contacts_repeaterPing => 'Ping przekaźnika';

  @override
  String get contacts_roomPathTrace =>
      'Śledzenie ścieżki do serwera pokojowego';

  @override
  String get contacts_roomPing => 'Pinguj serwer pokoju';

  @override
  String get contacts_chatTraceRoute => 'Śledź trasę promienia';

  @override
  String contacts_pathTraceTo(String name) {
    return 'Śledź trasę do $name';
  }

  @override
  String get contacts_clipboardEmpty => 'Schowek jest pusty.';

  @override
  String get contacts_invalidAdvertFormat => 'Nieprawidłowe dane kontaktowe';

  @override
  String get contacts_contactImported => 'Kontakt został zaimportowany.';

  @override
  String get contacts_contactImportFailed =>
      'Kontakt nie został zaimportowany.';

  @override
  String get contacts_zeroHopAdvert => 'Rozgłoszenie zero-hop';

  @override
  String get contacts_floodAdvert => 'Rozgłoszenie zalewowe';

  @override
  String get contacts_copyAdvertToClipboard => 'Kopiuj rozgłoszenie do schowka';

  @override
  String get contacts_addContactFromClipboard => 'Dodaj kontakt z schowka';

  @override
  String get contacts_ShareContact => 'Kopiuj kontakt do schowka';

  @override
  String get contacts_ShareContactZeroHop =>
      'Udostępnij kontakt przez rozgłoszenie';

  @override
  String get contacts_zeroHopContactAdvertSent =>
      'Wysłano kontakt przez rozgłoszenie.';

  @override
  String get contacts_zeroHopContactAdvertFailed =>
      'Nie udało się wysłać kontaktu.';

  @override
  String get contacts_contactAdvertCopied =>
      'Rozgłoszenie skopiowano do schowka.';

  @override
  String get contacts_contactAdvertCopyFailed =>
      'Kopiowanie rozgłoszenia do schowka nie powiodło się.';

  @override
  String get notification_activityTitle => 'Aktywność MeshCore';

  @override
  String notification_messagesCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'wiadomości',
      many: 'wiadomości',
      few: 'wiadomości',
      one: 'wiadomość',
    );
    return '$count $_temp0';
  }

  @override
  String notification_channelMessagesCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'wiadomości kanału',
      many: 'wiadomości kanału',
      few: 'wiadomości kanału',
      one: 'wiadomość kanału',
    );
    return '$count $_temp0';
  }

  @override
  String notification_newNodesCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'nowych węzłów',
      many: 'nowych węzłów',
      few: 'nowe węzły',
      one: 'nowy węzeł',
    );
    return '$count $_temp0';
  }

  @override
  String notification_newTypeDiscovered(String contactType) {
    return 'Nowy $contactType wykryty';
  }

  @override
  String get notification_receivedNewMessage => 'Otrzymano nową wiadomość';

  @override
  String get settings_gpxExportRepeaters =>
      'Eksportuj przekaźniki / roomservery do GPX';

  @override
  String get settings_gpxExportRepeatersSubtitle =>
      'Eksportuje przekaźniki / roomservery z lokalizacją do pliku GPX.';

  @override
  String get settings_gpxExportContacts => 'Eksportuj towarzyszy do GPX';

  @override
  String get settings_gpxExportContactsSubtitle =>
      'Eksportuje towarzyszy z lokalizacją do pliku GPX.';

  @override
  String get settings_gpxExportAll => 'Eksportuj wszystkie kontakty do GPX';

  @override
  String get settings_gpxExportAllSubtitle =>
      'Eksportuje wszystkie kontakty z lokalizacją do pliku GPX.';

  @override
  String get settings_gpxExportSuccess => 'Pomyślnie wyeksportowano plik GPX.';

  @override
  String get settings_gpxExportNoContacts =>
      'Brak kontaktów do wyeksportowania.';

  @override
  String get settings_gpxExportNotAvailable =>
      'Nie obsługiwane na Twoim urządzeniu/systemie operacyjnym';

  @override
  String get settings_gpxExportError => 'Wystąpił błąd podczas eksportowania.';

  @override
  String get settings_gpxExportRepeatersRoom =>
      'Lokalizacje przekaźników i roomserverów';

  @override
  String get settings_gpxExportChat => 'Lokalizacje towarzyszy';

  @override
  String get settings_gpxExportAllContacts => 'Wszystkie lokalizacje kontaktów';

  @override
  String get settings_gpxExportShareText =>
      'Dane mapy wyeksportowane z meshcore-open';

  @override
  String get settings_gpxExportShareSubject =>
      'Eksport danych mapy GPX meshcore-open';

  @override
  String get snrIndicator_nearByRepeaters => 'Pobliskie przekaźniki';

  @override
  String get snrIndicator_lastSeen => 'Ostatnio widziany';

  @override
  String get contactsSettings_title => 'Ustawienia kontaktów';

  @override
  String get contactsSettings_autoAddTitle => 'Automatyczne odnajdywanie';

  @override
  String get contactsSettings_otherTitle =>
      'Inne ustawienia związane z kontaktami';

  @override
  String get contactsSettings_autoAddUsersTitle =>
      'Automatycznie dodaj użytkowników';

  @override
  String get contactsSettings_autoAddUsersSubtitle =>
      'Pozwól towarzyszowi automatycznie dodawać znalezione użytkowników.';

  @override
  String get contactsSettings_autoAddRepeatersTitle =>
      'Automatyczne dodawanie przekaźników';

  @override
  String get contactsSettings_autoAddRepeatersSubtitle =>
      'Zezwól towarzyszowi na automatyczne dodawanie odkrytych przekaźników.';

  @override
  String get contactsSettings_autoAddRoomServersTitle =>
      'Automatycznie dodaj roomservery';

  @override
  String get contactsSettings_autoAddRoomServersSubtitle =>
      'Zezwól towarzyszowi na automatyczne dodawanie znalezionych roomserverów.';

  @override
  String get contactsSettings_autoAddSensorsTitle =>
      'Automatycznie dodaj czujniki';

  @override
  String get contactsSettings_autoAddSensorsSubtitle =>
      'Zezwól towarzyszowi na automatyczne dodawanie wykrytych czujników.';

  @override
  String get contactsSettings_overwriteOldestTitle => 'Nadpisz najstarszy';

  @override
  String get contactsSettings_overwriteOldestSubtitle =>
      'Gdy lista kontaktów jest pełna, najstarszy nieulubiony kontakt zostanie zastąpiony.';

  @override
  String get discoveredContacts_Title => 'Odkryte Kontakty';

  @override
  String get discoveredContacts_noMatching => 'Brak pasujących kontaktów';

  @override
  String get discoveredContacts_searchHint => 'Wyszukaj odkryte kontakty';

  @override
  String get discoveredContacts_contactAdded => 'Kontakt dodany';

  @override
  String get discoveredContacts_addContact => 'Dodaj kontakt';

  @override
  String get discoveredContacts_copyContact => 'Kopiuj kontakt do schowka';

  @override
  String get discoveredContacts_deleteContact => 'Usuń kontakt';

  @override
  String get discoveredContacts_deleteContactAll =>
      'Usuń wszystkie odkryte kontakty';

  @override
  String get discoveredContacts_deleteContactAllContent =>
      'Czy na pewno chcesz usunąć wszystkie znalezione kontakty?';

  @override
  String get chat_sendCooldown =>
      'Prosimy o chwilowe oczekiwanie przed ponownym wysłaniem.';

  @override
  String get appSettings_jumpToOldestUnread =>
      'Przejdź do najstarszego nieodczytanej wiadomości';

  @override
  String get appSettings_jumpToOldestUnreadSubtitle =>
      'Przy otwieraniu czatu z nieodczytanymi wiadomościami, przewijaj, aby przejść do pierwszej nieodczytanej wiadomości, zamiast do najnowszej.';

  @override
  String get appSettings_languageHu => 'Węgierski';

  @override
  String get appSettings_languageJa => 'Japoński';

  @override
  String get appSettings_languageKo => 'Koreański';

  @override
  String get radioStats_tooltip => 'Statystyki dotyczące radia i siatki';

  @override
  String get radioStats_screenTitle => 'Statystyki radiowe';

  @override
  String get radioStats_notConnected =>
      'Połącz się z urządzeniem, aby wyświetlić statystyki radiowe.';

  @override
  String get radioStats_firmwareTooOld =>
      'Statystyki radiowe wymagają towarzyszącej oprogramowania w wersji 8 lub nowszej.';

  @override
  String get radioStats_waiting => 'Czekam na dane…';

  @override
  String radioStats_noiseFloor(int noiseDbm) {
    return 'Poziom szumów: $noiseDbm dBm';
  }

  @override
  String radioStats_lastRssi(int rssiDbm) {
    return 'Ostatni poziom RSSI: $rssiDbm dBm';
  }

  @override
  String radioStats_lastSnr(String snr) {
    return 'Ostatni poziom SNR: $snr dB';
  }

  @override
  String radioStats_txAir(int seconds) {
    return 'Czas emisji w stacji TX (całkowity): $seconds s';
  }

  @override
  String radioStats_rxAir(int seconds) {
    return 'Czas wykorzystania kanału RX (całkowity): $seconds s';
  }

  @override
  String get radioStats_chartCaption =>
      'Poziom szumów (dBm) w ostatnich próbkach.';

  @override
  String radioStats_stripNoise(int noiseDbm) {
    return 'Poziom szumów: $noiseDbm dBm';
  }

  @override
  String get radioStats_stripWaiting => 'Pobieranie danych dotyczących radia…';

  @override
  String get radioStats_settingsTile => 'Statystyki radiowe';

  @override
  String get radioStats_settingsSubtitle =>
      'Szum tła, RSSI, SNR oraz czas dostępny';

  @override
  String get translation_title => 'Tłumaczenie';

  @override
  String get imageMessages_enableTitle => 'Włącz wiadomości ze zdjęciami';

  @override
  String get imageMessages_enableSubtitle =>
      'Przesyłaj zdjęcia przez siatkę. Wymaga jednorazowego pobrania modelu obrazu.';

  @override
  String get imageMessages_modelSectionTitle => 'Model obrazowy';

  @override
  String get imageMessages_downloadModel => 'Pobierz';

  @override
  String get imageMessages_cancelDownload => 'Anuluj';

  @override
  String get imageMessages_removeModel => 'Usuń model';

  @override
  String get imageMessages_modelReady => 'Gotowy';

  @override
  String get imageMessages_modelNotPublished =>
      'Nie opublikowane — ten build nie może tego pobrać.';

  @override
  String get imageMessages_downloadFailed =>
      'Model obrazowy nie mógł zostać pobrany.';

  @override
  String get imageMessages_autoProcessTitle =>
      'Obrazki są przetwarzane automatycznie.';

  @override
  String get imageMessages_autoProcessSubtitle =>
      'Odbuduj każde zdjęcie, jak tylko przyjdzie. Zużywa około 2 GB pamięci za każdą drugą sekundę; wyłącz odbudowywanie jednym dotknięciem.';

  @override
  String get translation_enableTitle => 'Włącz tłumaczenie';

  @override
  String get translation_enableSubtitle =>
      'Tłumaczenie otrzymywanych wiadomości oraz umożliwienie tłumaczenia przed wysłaniem.';

  @override
  String get translation_composerTitle => 'Przekład przed wysłaniem';

  @override
  String get translation_composerSubtitle =>
      'Kontroluje domyślny stan ikony tłumaczenia w edytorze.';

  @override
  String get translation_autoIncomingTitle =>
      'Automatycznie tłumacz wiadomości';

  @override
  String get translation_autoIncomingSubtitle =>
      'Automatycznie tłumaczy wiadomości do powiadomień oraz do czatów lub kanałów.';

  @override
  String get translation_translateMessage => 'Przetłumacz wiadomość';

  @override
  String get translation_targetLanguage => 'Język docelowy';

  @override
  String get translation_useAppLanguage => 'Użyj języka aplikacji';

  @override
  String get translation_downloadedModelLabel => 'Pobudowany model';

  @override
  String get translation_presetModelLabel => 'Wspólny model Hugging Face';

  @override
  String get translation_manualUrlLabel => 'Adres URL do wersji manualnej';

  @override
  String get translation_downloadModel => 'Pobierz model';

  @override
  String get translation_downloading => 'Pobieranie...';

  @override
  String get translation_working => 'Praca...';

  @override
  String get translation_stop => 'Zatrzymaj się';

  @override
  String get translation_mergingChunks =>
      'Scalanie pobranych fragmentów w jeden plik końcowy...';

  @override
  String get translation_downloadedModels => 'Pobrane modele';

  @override
  String get translation_deleteModel => 'Usuń model';

  @override
  String get translation_modelDownloaded => 'Model tłumaczenia został pobrany.';

  @override
  String get translation_downloadStopped => 'Pobieranie zakończone.';

  @override
  String translation_downloadFailed(String error) {
    return 'Nie udało się pobrać: $error';
  }

  @override
  String get translation_enterUrlFirst => 'Najpierw wprowadź adres URL modelu.';

  @override
  String get scanner_linuxPairingShowPin => 'Pokaż PIN';

  @override
  String get scanner_linuxPairingHidePin => 'Ukryj PIN';

  @override
  String get scanner_linuxPairingPinTitle => 'Kod PIN parowania Bluetooth';

  @override
  String scanner_linuxPairingPinPrompt(String deviceName) {
    return 'Wprowadź kod PIN dla $deviceName (pozostaw puste, jeśli brak).';
  }

  @override
  String get translation_messageTranslation => 'Tłumaczenie wiadomości';

  @override
  String get translation_translateBeforeSending => 'Przekład przed wysłaniem';

  @override
  String get translation_composerEnabledHint =>
      'Komunikaty zostaną przetłumaczone przed wysłaniem.';

  @override
  String get translation_composerDisabledHint =>
      'Wysyłaj wiadomości w oryginalnym, wpisanym formacie.';

  @override
  String translation_translateTo(String language) {
    return 'Tłumacz na $language';
  }

  @override
  String get translation_translationOptions => 'Opcje tłumaczenia';

  @override
  String get translation_systemLanguage => 'Język systemu';

  @override
  String get background_serviceTitle => 'MeshCore running';

  @override
  String get background_serviceText => 'Keeping BLE connected';

  @override
  String appSettings_translationModelDeleted(String name) {
    return 'Deleted $name';
  }

  @override
  String appSettings_translationModelDeleteFailed(String error) {
    return 'Failed to delete: $error';
  }

  @override
  String channels_channelUpdateFailed(String error) {
    return 'Failed to update channel: $error';
  }

  @override
  String get contact_typeChat => 'Chat';

  @override
  String get contact_typeRepeater => 'Repeater';

  @override
  String get contact_typeRoom => 'Room';

  @override
  String get contact_typeSensor => 'Sensor';

  @override
  String get contact_typeUnknown => 'Unknown';

  @override
  String get map_zoomIn => 'Przybliż';

  @override
  String get map_zoomOut => 'Przybliż z powrotem';

  @override
  String get map_centerMap => 'Mapa centrum';

  @override
  String get chrome_bluetoothRequiresChromium =>
      'Web Bluetooth wymaga przeglądarki Chromium.';

  @override
  String channels_communityShortId(String id) {
    return 'ID: $id...';
  }

  @override
  String get pathTrace_legendGpsConfirmed => 'GPS potwierdzone';

  @override
  String get pathTrace_legendInferred => 'Wywnioskowana pozycja';

  @override
  String get pathMap_viewSingle => 'Pojedyncza';

  @override
  String get pathMap_viewCombined => 'Połączone';

  @override
  String get pathMap_play => 'Odtwórz';

  @override
  String get pathMap_pause => 'Wstrzymaj';

  @override
  String get pathMap_replay => 'Odtwórz ponownie';

  @override
  String get pathMap_stepBack => 'Poprzedni skok';

  @override
  String get pathMap_stepForward => 'Następny skok';

  @override
  String get pathMap_animationOn => 'Pokaż animację pakietu';

  @override
  String get pathMap_animationOff => 'Ukryj animację pakietu';

  @override
  String pathMap_hopOf(int current, int total) {
    return 'Skok $current z $total';
  }

  @override
  String pathMap_observedPaths(int count) {
    return 'Obserwowane trasy: $count';
  }

  @override
  String get pathMap_primary => 'Główna';

  @override
  String pathMap_alternate(int index) {
    return 'Alt. $index';
  }

  @override
  String pathMap_hopCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: '$count skoku',
      many: '$count skoków',
      few: '$count skoki',
      one: '1 skok',
    );
    return '$_temp0';
  }

  @override
  String pathMap_gpsCount(int confirmed, int total) {
    return '$confirmed/$total GPS';
  }

  @override
  String get pathMap_legendShared => 'Wspólny segment';

  @override
  String get pathMap_legendEstimated => 'Szacunkowy segment';

  @override
  String pathMap_sharedNodeCount(int count) {
    return 'Wykorzystywane przez $count ścieżek';
  }

  @override
  String pathMap_partialAnimation(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other:
          '$count skoku nie ma lokalizacji — pokazana ścieżka jest niekompletna',
      many:
          '$count skoków nie ma lokalizacji — pokazana ścieżka jest niekompletna',
      few:
          '$count skoki nie mają lokalizacji — pokazana ścieżka jest niekompletna',
      one: '1 skok nie ma lokalizacji — pokazana ścieżka jest niekompletna',
    );
    return '$_temp0';
  }

  @override
  String get pathMap_showAllPaths => 'Pokaż wszystkie';

  @override
  String get pathMap_hidePath => 'Ukryj ścieżkę';

  @override
  String get pathMap_showPath => 'Wyświetl trasę';

  @override
  String get pathMap_collapsePanel => 'Zwiń panel';

  @override
  String get pathMap_expandPanel => 'Rozwiń panel';

  @override
  String get pathMap_noLocation => 'Brak lokalizacji';

  @override
  String get pathMap_followPacket => 'Śledź pakiet';

  @override
  String get pathMap_unfollowPacket => 'Przestań śledzić pakiet';

  @override
  String get imageSend_title => 'Wyślij obraz';

  @override
  String get imageSend_cropNote =>
      'Zmniejszone do 512 × 512 · proporcje nie zostały zachowane';

  @override
  String get imageSend_originalSize => 'Oryginalny';

  @override
  String get imageSend_onAirSize => 'W eterze';

  @override
  String get imageSend_quality => 'Jakość';

  @override
  String get imageSend_qualityStandard => 'Standard';

  @override
  String get imageSend_qualityHigh => 'Wysoko';

  @override
  String get imageSend_packetsLabel => 'Pakiet';

  @override
  String get imageSend_airtimeLabel => 'Czas w eterze';

  @override
  String get imageSend_sizeLabel => 'Payload';

  @override
  String imageSend_packetsCount(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'pakietów',
      one: 'pakiet',
    );
    return '$count $_temp0';
  }

  @override
  String imageSend_range(String min, String max) {
    return '$min–$max';
  }

  @override
  String get imageSend_unknownValue => '—';

  @override
  String get imageSend_radioUnknownTitle => 'Ustawienia radia nieznane';

  @override
  String get imageSend_radioUnknownBody =>
      'Połącz urządzenie, aby można było obliczyć czas trwania transmisji.';

  @override
  String get imageSend_longSendTitle => 'Długa transmisja';

  @override
  String imageSend_longSendBody(String duration) {
    return 'Ten kanał będzie dostępny przez około $duration.';
  }

  @override
  String get imageSend_floodNote =>
      'Przepływ pakietów: każdy retransmitujący w zasięgu przekazuje każdy pakiet, przez co kanał pozostaje zajęty dłużej niż ten czas.';

  @override
  String get imageSend_parityTitle => 'Pakiet odzysku';

  @override
  String get imageSend_paritySubtitle =>
      'Jedna dodatkowa paczka. Wiadomości grupowe nie są potwierdzane, dzięki czemu odbiorca może odbudować obraz, jeśli zostanie utracona pojedyncza paczka.';

  @override
  String get imageSend_send => 'Wyślij';

  @override
  String get imageSend_cancel => 'Anuluj';

  @override
  String get imageSend_encodeFailed => 'Ten obraz nie mógł zostać zakodowany.';

  @override
  String get imageSend_codecDownloading =>
      'Model obrazowy jest nadal pobierany.';

  @override
  String get imageSend_codecUnavailable =>
      'Wysyłanie obrazu nie jest dostępne na tym urządzeniu.';

  @override
  String get imageSend_codecDisabled =>
      'Wiadomości ze zdjęciami są wyłączone w ustawieniach.';

  @override
  String get imageSend_deviceUnsupported =>
      'Ten radiodysk nie może wysyłać pakietów obrazu. Podłącz urządzenie z oprogramowaniem firmware 13 lub nowszym.';

  @override
  String get imageSend_directMessagesUnsupported =>
      'Obrazy są przesyłane jako dane grupowe, więc można je wysłać tylko do kanału — nie w wiadomości prywatnej.';

  @override
  String get imageSend_tooLarge =>
      'Obraz zakodowany do więcej pakietów niż pozwala format siatki.';

  @override
  String imageSend_sentConfirmation(int count) {
    String _temp0 = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      other: 'pakietów',
      one: 'pakiet',
    );
    return 'Obraz wysłany jako $count $_temp0.';
  }

  @override
  String imageSend_sendFailed(String error) {
    return 'Obraz nie mogł zostać wysłany: $error';
  }

  @override
  String imageSend_sendingProgress(int sent, int total) {
    return 'Wysyłanie obrazu — pakiet $sent z $total';
  }

  @override
  String receivedImage_senderPrefix(String prefix) {
    return 'Węzeł $prefix';
  }

  @override
  String receivedImage_incoming(int received, int total) {
    return 'Otrzymano: $received z $total pakietów';
  }

  @override
  String get receivedImage_queued => 'Oczekiwanie na rozszyfrowanie';

  @override
  String get receivedImage_tapToDecode => 'Kliknij, aby odszyfrować';

  @override
  String get receivedImage_decoding => 'Odtwarzanie… około 1 sekundy';

  @override
  String receivedImage_incomplete(int received, int total) {
    return 'Obraz niepełny — $received z $total pakietów dotarło';
  }

  @override
  String get receivedImage_corrupt => 'Obraz nie może zostać zrekonstruowany';

  @override
  String get receivedImage_decoderMissing =>
      'Otrzymano obraz — dekodowanie obrazu jest nieprawidłowe.';

  @override
  String get receivedImage_evicted => 'Obraz nie jest już przechowywany';

  @override
  String get receivedImage_retry => 'Spróbuj ponownie';

  @override
  String get receivedImage_decodeAgain => 'Zdekoduj ponownie';

  @override
  String get receivedImage_openSettings => 'Ustaw';

  @override
  String get receivedImage_tapToProcess => 'Kliknij, aby przetworzyć';

  @override
  String receivedImage_awaiting(int bytes, int packets) {
    String _temp0 = intl.Intl.pluralLogic(
      packets,
      locale: localeName,
      other: 'pakiety',
      one: 'pakiet',
    );
    return '$bytes bajtów · $packets $_temp0';
  }

  @override
  String imageSend_secondsValue(String seconds) {
    return '$seconds sekund';
  }

  @override
  String imageSend_minutesSecondsValue(String minutes, String seconds) {
    return '$minutes minut $seconds sekundy';
  }
}
