{
  "backups": {
    "warning": "Zatrzymaj grupę bojową przed utworzeniem lub przywróceniem kopii zapasowej. Kopie wykonane podczas działania gry mogą być niespójne, a przywracanie wymaga zatrzymanej grupy bojowej.",
    "loadFailed": "Nie udało się załadować kopii: {{message}}",
    "take": {
      "title": "Utwórz kopię",
      "desc": "Tworzy migawkę bazy PostgreSQL grupy bojowej do pliku ze znacznikiem czasu na hoście. Zalecane przed ryzykownymi zmianami.",
      "btn": "Utwórz kopię"
    },
    "taken": "Utworzono kopię: {{name}}",
    "takeFailed": "Kopia nie powiodła się: {{message}}",
    "recent": {
      "title": "Ostatnie kopie",
      "empty": "Brak kopii."
    },
    "col": {
      "name": "Plik",
      "size": "Rozmiar",
      "modified": "Utworzono"
    },
    "download": "Pobierz",
    "restoreLabel": "Przywróć",
    "restoreFailed": "Przywracanie nie powiodło się: {{message}}",
    "restoreConfirmTitle": "Przywrócić bazę danych?",
    "restoreConfirmDesc": "To zastąpi aktywną bazę danych przez {{name}}. Grupa bojowa musi być zatrzymana — tego nie można cofnąć.",
    "deleteLabel": "Usuń",
    "deleteConfirmTitle": "Usunąć kopię?",
    "deleteConfirmDesc": "Trwale usunąć {{name}}?",
    "deleteFailed": "Usuwanie nie powiodło się: {{message}}",
    "schedule": {
      "title": "Harmonogram kopii",
      "enable": "Włączone",
      "desc": "Uruchamiaj automatyczne kopie według harmonogramu tygodniowego. Godziny w skonfigurowanej strefie czasowej.",
      "nextBackup": "Następna kopia: {{when}}",
      "noneScheduled": "Brak zaplanowanych kopii",
      "noRules": "Brak reguł — dodaj jedną poniżej.",
      "addRule": "Dodaj regułę",
      "removeRule": "Usuń regułę",
      "keepN": "Zachowaj ostatnie",
      "keepHint": "0 = zachowaj wszystkie",
      "timezone": "Strefa czasowa",
      "tzPlaceholder": "lokalna hosta (np. UTC)",
      "save": "Zapisz",
      "saveFailed": "Zapis nie powiódł się: {{message}}"
    }
  },
  "serverHealth": {
    "directorProxied": "(przez proxy)",
    "ifaceLoadFailed": "Nie udało się załadować interfejsów webowych: {{message}}",
    "ifaceSaveFailed": "Zapis nie powiódł się: {{message}}",
    "ifaceLabel": "Etykieta",
    "ifaceUrl": "URL (http:// lub /ścieżka)",
    "editInterfaces": "Edytuj interfejsy webowe",
    "removeInterface": "Usuń",
    "addInterface": "Dodaj interfejs",
    "saveInterfaces": "Zapisz",
    "title": "Stan serwera",
    "subtitle": "Stan na żywo VM, grupy bojowej i portów.",
    "gamePorts": "Gra (UDP)",
    "webPort": "Web",
    "vm": "VM",
    "bg": "Grupa bojowa",
    "up": "Działa",
    "down": "Nie działa",
    "bgVm": "Grupa bojowa + VM",
    "upFor": "Działa od {{uptime}}",
    "noUptime": "Czas działania niedostępny",
    "components": "Informacje o grupie bojowej",
    "bgState": "Stan GB",
    "database": "Baza danych",
    "director": "Director",
    "configured": "Skonfigurowano",
    "notConfigured": "Nieskonfigurowano",
    "uptime": "Czas działania",
    "readyState": "Gotowość gry",
    "ready": "Gotowe",
    "notReady": "Niegotowe",
    "webInterfaces": "Interfejsy webowe",
    "noInterfaces": "Brak skonfigurowanych interfejsów webowych.",
    "copied": "Skopiowano do schowka",
    "copyFailed": "Kopiowanie nie powiodło się",
    "copy": "Kopiuj",
    "open": "Otwórz",
    "gameServers": "Serwery gry",
    "pods": "{{n}} podów"
  },
  "restarts": {
    "title": "Zaplanowane restarty",
    "enable": "Włączone",
    "nextRestart": "Następny restart: {{when}}",
    "noneScheduled": "Brak zaplanowanych restartów",
    "noRules": "Brak reguł — dodaj jedną poniżej.",
    "addRule": "Dodaj regułę",
    "removeRule": "Usuń regułę",
    "warnMinutes": "Ostrzeż (min)",
    "timezone": "Strefa czasowa",
    "tzPlaceholder": "lokalna hosta (np. UTC)",
    "save": "Zapisz",
    "skipNext": "Pomiń następny",
    "failedToLoad": "Nie udało się załadować: {{message}}",
    "saveFailed": "Zapis nie powiódł się: {{message}}"
  },
  "director": {
    "title": "Konfiguracja Director",
    "subtitle": "Ustawienia Battlegroup Director — instancjonowanie map i opcje zaawansowane (AMP).",
    "loading": "Ładowanie konfiguracji Director…",
    "unsupported": "Edycja konfiguracji Director jest dostępna tylko w warstwie sterowania AMP.",
    "save": "Zapisz",
    "saveWithCount": "Zapisz ({{count}})",
    "saveFailed": "Zapis nie powiódł się: {{message}}",
    "readOnly": "tylko do odczytu",
    "restartNote": "Zmiany są zapisywane w director_config.ini i obowiązują po ponownym uruchomieniu serwera."
  },
  "help": {
    "menu": "Pomoc",
    "reportIssue": "Zgłoś problem",
    "copyDiagnostics": "Kopiuj diagnostykę",
    "viewOnGitHub": "Zobacz na GitHubie",
    "copied": "Diagnostyka skopiowana do schowka",
    "copyFailed": "Nie udało się skopiować do schowka"
  },
  "landsraad": {
    "title": "Landsraad",
    "subtitle": "Cotygodniowa kadencja polityczna — dekrety i tablica zadań rodów (tylko do odczytu).",
    "failedToLoad": "Nie udało się załadować Landsraadu: {{message}}",
    "currentTerm": "Bieżąca kadencja",
    "noTerm": "Brak aktywnej kadencji.",
    "testTerm": "Kadencja testowa",
    "term": {
      "id": "Kadencja",
      "window": "Okres",
      "reigning": "Panująca frakcja",
      "activeDecree": "Aktywny dekret",
      "electedDecree": "Wybrany dekret",
      "winning": "Zwycięska frakcja"
    },
    "decrees": "Dekrety",
    "decreesDesc": "Ogólnoserwerowe wzmocnienia wybierane w każdej kadencji.",
    "noDecrees": "Brak dekretów.",
    "weight": "Waga {{weight}}",
    "enabled": "Włączony",
    "disabled": "Wyłączony",
    "taskBoard": "Tablica zadań",
    "taskBoardDesc": "Zadania kontrybucyjne rodów na bieżącą kadencję.",
    "noTasks": "Brak zadań.",
    "tasks": {
      "index": "#",
      "house": "Ród",
      "goal": "Cel",
      "completed": "Status",
      "sysselraad": "Sysselraad",
      "done": "Ukończone",
      "open": "Otwarte",
      "yes": "Tak"
    }
  },
  "guilds": {
    "title": "Gildie ({{count}})",
    "subtitle": "Gildie graczy na tym serwerze.",
    "view": "Pokaż",
    "empty": "Nie znaleziono gildii.",
    "failedToLoad": "Nie udało się załadować gildii: {{message}}",
    "members": "Członkowie",
    "invites": "Oczekujące zaproszenia",
    "noMembers": "Brak członków.",
    "noInvites": "Brak oczekujących zaproszeń.",
    "roleN": "Rola {{id}}",
    "manage": "Zarządzaj",
    "editGuild": "Edytuj gildię",
    "nameLabel": "Nazwa",
    "descLabel": "Opis",
    "save": "Zapisz",
    "saved": "Gildia zaktualizowana.",
    "saveFailed": "Zapis nie powiódł się: {{message}}",
    "makeAdmin": "Mianuj adminem",
    "roleAdmin": "Admin",
    "roleMember": "Członek",
    "roleChanged": "Rola zaktualizowana.",
    "roleChangeFailed": "Zmiana roli nie powiodła się: {{message}}",
    "invitedBy": "zaproszony przez {{name}}",
    "columns": {
      "name": "Nazwa",
      "faction": "Frakcja",
      "members": "Członkowie",
      "description": "Opis"
    }
  },
  "app": {
    "reportIssue": "Zgłoś problem na GitHubie",
    "changesNote": "Zmiany na wszystkich kartach są zapisywane razem.",
    "checkUpdates": "Sprawdź aktualizacje",
    "configureBackend": "Konfiguruj backend",
    "goHome": "Przejdź do strony głównej",
    "openSettings": "Otwórz ustawienia",
    "reconnect": "Połącz ponownie",
    "reconnected": "Połączono ponownie — baza danych połączona",
    "reconnectFailed": "Ponowne połączenie nie powiodło się: {{error}}",
    "reconnecting": "Ponowne łączenie…",
    "reinstall": "Zainstaluj ponownie",
    "reinstalled": "{{version}} zainstalowano ponownie. Serwer restartuje się…",
    "saveApply": "Zapisz i zastosuj",
    "selectLanguage": "Wybierz język",
    "selectTheme": "Wybierz motyw",
    "settings": "Ustawienia",
    "signIn": "Zaloguj się",
    "switchToSidenav": "Przełącz na boczną nawigację",
    "switchToTopnav": "Przełącz na górną nawigację",
    "title": "DUNE ADMIN",
    "updateAvailable": "Dostępna aktualizacja",
    "updateAvailableBody": "Dostępna jest nowa wersja: v{{current}} → v{{latest}}.",
    "updated": "Zaktualizowano do {{version}}. Serwer restartuje się…",
    "updateFailed": "Błąd aktualizacji: {{message}}",
    "updateNow": "Zaktualizuj teraz",
    "viewReleaseNotes": "Zobacz informacje o wersji",
    "backendUnreachable": {
      "body": "Aplikacja internetowa załadowała się, ale nie mogła połączyć się z backendem dune-admin. Upewnij się, że plik wykonywalny dune-admin jest uruchomiony i osiągalny z tej przeglądarki.",
      "hint1": "Upewnij się, że usługa/plik wykonywalny dune-admin działa na serwerze.",
      "hint2": "Sprawdź, czy powyższy adres URL backendu jest poprawny i osiągalny (host, port, zapora, HTTPS).",
      "hint3": "Za proxy lub na innym hoście? Ustaw adres URL backendu w Ustawieniach.",
      "retry": "Ponów",
      "targetLabel": "Skonfigurowany backend",
      "title": "Nie można połączyć się z backendem dune-admin"
    }
  },
  "bases": {
    "ariaLabel": "Bazy graczy",
    "columns": {
      "id": "ID",
      "name": "Nazwa",
      "pieces": "Elementy",
      "placeables": "Obiekty"
    },
    "export": "Eksportuj",
    "failedToLoad": "Nie udało się załadować baz: {{message}}",
    "featureNotAvailable": "Funkcja niedostępna",
    "featureNotAvailableDesc": "Ta wersja binarnego pliku dune-admin nie obsługuje listy baz. Zaktualizuj do najnowszej wersji, aby użyć tej funkcji.",
    "layoutAccountStrong": "Layout Tools",
    "noBasesFound": "Nie znaleziono baz.",
    "subtitle": "Aktywne bazy graczy w świecie. Eksportuj dowolną bazę jako plan zgodny z solido.",
    "title_one": "Bazy ({{count}})",
    "title_few": "MISSING",
    "title_many": "MISSING",
    "title_other": "Bazy ({{count}})"
  },
  "battlegroup": {
    "actions": {
      "backup": "Kopia zapasowa",
      "backupMsg": "Utworzyć kopię zapasową bazy danych? Może to potrwać kilka minut.",
      "restart": "Uruchom ponownie",
      "restartMsg": "Uruchomić serwer ponownie? Gracze zostaną krótko rozłączeni.",
      "restore": "Przywróć",
      "restoreMsg": "Przywrócić bazę danych z kopii zapasowej? Spowoduje to nadpisanie bieżących danych.",
      "start": "Uruchom",
      "startMsg": "Uruchomić serwer grupy bojowej?",
      "stop": "Zatrzymaj",
      "stopMsg": "Zatrzymać serwer? Wszyscy gracze zostaną rozłączeni.",
      "update": "Aktualizuj",
      "updateMsg": "Przeprowadzić aktualizację serwera? Serwer krótko przejdzie w tryb offline."
    },
    "backupLoadFailed": "Nie udało się załadować plików kopii zapasowej",
    "bodyPlaceholder": "Treść",
    "broadcastBtn": "Ogłoś",
    "broadcasts": "Ogłoszenia",
    "broadcastSent": "Ogłoszenie wysłane",
    "clickRefresh": "Kliknij Odśwież, aby załadować status.",
    "cmdCompleted": "{{label}} zakończono",
    "cmdFailed": "{{label}} nie powiodło się: {{message}}",
    "columns": {
      "age": "Wiek",
      "dim": "Dim",
      "map": "Mapa",
      "part": "Part",
      "phase": "Faza",
      "players": "Gracze",
      "queue": "Kolejka",
      "ready": "Gotowy"
    },
    "confirm": {
      "confirmPrefix": "Potwierdź",
      "serverSuffix": "Serwer"
    },
    "database": "Baza danych",
    "durationLabel": "Czas trwania (s)",
    "genericMessage": "Ogólna wiadomość",
    "initializing": "(inicjowanie)",
    "initWarning": "Serwer właśnie uruchomiony — serwery gry mogą się jeszcze inicjować (~2 min).",
    "loadingStatus": "Ładowanie statusu...",
    "modal": {
      "download": "Pobierz"
    },
    "noGameServers": "Nie znaleziono serwerów gry.",
    "noOutput": "(brak wyjścia)",
    "phase": "Faza",
    "restore": {
      "dropzone": "Upuść lub kliknij, aby przesłać plik .backup lub .zip z komputera",
      "noBackups": "Brak plików kopii zapasowej na serwerze.",
      "restoreBtn": "Przywróć {{file}}",
      "restoreCompleted": "Przywracanie zakończone",
      "title": "Przywróć z kopii zapasowej",
      "uploaded": "{{name}} przesłano",
      "warning": "Spowoduje to nadpisanie bieżących danych. Serwer powinien być najpierw zatrzymany."
    },
    "restoreLabel": "Przywróć",
    "runningCmd": "Wykonywanie {{cmd}}...",
    "serverControl": "Sterowanie serwerem",
    "shutdownBroadcast": "Ogłoszenie o wyłączeniu",
    "shutdownCancelled": "Ogłoszenie o wyłączeniu anulowane",
    "shutdownDelay": "Opóźnienie (min)",
    "shutdownDelayLabel": "Minuty opóźnienia",
    "shutdownSent": "Ogłoszenie o wyłączeniu wysłane ({{delay}} min)",
    "shutdownType": "Typ",
    "shutdownTypeLabel": "Typ wyłączenia",
    "statusFailed": "Błąd statusu: {{message}}",
    "statusTitle": "Status grupy bojowej",
    "titleFull": "{{bgTitle}} ({{bgName}})",
    "titlePlaceholder": "Tytuł"
  },
  "blueprints": {
    "ariaLabel": "Plany",
    "columns": {
      "id": "ID",
      "itemId": "ID przedmiotu",
      "name": "Nazwa",
      "owner": "Właściciel",
      "pieces": "Elementy",
      "placeables": "Obiekty"
    },
    "failedToLoad": "Nie udało się załadować planów: {{message}}",
    "importBlueprint": "Importuj plan",
    "importFailed": "Błąd importu: {{message}}",
    "importModal": {
      "blueprintFile": "Plik planu",
      "dropzone": "Upuść lub kliknij, aby przesłać plik planu .json",
      "import": "Importuj",
      "playerLabel": "Gracz",
      "playerPlaceholder": "Wybierz gracza…",
      "playersLabel": "Gracze",
      "title": "Importuj plan"
    },
    "importSuccess": "Plan zaimportowany pomyślnie",
    "layoutAccountStrong": "Layout Tools",
    "noBlueprintsFound": "Nie znaleziono planów.",
    "selectFile": "Wybierz plik planu",
    "selectPlayer": "Wybierz gracza",
    "subtitle": "Zarządzaj zapisanymi planami baz. Eksportuj lub importuj konstrukcje graczy.",
    "title_one": "Plany ({{count}})",
    "title_few": "MISSING",
    "title_many": "MISSING",
    "title_other": "Plany ({{count}})"
  },
  "common": {
    "timezone": "Strefa czasowa",
    "tzHostLocal": "Lokalna hosta",
    "add": "Dodaj",
    "cancel": "Anuluj",
    "checking": "Sprawdzanie…",
    "close": "Zamknij",
    "confirm": "Potwierdź",
    "error": "Błąd:",
    "export": "Eksportuj",
    "failed": "Błąd: {{message}}",
    "noResults": "Brak wyników.",
    "refresh": "Odśwież",
    "remove": "Usuń",
    "save": "Zapisz",
    "saving": "Zapisywanie…",
    "send": "Wyślij"
  },
  "database": {
    "columnColumn": "Kolumna",
    "enterSearchTerm": "Wprowadź wyszukiwane hasło",
    "enterSQL": "Wprowadź zapytanie SQL",
    "enterTableName": "Wprowadź nazwę tabeli",
    "failed": "Błąd: {{message}}",
    "limitLabel": "Limit",
    "noResults": "Brak wyników.",
    "nullableColumn": "Nullable",
    "refreshLabel": "Odśwież",
    "resultLabel": "Wynik",
    "rowsColumn": "Wiersze",
    "rowsLimited": "Wyniki ograniczone do 200 wierszy.",
    "runBtn": "Uruchom",
    "runHint": "Cmd/Ctrl+Enter, aby uruchomić · Tab akceptuje podpowiedź",
    "runQuery": "Wykonaj zapytanie",
    "searchLabel": "Nazwa kolumny lub tabeli",
    "searchPlaceholder": "player_id, faction...",
    "sections": {
      "backups": "Kopie zapasowe",
      "describe": "Opisz",
      "sample": "Próbka",
      "search": "Szukaj kolumn",
      "sql": "Wykonaj SQL",
      "tables": "Tabele"
    },
    "sideNavTitle": "Baza danych",
    "sqlPlaceholder": "SELECT * FROM dune.actors LIMIT 10;",
    "tableColumn": "Tabela",
    "tableNameLabel": "Nazwa tabeli",
    "tablePlaceholder": "actors",
    "typeColumn": "Typ"
  },
  "liveMap": {
    "betaBody": "Ta funkcja jest w aktywnym rozwoju. Niektóre funkcjonalności mogą się jeszcze zmienić.",
    "betaTitle": "Beta — W trakcie tworzenia",
    "calibActive": "Tryb kalibracji — kliknij dokładnie w miejscu, gdzie stoi twoja postać.",
    "calibNoPlayer": "Brak gracza online do zakotwiczenia kalibracji.",
    "calibPoints": "{{n}} punkt(y/ów) przechwycony(ch) — potrzeba 2+, rozstawionych, aby rozwiązać.",
    "calibrate": "Kalibruj",
    "clear": "Wyczyść",
    "clearFilters": "Wyczyść filtry",
    "densityNoneSelected": "Włącz typy zasobów powyżej, aby zobaczyć ich gęstość.",
    "densityOverlay": "Pokaż gęstość zasobów",
    "dragTeleportDesc": "Bezpieczne przyciąganie do ({{x}}, {{y}}) — gracz wyląduje na najbliższym ważnym terenie.",
    "dragTeleportTitle": "Teleportować {{name}}?",
    "failedToLoad": "Nie udało się załadować mapy: {{message}}",
    "filter": "Filtr",
    "filterBases": "Bazy",
    "filterHazards": "Hazards",
    "filterKeys": "Keys",
    "filterLandsraad": "Landsraad",
    "filterDensity": "Nakładka gęstości",
    "filterLocations": "Locations",
    "filterNPCs": "NPCs",
    "filterResources": "Resources",
    "filterLive": "Na żywo",
    "filterStaticObjects": "Static Objects",
    "filterTrainers": "Trainers",
    "filterVendors": "Vendors",
    "filterSearch": "Znajdź filtr…",
    "players": "Gracze",
    "spawnsLoaded_one": "{{count}} statycznych znaczników załadowanych",
    "spawnsLoaded_few": "MISSING",
    "spawnsLoaded_many": "MISSING",
    "spawnsLoaded_other": "{{count}} statycznych znaczników załadowanych",
    "spawnTooltipCoords": "{{x}}, {{y}}",
    "subtitle": "Gracze, pojazdy i bazy na mapie na żywo",
    "teleportHere": "Teleportuj tutaj",
    "teleportMode": "Tryb teleportacji",
    "teleportModeActive": "Kliknij na mapę, aby ustawić cel",
    "teleportPlayer": "Gracz do teleportacji",
    "teleportSelectPlayer": "Wybierz gracza…",
    "teleportSent": "Teleportacja wysłana",
    "title": "Mapa na żywo",
    "total": "Łącznie",
    "unsupported": "Mapa na żywo nie jest dostępna na tym serwerze.",
    "updated": "zaktualizowano o {{time}}",
    "vehicles": "Pojazdy"
  },
  "logs": {
    "antiCheatLabel": "Zdarzenia antycheat",
    "antiCheatLog": "Log antycheat",
    "antiCheatTitle": "Zdarzenia antycheat (7d)",
    "autoScroll": "Automatyczne przewijanie",
    "cheats7d": "Cheaty (7d)",
    "clear": "Wyczyść",
    "columns": {
      "character": "Postać",
      "cheatType": "Typ cheata",
      "time": "Czas"
    },
    "connectedPod": "● Połączony · {{pod}}",
    "disconnected": "○ Rozłączony",
    "disconnectedState": "Rozłączony.",
    "eventsCount_one": "{{count}} zdarzeń",
    "eventsCount_few": "MISSING",
    "eventsCount_many": "MISSING",
    "eventsCount_other": "{{count}} zdarzeń",
    "failedToLoad": "Nie udało się załadować podów: {{message}}",
    "linesCount_one": "{{count}} linii",
    "linesCount_few": "MISSING",
    "linesCount_many": "MISSING",
    "linesCount_other": "{{count}} linii",
    "logFiles": "Pliki logów",
    "logFileSingular": "plik logu",
    "noCheatEvents": "Nie znaleziono zdarzeń cheatowania w ciągu ostatnich 7 dni.",
    "pods": "Pody",
    "podSingular": "pod",
    "reconnect": "Połącz ponownie",
    "selectFromPanel": "Wybierz {{label}} z lewego panelu, aby rozpocząć przesyłanie strumieniowe logów.",
    "selectSource": "○ Wybierz {{label}}",
    "sourceTitle_one": "{{label}} ({{count}})",
    "sourceTitle_few": "MISSING",
    "sourceTitle_many": "MISSING",
    "sourceTitle_other": "{{label}} ({{count}})",
    "stop": "Zatrzymaj",
    "waitingForLines": "Oczekiwanie na linie logu...",
    "wsError": "Błąd WebSocket"
  },
  "market": {
    "bot": {
      "actions": {
        "cleanupFailed": "Błąd czyszczenia: {{message}}",
        "dormantHint": "Bot wyłączony — włącz go na karcie Serwer, aby używać kontroli cyklu życia.",
        "pause": "Wstrzymaj",
        "pauseFailed": "Nie udało się wstrzymać bota: {{message}}",
        "pauseSuccess": "Bot wstrzymany: {{output}}",
        "reinitialize": "Reinicjalizuj",
        "reinitializeFailed": "Nie udało się reinicjalizować bota: {{message}}",
        "reinitializeSuccess": "Bot reinicjalizowany: {{output}}",
        "resume": "Wznów",
        "resumeFailed": "Nie udało się wznowić bota: {{message}}",
        "resumeSuccess": "Bot wznowiony: {{output}}",
        "wipedListings": "{{orders}} ofert wyczyszczono ({{items}} przedmiotów)",
        "wipeListings": "Wyczyść oferty",
        "wipeListingsConfirm": "Wyczyść oferty",
        "wipeListingsDesc": "Spowoduje to usunięcie każdej aktywnej oferty Revy na giełdzie. Oferty graczy, historia zrealizowanych zamówień i saldo Solari Revy pozostają nienaruszone. Następny tick listowania ponownie zapełni oferty z katalogu.",
        "wipeListingsTitle": "Wyczyścić wszystkie oferty bota?"
      },
      "botSectionsLabel": "Sekcje bota",
      "config": "Konfiguracja",
      "configEditor": {
        "buyThreshold": "Próg zakupu",
        "buyThresholdDesc": "Kupuje ofertę tylko gdy jej cena jest na poziomie lub poniżej tego % ceny referencyjnej bota. 100% = równe lub niższe · 70% = wymagana zniżka 30%+ · 110% = do 10% powyżej ceny bota.",
        "buyThresholdHint": "{{pct}}% ceny referencyjnej bota",
        "buyTickHint": "np. 5m",
        "buyTickInterval": "Interwał ticku zakupu",
        "configSaved": "Konfiguracja zapisana — zmiany zostaną zastosowane przy następnym ticku",
        "gradeFlawless": "Bezskazatelny",
        "gradeMasterwork": "Mistrzowski",
        "gradeMultipliers": "Mnożniki stopnia",
        "gradeMultipliersDesc": "Skaluje cenę oferty według stopnia jakości. Stopień 0 (Standardowy) jest bazą i powinien pozostać na 1,0.",
        "gradePristine": "Nieskazitelny",
        "gradeRefined": "Rafinowany",
        "gradeStandard": "Standardowy",
        "gradeSuperior": "Wybitny",
        "limits": "Limity",
        "limitsDesc": "Kontroluje, ile przedmiotów bot kupuje i wystawia na tick.",
        "listingsPerGrade": "Ofert na stopień",
        "listingsPerGradeDesc": "Aktywnie utrzymywane oferty na przedmiot na stopień jakości (0 = Standardowy … 5 = Nieskazitelny). Przedmioty układane w stosy używają tylko stopnia 0. Przykład: 5 × 6 stopni = do 30 ofert na gradowalny przedmiot.",
        "listingsPerGradeHint": "na przedmiot na poziom jakości",
        "listTickHint": "np. 30m, 1h",
        "listTickInterval": "Interwał ticku listowania",
        "maxBuysPerTick": "Maks. zakupów na tick",
        "rarityMultipliers": "Mnożniki rzadkości",
        "rarityMultipliersDesc": "Dotyczy przedmiotów bez ceny sprzedawcy NPC i wytworzonych przedmiotów Unikalnych/Pamiątkowych. Kluczowane przez rzadkość; Pospolity (1,0) jest wartością bazową. Mnożniki stopnia są stosowane dodatkowo.",
        "tickIntervals": "Interwały ticków",
        "vendorMultipliers": "Mnożniki sprzedawcy",
        "vendorMultipliersDesc": "Dotyczy przedmiotów z ceną sprzedawcy NPC (większość przedmiotów). Cena oferty = cena sprzedawcy × ten mnożnik, kluczowane przez rzadkość. Tylko jeden z mnożników — Sprzedawca lub Rzadkość — dotyczy danego przedmiotu."
      },
      "configUnavailable": "Konfiguracja niedostępna.",
      "disabledItems": {
        "ariaLabel": "Wyłączone przedmioty",
        "columns": {
          "name": "Nazwa",
          "templateId": "ID szablonu"
        },
        "disabledItemsCount_one": "Wyłączone przedmioty ({{count}})",
        "disabledItemsCount_few": "MISSING",
        "disabledItemsCount_many": "MISSING",
        "disabledItemsCount_other": "Wyłączone przedmioty ({{count}})",
        "disabledItemsHeading": "Wyłączone przedmioty",
        "noDisabledItems": "Obecnie brak wyłączonych przedmiotów.",
        "noMatchingItems": "Nie znaleziono pasujących przedmiotów.",
        "searchAriaLabel": "Szukaj wyłączonych przedmiotów",
        "searchLabel": "Szukaj przedmiotów do wyłączenia",
        "searchPlaceholder": "Szukaj po nazwie lub ID szablonu…"
      },
      "disabledItemsTab": "Wyłączone przedmioty",
      "log": {
        "autoScroll": "Automatyczne przewijanie",
        "backendUnreachable": "Nie udało się osiągnąć backendu — sprawdź, czy działa.",
        "clear": "Wyczyść",
        "connClosed": "Połączenie zamknięte (kod {{code}})",
        "connClosedReason": "Połączenie zamknięte (kod {{code}}): {{reason}}",
        "connect": "Połącz",
        "connected": "● połączony",
        "connecting": "◌ łączenie…",
        "connectingState": "Łączenie…",
        "error": "✕ błąd",
        "idle": "○ rozłączony",
        "notAvailable": "Przesyłanie strumieniowe logu niedostępne",
        "stop": "Zatrzymaj",
        "waitingForLines": "Oczekiwanie na linie logu…",
        "wsError": "Błąd połączenia WebSocket — strumień logu został przerwany."
      },
      "logs": "Logi",
      "panelTitle": "Sterowanie botem — Revy",
      "reloadConfig": "Przeładuj konfigurację",
      "reset": "Resetuj",
      "saveConfig": "Zapisz konfigurację",
      "server": "Serwer",
      "serverConfig": {
        "cacheDb": "BD pamięci podręcznej",
        "changesNote": "Zmiany wymagają restartu serwera, aby wejść w życie.",
        "embeddedBot": "Wbudowany bot",
        "enableEmbedded": "Włącz wbudowanego bota",
        "itemData": "Dane przedmiotów",
        "loadFailed": "Nie udało się załadować konfiguracji serwera",
        "remoteBot": "Zdalny bot",
        "remoteToken": "Zdalny token",
        "remoteUrl": "Zdalny URL",
        "restartRequired": "(wymagany restart)",
        "savedConfig": "Konfiguracja serwera zapisana — wymagany restart, aby zastosować zmiany",
        "saveFailed": "Błąd zapisu: {{message}}",
        "statePath": "Ścieżka stanu"
      },
      "status": {
        "balance": "Saldo",
        "errors": "Błędy",
        "label": "Status",
        "lastBuyTick": "Ostatni tick zakupu",
        "lastListTick": "Ostatni tick listowania",
        "listings": "Oferty",
        "nextBuyTick": "Następny tick zakupu",
        "nextListTick": "Następny tick listowania",
        "paused": "⏸ Wstrzymany",
        "running": "● Działa",
        "uptime": "Czas działania"
      },
      "tickingEnabled": "Ticking włączony"
    },
    "botControl": "Sterowanie botem",
    "itemDetail": {
      "activeListings": "Aktywne oferty",
      "armorStats": "Statystyki pancerza",
      "armorValue": "Wartość pancerza",
      "armorValueByQuality": "Wartość pancerza według jakości",
      "botStock": "Zapas bota",
      "category": "Kategoria",
      "damageMultiplierByQuality": "Mnożnik obrażeń według jakości",
      "itemInfo": "Informacje o przedmiocie",
      "listingsLabel": "Oferty",
      "lowestPrice": "Najniższa cena",
      "noActiveListings": "Brak aktywnych ofert.",
      "priceCol": "Cena",
      "rarityLabel": "Rzadkość",
      "resistances": "Odporności",
      "seller": "Sprzedawca",
      "stockCol": "Zapas",
      "tierLabel": "Poziom",
      "totalStock": "Łączny zapas",
      "weaponQualityScaling": "Skalowanie jakości broni"
    },
    "noBotConnected": "Nie podłączono bota rynku — włącz wbudowanego bota, aby nim zarządzać tutaj",
    "search": {
      "allSellers": "Wszyscy sprzedawcy",
      "ariaLabel": "Szukaj przedmiotów",
      "botOnly": "Tylko bot",
      "clearFilters": "Wyczyść",
      "playersOnly": "Tylko gracze",
      "searchPlaceholder": "Szukaj przedmiotów...",
      "sellerAriaLabel": "Filtruj według sprzedawcy"
    },
    "sidebar": {
      "allItems": "Wszystkie przedmioty",
      "categories": "Kategorie",
      "collapseAriaLabel": "Zwiń pasek boczny",
      "expandAriaLabel": "Rozwiń pasek boczny",
      "schematics": "Schematy"
    },
    "subtitle": "Przeglądaj aktywne oferty na giełdzie od botów i graczy-sprzedawców.",
    "table": {
      "ariaLabel": "Przedmioty rynku",
      "botStock": "Zapas bota",
      "category": "Kategoria",
      "grade": "Stopień",
      "item": "Przedmiot",
      "listings": "Oferty",
      "lowestPrice": "Najniższa cena",
      "noItemsFound": "Nie znaleziono przedmiotów.",
      "rarity": "Rzadkość",
      "stock": "Zapas",
      "tier": "Poziom"
    },
    "title": "Tablica rynku"
  },
  "nav": {
    "director": "Director",
    "landsraad": "Landsraad",
    "guilds": "Gildie",
    "bases": "Bazy",
    "battlegroup": "Stan serwera",
    "blueprints": "Plany",
    "database": "Baza danych",
    "groups": {
      "economy": "Gospodarka",
      "operations": "Operacje",
      "playerWorld": "Świat gracza"
    },
    "liveMap": "Mapa na żywo",
    "logs": "Logi",
    "market": "Bot rynku",
    "players": "Gracze",
    "server": "Ustawienia serwera",
    "storage": "Magazyn",
    "welcome": "Zestawy powitalne"
  },
  "players": {
    "actions": {
      "admin": {
        "characterExport": "Eksport postaci",
        "characterExportDesc": "Pobierz dane postaci jako JSON",
        "confirmReset": "Potwierdź reset",
        "confirmWipe": "Potwierdź wyczyszczenie",
        "delete": "Usuń",
        "deleteTutorials": "Usuń samouczki",
        "deleteTutorialsConfirmDesc": "Spowoduje to usunięcie wszystkich zapisów ukończenia samouczków dla {{player}}.",
        "deleteTutorialsDesc": "Usuwa wszystkie zapisy ukończenia samouczków",
        "deleteTutorialsTitle": "Usunąć samouczki?",
        "destructive": "Destrukcyjne akcje na żywo",
        "destructiveDesc": "Nieodwracalne — gracz musi być online.",
        "dismiss": "Odrzuć",
        "dismissReturning": "Odrzuć okienko powracającego gracza",
        "dismissReturningDesc": "Oznacza nagrodę jako odebraną, aby okienko logowania przestało się pojawiać",
        "downloadExport": "Pobierz",
        "exportDownloaded": "Eksport pobrany",
        "kick": "Wyrzuć",
        "kickDesc": "Rozłącza gracza z serwera",
        "kickPlayer": "Wyrzuć gracza",
        "liveActions": "Akcje na żywo",
        "liveActionsDesc": "Polecenia RabbitMQ — gracz musi być online.",
        "loadingPlayers": "Ładowanie graczy…",
        "manageLocations": "Zarządzaj lokalizacjami",
        "manageLocationsModal": {
          "addHint": "Wprowadź nazwę i współrzędne, a następnie Zapisz. Zapisanie istniejącej nazwy aktualizuje jej współrzędne. Zostaw Z puste dla poziomu gruntu (0).",
          "addSection": "Dodaj / Zaktualizuj lokalizację",
          "delete": "Usuń",
          "done": "Gotowe",
          "nameLabel": "Nazwa",
          "namePlaceholder": "np. Windsack",
          "noLocations": "Brak lokalizacji — dodaj jedną powyżej.",
          "save": "Zapisz",
          "title": "Zarządzaj lokalizacjami"
        },
        "mapPickerModal": {
          "cancel": "Anuluj",
          "confirm": "Użyj tych współrzędnych",
          "hint": "Kliknij gdziekolwiek na Zagłębiu Hagga, aby uchwycić X/Y. Z domyślnie wynosi {{z}} — dostosuj ręcznie jeśli potrzeba.",
          "selected": "Wybrano:",
          "title": "Wybierz lokalizację na mapie"
        },
        "move": "Przenieś",
        "moveToXyz": "Przenieś do XYZ",
        "persistent": "Trwały",
        "pickOnMap": "Wybierz na mapie",
        "pickTarget": "Wybierz cel…",
        "positionReadFailed": "Nie można odczytać pozycji gracza",
        "resetActions": "Resetuj akcje",
        "resetProgression": "Resetuj postęp",
        "resetProgressionConfirmDesc": "Spowoduje to wyczyszczenie XP, umiejętności i postępu podróży dla {{player}}. Tej akcji nie można cofnąć.",
        "resetProgressionDesc": "Czyści XP, umiejętności i podróż gracza",
        "resetProgressionTitle": "Trwale zresetować postęp?",
        "selectSpawnLocation": "Wybierz lokalizację spawnu…",
        "selectTargetLabel": "Gracz docelowy",
        "selectVehicle": "Wybierz pojazd…",
        "spawn": "Przywołaj",
        "spawnLocationLabel": "Lokalizacja spawnu",
        "spawnVehicle": "Przywoła pojazd",
        "spawnVehicleDesc": "Gracz musi być online. Pojawia się w wybranej lokalizacji partycji.",
        "teleport": "Teleportuj",
        "teleportNote": "Na żywo jeśli online · zapisane do BD jeśli offline",
        "teleportPlaceholder": "Wybierz lokalizację...",
        "teleportToPlayer": "Teleportuj do gracza",
        "templateLabel": "Szablon",
        "useCurrent": "Użyj bieżącej",
        "vehicleLabel": "Typ pojazdu",
        "whisper": "Szept",
        "whisperFrom": "Od:",
        "whisperSent": "Szept wysłany do {{player}}",
        "wipe": "Wyczyść",
        "wipeCodex": "Wyczyść kodeks",
        "wipeCodexConfirmDesc": "Spowoduje to wyczyszczenie wszystkich odkryć kodeksu dla {{player}}.",
        "wipeCodexDesc": "Czyści wszystkie odkrycia kodeksu",
        "wipeCodexTitle": "Wyczyścić kodeks?",
        "wipeInventory": "Wyczyść ekwipunek",
        "wipeInventoryConfirmDesc": "Spowoduje to zniszczenie wszystkich przedmiotów w ekwipunku {{player}}. Tej akcji nie można cofnąć.",
        "wipeInventoryDesc": "Niszczy wszystkie przedmioty w ekwipunku gracza",
        "wipeInventoryTitle": "Trwale wyczyścić ekwipunek?"
      },
      "contracts": {
        "applyContracts_one": "Zastosuj kontrakt(y) ({{count}})",
        "applyContracts_few": "MISSING",
        "applyContracts_many": "MISSING",
        "applyContracts_other": "Zastosuj kontrakt(y) ({{count}})",
        "clearAll": "wyczyść wszystko",
        "count_one": "{{count}} kontraktów",
        "count_few": "MISSING",
        "count_many": "MISSING",
        "count_other": "{{count}} kontraktów",
        "desc": "Stosuje tagi AddedFlagsOnCompletion kontraktu + efekty uboczne awansu. Obsługiwany wielokrotny wybór.",
        "filterLabel": "Filtruj kontrakty",
        "filterPlaceholder": "Filtruj kontrakty (np. Trainer_Mentat, Atre_Rank01)...",
        "loadFailed": "błąd ładowania: {{error}} — uruchom serwer ponownie",
        "loadingContracts": "ładowanie…",
        "noMatching": "Brak pasujących kontraktów",
        "reverseContracts_one": "Cofnij kontrakt(y) ({{count}})",
        "reverseContracts_few": "MISSING",
        "reverseContracts_many": "MISSING",
        "reverseContracts_other": "Cofnij kontrakt(y) ({{count}})",
        "tagCount_one": "{{count}} tag",
        "tagCount_few": "MISSING",
        "tagCount_many": "MISSING",
        "tagCount_other": "{{count}} tag",
        "tagCountPlural_one": "{{count}} tagów",
        "tagCountPlural_few": "MISSING",
        "tagCountPlural_many": "MISSING",
        "tagCountPlural_other": "{{count}} tagów",
        "title": "Zakończ kontrakt(y)"
      },
      "experimental": {
        "confirmRun": "Potwierdź uruchomienie",
        "customScript": "CheatScript — Niestandardowy",
        "customScriptDesc": "Wypróbuj dowolną nazwę skryptu lub polecenie konsoli.",
        "customScriptLabel": "Niestandardowa nazwa skryptu",
        "customScriptPlaceholder": "Nazwa skryptu / polecenia…",
        "knownScripts": "CheatScript — Znane skrypty",
        "knownScriptsDesc": "Nazwane skrypty zdefiniowane w DefaultGame.ini. Fire-and-forget.",
        "run": "Uruchom",
        "runTitle": "Uruchomić {{label}}?",
        "scripts": {
          "AwardPlayerXP": "Award Player XP",
          "AwardPlayerXPDesc": "Przyznaje 10 000 XP Walki + 10 000 XP Eksploracji + 10 000 XP Nauki",
          "LeaveMeAlone": "Leave Me Alone",
          "LeaveMeAloneDesc": "Niszczy wszystkich NPC, usuwa spotkania + burze piaskowe, wyłącza sandworma (serwer-wide)",
          "PlaytestSetup": "Playtest Setup",
          "PlaytestSetupAdmin": "Playtest Setup (Admin)",
          "PlaytestSetupAdminDesc": "⚠ DESTRUCTIVE — jak Playtest Setup, ale używa surowych nazw szablonów",
          "PlaytestSetupDesc": "⚠ DESTRUCTIVE — ResetProgression + CleanInventory, następnie pełny zestaw wyposażenia",
          "UnlockAllAbilities": "Unlock All Abilities",
          "UnlockAllAbilitiesDesc": "Ustawia wszystkie moduły zdolności na poziom 1",
          "UnlockAllSkills": "Unlock All Skills",
          "UnlockAllSkillsDesc": "Ustawia wszystkie moduły drzewa umiejętności na poziom 1"
        },
        "try": "Spróbuj",
        "warning": "⚠ Eksperymentalne — te polecenia są wysyłane przez RabbitMQ, ale ich efekty nie są zweryfikowane. Używaj tylko na postaciach testowych."
      },
      "history": {
        "columns": {
          "difficulty": "Trudność",
          "dungeon": "Loch",
          "duration": "Czas trwania",
          "eventType": "Typ zdarzenia",
          "location": "Lokalizacja",
          "map": "Mapa",
          "partySize": "Rozmiar grupy",
          "time": "Czas"
        },
        "dungeonLabel": "Zapisy lochów",
        "dungeonRecords": "Zapisy lochów",
        "gameEvents": "Zdarzenia gry",
        "gameEventsLabel": "Zdarzenia gry",
        "noDungeons": "Brak zapisów lochów",
        "noEvents": "Brak zdarzeń"
      },
      "journey": {
        "columns": {
          "done": "Gotowe",
          "nodeId": "ID węzła",
          "revealed": "Odkryty",
          "reward": "Nagroda"
        },
        "complete": "Zakończ",
        "filterPlaceholder": "Filtruj węzły...",
        "journeyLabel": "Węzły podróży",
        "noMatching": "Brak pasujących węzłów",
        "noNodes": "Nie znaleziono węzłów podróży",
        "redo": "↻ Re-do",
        "reset": "Resetuj",
        "title": "Węzły podróży",
        "wipeAll": "Wyczyść wszystko",
        "wipeAllDesc": "Spowoduje to usunięcie całego postępu podróży dla {{player}}. Tej akcji nie można cofnąć.",
        "wipeAllTitle": "Wyczyścić wszystkie węzły podróży?"
      },
      "progression": {
        "apply": "Zastosuj",
        "applyUnlock": "Zastosuj odblokowanie",
        "loadingPresets": "Ładowanie…",
        "mainQuestLabel": "Zadanie główne",
        "nodes_one": "{{count}} węzłów",
        "nodes_few": "MISSING",
        "nodes_many": "MISSING",
        "nodes_other": "{{count}} węzłów",
        "noPresets": "Brak dostępnych ustawień wstępnych",
        "presets": {
          "a_new_beginning": {
            "desc": "Wprowadzenie do fabuły — wytwarzanie Stillsuit, zbieranie zasobów, badania fabrykatora. Odblokowuje wczesną grę.",
            "name": "Ukończ: A New Beginning"
          },
          "act1_complete": {
            "desc": "A New Beginning + Find the Fremen łącznie. Gracz zaczyna gotowy na Akt 2.",
            "name": "Ukończ: Cały Akt 1"
          },
          "deep_desert_intro": {
            "desc": "Kończy łańcuch misji pobocznych Głębokiej Pustyni.",
            "name": "Pomiń: Wprowadzenie do Głębokiej Pustyni"
          },
          "find_the_fremen": {
            "desc": "Wszystkie 7 prób, Sietch i Epilog. Odblokowuje Fremkit (Stillsuit, Thumper, Cryss Knife itp.) i kończy Akt 1.",
            "name": "Ukończ: Find the Fremen (Trials of Aql)"
          },
          "overland_intro": {
            "desc": "Kończy łańcuch misji pobocznych mapy powierzchni (misje Hark Landsraad, kamienie kluczowe).",
            "name": "Pomiń: Wprowadzenie do Mapy Powierzchni"
          },
          "skip_npe": {
            "desc": "Oznacza samouczek/NPE jako ukończony. Przydatne dla doświadczonych graczy, którzy nie potrzebują wprowadzenia.",
            "name": "Pomiń NPE (Doświadczenie Nowego Gracza)"
          },
          "taxation_intro": {
            "desc": "Kończy łańcuch samouczkowy wymiany/podróży.",
            "name": "Pomiń: Samouczek Podatkowy / Wymiany"
          },
          "unlock_all_lore": {
            "desc": "Ujawnia wszystkie wpisy Dunipedii: Znane Wszechświat, Punkty Orientacyjne, Podręcznik Przyjaznej Pustyni, Wojna o Arrakis.",
            "name": "Odblokuj Całe Lore (Dunipedia)"
          },
          "vermillius_intro": {
            "desc": "Kończy wszystkie misje samouczkowe w Vermillius Gap (badania, wytwarzanie, eksploracja). Brak efektów ubocznych tagów — czyste pominięcie samouczka.",
            "name": "Pomiń: Samouczki Vermillius Gap"
          }
        },
        "progressionUnlock": "Odblokowanie postępu",
        "progressionUnlockDesc": "Kończy węzły podróży DA_FQ_ClimbTheRanks i zapisuje tagi poziomu frakcji.",
        "quickPresets": "Szybkie ustawienia wstępne",
        "quickPresetsDesc": "Wyselekcjonowane pakiety, które kończą jeden lub więcej węzłów podróży głównych i kaskadują do wszystkich dzieci i tagów.",
        "resetSkillTree": "Resetuj drzewo umiejętności",
        "resetSkillTreeDesc": "Spowoduje to wyczyszczenie pełnego drzewa umiejętności zawodowych {{trainer}} dla {{player}}.",
        "resetSkillTreeTitle": "Resetować drzewo umiejętności {{trainer}}?",
        "reverseUnlock": "Cofnij odblokowanie",
        "reverseUnlockDesc": "Spowoduje to cofnięcie ustawienia wstępnego {{preset}} dla {{faction}} i usunięcie powiązanych tagów od {{player}}.",
        "reverseUnlockTitle": "Cofnąć odblokowanie postępu?",
        "trainerLabel": "Trener",
        "unlockMainQuest": "Odblokuj zadanie główne",
        "unlockMainQuestDesc": "Oznacza każdy wiersz podróży DA_MQ_<name>.* jako zakończony i stosuje unię m_TagsToAdd.",
        "unlockTrainer": "Odblokuj trenera",
        "unlockTrainerDesc": "Kończy każdy kontrakt Trainer_X_* i przyznaje pełne drzewo umiejętności zawodowych."
      },
      "resources": {
        "award": "Przyznaj",
        "awardCharXP": "Przyznaj XP postaci",
        "awardIntel": "Przyznaj wywiad",
        "characterXP": "XP postaci",
        "charXPNote": "Maks. 344 440 (poziom 200) · na żywo jeśli online, BD jeśli offline",
        "currencyResources": "Waluta i zasoby",
        "currentXP": "Bieżący: {{xp}} XP — Poziom {{level}} / 200",
        "faction": "Frakcja",
        "factionReputation": "Reputacja frakcji",
        "fill": "Napełnij",
        "fillWater": "Napełnij wodę",
        "fillWaterNote": "Napełnia wszystkie pojemniki na wodę do maksimum (gracz musi być online)",
        "give": "Daj",
        "giveCurrency": "Daj walutę",
        "giveScrip": "Daj Scrip",
        "liveActions": "Akcje na żywo",
        "liveActionsNote": "Gracz musi być online.",
        "reputation": "Reputacja",
        "reputationNote": "Dodaje do bieżącej, maks. 12 474",
        "selectModule": "Wybierz moduł…",
        "set": "Ustaw",
        "setSkillModule": "Ustaw moduł umiejętności",
        "skillModules": "Moduły umiejętności",
        "skillPoints": "Punkty umiejętności",
        "skillPointsNote": "Ustawia niewydane punkty"
      },
      "sections": {
        "admin": "Admin",
        "contracts": "Kontrakty",
        "experimental": "Eksperymentalne",
        "history": "Historia",
        "journey": "Podróż",
        "progression": "Postęp",
        "resources": "Statystyki",
        "specs": "Specjalizacje",
        "tags": "Tagi"
      },
      "specs": {
        "columns": {
          "level": "Poziom",
          "track": "Ścieżka",
          "xp": "XP"
        },
        "grantMax": "Przyznaj maksimum",
        "grantMaxKeystones": "Przyznaj maksymalne kamienie węgielne",
        "onlineWarning": "⚠ Gracz jest online — zmiany XP mogą nie wejść w życie do czasu ponownego połączenia",
        "resetAllKeystones": "Resetuj wszystkie kamienie węgielne",
        "resetKeystonesDesc": "Spowoduje to usunięcie wszystkich przyznanych kamieni węgielnych dla {{player}}. Tej akcji nie można cofnąć.",
        "resetKeystonesTitle": "Resetować wszystkie kamienie węgielne?",
        "resetSpec": "Resetuj specjalizację",
        "resetSpecDesc": "Spowoduje to wyczyszczenie całego XP i poziomów ścieżki specjalizacji {{track}}.",
        "resetSpecTitle": "Resetować specjalizację {{track}}?",
        "specializations": "Specjalizacje",
        "specsLabel": "Specjalizacje"
      },
      "tags": {
        "activeTags_one": "Aktywne tagi ({{count}})",
        "activeTags_few": "MISSING",
        "activeTags_many": "MISSING",
        "activeTags_other": "Aktywne tagi ({{count}})",
        "activeTagsLabel": "Aktywne tagi",
        "addCount_one": "Dodaj ({{count}})",
        "addCount_few": "MISSING",
        "addCount_many": "MISSING",
        "addCount_other": "Dodaj ({{count}})",
        "addTags": "Dodaj tagi",
        "filterPlaceholder": "Filtruj do usunięcia…",
        "noTags": "Brak tagów",
        "removedTag": "Tag usunięty",
        "searchPlaceholder": "Szukaj tagów…",
        "tagColumn": "Tag"
      }
    },
    "dashboard": {
      "activityTrend": "Aktywność — ostatnie {{days}} dni",
      "avgLevel": "Średni poziom",
      "avgLevelCol": "Śr. poz.",
      "byFaction": "Według frakcji",
      "byMap": "Gracze według mapy",
      "econPctCol": "% ekon.",
      "factionCol": "Frakcja",
      "growthApprox": "Przybliżone — z migawek online",
      "growthTitle": "Wzrost frakcji",
      "metricLevel": "Śr. poziom",
      "metricSolaris": "Solaris",
      "navLabel": "Przegląd serwera",
      "noPlayers": "Brak graczy",
      "online": "Teraz online",
      "playersCol": "Gracze",
      "scripCol": "Scrip",
      "sessions": "Sesje",
      "solarisCol": "Solaris",
      "subtitle": "Statystyki i trendy graczy w całym serwerze",
      "title": "Przegląd serwera",
      "totalPlayers": "Łącznie graczy",
      "totalPlaytime": "Łączny czas gry",
      "totalScrip": "Łącznie Scrip",
      "totalSolaris": "Łącznie Solaris"
    },
    "detail": {
      "avgSession": "Śr.",
      "charXP": "XP postaci",
      "earned": "Zarobione",
      "economy": "Gospodarka",
      "factionAlignment": "Przynależność do frakcji",
      "unaligned": "Bez frakcji",
      "factionTier": "Poziom frakcji",
      "failedToLoad": "Nie udało się załadować statystyk.",
      "lastSeen": "Ostatnio widziany",
      "milestones": "Kamienie milowe",
      "playtime": "Czas gry",
      "pois": "Punkty zainteresowania",
      "progression": "Postęp",
      "scrip": "Scrip",
      "sessionCount": "Liczba",
      "sessionHistory": "Historia sesji",
      "sessionHistoryEmpty": "Dane sesji gromadzą się podczas logowania graczy. Tracker odpytuje co 5 minut.",
      "sessions": "Sesje",
      "skillPts": "Punkty umiejętności",
      "solaris": "Solaris",
      "solarisBalance": "Saldo",
      "solarisHistory": "Historia Solaris",
      "solarisHistoryEmpty": "Migawki Solaris są zapisywane co 5 minut, gdy gracze są online.",
      "spent": "Wydane",
      "tier": "Poziom {{tier}}",
      "xpCharXP": "XP postaci",
      "xpCombat": "Walka",
      "xpCrafting": "Rzemiosło",
      "xpExploration": "Eksploracja",
      "xpGathering": "Zbieranie",
      "xpHistory": "Historia XP",
      "xpHistoryEmpty": "Migawki XP są zapisywane co 5 minut, gdy gracze są online.",
      "xpSabotage": "Sabotaż"
    },
    "give": {
      "add": "Dodaj",
      "gave": "✓ Dane:",
      "gaveItems_one": "{{count}} przedmiot dano {{player}}",
      "gaveItems_few": "MISSING",
      "gaveItems_many": "MISSING",
      "gaveItems_other": "{{count}} przedmiotów dano {{player}}",
      "giveCount_one": "Daj {{count}} przedmiot",
      "giveCount_few": "MISSING",
      "giveCount_many": "MISSING",
      "giveCount_other": "Daj {{count}} przedmiotów",
      "loadPack": "Załaduj pakiet…",
      "managePacks": "Zarządzaj pakietami",
      "modalTitle": "{{name}} — Daj przedmioty",
      "qty": "Ilość",
      "quality": "Jakość",
      "searchTemplates": "Szukaj szablonów...",
      "selectTemplate": "Wybierz szablon",
      "skipped": "✕ {{template}} pominięto: {{reason}}"
    },
    "givePacks": {
      "addItem": "Dodaj przedmiot",
      "addPack": "Dodaj pakiet",
      "category": "Kategoria",
      "deletePack": "Usuń pakiet",
      "duplicateId": "Pakiet o takim ID już istnieje.",
      "editingPack": "Edytuj pakiet",
      "newPack": "Nowy pakiet",
      "noItemsYet": "Ten pakiet nie ma jeszcze żadnych przedmiotów.",
      "noPacks": "Brak pakietów — dodaj jeden powyżej.",
      "noPackSelected": "Wybierz pakiet, aby edytować jego przedmioty.",
      "packId": "ID",
      "packName": "Nazwa",
      "removeItem": "Usuń przedmiot",
      "save": "Zapisz pakiety",
      "saved": "Pakiety zapisane",
      "saveFailed": "Nie udało się zapisać pakietów: {{message}}",
      "searchTemplates": "Szukaj szablonu przedmiotu…",
      "tier": "Poziom",
      "title": "Zarządzaj pakietami przedmiotów",
      "updatePack": "Zaktualizuj pakiet"
    },
    "inventory": {
      "columns": {
        "durability": "Wytrzymałość",
        "quality": "Jakość",
        "stack": "Stos",
        "template": "Szablon"
      },
      "deleteOnlineWarning": "Gracz jest online — usuwanie przedmiotów może spowodować desynchronizację ekwipunku. Kontynuować?",
      "itemDeleted": "Przedmiot usunięty",
      "itemsLabel": "Przedmioty",
      "noItemsFound": "Nie znaleziono przedmiotów",
      "repair": "Napraw",
      "repaired": "{{name}} naprawiono",
      "repairGear": "Napraw wyposażenie",
      "repairGearDone": "Naprawiono {{repaired}} z {{scanned}} części wyposażenia — zaloguj się ponownie, aby zobaczyć w grze",
      "repairGearNone": "Żadne wyposażenie nie wymagało naprawy (zeskanowano {{scanned}} przedmiotów)",
      "repairNotice": "Zmiany wytrzymałości są zapisywane w DB. Gracz musi się ponownie zalogować, aby zobaczyć je w grze.",
      "title": "Ekwipunek"
    },
    "searchLabel": "Szukaj graczy",
    "searchPlaceholder": "Filtruj graczy...",
    "tabs": {
      "actions": "Akcje",
      "give": "Daj",
      "inventory": "Ekwipunek",
      "overview": "Przegląd",
      "vehicles": "Pojazdy"
    },
    "title": "Gracze",
    "vehicles": {
      "backup": "Kopia zapasowa",
      "columns": {
        "chassis": "Podwozie",
        "class": "Klasa",
        "location": "Lokalizacja",
        "name": "Nazwa",
        "type": "Typ"
      },
      "noVehiclesFound": "Nie znaleziono pojazdów",
      "recovered": "Odzyskano",
      "refuel": "Zatankuj",
      "refuelDone": "{{label}} zatankowano — zaloguj się ponownie, aby zobaczyć w grze",
      "repair": "Napraw",
      "repairDone": "Naprawiono {{repaired}} modułów w {{label}} — zaloguj się ponownie, aby zobaczyć w grze",
      "repairNone": "Nie znaleziono modułów w {{label}}",
      "repairNotice": "Naprawy pojazdów wymagają restartu serwera, aby działały w grze.",
      "repairPartial": "Naprawiono {{repaired}} z {{total}} modułów w {{label}} ({{skipped}} pominięto) — zaloguj się ponownie, aby zobaczyć w grze",
      "vehiclesLabel": "Pojazdy"
    }
  },
  "server": {
    "advancedCategories": "Zaawansowane",
    "advancedCategoriesDesc": "Kliknij kategorię, aby ją rozwinąć. Kliknij ponownie lub wybierz inną, aby przełączyć.",
    "collapse": "Anuluj",
    "collapseCategory": "Zwiń kategorię",
    "collapseSection": "Zwiń sekcję",
    "commonSettings": "Typowe ustawienia",
    "commonSettingsDesc": "Kilkanaście parametrów, po które administratorzy sięgają najczęściej. Wszystko inne znajduje się w kategoriach poniżej.",
    "deleteFailed": "Błąd usuwania: {{message}}",
    "iniNotFound": "Nie udało się zlokalizować plików INI serwera: {{error}}. Dla kubectl upewnij się, że PVC serwera gry jest zamontowany. Dla docker/local dodaj server_ini_dir do ~/.dune-admin/config.yaml.",
    "loading": "Ładowanie ustawień…",
    "noMatchSettings": "Żadne ustawienia nie pasują do \"{{query}}\".",
    "overriddenCount_one": "{{count}} nadpisanych",
    "overriddenCount_few": "MISSING",
    "overriddenCount_many": "MISSING",
    "overriddenCount_other": "{{count}} nadpisanych",
    "rawIniDesc": "Wpisy tablicy (+key=val) i nierozpoznane klucze, pogrupowane według sekcji INI.",
    "rawIniSections": "Surowe sekcje INI",
    "rawPlaceholder": "Key=Value lub +Key=Value dla wpisów tablicy",
    "removedFrom": "Usunięto z {{file}}",
    "save": "Zapisz",
    "savedTo": "Zapisano do {{file}}",
    "saveFailed": "Błąd zapisu: {{message}}",
    "saveWithCount_one": "Zapisz ({{count}})",
    "saveWithCount_few": "MISSING",
    "saveWithCount_many": "MISSING",
    "saveWithCount_other": "Zapisz ({{count}})",
    "searchLabel": "Szukaj ustawień",
    "searchPlaceholder": "Szukaj ustawień…",
    "settingCount_one_one": "{{count}} ustawienie",
    "settingCount_one_few": "MISSING",
    "settingCount_one_many": "MISSING",
    "settingCount_one_other": "{{count}} ustawienie",
    "settingCount_other_one": "{{count}} ustawień",
    "settingCount_other_few": "MISSING",
    "settingCount_other_many": "MISSING",
    "settingCount_other_other": "{{count}} ustawień",
    "showAll": "Wszystko",
    "showAllAriaLabel": "Wyświetlanie wszystkich ustawień — kliknij, aby wyświetlić tylko ustawienia użytkownika",
    "showUser": "Użytkownik",
    "showUserAriaLabel": "Wyświetlanie tylko ustawień użytkownika — kliknij, aby wyświetlić wszystko",
    "title": "Ustawienia serwera",
    "unsaved": "niezapisane",
    "userOverride": "· nadpisanie użytkownika",
    "expertCategories": "Eksperckie",
    "expertCategoriesDesc": "Wewnętrzne ustawienia silnika i systemu. Zmieniaj je tylko, jeśli dokładnie wiesz, co robisz.",
    "ampManagedTooltip": "Zarządzane przez API AMP — zastosowane przy następnym restarcie serwera",
    "removeFrom": "Usuń z {{file}}"
  },
  "settings": {
    "adv": {
      "applyReload": "Zastosuj i przeładuj",
      "backendUrlHint": "Potrzebne tylko gdy interfejs jest serwowany z innego hosta (tunel SSH, CDN). Pozostaw puste dla konfiguracji jednego pliku binarnego.",
      "backupDir": "Katalog kopii zapasowych",
      "defaultIniDir": "Domyślny katalog INI",
      "defaultIniDirHint": "warstwa bazowa DefaultGame.ini",
      "directorUrl": "URL Directora",
      "directorUrlHint": "proxy pod /director/",
      "listenAddr": "Adres nasłuchiwania",
      "listenAddrHint": "⚠ wymagany restart",
      "reset": "Resetuj",
      "scripCurrency": "ID waluty Scrip",
      "serverIniDir": "Katalog INI serwera",
      "serverIniDirHint": "lokalizacja UserGame.ini",
      "url": "URL",
      "urlHint": "przechowywany w przeglądarce, nie na serwerze"
    },
    "amp": {
      "containerName": "Nazwa kontenera",
      "containerNameHint": "domyślnie: AMP_<instance>",
      "dataRoot": "Katalog główny danych",
      "instanceName": "Nazwa instancji",
      "logPath": "Ścieżka logów",
      "useContainer": "Użyj kontenera (podman exec)",
      "useContainerHint": "Wyłącz, aby uruchamiać bezpośrednio na hoście jako użytkownik AMP.",
      "user": "Użytkownik AMP",
      "apiUser": "Użytkownik API AMP",
      "apiPassword": "Hasło API AMP",
      "apiPort": "Port API AMP",
      "apiHint": "Logowanie do interfejsu Web API AMP. Pozwala dune-admin zarządzać ustawieniami serwera w AMP, aby przetrwały ponowne uruchomienia. Domyślny port 8081."
    },
    "broker": {
      "adminAddr": "Adres administracyjny",
      "execPrefix": "Prefiks wykonania",
      "execPrefixHint": "gdy broker jest wewnątrz kontenera",
      "gameAddr": "Adres gry",
      "jwtSecret": "Sekret JWT",
      "jwtSecretHint": "puste = wbudowana wartość domyślna",
      "optionalHint": "Włącza przechwytywanie i powiadomienia po skonfigurowaniu.",
      "password": "Hasło",
      "user": "Użytkownik",
      "useTls": "Użyj TLS (amqps://)"
    },
    "cmd": {
      "restart": "Uruchom ponownie",
      "start": "Uruchom",
      "status": "Status",
      "stop": "Zatrzymaj"
    },
    "configSaved": "Konfiguracja zapisana — stosowanie ustawień…",
    "control": {
      "amp": "amp — CubeCoders AMP",
      "docker": "docker — Kontenery Docker",
      "kubectl": "kubectl — Kubernetes / k3s",
      "local": "local — bare metal / LGSM / shell",
      "modeHint": "Jak dune-admin zarządza serwerem gry",
      "selectMode": "Wybierz tryb sterowania powyżej, aby zobaczyć ustawienia specyficzne dla trybu."
    },
    "db": {
      "host": "Host",
      "hostHint": "127.0.0.1 przez tunel SSH",
      "name": "Nazwa bazy danych",
      "password": "Hasło",
      "passwordHint": "wyślij symbol zastępczy, aby zachować istniejące",
      "port": "Port",
      "schema": "Schemat",
      "user": "Użytkownik"
    },
    "docker": {
      "brokerAdmin": "Broker (admin)",
      "brokerGame": "Broker (gra)",
      "database": "Baza danych",
      "gameServer": "Serwer gry"
    },
    "k8s": {
      "namespace": "Przestrzeń nazw",
      "namespaceHint": "puste = autowykrywanie"
    },
    "loadFailed": "Nie udało się załadować konfiguracji: {{message}}",
    "loadingConfig": "Ładowanie konfiguracji…",
    "saveFailed": "Błąd zapisu: {{message}}",
    "sections": {
      "amp": "CubeCoders AMP",
      "backendUrlOverride": "Nadpisanie URL backendu",
      "controlPlane": "Płaszczyzna sterowania",
      "database": "Baza danych",
      "dockerContainers": "Kontenery Docker",
      "kubernetes": "Kubernetes",
      "paths": "Ścieżki",
      "rabbitmq": "RabbitMQ (opcjonalne)",
      "server": "Serwer",
      "serverCommands": "Polecenia serwera",
      "ssh": "SSH (pozostaw puste dla lokalnego)"
    },
    "ssh": {
      "hostPort": "Host : port",
      "hostPortHint": "włącza tunel SSH dla całej BD + exec",
      "privateKey": "Ścieżka do klucza prywatnego",
      "privateKeyHint": "ścieżka bezwzględna, puste = autowykrywanie",
      "user": "Użytkownik"
    },
    "tabs": {
      "advanced": "Zaawansowane",
      "broker": "Broker",
      "connection": "Połączenie",
      "control": "Sterowanie"
    }
  },
  "storage": {
    "addItems": "Dodaj przedmioty",
    "addModal": {
      "add": "Dodaj",
      "qtyColLabel": "Ilość",
      "qtyLabel": "Ilość",
      "qualityColLabel": "Jakość",
      "qualityLabel": "Jakość",
      "searchPlaceholder": "Szukaj szablonów...",
      "selectTemplate": "Wybierz szablon",
      "templateLabel": "Szablon"
    },
    "ariaLabel": "Przedmioty pojemnika",
    "columns": {
      "durability": "Wytrzymałość",
      "id": "ID",
      "quality": "Jakość",
      "stack": "Stos",
      "template": "Szablon"
    },
    "containerEmpty": "Pojemnik jest pusty",
    "containersTitle_one": "Pojemniki ({{count}})",
    "containersTitle_few": "MISSING",
    "containersTitle_many": "MISSING",
    "containersTitle_other": "Pojemniki ({{count}})",
    "containerTitle": "Pojemnik #{{id}}",
    "itemRemoved": "Przedmiot usunięty",
    "ownerLabel": "Właściciel: {{name}}",
    "remove": "Usuń",
    "searchLabel": "Szukaj pojemników",
    "searchPlaceholder": "Szukaj...",
    "selectContainer": "Wybierz pojemnik, aby zobaczyć jego zawartość",
    "warningText": "Przedmioty dodane lub usunięte z pojemników magazynowych wymagają restartu strefy serwera, aby stały się widoczne dla innych graczy."
  },
  "welcome": {
    "activeVersionGranted": "AKTYWNA WERSJA (PRZYZNANA)",
    "addItem": "Dodaj przedmiot",
    "addVersion": "Dodaj wersję",
    "columns": {
      "character": "Postać",
      "error": "Błąd",
      "flsId": "FLS ID",
      "status": "Status",
      "tries": "Próby",
      "updated": "Zaktualizowano",
      "version": "Wersja"
    },
    "configSubtitle": "Włącz przyznawanie, ustaw aktywne pakiety i skonfiguruj wiadomość powitalną.",
    "editingVersion": "Edytowanie wersji",
    "enabledHint": "— przyznaje aktywny pakiet graczom online, którzy jeszcze nie otrzymali tej wersji.",
    "enabledLabel": "Włączone",
    "failedToLoad": "Nie udało się załadować pakietu powitalnego: {{message}}",
    "grantsLabel": "Przyznania zestawu powitalnego",
    "grantsTitle_one": "Historia przyznań ({{count}})",
    "grantsTitle_few": "MISSING",
    "grantsTitle_many": "MISSING",
    "grantsTitle_other": "Historia przyznań ({{count}})",
    "message": {
      "enabledHint": "Wysyłane raz na gracza na aktywną wersję przez personę GM. Śledzone w rejestrze nadań.",
      "enabledLabel": "Wysyłaj szept do nowych graczy przy pierwszym logowaniu",
      "messageLabel": "Wiadomość",
      "messagePlaceholder": "Witaj na serwerze! Ciesz się swoim pakietem startowym.",
      "senderLabel": "ID FLS nadawcy (opcjonalne)",
      "senderPlaceholder": "Zostaw puste, aby użyć skonfigurowanej persony GM",
      "title": "Wiadomość powitalna"
    },
    "newVersionLabel": "Nazwa nowej wersji",
    "newVersionPlaceholder": "np. v2 lub sezon2",
    "noGrants": "Brak przyznań.",
    "noItemsYet": "W tej wersji nie ma jeszcze przedmiotów.",
    "noPackageSelected": "Nie wybrano pakietu. Dodaj wersję, aby rozpocząć.",
    "packagesSubtitle": "Twórz i zarządzaj pakietami przedmiotów. Każda wersja może być przyznawana niezależnie.",
    "removeItem": "Usuń przedmiot",
    "retry": "Spróbuj ponownie",
    "retryCleared": "Wyczyszczono — ponowna próba przy następnym skanowaniu",
    "retryFailed": "Błąd ponownej próby: {{message}}",
    "runFailed": "Błąd uruchomienia: {{message}}",
    "runNow": "Uruchom teraz",
    "saveConfig": "Zapisz konfigurację",
    "savedDisabled": "Pakiet powitalny zapisany (wyłączony)",
    "savedEnabled": "Włączone — przyznawanie \"{{version}}\" w ciągu jednego ticku skanowania",
    "saveFailed": "Błąd zapisu: {{message}}",
    "scanComplete": "Skanowanie zakończone — {{granted}} przyznano, {{failed}} nieudanych, {{skipped}} pominięto",
    "scanInterval": "Interwał skanowania (sekundy)",
    "sections": {
      "config": "Konfiguracja",
      "grants": "Przyznania",
      "packages": "Pakiety"
    },
    "title": "Zestawy powitalne",
    "revoke": "Cofnij",
    "revoked": "Przyznanie cofnięte — pakiet można przyznać ponownie",
    "revokeFailed": "Cofnięcie nie powiodło się: {{message}}",
    "motd": {
      "enabledHint": "Wysyłane jako szept przez personę GM przy każdym dołączeniu (przy każdej sesji, nie tylko pierwszej). Użyj {player} dla nazwy gracza.",
      "enabledLabel": "Wysyłaj wiadomość do graczy przy każdym dołączeniu",
      "messageLabel": "Wiadomość",
      "messagePlaceholder": "Witaj ponownie, {player}! Sprawdź wydarzenia na Discordzie.",
      "senderLabel": "ID FLS nadawcy (opcjonalne)",
      "senderPlaceholder": "Zostaw puste, aby użyć skonfigurowanej persony GM",
      "title": "Wiadomość dnia"
    },
    "runConfirmTitle": "Przyznać pakiet powitalny teraz?",
    "runConfirmBody": "Spowoduje to natychmiastowe przyznanie pakietu(ów) {{versions}} wszystkim kwalifikującym się graczom online. Kontynuować?"
  }
}
