{
  "backups": {
    "warning": "Stoppe die Kampfgruppe, bevor du ein Backup erstellst oder wiederherstellst. Backups während des laufenden Spiels können inkonsistent sein, und eine Wiederherstellung erfordert eine gestoppte Kampfgruppe.",
    "loadFailed": "Backups konnten nicht geladen werden: {{message}}",
    "take": {
      "title": "Backup erstellen",
      "desc": "Sichert die PostgreSQL-Datenbank der Kampfgruppe in eine zeitgestempelte Datei auf dem Host. Empfohlen vor riskanten Änderungen.",
      "btn": "Backup erstellen"
    },
    "taken": "Backup erstellt: {{name}}",
    "takeFailed": "Backup fehlgeschlagen: {{message}}",
    "recent": {
      "title": "Letzte Backups",
      "empty": "Noch keine Backups."
    },
    "col": {
      "name": "Datei",
      "size": "Größe",
      "modified": "Erstellt"
    },
    "download": "Herunterladen",
    "restoreLabel": "Wiederherstellen",
    "restoreFailed": "Wiederherstellung fehlgeschlagen: {{message}}",
    "restoreConfirmTitle": "Datenbank wiederherstellen?",
    "restoreConfirmDesc": "Dies ersetzt die aktive Datenbank durch {{name}}. Die Kampfgruppe muss gestoppt sein — dies kann nicht rückgängig gemacht werden.",
    "deleteLabel": "Löschen",
    "deleteConfirmTitle": "Backup löschen?",
    "deleteConfirmDesc": "{{name}} endgültig löschen?",
    "deleteFailed": "Löschen fehlgeschlagen: {{message}}",
    "schedule": {
      "title": "Backup-Zeitplan",
      "enable": "Aktiviert",
      "desc": "Automatische Backups nach einem wöchentlichen Zeitplan ausführen. Zeiten gelten in der konfigurierten Zeitzone.",
      "nextBackup": "Nächstes Backup: {{when}}",
      "noneScheduled": "Keine Backups geplant",
      "noRules": "Noch keine Regeln — unten eine hinzufügen.",
      "addRule": "Regel hinzufügen",
      "removeRule": "Regel entfernen",
      "keepN": "Behalte letzte",
      "keepHint": "0 = alle behalten",
      "timezone": "Zeitzone",
      "tzPlaceholder": "Host-lokal (z. B. UTC)",
      "save": "Speichern",
      "saveFailed": "Speichern fehlgeschlagen: {{message}}"
    }
  },
  "serverHealth": {
    "directorProxied": "(via Proxy)",
    "ifaceLoadFailed": "Web-Oberflächen konnten nicht geladen werden: {{message}}",
    "ifaceSaveFailed": "Speichern fehlgeschlagen: {{message}}",
    "ifaceLabel": "Bezeichnung",
    "ifaceUrl": "URL (http:// oder /Pfad)",
    "editInterfaces": "Web-Oberflächen bearbeiten",
    "removeInterface": "Entfernen",
    "addInterface": "Oberfläche hinzufügen",
    "saveInterfaces": "Speichern",
    "title": "Serverzustand",
    "subtitle": "Live-Status von VM, Kampfgruppe und Ports.",
    "gamePorts": "Spiel (UDP)",
    "webPort": "Web",
    "vm": "VM",
    "bg": "Kampfgruppe",
    "up": "Aktiv",
    "down": "Inaktiv",
    "bgVm": "Kampfgruppe + VM",
    "upFor": "Aktiv seit {{uptime}}",
    "noUptime": "Laufzeit nicht verfügbar",
    "components": "Kampfgruppen-Info",
    "bgState": "KG-Status",
    "database": "Datenbank",
    "director": "Director",
    "configured": "Konfiguriert",
    "notConfigured": "Nicht konfiguriert",
    "uptime": "Laufzeit",
    "readyState": "Spielbereitschaft",
    "ready": "Bereit",
    "notReady": "Nicht bereit",
    "webInterfaces": "Web-Oberflächen",
    "noInterfaces": "Keine Web-Oberflächen konfiguriert.",
    "copied": "In die Zwischenablage kopiert",
    "copyFailed": "Kopieren fehlgeschlagen",
    "copy": "Kopieren",
    "open": "Öffnen",
    "gameServers": "Spielserver",
    "pods": "{{n}} Pods"
  },
  "restarts": {
    "title": "Geplante Neustarts",
    "enable": "Aktiviert",
    "nextRestart": "Nächster Neustart: {{when}}",
    "noneScheduled": "Keine Neustarts geplant",
    "noRules": "Noch keine Regeln — unten eine hinzufügen.",
    "addRule": "Regel hinzufügen",
    "removeRule": "Regel entfernen",
    "warnMinutes": "Warnung (Min)",
    "timezone": "Zeitzone",
    "tzPlaceholder": "Host-lokal (z. B. UTC)",
    "save": "Speichern",
    "skipNext": "Nächsten überspringen",
    "failedToLoad": "Laden fehlgeschlagen: {{message}}",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}"
  },
  "director": {
    "title": "Director-Konfiguration",
    "subtitle": "Battlegroup-Director-Einstellungen — Karten-Instanzierung & erweiterte Optionen (AMP).",
    "loading": "Director-Konfiguration wird geladen…",
    "unsupported": "Die Director-Konfiguration kann nur auf der AMP-Steuerungsebene bearbeitet werden.",
    "save": "Speichern",
    "saveWithCount": "Speichern ({{count}})",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}",
    "readOnly": "schreibgeschützt",
    "restartNote": "Änderungen werden in director_config.ini geschrieben und nach einem Server-Neustart wirksam."
  },
  "help": {
    "menu": "Hilfe",
    "reportIssue": "Problem melden",
    "copyDiagnostics": "Diagnose kopieren",
    "viewOnGitHub": "Auf GitHub ansehen",
    "copied": "Diagnose in die Zwischenablage kopiert",
    "copyFailed": "Kopieren in die Zwischenablage fehlgeschlagen"
  },
  "landsraad": {
    "title": "Landsraad",
    "subtitle": "Die wöchentliche politische Amtszeit — Dekrete und das Haus-Aufgabenbrett (schreibgeschützt).",
    "failedToLoad": "Landsraad konnte nicht geladen werden: {{message}}",
    "currentTerm": "Aktuelle Amtszeit",
    "noTerm": "Keine aktive Amtszeit.",
    "testTerm": "Test-Amtszeit",
    "term": {
      "id": "Amtszeit",
      "window": "Zeitraum",
      "reigning": "Herrschende Fraktion",
      "activeDecree": "Aktives Dekret",
      "electedDecree": "Gewähltes Dekret",
      "winning": "Siegerfraktion"
    },
    "decrees": "Dekrete",
    "decreesDesc": "Serverweite Boni, die pro Amtszeit gewählt werden können.",
    "noDecrees": "Keine Dekrete.",
    "weight": "Gewicht {{weight}}",
    "enabled": "Aktiviert",
    "disabled": "Deaktiviert",
    "taskBoard": "Aufgabenbrett",
    "taskBoardDesc": "Haus-Beitragsaufgaben für die aktuelle Amtszeit.",
    "noTasks": "Keine Aufgaben.",
    "tasks": {
      "index": "#",
      "house": "Haus",
      "goal": "Ziel",
      "completed": "Status",
      "sysselraad": "Sysselraad",
      "done": "Fertig",
      "open": "Offen",
      "yes": "Ja"
    }
  },
  "guilds": {
    "title": "Gilden ({{count}})",
    "subtitle": "Spielergilden auf diesem Server.",
    "view": "Ansehen",
    "empty": "Keine Gilden gefunden.",
    "failedToLoad": "Gilden konnten nicht geladen werden: {{message}}",
    "members": "Mitglieder",
    "invites": "Ausstehende Einladungen",
    "noMembers": "Keine Mitglieder.",
    "noInvites": "Keine ausstehenden Einladungen.",
    "roleN": "Rolle {{id}}",
    "manage": "Verwalten",
    "editGuild": "Gilde bearbeiten",
    "nameLabel": "Name",
    "descLabel": "Beschreibung",
    "save": "Speichern",
    "saved": "Gilde aktualisiert.",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}",
    "makeAdmin": "Zum Admin machen",
    "roleAdmin": "Admin",
    "roleMember": "Mitglied",
    "roleChanged": "Rolle aktualisiert.",
    "roleChangeFailed": "Rollenänderung fehlgeschlagen: {{message}}",
    "invitedBy": "eingeladen von {{name}}",
    "columns": {
      "name": "Name",
      "faction": "Fraktion",
      "members": "Mitglieder",
      "description": "Beschreibung"
    }
  },
  "app": {
    "reportIssue": "Ein Problem auf GitHub melden",
    "changesNote": "Änderungen auf allen Tabs werden gemeinsam gespeichert.",
    "checkUpdates": "Nach Updates suchen",
    "configureBackend": "Backend konfigurieren",
    "goHome": "Zur Startseite",
    "openSettings": "Einstellungen öffnen",
    "reconnect": "Erneut verbinden",
    "reconnected": "Erneut verbunden — Datenbank verbunden",
    "reconnectFailed": "Erneute Verbindung fehlgeschlagen: {{error}}",
    "reconnecting": "Verbinde erneut…",
    "reinstall": "Neu installieren",
    "reinstalled": "{{version}} neu installiert. Server wird neu gestartet…",
    "saveApply": "Speichern & Anwenden",
    "selectLanguage": "Sprache auswählen",
    "selectTheme": "Design auswählen",
    "settings": "Einstellungen",
    "signIn": "Anmelden",
    "switchToSidenav": "Zur Seitennavigation wechseln",
    "switchToTopnav": "Zur oberen Navigation wechseln",
    "title": "DUNE ADMIN",
    "updateAvailable": "Update verfügbar",
    "updateAvailableBody": "Eine neue Version ist verfügbar: v{{current}} → v{{latest}}.",
    "updated": "Aktualisiert auf {{version}}. Server wird neu gestartet…",
    "updateFailed": "Update fehlgeschlagen: {{message}}",
    "updateNow": "Jetzt aktualisieren",
    "viewReleaseNotes": "Versionshinweise anzeigen",
    "backendUnreachable": {
      "body": "Die Web-App wurde geladen, konnte sich aber nicht mit dem dune-admin-Backend verbinden. Stelle sicher, dass die dune-admin-Anwendung läuft und von diesem Browser erreichbar ist.",
      "hint1": "Stelle sicher, dass der dune-admin-Dienst/die Anwendung auf dem Server läuft.",
      "hint2": "Prüfe, ob die obige Backend-URL korrekt und erreichbar ist (Host, Port, Firewall, HTTPS).",
      "hint3": "Hinter einem Proxy oder auf einem anderen Host? Lege die Backend-URL in den Einstellungen fest.",
      "retry": "Erneut versuchen",
      "targetLabel": "Konfiguriertes Backend",
      "title": "dune-admin-Backend nicht erreichbar"
    }
  },
  "bases": {
    "ariaLabel": "Spielerbasen",
    "columns": {
      "id": "ID",
      "name": "Name",
      "pieces": "Teile",
      "placeables": "Platzierbare"
    },
    "export": "Exportieren",
    "failedToLoad": "Basen konnten nicht geladen werden: {{message}}",
    "featureNotAvailable": "Funktion nicht verfügbar",
    "featureNotAvailableDesc": "Diese Version des dune-admin-Binärprogramms unterstützt keine Basenliste. Aktualisieren Sie auf die neueste Version.",
    "layoutAccountStrong": "Layout Tools",
    "noBasesFound": "Keine Basen gefunden.",
    "subtitle": "Live-Spielerbasen in der Spielwelt. Exportieren Sie jede Basis als Solido-kompatiblen Bauplan.",
    "title_one": "Stützpunkte ({{count}})",
    "title_other": "Stützpunkte ({{count}})"
  },
  "battlegroup": {
    "actions": {
      "backup": "Sichern",
      "backupMsg": "Datenbanksicherung erstellen? Dies kann einige Minuten dauern.",
      "restart": "Neustarten",
      "restartMsg": "Server neustarten? Spieler werden kurz getrennt.",
      "restore": "Wiederherstellen",
      "restoreMsg": "Datenbank aus Sicherung wiederherstellen? Aktuelle Daten werden überschrieben.",
      "start": "Starten",
      "startMsg": "Kampfgruppenserver starten?",
      "stop": "Stoppen",
      "stopMsg": "Server stoppen? Alle Spieler werden getrennt.",
      "update": "Aktualisieren",
      "updateMsg": "Server-Update durchführen? Der Server geht kurz offline."
    },
    "backupLoadFailed": "Sicherungsdateien konnten nicht geladen werden",
    "bodyPlaceholder": "Inhalt",
    "broadcastBtn": "Durchsage",
    "broadcasts": "Durchsagen",
    "broadcastSent": "Durchsage gesendet",
    "clickRefresh": "Klicken Sie auf Aktualisieren, um den Status zu laden.",
    "cmdCompleted": "{{label}} abgeschlossen",
    "cmdFailed": "{{label}} fehlgeschlagen: {{message}}",
    "columns": {
      "age": "Alter",
      "dim": "Dim",
      "map": "Karte",
      "part": "Teil",
      "phase": "Phase",
      "players": "Spieler",
      "queue": "Warteschlange",
      "ready": "Bereit"
    },
    "confirm": {
      "confirmPrefix": "Bestätigen",
      "serverSuffix": "Server"
    },
    "database": "Datenbank",
    "durationLabel": "Dauer (s)",
    "genericMessage": "Allgemeine Nachricht",
    "initializing": "(initialisiert)",
    "initWarning": "Server gerade gestartet — Spielserver initialisieren sich möglicherweise noch (~2 Min.).",
    "loadingStatus": "Status wird geladen...",
    "modal": {
      "download": "Herunterladen"
    },
    "noGameServers": "Keine Spielserver gefunden.",
    "noOutput": "(keine Ausgabe)",
    "phase": "Phase",
    "restore": {
      "dropzone": "Ablegen oder klicken, um eine .backup- oder .zip-Datei hochzuladen",
      "noBackups": "Noch keine Sicherungsdateien auf dem Server.",
      "restoreBtn": "{{file}} wiederherstellen",
      "restoreCompleted": "Wiederherstellung abgeschlossen",
      "title": "Aus Sicherung wiederherstellen",
      "uploaded": "{{name}} hochgeladen",
      "warning": "Dies überschreibt aktuelle Daten. Der Server sollte zuerst gestoppt werden."
    },
    "restoreLabel": "Wiederherstellen",
    "runningCmd": "{{cmd}} wird ausgeführt...",
    "serverControl": "Serversteuerung",
    "shutdownBroadcast": "Abschaltdurchsage",
    "shutdownCancelled": "Abschaltdurchsage abgebrochen",
    "shutdownDelay": "Verzögerung (Min.)",
    "shutdownDelayLabel": "Verzögerungsminuten",
    "shutdownSent": "Abschaltdurchsage gesendet ({{delay}} Min.)",
    "shutdownType": "Typ",
    "shutdownTypeLabel": "Abschalttyp",
    "statusFailed": "Statusabfrage fehlgeschlagen: {{message}}",
    "statusTitle": "Kampfgruppenstatus",
    "titleFull": "{{bgTitle}} ({{bgName}})",
    "titlePlaceholder": "Titel"
  },
  "blueprints": {
    "ariaLabel": "Baupläne",
    "columns": {
      "id": "ID",
      "itemId": "Gegenstands-ID",
      "name": "Name",
      "owner": "Besitzer",
      "pieces": "Teile",
      "placeables": "Platzierbare"
    },
    "failedToLoad": "Baupläne konnten nicht geladen werden: {{message}}",
    "importBlueprint": "Bauplan importieren",
    "importFailed": "Import fehlgeschlagen: {{message}}",
    "importModal": {
      "blueprintFile": "Bauplan-Datei",
      "dropzone": "Ablegen oder klicken, um eine .json-Bauplan-Datei hochzuladen",
      "import": "Importieren",
      "playerLabel": "Spieler",
      "playerPlaceholder": "Spieler auswählen…",
      "playersLabel": "Spieler",
      "title": "Bauplan importieren"
    },
    "importSuccess": "Bauplan erfolgreich importiert",
    "layoutAccountStrong": "Layout Tools",
    "noBlueprintsFound": "Keine Baupläne gefunden.",
    "selectFile": "Bauplan-Datei auswählen",
    "selectPlayer": "Spieler auswählen",
    "subtitle": "Gespeicherte Basisbaupläne verwalten. Spielerkonstruktionen exportieren oder importieren.",
    "title_one": "Baupläne ({{count}})",
    "title_other": "Baupläne ({{count}})"
  },
  "common": {
    "timezone": "Zeitzone",
    "tzHostLocal": "Host-lokal",
    "add": "Hinzufügen",
    "cancel": "Abbrechen",
    "checking": "Wird geprüft…",
    "close": "Schließen",
    "confirm": "Bestätigen",
    "error": "Fehler:",
    "export": "Exportieren",
    "failed": "Fehlgeschlagen: {{message}}",
    "noResults": "Keine Ergebnisse.",
    "refresh": "Aktualisieren",
    "remove": "Entfernen",
    "save": "Speichern",
    "saving": "Wird gespeichert…",
    "send": "Senden"
  },
  "database": {
    "columnColumn": "Spalte",
    "enterSearchTerm": "Suchbegriff eingeben",
    "enterSQL": "SQL-Abfrage eingeben",
    "enterTableName": "Tabellennamen eingeben",
    "failed": "Fehlgeschlagen: {{message}}",
    "limitLabel": "Limit",
    "noResults": "Keine Ergebnisse.",
    "nullableColumn": "Nullable",
    "refreshLabel": "Aktualisieren",
    "resultLabel": "Ergebnis",
    "rowsColumn": "Zeilen",
    "rowsLimited": "Ergebnisse auf 200 Zeilen begrenzt.",
    "runBtn": "Ausführen",
    "runHint": "Cmd/Strg+Enter zum Ausführen · Tab akzeptiert Vorschlag",
    "runQuery": "Abfrage ausführen",
    "searchLabel": "Spalten- oder Tabellenname",
    "searchPlaceholder": "player_id, faction...",
    "sections": {
      "backups": "Backups",
      "describe": "Beschreiben",
      "sample": "Beispiel",
      "search": "Spalten suchen",
      "sql": "SQL ausführen",
      "tables": "Tabellen"
    },
    "sideNavTitle": "Datenbank",
    "sqlPlaceholder": "SELECT * FROM dune.actors LIMIT 10;",
    "tableColumn": "Tabelle",
    "tableNameLabel": "Tabellenname",
    "tablePlaceholder": "actors",
    "typeColumn": "Typ"
  },
  "liveMap": {
    "betaBody": "Diese Funktion befindet sich in aktiver Entwicklung. Einige Funktionen können sich noch ändern.",
    "betaTitle": "Beta — In Entwicklung",
    "calibActive": "Kalibrierungsmodus — klicken Sie genau dort auf die Karte, wo Ihr Charakter steht.",
    "calibNoPlayer": "Kein Online-Spieler als Kalibrierungsanker verfügbar.",
    "calibPoints": "{{n}} Punkt(e) erfasst — benötigt 2+, weit auseinander, zum Lösen.",
    "calibrate": "Kalibrieren",
    "clear": "Löschen",
    "clearFilters": "Filter zurücksetzen",
    "densityNoneSelected": "Ressourcentypen oben aktivieren, um die Dichte zu sehen.",
    "densityOverlay": "Ressourcendichte anzeigen",
    "dragTeleportDesc": "Sicher am nächsten gültigen Boden in der Nähe von ({{x}}, {{y}}) einrasten.",
    "dragTeleportTitle": "{{name}} teleportieren?",
    "failedToLoad": "Karte konnte nicht geladen werden: {{message}}",
    "filter": "Filter",
    "filterBases": "Basen",
    "filterHazards": "Hazards",
    "filterKeys": "Keys",
    "filterLandsraad": "Landsraad",
    "filterDensity": "Dichte-Overlay",
    "filterLocations": "Locations",
    "filterNPCs": "NPCs",
    "filterResources": "Resources",
    "filterLive": "Live",
    "filterStaticObjects": "Static Objects",
    "filterTrainers": "Trainers",
    "filterVendors": "Vendors",
    "filterSearch": "Filter suchen…",
    "players": "Spieler",
    "spawnsLoaded_one": "{{count}} statische Marker geladen",
    "spawnsLoaded_other": "{{count}} statische Marker geladen",
    "spawnTooltipCoords": "{{x}}, {{y}}",
    "subtitle": "Spieler, Fahrzeuge und Basen auf der Live-Karte",
    "teleportHere": "Hierher teleportieren",
    "teleportMode": "Teleport-Modus",
    "teleportModeActive": "Auf die Karte klicken, um das Ziel festzulegen",
    "teleportPlayer": "Spieler teleportieren",
    "teleportSelectPlayer": "Spieler auswählen…",
    "teleportSent": "Teleport gesendet",
    "title": "Live-Karte",
    "total": "Gesamt",
    "unsupported": "Live-Karte auf diesem Server nicht verfügbar.",
    "updated": "aktualisiert um {{time}}",
    "vehicles": "Fahrzeuge"
  },
  "logs": {
    "antiCheatLabel": "Anti-Cheat-Ereignisse",
    "antiCheatLog": "Anti-Cheat-Protokoll",
    "antiCheatTitle": "Anti-Cheat-Ereignisse (7T)",
    "autoScroll": "Auto-Scrollen",
    "cheats7d": "Cheats (7T)",
    "clear": "Löschen",
    "columns": {
      "character": "Charakter",
      "cheatType": "Cheat-Typ",
      "time": "Zeit"
    },
    "connectedPod": "● Verbunden · {{pod}}",
    "disconnected": "○ Getrennt",
    "disconnectedState": "Getrennt.",
    "eventsCount_one": "{{count}} Ereignisse",
    "eventsCount_other": "{{count}} Ereignisse",
    "failedToLoad": "Pods konnten nicht geladen werden: {{message}}",
    "linesCount_one": "{{count}} Zeilen",
    "linesCount_other": "{{count}} Zeilen",
    "logFiles": "Protokolldateien",
    "logFileSingular": "Protokolldatei",
    "noCheatEvents": "In den letzten 7 Tagen keine Cheat-Ereignisse gefunden.",
    "pods": "Pods",
    "podSingular": "Pod",
    "reconnect": "Erneut verbinden",
    "selectFromPanel": "{{label}} aus dem linken Panel auswählen, um Protokolle zu streamen.",
    "selectSource": "○ {{label}} auswählen",
    "sourceTitle_one": "{{label}} ({{count}})",
    "sourceTitle_other": "{{label}} ({{count}})",
    "stop": "Stoppen",
    "waitingForLines": "Warte auf Protokollzeilen...",
    "wsError": "WebSocket-Fehler"
  },
  "market": {
    "bot": {
      "actions": {
        "cleanupFailed": "Bereinigung fehlgeschlagen: {{message}}",
        "dormantHint": "Bot deaktiviert — aktivieren Sie ihn im Server-Tab, um Lebenszyklussteuerungen zu verwenden.",
        "pause": "Pausieren",
        "pauseFailed": "Bot konnte nicht pausiert werden: {{message}}",
        "pauseSuccess": "Bot pausiert: {{output}}",
        "reinitialize": "Neu initialisieren",
        "reinitializeFailed": "Bot konnte nicht neu initialisiert werden: {{message}}",
        "reinitializeSuccess": "Bot neu initialisiert: {{output}}",
        "resume": "Fortsetzen",
        "resumeFailed": "Bot konnte nicht fortgesetzt werden: {{message}}",
        "resumeSuccess": "Bot fortgesetzt: {{output}}",
        "wipedListings": "{{orders}} Angebote gelöscht ({{items}} Gegenstände)",
        "wipeListings": "Angebote löschen",
        "wipeListingsConfirm": "Angebote löschen",
        "wipeListingsDesc": "Dies löscht jedes aktive Revy-Angebot an der Börse. Spielerangebote, erfüllte Auftragshistorie und Revys Solari-Kontostand bleiben unberührt. Der nächste Listen-Tick befüllt Angebote aus dem Katalog neu.",
        "wipeListingsTitle": "Alle Bot-Angebote löschen?"
      },
      "botSectionsLabel": "Bot-Bereiche",
      "config": "Konfiguration",
      "configEditor": {
        "buyThreshold": "Kaufschwelle",
        "buyThresholdDesc": "Kauft ein Angebot nur, wenn sein Preis bei oder unter diesem % des Referenzpreises des Bots liegt. 100% = gleich oder darunter · 70% = mind. 30% Rabatt · 110% = bis zu 10% über Bot-Preis.",
        "buyThresholdHint": "{{pct}}% des Referenzpreises des Bots",
        "buyTickHint": "z. B. 5m",
        "buyTickInterval": "Kauf-Tick-Intervall",
        "configSaved": "Konfiguration gespeichert — Änderungen gelten beim nächsten Tick",
        "gradeFlawless": "Einwandfrei",
        "gradeMasterwork": "Meisterwerk",
        "gradeMultipliers": "Grad-Multiplikatoren",
        "gradeMultipliersDesc": "Skaliert den Angebotspreis nach Qualitätsgrad. Grad 0 (Standard) ist die Basis und sollte bei 1,0 bleiben.",
        "gradePristine": "Tadellos",
        "gradeRefined": "Verfeinert",
        "gradeStandard": "Standard",
        "gradeSuperior": "Überlegen",
        "limits": "Limits",
        "limitsDesc": "Kontrolliert, wie viele Gegenstände der Bot pro Tick kauft und anbietet.",
        "listingsPerGrade": "Angebote pro Grad",
        "listingsPerGradeDesc": "Aktiv gepflegte Angebote pro Gegenstand pro Qualitätsgrad (0 = Standard … 5 = Makellos). Stapelbare Gegenstände verwenden nur Grad 0. Beispiel: 5 × 6 Grade = bis zu 30 Angebote pro gradierbarem Gegenstand.",
        "listingsPerGradeHint": "pro Gegenstand pro Qualitätsstufe",
        "listTickHint": "z. B. 30m, 1h",
        "listTickInterval": "Listen-Tick-Intervall",
        "maxBuysPerTick": "Max. Käufe pro Tick",
        "rarityMultipliers": "Seltenheits-Multiplikatoren",
        "rarityMultipliersDesc": "Gilt für Gegenstände ohne NPC-Händlerpreis und für gefertigte Einzigartig/Andenken-Ausrüstung. Nach Seltenheit geordnet; Gewöhnlich (1,0) ist der Basiswert. Grad-Multiplikatoren werden zusätzlich angewendet.",
        "tickIntervals": "Tick-Intervalle",
        "vendorMultipliers": "Händler-Multiplikatoren",
        "vendorMultipliersDesc": "Gilt für Gegenstände mit einem NPC-Händlerpreis (die meisten Gegenstände). Angebotspreis = Händlerpreis × dieser Multiplikator, nach Seltenheit geordnet. Nur einer von Händler oder Seltenheit gilt für einen bestimmten Gegenstand."
      },
      "configUnavailable": "Konfiguration nicht verfügbar.",
      "disabledItems": {
        "ariaLabel": "Deaktivierte Gegenstände",
        "columns": {
          "name": "Name",
          "templateId": "Vorlagen-ID"
        },
        "disabledItemsCount_one": "Deaktivierte Gegenstände ({{count}})",
        "disabledItemsCount_other": "Deaktivierte Gegenstände ({{count}})",
        "disabledItemsHeading": "Deaktivierte Gegenstände",
        "noDisabledItems": "Derzeit keine deaktivierten Gegenstände.",
        "noMatchingItems": "Keine passenden Gegenstände gefunden.",
        "searchAriaLabel": "Deaktivierte Gegenstände suchen",
        "searchLabel": "Zu deaktivierende Gegenstände suchen",
        "searchPlaceholder": "Nach Name oder Vorlagen-ID suchen…"
      },
      "disabledItemsTab": "Deaktivierte Gegenstände",
      "log": {
        "autoScroll": "Auto-Scrollen",
        "backendUnreachable": "Backend nicht erreichbar — prüfen Sie, ob es läuft.",
        "clear": "Löschen",
        "connClosed": "Verbindung geschlossen (Code {{code}})",
        "connClosedReason": "Verbindung geschlossen (Code {{code}}): {{reason}}",
        "connect": "Verbinden",
        "connected": "● verbunden",
        "connecting": "◌ verbindet…",
        "connectingState": "Verbindet…",
        "error": "✕ Fehler",
        "idle": "○ getrennt",
        "notAvailable": "Protokoll-Streaming nicht verfügbar",
        "stop": "Stoppen",
        "waitingForLines": "Warte auf Protokollzeilen…",
        "wsError": "WebSocket-Verbindung fehlgeschlagen — der Protokollstream wurde unterbrochen."
      },
      "logs": "Protokolle",
      "panelTitle": "Bot-Steuerung — Revy",
      "reloadConfig": "Konfiguration neu laden",
      "reset": "Zurücksetzen",
      "saveConfig": "Konfiguration speichern",
      "server": "Server",
      "serverConfig": {
        "cacheDb": "Cache-DB",
        "changesNote": "Änderungen erfordern einen Serverneustart, um wirksam zu werden.",
        "embeddedBot": "Integrierter Bot",
        "enableEmbedded": "Integrierten Bot aktivieren",
        "itemData": "Gegenstandsdaten",
        "loadFailed": "Serverkonfiguration konnte nicht geladen werden",
        "remoteBot": "Remote-Bot",
        "remoteToken": "Remote-Token",
        "remoteUrl": "Remote-URL",
        "restartRequired": "(Neustart erforderlich)",
        "savedConfig": "Serverkonfiguration gespeichert — Neustart erforderlich",
        "saveFailed": "Speichern fehlgeschlagen: {{message}}",
        "statePath": "Statuspfad"
      },
      "status": {
        "balance": "Kontostand",
        "errors": "Fehler",
        "label": "Status",
        "lastBuyTick": "Letzter Kauf-Tick",
        "lastListTick": "Letzter Listen-Tick",
        "listings": "Angebote",
        "nextBuyTick": "Nächster Kauf-Tick",
        "nextListTick": "Nächster Listen-Tick",
        "paused": "⏸ Pausiert",
        "running": "● Läuft",
        "uptime": "Laufzeit"
      },
      "tickingEnabled": "Ticking aktiviert"
    },
    "botControl": "Bot-Steuerung",
    "itemDetail": {
      "activeListings": "Aktive Angebote",
      "armorStats": "Rüstungsstatistiken",
      "armorValue": "Rüstungswert",
      "armorValueByQuality": "Rüstungswert nach Qualität",
      "botStock": "Bot-Bestand",
      "category": "Kategorie",
      "damageMultiplierByQuality": "Schadensmultiplikator nach Qualität",
      "itemInfo": "Gegenstandsinfo",
      "listingsLabel": "Angebote",
      "lowestPrice": "Niedrigster Preis",
      "noActiveListings": "Keine aktiven Angebote.",
      "priceCol": "Preis",
      "rarityLabel": "Seltenheit",
      "resistances": "Widerstände",
      "seller": "Verkäufer",
      "stockCol": "Bestand",
      "tierLabel": "Stufe",
      "totalStock": "Gesamtbestand",
      "weaponQualityScaling": "Waffenqualitätsskalierung"
    },
    "noBotConnected": "Kein Markt-Bot verbunden — aktivieren Sie den integrierten Bot, um ihn hier zu verwalten",
    "search": {
      "allSellers": "Alle Verkäufer",
      "ariaLabel": "Gegenstände suchen",
      "botOnly": "Nur Bot",
      "clearFilters": "Löschen",
      "playersOnly": "Nur Spieler",
      "searchPlaceholder": "Gegenstände suchen...",
      "sellerAriaLabel": "Nach Verkäufer filtern"
    },
    "sidebar": {
      "allItems": "Alle Gegenstände",
      "categories": "Kategorien",
      "collapseAriaLabel": "Seitenleiste einklappen",
      "expandAriaLabel": "Seitenleiste erweitern",
      "schematics": "Schematiken"
    },
    "subtitle": "Aktive Börsenangebote von Bot- und Spielerverkäufern durchsuchen.",
    "table": {
      "ariaLabel": "Marktgegenstände",
      "botStock": "Bot-Bestand",
      "category": "Kategorie",
      "grade": "Grad",
      "item": "Gegenstand",
      "listings": "Angebote",
      "lowestPrice": "Niedrigster Preis",
      "noItemsFound": "Keine Gegenstände gefunden.",
      "rarity": "Seltenheit",
      "stock": "Bestand",
      "tier": "Stufe"
    },
    "title": "Marktplatz"
  },
  "nav": {
    "director": "Director",
    "landsraad": "Landsraad",
    "guilds": "Gilden",
    "bases": "Basen",
    "battlegroup": "Serverzustand",
    "blueprints": "Baupläne",
    "database": "Datenbank",
    "groups": {
      "economy": "Wirtschaft",
      "operations": "Betrieb",
      "playerWorld": "Spielerwelt"
    },
    "liveMap": "Live-Karte",
    "logs": "Protokolle",
    "market": "Markt-Bot",
    "players": "Spieler",
    "server": "Servereinstellungen",
    "storage": "Lager",
    "welcome": "Willkommenspakete"
  },
  "players": {
    "actions": {
      "admin": {
        "characterExport": "Charakterexport",
        "characterExportDesc": "Charakterdaten als JSON herunterladen",
        "confirmReset": "Zurücksetzen bestätigen",
        "confirmWipe": "Löschung bestätigen",
        "delete": "Löschen",
        "deleteTutorials": "Tutorials löschen",
        "deleteTutorialsConfirmDesc": "Dies entfernt alle Tutorial-Abschlussaufzeichnungen für {{player}}.",
        "deleteTutorialsDesc": "Entfernt alle Tutorial-Abschlussaufzeichnungen",
        "deleteTutorialsTitle": "Tutorials löschen?",
        "destructive": "Destruktive Live-Aktionen",
        "destructiveDesc": "Unwiderruflich — Spieler muss online sein.",
        "dismiss": "Schließen",
        "dismissReturning": "Rückkehrenden-Spieler-Popup schließen",
        "dismissReturningDesc": "Markiert die Belohnung als beansprucht, damit das Anmelde-Popup nicht mehr erscheint",
        "downloadExport": "Herunterladen",
        "exportDownloaded": "Export heruntergeladen",
        "kick": "Kicken",
        "kickDesc": "Trennt den Spieler vom Server",
        "kickPlayer": "Spieler kicken",
        "liveActions": "Live-Aktionen",
        "liveActionsDesc": "RabbitMQ-Befehle — Spieler muss online sein.",
        "loadingPlayers": "Spieler werden geladen…",
        "manageLocations": "Orte verwalten",
        "manageLocationsModal": {
          "addHint": "Name und Koordinaten eingeben, dann Speichern. Beim Speichern eines bestehenden Namens werden die Koordinaten aktualisiert. Z leer lassen für Bodenniveau (0).",
          "addSection": "Ort hinzufügen / aktualisieren",
          "delete": "Löschen",
          "done": "Fertig",
          "nameLabel": "Name",
          "namePlaceholder": "z. B. Windsack",
          "noLocations": "Noch keine Orte — einen oben hinzufügen.",
          "save": "Speichern",
          "title": "Orte verwalten"
        },
        "mapPickerModal": {
          "cancel": "Abbrechen",
          "confirm": "Diese Koordinaten verwenden",
          "hint": "Irgendwo auf Hagga-Becken klicken, um X/Y zu erfassen. Z ist standardmäßig {{z}} — bei Bedarf manuell anpassen.",
          "selected": "Ausgewählt:",
          "title": "Ort auf Karte auswählen"
        },
        "move": "Bewegen",
        "moveToXyz": "Zu XYZ bewegen",
        "persistent": "Dauerhaft",
        "pickOnMap": "Auf Karte auswählen",
        "pickTarget": "Ziel auswählen…",
        "positionReadFailed": "Spielerposition konnte nicht gelesen werden",
        "resetActions": "Aktionen zurücksetzen",
        "resetProgression": "Fortschritt zurücksetzen",
        "resetProgressionConfirmDesc": "Dies löscht XP, Fertigkeiten und Reisefortschritt für {{player}}. Diese Aktion kann nicht rückgängig gemacht werden.",
        "resetProgressionDesc": "Löscht XP, Fertigkeiten und Reise für den Spieler",
        "resetProgressionTitle": "Fortschritt dauerhaft zurücksetzen?",
        "selectSpawnLocation": "Spawn-Ort auswählen…",
        "selectTargetLabel": "Zielspieler",
        "selectVehicle": "Fahrzeug auswählen…",
        "spawn": "Spawnen",
        "spawnLocationLabel": "Spawn-Ort",
        "spawnVehicle": "Fahrzeug spawnen",
        "spawnVehicleDesc": "Spieler muss online sein. Spawnt am gewählten Partitionsort.",
        "teleport": "Teleportieren",
        "teleportNote": "Live wenn online · in DB geschrieben wenn offline",
        "teleportPlaceholder": "Ort auswählen...",
        "teleportToPlayer": "Zu Spieler teleportieren",
        "templateLabel": "Vorlage",
        "useCurrent": "Aktuelle verwenden",
        "vehicleLabel": "Fahrzeugtyp",
        "whisper": "Flüstern",
        "whisperFrom": "Von:",
        "whisperSent": "Flüsternachricht an {{player}} gesendet",
        "wipe": "Löschen",
        "wipeCodex": "Kodex löschen",
        "wipeCodexConfirmDesc": "Dies löscht alle Kodex-Entdeckungen für {{player}}.",
        "wipeCodexDesc": "Löscht alle Kodex-Entdeckungen",
        "wipeCodexTitle": "Kodex löschen?",
        "wipeInventory": "Inventar löschen",
        "wipeInventoryConfirmDesc": "Dies vernichtet alle Gegenstände im Inventar von {{player}}. Diese Aktion kann nicht rückgängig gemacht werden.",
        "wipeInventoryDesc": "Vernichtet alle Gegenstände im Inventar des Spielers",
        "wipeInventoryTitle": "Inventar dauerhaft löschen?"
      },
      "contracts": {
        "applyContracts_one": "Vertrag/Verträge anwenden ({{count}})",
        "applyContracts_other": "Vertrag/Verträge anwenden ({{count}})",
        "clearAll": "Alle löschen",
        "count_one": "{{count}} Verträge",
        "count_other": "{{count}} Verträge",
        "desc": "Wendet die AddedFlagsOnCompletion-Tags des Vertrags + Stufenaufstiegs-Nebeneffekte an. Mehrfachauswahl unterstützt.",
        "filterLabel": "Verträge filtern",
        "filterPlaceholder": "Verträge filtern (z. B. Trainer_Mentat, Atre_Rank01)...",
        "loadFailed": "Laden fehlgeschlagen: {{error}} — Server neu starten",
        "loadingContracts": "Laden…",
        "noMatching": "Keine passenden Verträge",
        "reverseContracts_one": "Vertrag/Verträge umkehren ({{count}})",
        "reverseContracts_other": "Vertrag/Verträge umkehren ({{count}})",
        "tagCount_one": "{{count}} Tag",
        "tagCount_other": "{{count}} Tag",
        "tagCountPlural_one": "{{count}} Tags",
        "tagCountPlural_other": "{{count}} Tags",
        "title": "Vertrag/Verträge abschließen"
      },
      "experimental": {
        "confirmRun": "Ausführung bestätigen",
        "customScript": "CheatScript — Benutzerdefiniert",
        "customScriptDesc": "Beliebigen Skriptnamen oder Konsolenbefehl ausprobieren.",
        "customScriptLabel": "Benutzerdefinierter Skriptname",
        "customScriptPlaceholder": "Skript-/Befehlsname…",
        "knownScripts": "CheatScript — Bekannte Skripte",
        "knownScriptsDesc": "Benannte Skripte, die in DefaultGame.ini definiert sind. Fire-and-forget.",
        "run": "Ausführen",
        "runTitle": "{{label}} ausführen?",
        "scripts": {
          "AwardPlayerXP": "Award Player XP",
          "AwardPlayerXPDesc": "Vergibt 10.000 Kampf-XP + 10.000 Erkundungs-XP + 10.000 Wissenschafts-XP",
          "LeaveMeAlone": "Leave Me Alone",
          "LeaveMeAloneDesc": "Vernichtet alle NPCs, löscht Begegnungen + Sandstürme, deaktiviert Sandwurm (serverweit)",
          "PlaytestSetup": "Playtest Setup",
          "PlaytestSetupAdmin": "Playtest Setup (Admin)",
          "PlaytestSetupAdminDesc": "⚠ DESTRUCTIVE — wie Playtest Setup, aber mit rohen Vorlagennamen",
          "PlaytestSetupDesc": "⚠ DESTRUCTIVE — ResetProgression + CleanInventory, dann vollständiges Ausrüstungspaket",
          "UnlockAllAbilities": "Unlock All Abilities",
          "UnlockAllAbilitiesDesc": "Setzt alle Fähigkeitsmodule auf Stufe 1",
          "UnlockAllSkills": "Unlock All Skills",
          "UnlockAllSkillsDesc": "Setzt alle Fertigkeitsbaummodule auf Stufe 1"
        },
        "try": "Versuchen",
        "warning": "⚠ Experimentell — Diese Befehle werden über RabbitMQ gesendet, aber ihre Auswirkungen sind nicht verifiziert. Nur auf Testcharakteren verwenden."
      },
      "history": {
        "columns": {
          "difficulty": "Schwierigkeit",
          "dungeon": "Kerker",
          "duration": "Dauer",
          "eventType": "Ereignistyp",
          "location": "Ort",
          "map": "Karte",
          "partySize": "Gruppengröße",
          "time": "Zeit"
        },
        "dungeonLabel": "Kerkeraufzeichnungen",
        "dungeonRecords": "Kerkeraufzeichnungen",
        "gameEvents": "Spielereignisse",
        "gameEventsLabel": "Spielereignisse",
        "noDungeons": "Keine Kerkeraufzeichnungen",
        "noEvents": "Keine Ereignisse"
      },
      "journey": {
        "columns": {
          "done": "Erledigt",
          "nodeId": "Knoten-ID",
          "revealed": "Enthüllt",
          "reward": "Belohnung"
        },
        "complete": "Abschließen",
        "filterPlaceholder": "Knoten filtern...",
        "journeyLabel": "Reiseknoten",
        "noMatching": "Keine passenden Knoten",
        "noNodes": "Keine Reiseknoten gefunden",
        "redo": "↻ Wiederholen",
        "reset": "Zurücksetzen",
        "title": "Reiseknoten",
        "wipeAll": "Alle löschen",
        "wipeAllDesc": "Dies löscht den gesamten Reisefortschritt für {{player}}. Diese Aktion kann nicht rückgängig gemacht werden.",
        "wipeAllTitle": "Alle Reiseknoten löschen?"
      },
      "progression": {
        "apply": "Anwenden",
        "applyUnlock": "Freischaltung anwenden",
        "loadingPresets": "Laden…",
        "mainQuestLabel": "Hauptquest",
        "nodes_one": "{{count}} Knoten",
        "nodes_other": "{{count}} Knoten",
        "noPresets": "Keine Voreinstellungen verfügbar",
        "presets": {
          "a_new_beginning": {
            "desc": "Story-Einführung — Stillsuit herstellen, Ressourcen sammeln, Fabrikator-Forschung. Schaltet den frühen Spielfortschritt frei.",
            "name": "Abschließen: A New Beginning"
          },
          "act1_complete": {
            "desc": "A New Beginning + Find the Fremen kombiniert. Der Spieler startet bereit für Akt 2.",
            "name": "Abschließen: Gesamter Akt 1"
          },
          "deep_desert_intro": {
            "desc": "Schließt die Nebenquestkette der Tiefen Wüste ab.",
            "name": "Überspringen: Tiefwüsten-Einführung"
          },
          "find_the_fremen": {
            "desc": "Alle 7 Prüfungen, das Sietch und den Epilog. Schaltet das Fremkit (Stillsuit, Thumper, Cryss Knife usw.) frei und schließt Akt 1 ab.",
            "name": "Abschließen: Find the Fremen (Trials of Aql)"
          },
          "overland_intro": {
            "desc": "Schließt die Nebenquestkette der Überlandkarte ab (Hark Landsraad-Missionen, Schlüsselsteine).",
            "name": "Überspringen: Überlandkarten-Einführung"
          },
          "skip_npe": {
            "desc": "Markiert das Tutorial/NPE als abgeschlossen. Nützlich für erfahrene Spieler, die die Einführung nicht benötigen.",
            "name": "NPE überspringen (Neuspielererlebnis)"
          },
          "taxation_intro": {
            "desc": "Schließt die Handels-/Reise-Tutorial-Kette ab.",
            "name": "Überspringen: Besteuerungs-/Handels-Tutorial"
          },
          "unlock_all_lore": {
            "desc": "Enthüllt alle Dunipedia-Einträge: Bekanntes Universum, Wahrzeichen, Handbuch der freundlichen Wüste, Krieg um Arrakis.",
            "name": "Gesamtes Lore freischalten (Dunipedia)"
          },
          "vermillius_intro": {
            "desc": "Schließt alle Vermillius Gap Tutorial-Quests ab (Forschung, Herstellung, Erkundung). Keine Tag-Nebeneffekte — reines Tutorial-Überspringen.",
            "name": "Überspringen: Vermillius Gap Tutorials"
          }
        },
        "progressionUnlock": "Fortschrittsfreischaltung",
        "progressionUnlockDesc": "Schließt DA_FQ_ClimbTheRanks-Reiseknoten ab und schreibt Fraktionsstufentags.",
        "quickPresets": "Schnellvoreinstellungen",
        "quickPresetsDesc": "Kuratierte Pakete, die einen oder mehrere Root-Reise-Knoten abschließen und auf alle Kinder + Tags kaskadieren.",
        "resetSkillTree": "Fertigkeitsbaum zurücksetzen",
        "resetSkillTreeDesc": "Dies löscht den vollständigen {{trainer}}-Berufsfertigkeitsbaum für {{player}}.",
        "resetSkillTreeTitle": "{{trainer}}-Fertigkeitsbaum zurücksetzen?",
        "reverseUnlock": "Freischaltung umkehren",
        "reverseUnlockDesc": "Dies macht die {{preset}}-Voreinstellung für {{faction}} rückgängig und entfernt zugehörige Tags von {{player}}.",
        "reverseUnlockTitle": "Fortschrittsfreischaltung umkehren?",
        "trainerLabel": "Trainer",
        "unlockMainQuest": "Hauptquest freischalten",
        "unlockMainQuestDesc": "Setzt jede DA_MQ_<name>.*-Reisezeile auf abgeschlossen und wendet die m_TagsToAdd-Vereinigung an.",
        "unlockTrainer": "Trainer freischalten",
        "unlockTrainerDesc": "Schließt jeden Trainer_X_*-Vertrag ab und gewährt den vollständigen Berufsfertigkeitsbaum."
      },
      "resources": {
        "award": "Vergeben",
        "awardCharXP": "Char-XP vergeben",
        "awardIntel": "Geheimdienstinformationen vergeben",
        "characterXP": "Charakter-XP",
        "charXPNote": "Max. 344.440 (Stufe 200) · live wenn online, DB wenn offline",
        "currencyResources": "Währung & Ressourcen",
        "currentXP": "Aktuell: {{xp}} XP — Stufe {{level}} / 200",
        "faction": "Fraktion",
        "factionReputation": "Fraktionsruf",
        "fill": "Auffüllen",
        "fillWater": "Wasser auffüllen",
        "fillWaterNote": "Füllt alle Wasserbehälter auf Maximum (Spieler muss online sein)",
        "give": "Geben",
        "giveCurrency": "Währung geben",
        "giveScrip": "Scrip geben",
        "liveActions": "Live-Aktionen",
        "liveActionsNote": "Spieler muss online sein.",
        "reputation": "Ruf",
        "reputationNote": "Zum aktuellen hinzufügen, max. 12.474",
        "selectModule": "Modul auswählen…",
        "set": "Setzen",
        "setSkillModule": "Fertigkeitsmodul festlegen",
        "skillModules": "Fertigkeitsmodule",
        "skillPoints": "Fertigkeitspunkte",
        "skillPointsNote": "Legt ungenutzte Punkte fest"
      },
      "sections": {
        "admin": "Admin",
        "contracts": "Verträge",
        "experimental": "Experimentell",
        "history": "Verlauf",
        "journey": "Reise",
        "progression": "Fortschritt",
        "resources": "Statistiken",
        "specs": "Spezialisierungen",
        "tags": "Tags"
      },
      "specs": {
        "columns": {
          "level": "Stufe",
          "track": "Pfad",
          "xp": "XP"
        },
        "grantMax": "Maximum gewähren",
        "grantMaxKeystones": "Maximale Schlüsselsteine gewähren",
        "onlineWarning": "⚠ Spieler ist online — XP-Änderungen treten möglicherweise erst nach der Neuverbindung in Kraft",
        "resetAllKeystones": "Alle Schlüsselsteine zurücksetzen",
        "resetKeystonesDesc": "Dies entfernt alle gewährten Schlüsselsteine für {{player}}. Diese Aktion kann nicht rückgängig gemacht werden.",
        "resetKeystonesTitle": "Alle Schlüsselsteine zurücksetzen?",
        "resetSpec": "Spezialisierung zurücksetzen",
        "resetSpecDesc": "Dies löscht alle XP und Stufen für den {{track}}-Spezialisierungspfad.",
        "resetSpecTitle": "{{track}}-Spezialisierung zurücksetzen?",
        "specializations": "Spezialisierungen",
        "specsLabel": "Spezialisierungen"
      },
      "tags": {
        "activeTags_one": "Aktive Tags ({{count}})",
        "activeTags_other": "Aktive Tags ({{count}})",
        "activeTagsLabel": "Aktive Tags",
        "addCount_one": "Hinzufügen ({{count}})",
        "addCount_other": "Hinzufügen ({{count}})",
        "addTags": "Tags hinzufügen",
        "filterPlaceholder": "Zum Entfernen filtern…",
        "noTags": "Keine Tags",
        "removedTag": "Tag entfernt",
        "searchPlaceholder": "Tags suchen…",
        "tagColumn": "Tag"
      }
    },
    "dashboard": {
      "activityTrend": "Aktivität — letzte {{days}} Tage",
      "avgLevel": "Ø Charakterlevel",
      "avgLevelCol": "Ø Level",
      "byFaction": "Nach Fraktion",
      "byMap": "Spieler nach Karte",
      "econPctCol": "% Wirtsch.",
      "factionCol": "Fraktion",
      "growthApprox": "Näherung — aus Online-Snapshots",
      "growthTitle": "Fraktionswachstum",
      "metricLevel": "Ø Level",
      "metricSolaris": "Solaris",
      "navLabel": "Serverübersicht",
      "noPlayers": "Noch keine Spieler",
      "online": "Jetzt online",
      "playersCol": "Spieler",
      "scripCol": "Scrip",
      "sessions": "Sitzungen",
      "solarisCol": "Solaris",
      "subtitle": "Serverweite Spielerstatistiken und Trends",
      "title": "Serverübersicht",
      "totalPlayers": "Spieler gesamt",
      "totalPlaytime": "Gesamtspielzeit",
      "totalScrip": "Scrip gesamt",
      "totalSolaris": "Solaris gesamt"
    },
    "detail": {
      "avgSession": "Durchschn.",
      "charXP": "Char-XP",
      "earned": "Verdient",
      "economy": "Wirtschaft",
      "factionAlignment": "Fraktionszugehörigkeit",
      "unaligned": "Ungebunden",
      "factionTier": "Fraktionsstufe",
      "failedToLoad": "Statistiken konnten nicht geladen werden.",
      "lastSeen": "Zuletzt gesehen",
      "milestones": "Meilensteine",
      "playtime": "Spielzeit",
      "pois": "Interessenpunkte",
      "progression": "Fortschritt",
      "scrip": "Scrip",
      "sessionCount": "Anzahl",
      "sessionHistory": "Sitzungsverlauf",
      "sessionHistoryEmpty": "Sitzungsdaten sammeln sich an, wenn Spieler einloggen. Der Tracker fragt alle 5 Minuten ab.",
      "sessions": "Sitzungen",
      "skillPts": "Fertigkeitspunkte",
      "solaris": "Solaris",
      "solarisBalance": "Kontostand",
      "solarisHistory": "Solaris-Verlauf",
      "solarisHistoryEmpty": "Solaris-Snapshots werden alle 5 Minuten erstellt, während Spieler online sind.",
      "spent": "Ausgegeben",
      "tier": "Stufe {{tier}}",
      "xpCharXP": "Char-XP",
      "xpCombat": "Kampf",
      "xpCrafting": "Handwerk",
      "xpExploration": "Erkundung",
      "xpGathering": "Sammeln",
      "xpHistory": "XP-Verlauf",
      "xpHistoryEmpty": "XP-Snapshots werden alle 5 Minuten erstellt, während Spieler online sind.",
      "xpSabotage": "Sabotage"
    },
    "give": {
      "add": "Hinzufügen",
      "gave": "✓ Gegeben:",
      "gaveItems_one": "{{count}} Gegenstand an {{player}} gegeben",
      "gaveItems_other": "{{count}} Gegenstände an {{player}} gegeben",
      "giveCount_one": "{{count}} Gegenstand geben",
      "giveCount_other": "{{count}} Gegenstände geben",
      "loadPack": "Paket laden…",
      "managePacks": "Pakete verwalten",
      "modalTitle": "{{name}} — Gegenstände geben",
      "qty": "Menge",
      "quality": "Qualität",
      "searchTemplates": "Vorlagen suchen...",
      "selectTemplate": "Vorlage auswählen",
      "skipped": "✕ {{template}} übersprungen: {{reason}}"
    },
    "givePacks": {
      "addItem": "Gegenstand hinzufügen",
      "addPack": "Paket hinzufügen",
      "category": "Kategorie",
      "deletePack": "Paket löschen",
      "duplicateId": "Ein Paket mit dieser ID existiert bereits.",
      "editingPack": "Paket bearbeiten",
      "newPack": "Neues Paket",
      "noItemsYet": "Dieses Paket enthält noch keine Gegenstände.",
      "noPacks": "Noch keine Pakete – fügen Sie oben eines hinzu.",
      "noPackSelected": "Wählen Sie ein Paket aus, um dessen Gegenstände zu bearbeiten.",
      "packId": "ID",
      "packName": "Name",
      "removeItem": "Gegenstand entfernen",
      "save": "Pakete speichern",
      "saved": "Pakete gespeichert",
      "saveFailed": "Pakete konnten nicht gespeichert werden: {{message}}",
      "searchTemplates": "Gegenstandsvorlage suchen…",
      "tier": "Stufe",
      "title": "Give-Items-Pakete verwalten",
      "updatePack": "Paket aktualisieren"
    },
    "inventory": {
      "columns": {
        "durability": "Haltbarkeit",
        "quality": "Qualität",
        "stack": "Stapel",
        "template": "Vorlage"
      },
      "deleteOnlineWarning": "Spieler ist online — Das Löschen von Gegenständen kann zu Inventar-Desynchronisierungen führen. Fortfahren?",
      "itemDeleted": "Gegenstand gelöscht",
      "itemsLabel": "Gegenstände",
      "noItemsFound": "Keine Gegenstände gefunden",
      "repair": "Reparieren",
      "repaired": "{{name}} repariert",
      "repairGear": "Ausrüstung reparieren",
      "repairGearDone": "{{repaired}} von {{scanned}} Ausrüstungsteilen repariert — Neu einloggen, um im Spiel zu sehen",
      "repairGearNone": "Keine Ausrüstung benötigte Reparatur ({{scanned}} Gegenstände gescannt)",
      "repairNotice": "Haltbarkeitsänderungen werden in der DB gespeichert. Der Spieler muss sich neu einloggen, um die Änderungen im Spiel zu sehen.",
      "title": "Inventar"
    },
    "searchLabel": "Spieler suchen",
    "searchPlaceholder": "Spieler filtern...",
    "tabs": {
      "actions": "Aktionen",
      "give": "Geben",
      "inventory": "Inventar",
      "overview": "Übersicht",
      "vehicles": "Fahrzeuge"
    },
    "title": "Spieler",
    "vehicles": {
      "backup": "Sichern",
      "columns": {
        "chassis": "Chassis",
        "class": "Klasse",
        "location": "Ort",
        "name": "Name",
        "type": "Typ"
      },
      "noVehiclesFound": "Keine Fahrzeuge gefunden",
      "recovered": "Wiederhergestellt",
      "refuel": "Auftanken",
      "refuelDone": "{{label}} aufgetankt — Neu einloggen, um im Spiel zu sehen",
      "repair": "Reparieren",
      "repairDone": "{{repaired}} Module auf {{label}} repariert — Neu einloggen, um im Spiel zu sehen",
      "repairNone": "Keine Module auf {{label}} gefunden",
      "repairNotice": "Fahrzeugreparaturen erfordern einen Serverneustart, um im Spiel wirksam zu werden.",
      "repairPartial": "{{repaired}} von {{total}} Modulen auf {{label}} repariert ({{skipped}} übersprungen) — Neu einloggen, um im Spiel zu sehen",
      "vehiclesLabel": "Fahrzeuge"
    }
  },
  "server": {
    "advancedCategories": "Erweitert",
    "advancedCategoriesDesc": "Klicken Sie auf eine Kategorie, um sie zu erweitern. Erneut klicken oder eine andere auswählen, um zu wechseln.",
    "collapse": "Abbrechen",
    "collapseCategory": "Kategorie einklappen",
    "collapseSection": "Abschnitt einklappen",
    "commonSettings": "Allgemeine Einstellungen",
    "commonSettingsDesc": "Die etwa ein Dutzend Regler, die Admins am häufigsten verwenden. Alles andere befindet sich in den Kategorien unten.",
    "deleteFailed": "Löschen fehlgeschlagen: {{message}}",
    "iniNotFound": "Server-INI-Dateien konnten nicht gefunden werden: {{error}}. Für kubectl das Spielserver-PVC einbinden. Für docker/local server_ini_dir zu ~/.dune-admin/config.yaml hinzufügen.",
    "loading": "Einstellungen werden geladen…",
    "noMatchSettings": "Keine Einstellungen entsprechen \"{{query}}\".",
    "overriddenCount_one": "{{count}} überschrieben",
    "overriddenCount_other": "{{count}} überschrieben",
    "rawIniDesc": "Array-Einträge (+key=val) und nicht erkannte Schlüssel, nach INI-Abschnitt gruppiert.",
    "rawIniSections": "Rohe INI-Abschnitte",
    "rawPlaceholder": "Key=Value oder +Key=Value für Array-Einträge",
    "removedFrom": "Aus {{file}} entfernt",
    "save": "Speichern",
    "savedTo": "In {{file}} gespeichert",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}",
    "saveWithCount_one": "Speichern ({{count}})",
    "saveWithCount_other": "Speichern ({{count}})",
    "searchLabel": "Einstellungen suchen",
    "searchPlaceholder": "Einstellungen suchen…",
    "settingCount_one_one": "{{count}} Einstellung",
    "settingCount_one_other": "{{count}} Einstellung",
    "settingCount_other_one": "{{count}} Einstellungen",
    "settingCount_other_other": "{{count}} Einstellungen",
    "showAll": "Alle",
    "showAllAriaLabel": "Alle Einstellungen werden angezeigt — klicken, um nur Benutzereinstellungen anzuzeigen",
    "showUser": "Benutzer",
    "showUserAriaLabel": "Nur Benutzereinstellungen werden angezeigt — klicken, um alle anzuzeigen",
    "title": "Servereinstellungen",
    "unsaved": "nicht gespeichert",
    "userOverride": "· Benutzerüberschreibung",
    "expertCategories": "Experte",
    "expertCategoriesDesc": "Engine- und Systeminterna. Ändern Sie diese nur, wenn Sie genau wissen, was Sie tun.",
    "ampManagedTooltip": "Wird über die AMP-API verwaltet — wird beim nächsten Serverneustart angewendet",
    "removeFrom": "Aus {{file}} entfernen"
  },
  "settings": {
    "adv": {
      "applyReload": "Anwenden & Neu laden",
      "backendUrlHint": "Nur erforderlich, wenn die Benutzeroberfläche von einem anderen Host bereitgestellt wird (SSH-Tunnel, CDN). Leer lassen für Einzelbinär-Setup.",
      "backupDir": "Sicherungsverzeichnis",
      "defaultIniDir": "Standard-INI-Verzeichnis",
      "defaultIniDirHint": "DefaultGame.ini Basisschicht",
      "directorUrl": "Director-URL",
      "directorUrlHint": "Proxy unter /director/",
      "listenAddr": "Abhöradresse",
      "listenAddrHint": "⚠ Neustart erforderlich",
      "reset": "Zurücksetzen",
      "scripCurrency": "Scrip-Währungs-ID",
      "serverIniDir": "Server-INI-Verzeichnis",
      "serverIniDirHint": "UserGame.ini-Speicherort",
      "url": "URL",
      "urlHint": "im Browser gespeichert, nicht auf dem Server"
    },
    "amp": {
      "containerName": "Containername",
      "containerNameHint": "Standard: AMP_<instance>",
      "dataRoot": "Datenwurzel",
      "instanceName": "Instanzname",
      "logPath": "Protokollpfad",
      "useContainer": "Container verwenden (podman exec)",
      "useContainerHint": "Deaktivieren, um direkt als AMP-Benutzer auf dem Host zu laufen.",
      "user": "AMP-Benutzer",
      "apiUser": "AMP-API-Benutzer",
      "apiPassword": "AMP-API-Passwort",
      "apiPort": "AMP-API-Port",
      "apiHint": "AMP-Web-API-Anmeldung. Ermöglicht dune-admin, Servereinstellungen unter AMP zu verwalten, sodass sie Neustarts überstehen. Standardport 8081."
    },
    "broker": {
      "adminAddr": "Admin-Adresse",
      "execPrefix": "Ausführungspräfix",
      "execPrefixHint": "wenn Broker in einem Container ist",
      "gameAddr": "Spieladresse",
      "jwtSecret": "JWT-Geheimnis",
      "jwtSecretHint": "leer = integrierter Standard",
      "optionalHint": "Aktiviert Erfassung und Benachrichtigungen wenn konfiguriert.",
      "password": "Passwort",
      "user": "Benutzer",
      "useTls": "TLS verwenden (amqps://)"
    },
    "cmd": {
      "restart": "Neustarten",
      "start": "Starten",
      "status": "Status",
      "stop": "Stoppen"
    },
    "configSaved": "Konfiguration gespeichert — Einstellungen werden angewendet…",
    "control": {
      "amp": "amp — CubeCoders AMP",
      "docker": "docker — Docker-Container",
      "kubectl": "kubectl — Kubernetes / k3s",
      "local": "local — Bare-Metal / LGSM / Shell",
      "modeHint": "Wie dune-admin den Spielserver verwaltet",
      "selectMode": "Wählen Sie oben einen Steuermodus, um modussspezifische Einstellungen zu sehen."
    },
    "db": {
      "host": "Host",
      "hostHint": "127.0.0.1 über SSH-Tunnel",
      "name": "Datenbankname",
      "password": "Passwort",
      "passwordHint": "Platzhalter senden, um vorhandenes zu behalten",
      "port": "Port",
      "schema": "Schema",
      "user": "Benutzer"
    },
    "docker": {
      "brokerAdmin": "Broker (Admin)",
      "brokerGame": "Broker (Spiel)",
      "database": "Datenbank",
      "gameServer": "Spielserver"
    },
    "k8s": {
      "namespace": "Namespace",
      "namespaceHint": "leer = automatisch erkennen"
    },
    "loadFailed": "Konfiguration konnte nicht geladen werden: {{message}}",
    "loadingConfig": "Konfiguration wird geladen…",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}",
    "sections": {
      "amp": "CubeCoders AMP",
      "backendUrlOverride": "Backend-URL-Überschreibung",
      "controlPlane": "Steuerungsebene",
      "database": "Datenbank",
      "dockerContainers": "Docker-Container",
      "kubernetes": "Kubernetes",
      "paths": "Pfade",
      "rabbitmq": "RabbitMQ (optional)",
      "server": "Server",
      "serverCommands": "Serverbefehle",
      "ssh": "SSH (leer lassen für lokal)"
    },
    "ssh": {
      "hostPort": "Host : Port",
      "hostPortHint": "aktiviert SSH-Tunnel für alle DB + exec",
      "privateKey": "Privater Schlüsselpfad",
      "privateKeyHint": "absoluter Pfad, leer = automatisch erkennen",
      "user": "Benutzer"
    },
    "tabs": {
      "advanced": "Erweitert",
      "broker": "Broker",
      "connection": "Verbindung",
      "control": "Steuerung"
    }
  },
  "storage": {
    "addItems": "Gegenstände hinzufügen",
    "addModal": {
      "add": "Hinzufügen",
      "qtyColLabel": "Menge",
      "qtyLabel": "Menge",
      "qualityColLabel": "Qualität",
      "qualityLabel": "Qualität",
      "searchPlaceholder": "Vorlagen suchen...",
      "selectTemplate": "Vorlage auswählen",
      "templateLabel": "Vorlage"
    },
    "ariaLabel": "Container-Gegenstände",
    "columns": {
      "durability": "Haltbarkeit",
      "id": "ID",
      "quality": "Qualität",
      "stack": "Stapel",
      "template": "Vorlage"
    },
    "containerEmpty": "Container ist leer",
    "containersTitle_one": "Container ({{count}})",
    "containersTitle_other": "Container ({{count}})",
    "containerTitle": "Container #{{id}}",
    "itemRemoved": "Gegenstand entfernt",
    "ownerLabel": "Besitzer: {{name}}",
    "remove": "Entfernen",
    "searchLabel": "Container suchen",
    "searchPlaceholder": "Suchen...",
    "selectContainer": "Container auswählen, um seinen Inhalt anzuzeigen",
    "warningText": "Gegenstände, die zu Lagercontainern hinzugefügt oder entfernt werden, erfordern einen Serverzonen-Neustart, um für andere Spieler sichtbar zu werden."
  },
  "welcome": {
    "activeVersionGranted": "AKTIVE VERSION(EN) (VERGEBEN)",
    "addItem": "Gegenstand hinzufügen",
    "addVersion": "Version hinzufügen",
    "columns": {
      "character": "Charakter",
      "error": "Fehler",
      "flsId": "FLS ID",
      "status": "Status",
      "tries": "Versuche",
      "updated": "Aktualisiert",
      "version": "Version"
    },
    "configSubtitle": "Vergabe aktivieren, aktive Pakete festlegen und Willkommensnachricht konfigurieren.",
    "editingVersion": "Version wird bearbeitet",
    "enabledHint": "— gewährt das aktive Paket an Online-Spieler, die diese Version noch nicht erhalten haben.",
    "enabledLabel": "Aktiviert",
    "failedToLoad": "Willkommenspaket konnte nicht geladen werden: {{message}}",
    "grantsLabel": "Willkommenspaket-Gewährungen",
    "grantsTitle_one": "Vergabehistorie ({{count}})",
    "grantsTitle_other": "Vergabehistorie ({{count}})",
    "message": {
      "enabledHint": "Einmalig pro Spieler pro aktiver Version über die GM-Persona gesendet. Wird im Vergabe-Ledger erfasst.",
      "enabledLabel": "Neue Spieler beim ersten Login per Flüsternachricht begrüßen",
      "messageLabel": "Nachricht",
      "messagePlaceholder": "Willkommen auf dem Server! Genieße dein Starterpaket.",
      "senderLabel": "Absender-FLS-ID (optional)",
      "senderPlaceholder": "Leer lassen, um die hinterlegte GM-Persona zu verwenden",
      "title": "Willkommensnachricht"
    },
    "newVersionLabel": "Neuer Versionsname",
    "newVersionPlaceholder": "z. B. v2 oder season2",
    "noGrants": "Noch keine Gewährungen.",
    "noItemsYet": "Noch keine Gegenstände in dieser Version.",
    "noPackageSelected": "Kein Paket ausgewählt. Fügen Sie eine Version hinzu, um zu beginnen.",
    "packagesSubtitle": "Gegenstands-Pakete erstellen und verwalten. Jede Version kann unabhängig vergeben werden.",
    "removeItem": "Gegenstand entfernen",
    "retry": "Erneut versuchen",
    "retryCleared": "Zurückgesetzt — wird beim nächsten Scan erneut versucht",
    "retryFailed": "Erneuter Versuch fehlgeschlagen: {{message}}",
    "runFailed": "Ausführung fehlgeschlagen: {{message}}",
    "runNow": "Jetzt ausführen",
    "saveConfig": "Konfiguration speichern",
    "savedDisabled": "Willkommenspaket gespeichert (deaktiviert)",
    "savedEnabled": "Aktiviert — \"{{version}}\" wird innerhalb eines Scan-Ticks gewährt",
    "saveFailed": "Speichern fehlgeschlagen: {{message}}",
    "scanComplete": "Scan abgeschlossen — {{granted}} gewährt, {{failed}} fehlgeschlagen, {{skipped}} übersprungen",
    "scanInterval": "Scan-Intervall (Sekunden)",
    "sections": {
      "config": "Konfiguration",
      "grants": "Zuweisungen",
      "packages": "Pakete"
    },
    "title": "Willkommenspakete",
    "revoke": "Widerrufen",
    "revoked": "Vergabe widerrufen — das Paket kann erneut vergeben werden",
    "revokeFailed": "Widerruf fehlgeschlagen: {{message}}",
    "motd": {
      "enabledHint": "Bei jedem Beitritt über die GM-Persona geflüstert (jede Sitzung, nicht nur die erste). Verwende {player} für den Spielernamen.",
      "enabledLabel": "Spielern bei jedem Beitritt eine Nachricht senden",
      "messageLabel": "Nachricht",
      "messagePlaceholder": "Willkommen zurück, {player}! Schau im Discord nach Events.",
      "senderLabel": "Absender-FLS-ID (optional)",
      "senderPlaceholder": "Leer lassen, um die hinterlegte GM-Persona zu verwenden",
      "title": "Nachricht des Tages"
    },
    "runConfirmTitle": "Willkommenspaket jetzt vergeben?",
    "runConfirmBody": "Dies vergibt das/die Paket(e) {{versions}} sofort an alle berechtigten Online-Spieler. Fortfahren?"
  }
}
