{
  "Language": {
    "followSystem": "Systemsprache verwenden",
    "english": "Englisch",
    "simplifiedChinese": "Vereinfachtes Chinesisch",
    "traditionalChinese": "Traditionelles Chinesisch",
    "japanese": "Japanisch",
    "korean": "Koreanisch",
    "spanish": "Spanisch",
    "german": "Deutsch",
    "french": "Französisch",
    "portuguese": "Portugiesisch",
    "arabic": "Arabisch"
  },
  "GitCredentialDialog": {
    "title": "Authentifizierung erforderlich",
    "description": "Der Remote-Server erfordert Anmeldedaten. Geben Sie Ihren Benutzernamen und Ihr Passwort (oder persönliches Zugriffstoken) ein.",
    "username": "Benutzername",
    "usernamePlaceholder": "Benutzername oder E-Mail",
    "password": "Passwort / Token",
    "passwordPlaceholder": "Passwort oder persönliches Zugriffstoken",
    "passwordHint": "Geben Sie Benutzername und Passwort des Servers ein.",
    "cancel": "Abbrechen",
    "authenticate": "Authentifizieren",
    "authenticating": "Authentifizierung...",
    "invalidCredentials": "Ungültige Anmeldedaten. Bitte versuchen Sie es erneut.",
    "saveCredentials": "Anmeldedaten für zukünftige Vorgänge speichern",
    "githubTitle": "GitHub-Authentifizierung",
    "githubDescription": "Geben Sie ein persönliches Zugriffstoken ein, um sich mit GitHub zu verbinden. Das Token wird validiert und automatisch gespeichert.",
    "githubToken": "Persönliches Zugriffstoken",
    "githubTokenPlaceholder": "ghp_xxxxxxxxxxxx",
    "githubTokenHint": "Erstellen Sie ein Token unter GitHub → Settings → Developer settings → Personal access tokens.",
    "githubAuthenticate": "Validieren & verbinden",
    "generateToken": "Token erstellen"
  },
  "SettingsShell": {
    "title": "Einstellungen",
    "preferences": "Präferenzen",
    "nav": {
      "general": "Allgemein",
      "appearance": "Darstellung",
      "agents": "Agenten",
      "mcp": "MCP",
      "skills": "Skills",
      "shortcuts": "Kurzbefehle",
      "version_control": "Versionskontrolle",
      "system": "Systemeinstellungen",
      "chat_channels": "Chat-Kanäle",
      "web_service": "Webdienst",
      "model_providers": "Modellanbieter",
      "experts": "Experten",
      "quick_messages": "Schnellnachrichten"
    }
  },
  "AppearanceSettings": {
    "sectionTitle": "Design-Erscheinungsbild",
    "sectionDescription": "Wähle hell, dunkel oder Systemvorgabe. Einstellungen werden automatisch gespeichert.",
    "themeMode": "Designmodus",
    "placeholder": "Designmodus auswählen",
    "system": "Systemvorgabe",
    "light": "Hell",
    "dark": "Dunkel",
    "currentTheme": "Aktuell wirksames Design: {theme}",
    "resolvedTheme": {
      "light": "Hell",
      "dark": "Dunkel",
      "unknown": "--"
    },
    "themeColor": {
      "sectionTitle": "Themenfarbe",
      "sectionDescription": "Wähle eine Farbpalette für Akzente, Schaltflächen und Hervorhebungen.",
      "current": "Aktuelle Farbe: {color}",
      "options": {
        "neutral": "Neutral",
        "zinc": "Zinc",
        "slate": "Slate",
        "stone": "Stone",
        "gray": "Gray",
        "red": "Red",
        "rose": "Rose",
        "orange": "Orange",
        "green": "Green",
        "blue": "Blue",
        "yellow": "Yellow",
        "violet": "Violet"
      }
    },
    "zoomLevel": {
      "sectionTitle": "Fensterzoom",
      "sectionDescription": "Skaliert die gesamte Oberfläche. Wird sofort übernommen und pro Gerät gespeichert.",
      "placeholder": "Zoomstufe wählen",
      "default": "Standard",
      "current": "Aktueller Zoom: {zoom}%"
    },
    "fonts": {
      "sectionTitle": "Schriftarten",
      "sectionDescription": "Wähle Schriftarten für Oberfläche, Code-Editor und Terminal. Mitgelieferte Schriftarten werden bei Bedarf geladen; wähle „Benutzerdefiniert…“, um eine beliebige auf deinem System installierte Schriftart zu verwenden.",
      "interface": "Oberfläche",
      "editor": "Editor",
      "terminal": "Terminal",
      "groupSans": "Serifenlos",
      "groupMono": "Monospace",
      "custom": "Benutzerdefiniert…",
      "customPlaceholder": "Schriftartname, z. B. Fira Code",
      "fontSize": "Schriftgröße",
      "ligatures": "Ligaturen aktivieren",
      "ligaturesUnavailable": "Diese Schriftart hat keine Ligaturen",
      "terminalLigaturesHint": "Terminal-Ligaturen gelten nur für mitgelieferte Programmierschriftarten.",
      "preview": "Vorschau"
    }
  },
  "SystemSettings": {
    "loading": "Wird geladen...",
    "sectionTitle": "Systemverwaltung",
    "sectionDescription": "Verwalte Netzwerk-Proxy, App-Updates und Spracheinstellungen.",
    "proxyTitle": "Netzwerk-Proxy",
    "proxyDescription": "Wenn aktiviert, werden nachfolgende Netzwerkanfragen bevorzugt über diesen Proxy ausgeführt (einschließlich ACP-Chat, Agent-Installation und Git-Remote-Operationen).",
    "loadFailed": "Laden fehlgeschlagen: {message}",
    "enableProxy": "System-Proxy aktivieren",
    "proxyAddress": "Proxy-Adresse",
    "proxyHint": "Unterstützt http(s)/socks5, Beispiel: {example}. Wirksam nur bei aktiviertem System-Proxy.",
    "save": "Speichern",
    "saving": "Wird gespeichert...",
    "proxyRequired": "Bei aktiviertem Proxy ist eine Proxy-URL erforderlich",
    "saveSuccess": "System-Proxy-Einstellungen wurden gespeichert",
    "saveFailed": "Speichern fehlgeschlagen: {message}",
    "languageTitle": "Sprache",
    "languageDescription": "Lege die App-Sprache fest. Bei Systemsprache wird bei nicht unterstützten Sprachen auf Englisch zurückgefallen.",
    "appLanguage": "App-Sprache",
    "languageSaveSuccess": "Spracheinstellungen wurden gespeichert",
    "languageSaveFailed": "Spracheinstellungen konnten nicht gespeichert werden: {message}",
    "updateTitle": "App-Update",
    "versionTitle": "Softwareupdate",
    "updateDescription": "Prüft die konfigurierte Release-Quelle auf neue Versionen und installiert sie bei Verfügbarkeit direkt.",
    "currentVersion": "Aktuelle Version",
    "upgradableVersion": "Neueste Version",
    "none": "Keine",
    "lastChecked": "Zuletzt geprüft: {time}",
    "updateError": "Update-Fehler: {message}",
    "checking": "Wird geprüft...",
    "checkUpdate": "Nach Updates suchen",
    "updating": "Wird installiert...",
    "downloading": "Herunterladen...",
    "upgradeTo": "Auf v{version} aktualisieren",
    "viewRelease": "Release v{version} anzeigen",
    "foundUpdate": "Neue Version v{version} gefunden",
    "alreadyLatest": "Du verwendest bereits die neueste Version",
    "checkUpdateFailed": "Update-Prüfung fehlgeschlagen: {message}",
    "installSuccess": "Update installiert. App wird neu gestartet.",
    "installFailed": "Update fehlgeschlagen: {message}",
    "upgradeSuccess": "Aktualisierung abgeschlossen. Wird neu geladen...",
    "restartTimeout": "Der Server ist nicht rechtzeitig zurückgekehrt. Prüfe die Container- oder Dienstprotokolle.",
    "restartingIn": "Neustart in {seconds} s...",
    "waitingForServer": "Warten, bis der Server zurückkehrt...",
    "restartToUpdate": "Zum Aktualisieren neu starten",
    "updateReadyHint": "Update heruntergeladen – zum Anwenden neu starten.",
    "restarting": "Neustart...",
    "dockerUpgradeHint": "Dies aktualisiert jetzt den laufenden Container. Beim Neuerstellen des Containers geht es verloren – zum Beibehalten ein Image mit der neuen Version ziehen oder bauen und den Container neu erstellen.",
    "upgradeRolledBack": "Upgrade fehlgeschlagen; der Server wurde auf die vorherige Version zurückgesetzt.",
    "serverUnreachable": "Der Server konnte für das Upgrade nicht erreicht werden. Prüfe, ob er läuft, und versuche es erneut.",
    "rollbackButton": "Zurücksetzen",
    "rollingBack": "Wird zurückgesetzt...",
    "rollbackDescription": "Stellt die vor dem letzten Upgrade installierte Version wieder her.",
    "rollbackConfirmTitle": "Auf die vorherige Version zurücksetzen?",
    "rollbackConfirmDescription": "Der Server startet mit der vor dem letzten Upgrade installierten Version neu. Eine neuere Version kann weiterhin erneut installiert werden.",
    "rollbackConfirm": "Zurücksetzen",
    "rollbackCancel": "Abbrechen",
    "rollbackSuccess": "Auf die vorherige Version zurückgesetzt. Wird neu geladen...",
    "rollbackFailed": "Zurücksetzen fehlgeschlagen. Prüfe die Serverprotokolle.",
    "updateErrors": {
      "sourceUnavailable": "Die Update-Quelle ist nicht erreichbar. Prüfe Netzwerk oder Proxy und versuche es erneut.",
      "network": "Netzwerkverbindung fehlgeschlagen. Prüfe Netzwerk oder Proxy und versuche es erneut.",
      "downloadFailed": "Das Update-Paket konnte nicht heruntergeladen werden. Bitte später erneut versuchen.",
      "installFailed": "Das Update konnte nicht installiert werden. Bitte App schließen und erneut versuchen.",
      "unknown": "Update fehlgeschlagen. Bitte später erneut versuchen."
    }
  },
  "VersionControlSettings": {
    "loading": "Laden...",
    "sectionTitle": "Versionskontrolle",
    "sectionDescription": "Git-Programm konfigurieren und GitHub-Konten verwalten.",
    "gitTitle": "Git-Konfiguration",
    "gitDescription": "Konfigurieren Sie das von der Anwendung verwendete Git-Programm.",
    "gitDetected": "Git erkannt",
    "gitNotFound": "Git wurde nicht gefunden",
    "gitVersion": "Version",
    "gitPath": "Pfad",
    "customGitPath": "Benutzerdefinierter Git-Pfad",
    "customGitPathPlaceholder": "/usr/bin/git",
    "customGitPathHint": "Leer lassen, um den automatisch erkannten Pfad zu verwenden.",
    "test": "Testen",
    "testing": "Teste...",
    "testSuccess": "Git-Programm ist gültig.",
    "testFailed": "Git-Test fehlgeschlagen: {message}",
    "save": "Speichern",
    "saving": "Speichern...",
    "saveSuccess": "Git-Einstellungen gespeichert.",
    "saveFailed": "Speichern fehlgeschlagen: {message}",
    "githubTitle": "GitHub-Konten",
    "githubDescription": "GitHub-Konten für die Authentifizierung verwalten. Token werden lokal gespeichert.",
    "noAccounts": "Keine GitHub-Konten konfiguriert.",
    "addAccount": "Konto hinzufügen",
    "serverUrl": "Server-URL",
    "serverUrlPlaceholder": "https://github.com",
    "token": "Persönlicher Zugriffstoken",
    "tokenPlaceholder": "ghp_xxxxxxxxxxxx",
    "generateToken": "Token erstellen",
    "tokenHint": "Erstellen Sie einen Token unter GitHub → Settings → Developer settings → Personal access tokens.",
    "validateAndAdd": "Validieren & hinzufügen",
    "validating": "Validiere...",
    "addSuccess": "Konto {username} erfolgreich hinzugefügt.",
    "addFailed": "Konto konnte nicht hinzugefügt werden: {message}",
    "testConnection": "Testen",
    "connectionSuccess": "Verbindung erfolgreich.",
    "connectionFailed": "Verbindung fehlgeschlagen: {message}",
    "setDefault": "Als Standard festlegen",
    "defaultLabel": "Standard",
    "defaultSet": "Standardkonto aktualisiert.",
    "removeAccount": "Entfernen",
    "removeConfirmTitle": "Konto entfernen",
    "removeConfirmMessage": "Möchten Sie das Konto \"{username}\" wirklich entfernen?",
    "removeConfirm": "Entfernen",
    "removeCancel": "Abbrechen",
    "removeSuccess": "Konto entfernt.",
    "scopes": "Berechtigungen",
    "loadFailed": "Einstellungen konnten nicht geladen werden: {message}",
    "gitAccount": {
      "sectionTitle": "Git-Server-Konten",
      "sectionDescription": "Verwalten Sie Anmeldedaten für Nicht-GitHub-Git-Server (GitLab, Bitbucket, selbst gehostet usw.).",
      "noAccounts": "Keine Git-Server-Konten konfiguriert.",
      "addAccount": "Konto hinzufügen",
      "addTitle": "Git-Konto hinzufügen",
      "addDescription": "Geben Sie Serveradresse, Benutzername und Passwort oder Zugriffstoken ein.",
      "serverUrl": "Server-URL",
      "serverUrlPlaceholder": "https://gitlab.example.com",
      "username": "Benutzername",
      "usernamePlaceholder": "Benutzername oder E-Mail",
      "password": "Passwort / Token",
      "passwordPlaceholder": "Passwort oder Zugriffstoken",
      "passwordHint": "Geben Sie das Passwort oder Zugriffstoken des Servers ein.",
      "add": "Hinzufügen",
      "serverRequired": "Server-URL ist erforderlich.",
      "usernameRequired": "Benutzername ist erforderlich.",
      "passwordRequired": "Passwort ist erforderlich."
    }
  },
  "ShortcutSettings": {
    "sectionTitle": "Kurzbefehle",
    "resetDefault": "Standardwerte zurücksetzen",
    "recordInstruction": "Klicke auf die rechte Schaltfläche und drücke dann eine Tastenkombination. Verwende Ctrl/Cmd, Alt und Shift. Drücke Esc, um die Aufzeichnung abzubrechen.",
    "recording": "Kurzbefehl drücken...",
    "toasts": {
      "conflict": "Der Kurzbefehl wird bereits von \"{title}\" verwendet",
      "updated": "Kurzbefehl aktualisiert",
      "invalid": "Ungültiger Kurzbefehl, bitte erneut versuchen",
      "reset": "Standard-Kurzbefehle wurden wiederhergestellt"
    },
    "actions": {
      "toggle_search": {
        "title": "Suche öffnen",
        "description": "Zeigt das Konversations-Suchpanel an oder blendet es aus"
      },
      "toggle_sidebar": {
        "title": "Linke Seitenleiste umschalten",
        "description": "Zeigt die Seitenleiste mit der Konversationsliste an oder blendet sie aus"
      },
      "toggle_terminal": {
        "title": "Terminal umschalten",
        "description": "Zeigt das untere Terminal-Panel an oder blendet es aus"
      },
      "new_terminal_tab": {
        "title": "Neues Terminal",
        "description": "Erstellt einen neuen Terminal-Tab, wenn das Terminal fokussiert ist"
      },
      "close_current_terminal_tab": {
        "title": "Aktuelles Terminal schließen",
        "description": "Schließt den aktuellen Terminal-Tab, wenn das Terminal fokussiert ist"
      },
      "toggle_aux_panel": {
        "title": "Rechtes Panel umschalten",
        "description": "Zeigt das Zusatzinformations-Panel an oder blendet es aus"
      },
      "new_conversation": {
        "title": "Neue Konversation",
        "description": "Erstellt einen neuen Konversations-Tab im aktuellen Ordner"
      },
      "open_folder": {
        "title": "Ordner öffnen",
        "description": "Öffnet die Ordnerauswahl und den Ordner in einem neuen Fenster"
      },
      "open_settings": {
        "title": "Einstellungen öffnen",
        "description": "Öffnet das Einstellungsfenster"
      },
      "close_current_tab": {
        "title": "Aktuellen Tab schließen",
        "description": "Schließt den aktuellen Konversations- oder Dateitab"
      },
      "close_all_file_tabs": {
        "title": "Alle Dateitabs schließen",
        "description": "Schließt alle geöffneten Dateitabs, wenn der Dateibereich aktiv ist"
      },
      "next_tab": {
        "title": "Nächster Tab",
        "description": "Zum nächsten Konversations- oder Datei-Tab wechseln"
      },
      "prev_tab": {
        "title": "Vorheriger Tab",
        "description": "Zum vorherigen Konversations- oder Datei-Tab wechseln"
      },
      "send_message": {
        "title": "Nachricht senden",
        "description": "Die aktuelle Nachricht im Eingabefeld senden"
      },
      "newline_in_message": {
        "title": "Zeilenumbruch einfügen",
        "description": "Einen Zeilenumbruch im Eingabefeld einfügen"
      }
    }
  },
  "SkillsSettings": {
    "title": "Skills",
    "description": "Wähle links einen Skill aus. Rechts wird standardmäßig eine Markdown-Vorschau angezeigt; wechsle zum Bearbeiten, um zu ändern und zu speichern.",
    "loadingAgents": "Agenten mit Skill-Unterstützung werden geladen...",
    "emptyNoManageableAgents": "Keine Agenten für Skill-Verwaltung verfügbar.",
    "managedTarget": "Verwaltetes Ziel",
    "selectAgentPlaceholder": "Agent auswählen",
    "searchPlaceholder": "Nach Name / ID / Pfad suchen...",
    "skillsList": "Skill-Liste",
    "loadingSkills": "Skills werden geladen...",
    "agentNotSupported": "Der aktuelle Agent unterstützt keine Skill-Verwaltung.",
    "emptySkills": "Noch keine Skills. Klicke auf „Neuer Skill“, um einen zu erstellen.",
    "newSkillTitle": "Neuer Skill",
    "skillInfo": "Skill-Info",
    "skillIdPlaceholder": "skill-id (Buchstaben/Zahlen/-/_/.)",
    "skillsDirectoryWithPath": "Skill-Verzeichnis: {path}",
    "skillsDirectoryNeedId": "Skill-Verzeichnis: Skill-ID eingeben, um den vollständigen Pfad zu erzeugen",
    "markdownContent": "Markdown-Inhalt",
    "editingStatus": "Bearbeiten",
    "previewStatus": "Vorschau",
    "contentPlaceholder": "Markdown-Inhalt des Skills eingeben...",
    "metadataTitle": "Skill-Metadaten",
    "onlyYamlMetadata": "Dieser Skill enthält nur YAML-Metadaten.",
    "emptyContentHint": "Noch kein Inhalt. Klicke auf „Bearbeiten“, um zu starten.",
    "loadingSkill": "Skill wird geladen...",
    "emptyNoAgents": "Kein verfügbarer Agent.",
    "noSelectionHint": "Wählen Sie links einen Skill oder klicken Sie auf „Neuer Skill“, um einen zu erstellen.",
    "systemBadge": "System",
    "systemHint": "Integrierter CLI-Skill · schreibgeschützt",
    "scope": {
      "global": "Global",
      "folder": "Ordner",
      "selectFolderPlaceholder": "Ordner auswählen",
      "noFolders": "Keine Ordner gefunden",
      "pickFolderHint": "Wählen Sie einen Ordner, um dessen Skills anzuzeigen."
    },
    "actions": {
      "preview": "Vorschau",
      "edit": "Bearbeiten",
      "openInWindow": "In neuem Fenster öffnen",
      "delete": "Löschen",
      "deleting": "Wird gelöscht...",
      "refresh": "Aktualisieren",
      "newSkill": "Neuer Skill",
      "reset": "Zurücksetzen",
      "save": "Speichern",
      "saving": "Wird gespeichert...",
      "cancel": "Abbrechen"
    },
    "deleteDialog": {
      "title": "Skill löschen",
      "confirm": "Aktuellen Skill löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
      "confirmWithNamePrefix": "Skill",
      "confirmWithNameSuffix": "löschen? Diese Aktion kann nicht rückgängig gemacht werden."
    },
    "toasts": {
      "loadFailed": "Skill konnte nicht geladen werden",
      "openFolderFailed": "Ordner konnte nicht geöffnet werden",
      "noSkillDirectory": "Kein verfügbares Skill-Verzeichnis für den aktuellen Agenten gefunden",
      "nameRequired": "Skill-Name darf nicht leer sein",
      "updated": "Skill aktualisiert",
      "created": "Skill erstellt",
      "saveFailed": "Skill konnte nicht gespeichert werden",
      "deleted": "Skill gelöscht",
      "deleteFailed": "Skill konnte nicht gelöscht werden"
    },
    "templates": {
      "gemini": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Skill Name\n\nInstructions for the agent when this skill is active.\n\n## Workflow\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
      "openCode": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Steps\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
      "openClaw": "---\nname: example-skill\ndescription: Describe when this skill should be used.\nuser-invocable: true\ndisable-model-invocation: false\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n",
      "default": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Skill: example-skill\n\n## When to use\n\n- Describe trigger conditions.\n\n## Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n"
    }
  },
  "McpSettings": {
    "loading": "Wird geladen...",
    "summary": {
      "missingCommand": "(fehlender Befehl)",
      "missingUrl": "(fehlende URL)"
    },
    "protocol": {
      "stdio": "Stdio"
    },
    "errors": {
      "selectInstallProtocol": "Bitte ein Installationsprotokoll auswählen",
      "fieldRequired": "{field} ist erforderlich",
      "fieldNeedsBoolean": "{field} muss true oder false sein",
      "fieldNeedsNumber": "{field} muss eine Zahl sein",
      "fieldNeedsInteger": "{field} muss eine Ganzzahl sein",
      "fieldInvalidJson": "{field} enthält ungültiges JSON: {message}",
      "fieldOutOfRange": "Der Wert von {field} liegt außerhalb des erlaubten Bereichs",
      "jsonEmpty": "{name} darf nicht leer sein",
      "jsonInvalid": "{name} ist kein gültiges JSON: {message}",
      "jsonMustBeObject": "{name} muss ein JSON-Objekt sein",
      "specMustBeObject": "Die MCP-Konfiguration muss ein JSON-Objekt sein.",
      "missingType": "Der Konfiguration fehlt das Feld type. Bitte stdio, http (Aliase: streamable-http, streamableHttp) oder sse angeben.",
      "unsupportedType": "Nicht unterstützter MCP-Typ {type}. Unterstützt: stdio, http (Aliase: streamable-http, streamableHttp), sse.",
      "codexEntryUnsupportedType": "Codex-MCP-Eintrag {id} hat den nicht unterstützten Typ {type}. Unterstützt: stdio, http (Aliase: streamable-http, streamableHttp), sse.",
      "unsupportedTransportType": "Nicht unterstützter Transport-Typ {type}. Unterstützt: http (Aliase: streamable-http, streamableHttp), sse.",
      "stdioCommandRequired": "stdio-MCPs benötigen ein nicht leeres Feld command.",
      "remoteUrlRequired": "Remote-MCPs benötigen ein nicht leeres Feld url.",
      "appsRequired": "Mindestens eine Ziel-App auswählen."
    },
    "jsonNames": {
      "localConfig": "MCP-Konfiguration",
      "installConfig": "Installationskonfiguration"
    },
    "toasts": {
      "uninstalled": "MCP deinstalliert",
      "uninstallFailed": "Deinstallation fehlgeschlagen: {message}",
      "selectAtLeastOneApp": "Bitte mindestens eine Ziel-App auswählen",
      "saveSuccess": "Gespeichert",
      "saveFailed": "Speichern fehlgeschlagen: {message}",
      "installed": "{name} installiert",
      "installFailed": "Installation fehlgeschlagen: {message}",
      "serverIdRequired": "Server-ID ist erforderlich",
      "serverIdExists": "Server-ID \"{id}\" existiert bereits. Bearbeiten Sie den vorhandenen Eintrag oder wählen Sie einen anderen Namen.",
      "created": "MCP erstellt"
    },
    "installDialog": {
      "title": "MCP-Installation bestätigen",
      "descriptionWithName": "{name} in lokale Konfiguration installieren.",
      "description": "Ziel-Apps für die Installation auswählen.",
      "protocol": "Protokoll",
      "selectProtocol": "Protokoll auswählen",
      "parameters": "Konfigurationsparameter",
      "booleanPlaceholder": "Bitte true/false auswählen",
      "selectOneValue": "Wert auswählen",
      "targetApps": "Ziel-Apps"
    },
    "actions": {
      "cancel": "Abbrechen",
      "confirmInstall": "Installation bestätigen",
      "installing": "Installieren",
      "uninstall": "Deinstallieren",
      "uninstalling": "Deinstallieren",
      "viewDetails": "Details anzeigen",
      "save": "Speichern",
      "saving": "Speichern",
      "install": "Installieren",
      "refresh": "Aktualisieren",
      "newMcp": "Neuer MCP",
      "create": "Erstellen",
      "creating": "Wird erstellt..."
    },
    "tabs": {
      "local": "Lokales MCP",
      "market": "MCP-Marktplatz"
    },
    "local": {
      "filterPlaceholder": "Lokales MCP filtern...",
      "loadFailed": "Laden fehlgeschlagen: {message}",
      "empty": "Kein lokales MCP erkannt.",
      "description": "Die lokale MCP-Konfiguration kann direkt bearbeitet und gespeichert werden.",
      "enabledApps": "Aktivierte Apps",
      "configJson": "MCP-Konfiguration (JSON)",
      "draftTitle": "Neuer MCP",
      "draftDescription": "Geben Sie eine Server-ID und Konfiguration an, um einen lokalen MCP-Server zu erstellen.",
      "serverIdLabel": "Server-ID",
      "serverIdPlaceholder": "Server-ID (z. B. my-mcp)",
      "typeHint": "Unterstützte Typen: stdio, http (Aliase: streamable-http, streamableHttp), sse. env wird nur von stdio verwendet; für Remote-MCPs Auth-Tokens über headers übermitteln.",
      "envOnRemoteWarning": "env wurde in einem Remote-MCP erkannt. Nur stdio verwendet env; Remote-MCPs übermitteln Auth-Tokens über headers, sodass env beim Speichern ignoriert wird."
    },
    "market": {
      "selectMarketplace": "Marktplatz auswählen",
      "searchPlaceholder": "MCP suchen...",
      "searchFailed": "Suche fehlgeschlagen: {message}",
      "loadingList": "MCP-Liste wird geladen...",
      "empty": "Keine MCP-Ergebnisse.",
      "loadingDetail": "Marktplatzdetails werden geladen...",
      "detailLoadFailed": "Details konnten nicht geladen werden: {message}",
      "owner": "Inhaber: {owner}",
      "namespace": "Namensraum: {namespace}",
      "defaultInstallProtocol": "Standard-Installationsprotokoll",
      "currentOptionParameterCount": "Anzahl der Parameter der aktuellen Option: {count}",
      "installConfigDescription": "Installationskonfiguration (JSON, vor der Installation bearbeitbar; Änderungen überschreiben das Protokoll-/Parameterformular)",
      "selectLeftToView": "Wähle links ein Marktplatz-MCP aus, um Details anzuzeigen."
    },
    "badges": {
      "verified": "Verifiziert",
      "remote": "Remote",
      "hasHomepage": "Hat Homepage",
      "uses": "{count} Nutzungen",
      "deployed": "Bereitgestellt",
      "notDeployed": "Nicht bereitgestellt"
    },
    "selectLeftMcp": "Wähle links ein MCP aus."
  },
  "AcpAgentSettings": {
    "title": "Agent SDK-Verwaltung",
    "description": "Verwalten Sie Agent-SDK-Verbindung, Aktivierungsstatus, Umgebungsvariablen, Konfigurationsverwaltung und Versions-Preflight-Infos zentral an einem Ort.",
    "loadingAgents": "Agentenliste wird geladen...",
    "agentList": "Agentenliste",
    "emptyNoAgent": "Keine verfügbaren Agenten.",
    "configManagement": "Konfigurationsverwaltung",
    "envVars": "Umgebungsvariablen",
    "nativeJsonConfig": "Natives JSON-Config",
    "modelHintDefault": "Leer lassen, um das System-Standardmodell zu verwenden.",
    "generalConfigDescriptionClaude": "Unterstützt schnelle Konfiguration von API-URL, API-Key und Claude-Modellen und synchronisiert mit der nativen JSON-Konfiguration.",
    "generalConfigDescriptionDefault": "Unterstützt wichtige Konfigurationseingaben (API URL, API Key, Model) und native JSON-Konfigurationsverwaltung.",
    "multiAgent": {
      "title": "Multi-Agent-Zusammenarbeit",
      "description": "Erlaubt aktiven Agenten, Teilaufgaben an andere Agenten zu delegieren.",
      "enable": "Delegation aktivieren",
      "enableHint": "Wenn deaktiviert, wird das Tool delegate_to_agent im MCP-Toolkatalog des Agenten ausgeblendet.",
      "depthLimit": "Maximale Delegationstiefe",
      "depthHint": "Zulässiger Bereich: {min}–{max}. Begrenzt, wie tief eine Delegationskette (Root → Kind → Enkel …) rekursieren kann.",
      "completedCacheLabel": "Cache abgeschlossener Ergebnisse (MB)",
      "completedCacheHint": "In-Memory-Cache abgeschlossener Subagent-Ergebnisse, der nur gehalten wird, solange die Delegationssitzung läuft, und beim Ende dieser Sitzung automatisch freigegeben wird. Bei Überschreitung dieses Budgets werden die ältesten Ergebnisse zuerst aus dem Speicher verworfen (weiterhin in der eigenen Sitzung des Subagenten einsehbar); 0 = unbegrenzt (wird trotzdem beim Sitzungsende freigegeben).",
      "save": "Speichern",
      "saving": "Wird gespeichert…",
      "saved": "Delegationseinstellungen gespeichert",
      "saveFailed": "Delegationseinstellungen konnten nicht gespeichert werden",
      "loadFailed": "Delegationseinstellungen konnten nicht geladen werden: {detail}",
      "tabGeneral": "Allgemein",
      "tabAgentDefaults": "Subagent-Standards",
      "agentDefaultsDescription": "Pro-Agent-Überschreibungen, die angewendet werden, wenn die Multi-Agent-Zusammenarbeit einen Subagenten für einen Delegationsaufruf startet. Die hier gezeigten Optionen stammen aus einer Live-Abfrage – Ihre Auswahl ist exakt das, was der Agent akzeptiert.",
      "probing": "Verfügbare Optionen vom Agenten werden geladen…",
      "probeFailed": "Optionen konnten nicht geladen werden: {detail}",
      "retry": "Erneut versuchen",
      "noConfigAvailable": "Dieser Agent hat keine konfigurierbaren Optionen.",
      "modeLabel": "Modus",
      "agentDefaultHint": "Agent-Standard: {value}",
      "defaultOptionLabel": "Standard ({value})"
    },
    "actions": {
      "dragSort": "Zum Neuordnen ziehen",
      "dragSortAgent": "{name} zum Neuordnen ziehen",
      "refreshCheck": "Prüfung aktualisieren",
      "refreshCheckAgent": "Prüfung für {name} aktualisieren",
      "clickEnable": "Klicken, um {name} zu aktivieren",
      "clickDisable": "Klicken, um {name} zu deaktivieren",
      "install": "Installieren",
      "upgrade": "Aktualisieren",
      "uninstall": "Deinstallieren",
      "uninstalling": "Wird deinstalliert...",
      "saveEnvVars": "Umgebungsvariablen speichern",
      "saving": "Speichern...",
      "saveCodexConfig": "Codex-Konfiguration speichern",
      "saveGeminiConfig": "Gemini-Konfiguration speichern",
      "saveOpenCodeConfig": "OpenCode-Konfiguration speichern",
      "saveOpenClawConfig": "OpenClaw-Konfiguration speichern",
      "saveConfigManagement": "Konfigurationsverwaltung speichern",
      "saveCurrentProvider": "Aktuellen Provider speichern",
      "showApiKey": "API-Key anzeigen",
      "hideApiKey": "API-Key ausblenden",
      "showKey": "Schlüssel anzeigen",
      "hideKey": "Schlüssel ausblenden",
      "showToken": "Token anzeigen",
      "hideToken": "Token ausblenden",
      "cancel": "Abbrechen",
      "delete": "Löschen",
      "deleting": "Löschen...",
      "confirmDelete": "Löschen bestätigen",
      "confirmUninstall": "Deinstallation bestätigen",
      "saveClineConfig": "Cline-Konfiguration speichern",
      "saveHermesConfig": "Hermes-Konfiguration speichern",
      "customInstall": "Benutzerdefinierte Installation"
    },
    "status": {
      "enabled": "Aktiviert",
      "disabled": "Deaktiviert",
      "unchecked": "Nicht geprüft",
      "agentEnabledAria": "{name} aktiviert",
      "agentEnabledSwitch": "{name} Aktivierungsschalter"
    },
    "preflight": {
      "count": "Preflight-Elemente: {count}",
      "notRun": "Prüfungen wurden noch nicht ausgeführt."
    },
    "codex": {
      "configDescription": "Unterstützt schnelle Konfiguration von API-URL, API-Key, Modellname und reasoning effort und synchronisiert mit `auth.json` / `config.toml`.",
      "authMode": "Authentifizierungsmodus",
      "chatgptSubscription": "Offizielles Abonnement",
      "chatgptSubscriptionHint": "Mit offiziellem ChatGPT-Abonnement anmelden, kein API Key erforderlich",
      "apiKeyHint": "Mit API Key zu OpenAI oder kompatiblen API-Diensten verbinden",
      "selectProvider": "Provider auswählen",
      "modelName": "Modellname",
      "selectReasoningEffort": "Reasoning Effort auswählen",
      "enableWebsocket": "WebSocket aktivieren",
      "enableWebsocketAria": "WebSocket für Codex Provider aktivieren",
      "enableSkills": "Skills aktivieren",
      "enableSkillsAria": "Skills für Codex aktivieren",
      "enableFast": "Fast aktivieren",
      "enableFastAria": "Fast-Servicestufe für Codex aktivieren",
      "authJsonNative": "auth.json (nativ)",
      "configTomlNative": "config.toml (nativ)",
      "loginButton": "Mit ChatGPT anmelden",
      "loginRequesting": "Login-Code wird angefordert...",
      "loginStep1": "Öffnen Sie die folgende URL in Ihrem Browser:",
      "loginStep2": "Geben Sie den folgenden Code ein:",
      "loginPolling": "Warte auf Autorisierung...",
      "loginCancel": "Abbrechen",
      "loginSuccess": "Erfolgreich angemeldet, Konfiguration gespeichert!",
      "loginFailed": "Anmeldung fehlgeschlagen: {message}",
      "loginRetry": "Erneut versuchen",
      "loginCodeCopied": "Code kopiert",
      "loggedIn": "Konto angemeldet",
      "loginRelogin": "Erneut anmelden / Konto wechseln",
      "loginTimeout": "Anmeldung abgelaufen, bitte erneut versuchen",
      "loginSaveFailed": "Anmeldung erfolgreich, aber Konfiguration konnte nicht gespeichert werden"
    },
    "gemini": {
      "authConfig": "Gemini-Auth-Konfiguration",
      "authConfigDescription": "Ausgerichtet an den Gemini CLI-Authentifizierungsdokumenten, mit Unterstützung für benutzerdefinierten Endpoint, Google-Login, Gemini API Key und Vertex AI (ADC / Servicekonto / API Key).",
      "authMode": "Auth-Modus",
      "selectAuthMode": "Auth-Modus auswählen",
      "viewAuthDoc": "Auth-Dokumentation anzeigen",
      "mode": {
        "custom": "Benutzerdefinierter Endpoint",
        "loginGoogle": "Google-Login (OAuth)",
        "vertexServiceAccount": "Vertex AI (Servicekonto)"
      },
      "hint": {
        "custom": "API URL, API Key und Modell ausfüllen; wird auf GOOGLE_GEMINI_BASE_URL / GEMINI_API_KEY / GEMINI_MODEL abgebildet.",
        "loginGoogle": "Gemini zuerst im Terminal ausführen und Google-Login abschließen; API key ist nicht erforderlich.",
        "geminiApiKey": "Beim Verwenden der Gemini API GEMINI_API_KEY eintragen.",
        "vertexAdc": "gcloud ADC verwenden; GOOGLE_CLOUD_PROJECT und GOOGLE_CLOUD_LOCATION werden empfohlen.",
        "vertexServiceAccount": "Pfad zur Servicekonto-JSON in GOOGLE_APPLICATION_CREDENTIALS setzen.",
        "vertexApiKey": "Beim Verwenden eines Vertex AI API Keys GOOGLE_API_KEY eintragen."
      }
    },
    "openCode": {
      "configManagement": "OpenCode-Konfigurationsverwaltung",
      "configDescription": "An OpenCode-`provider`-Schema ausgerichtet, unterstützt Multi-Provider-Verwaltung und bidirektionale Synchronisierung mit nativen JSON-Dateien.",
      "providerManagement": "Provider-Verwaltung",
      "providerCount": "{count} Provider",
      "addProvider": "Provider hinzufügen",
      "emptyProvider": "Noch kein Provider vorhanden. ID eingeben und dann auf „Provider hinzufügen“ klicken.",
      "providerEnabledState": "{providerId} Aktivierungsstatus",
      "selectProviderNpm": "provider.npm auswählen",
      "modelManagement": "Modellverwaltung",
      "modelCount": "{count} Modelle",
      "modelDescription": "Ausgerichtet an OpenCode `provider.models`. Schnellverwaltung unterstützt derzeit `name` / `id`; andere erweiterte Felder bleiben erhalten und können unten im nativen JSON bearbeitet werden.",
      "addModel": "Modell hinzufügen",
      "emptyModel": "Noch kein Modell vorhanden. model id eingeben und dann auf „Modell hinzufügen“ klicken.",
      "modelId": "Modell-ID",
      "modelName": "Modellname",
      "deleteModel": "Modell {modelId} löschen",
      "nativeJsonConfig": "OpenCode Native JSON-Konfiguration",
      "mainModel": "Hauptmodell",
      "smallModel": "Kleines Modell",
      "noMatchingModels": "Keine passenden Modelle"
    },
    "openClaw": {
      "gatewayConfig": "Gateway-Konfiguration",
      "gatewayDescription": "OpenClaw-Gateway-Verbindung konfigurieren. Unterstützt lokales oder entferntes Gateway.",
      "gatewayUrlHint": "Leer lassen, um gateway.remote.url aus der lokalen openclaw-Konfiguration zu verwenden.",
      "gatewayTokenPlaceholder": "Gateway-Auth-Token",
      "gatewayTokenHint": "Wenn möglich token-file statt Klartext-Token verwenden; über openclaw CLI konfigurieren.",
      "sessionKeyHint": "Optional. Gateway-Session-Key angeben; leer lassen für automatische Zuweisung einer isolierten Session."
    },
    "hermes": {
      "configManagement": "Hermes-Konfiguration",
      "configDescription": "Hermes verwaltet seine eigenen Anmeldedaten in ~/.hermes/.env und die Einstellungen in ~/.hermes/config.yaml. Wähle einen Anbieter und lege dann den API-Schlüssel und das Modell fest – codeg schreibt beide Dateien für dich.",
      "providerLabel": "Anbieter",
      "providerHint": "Der Anbieter legt fest, welche API-Schlüssel-Variable und welchen model.provider Hermes verwendet. OAuth-Anbieter werden über die Terminal-Einrichtung unten konfiguriert.",
      "groupApiKey": "Anbieter mit API-Schlüssel",
      "groupOauth": "OAuth-Anbieter",
      "groupAws": "AWS",
      "apiKeyHint": "Wird in ~/.hermes/.env gespeichert. Er wird niemals in den Prozess eingeschleust – Hermes liest ihn aus seiner eigenen Konfiguration.",
      "modelName": "Modell",
      "oauthHint": "Dieser Anbieter verwendet OAuth. Führe die Einrichtung unten aus, um dich im Terminal zu authentifizieren.",
      "awsHint": "Bedrock verwendet deine AWS-Anmeldedaten (Umgebung oder gemeinsame Konfiguration). Lege oben die Modell-ID fest und konfiguriere den AWS-Zugriff in deiner Umgebung.",
      "unsupportedProvider": "Dieser Anbieter lässt sich nicht über strukturierte Felder bearbeiten. Verwende den config.yaml-Editor unten oder die Terminal-Einrichtung.",
      "setupTitle": "Selbstverwaltete Einrichtung",
      "setupHint": "Die interaktive Einrichtung von Hermes benötigt ein Terminal. Starte sie unten oder kopiere den Befehl, um sie selbst auszuführen.",
      "runSetup": "Hermes-Einrichtung ausführen",
      "configureModel": "Modell konfigurieren",
      "openConfigFolder": "~/.hermes öffnen",
      "copyCommand": "Befehl kopieren",
      "commandCopied": "Befehl in die Zwischenablage kopiert",
      "advancedTitle": "Erweitert: config.yaml bearbeiten",
      "rawConfigHint": "Bearbeite ~/.hermes/config.yaml direkt. Das Speichern hier überschreibt die Datei wortwörtlich.",
      "saveRawConfig": "config.yaml speichern"
    },
    "authModeOfficialSubscription": "Offizielles Abonnement",
    "authModeCustomEndpoint": "Benutzerdefinierter Endpunkt",
    "authModeCustomEndpointHint": "API-URL und API-Key manuell für einen benutzerdefinierten Endpunkt konfigurieren.",
    "authModeModelProvider": "Modellanbieter",
    "modelProvider": "Modellanbieter",
    "modelProviderHint": "API-URL, API-Key und Modell eines konfigurierten Modellanbieters verwenden.",
    "selectModelProvider": "Modellanbieter auswählen",
    "noModelProviderAvailable": "Kein Modellanbieter für diesen Agent konfiguriert. Gehen Sie zu den Modellanbieter-Einstellungen, um einen hinzuzufügen.",
    "claude": {
      "authMode": "Authentifizierungsmodus",
      "officialSubscription": "Offizielles Abonnement",
      "officialSubscriptionHint": "Offizielles Anthropic-Abonnement verwenden, kein API-Key erforderlich.",
      "mainModel": "Hauptmodell",
      "reasoningModel": "Reasoning-Modell (thinking)",
      "haikuDefaultModel": "Standard-Haiku-Modell",
      "sonnetDefaultModel": "Standard-Sonnet-Modell",
      "opusDefaultModel": "Standard-Opus-Modell",
      "effortLevel": "Reasoning-Stufe",
      "effortLevelDefault": "Standardstufe",
      "effortLevel_low": "Niedrig",
      "effortLevel_medium": "Mittel",
      "effortLevel_high": "Hoch",
      "effortLevel_xhigh": "Sehr Hoch"
    },
    "dialogs": {
      "confirmDeleteProvider": "Provider {providerId} löschen?",
      "confirmDeleteProviderDescription": "OpenCode-Konfiguration und auth JSON werden zusammen aktualisiert. Diese Aktion kann nicht rückgängig gemacht werden.",
      "confirmUninstall": "{name} deinstallieren?",
      "confirmUninstallDescription": "Dadurch wird die lokal installierte Version entfernt. Eine Neuinstallation ist später möglich.",
      "customInstallTitle": "{name} benutzerdefiniert installieren",
      "customInstallDescription": "Geben Sie die zu installierende Version ein. Dies installiert neu und ersetzt die aktuell installierte Version.",
      "customInstallVersionLabel": "Versionsnummer",
      "customInstallInvalid": "Geben Sie eine gültige Versionsnummer ein, z. B. 1.2.3.",
      "customInstallSubmit": "Installieren"
    },
    "errors": {
      "nativeJsonMustBeObject": "Native JSON-Konfiguration muss ein Objekt sein",
      "nativeJsonInvalid": "Formatfehler in nativer JSON-Konfiguration: {message}",
      "openCodeAuthMustBeObject": "OpenCode auth.json muss ein JSON-Objekt sein",
      "openCodeAuthInvalid": "Formatfehler in OpenCode auth.json: {message}",
      "authMustBeObject": "auth.json muss ein JSON-Objekt sein",
      "authInvalid": "Formatfehler in auth.json: {message}",
      "providerIdPattern": "Provider-ID unterstützt nur Buchstaben, Zahlen, Unterstrich, Punkt und Bindestrich",
      "providerExists": "Provider {providerId} existiert bereits",
      "modelIdPattern": "Model-ID unterstützt nur Buchstaben, Zahlen, Unterstrich, Punkt, Doppelpunkt und Bindestrich",
      "modelExists": "Model {modelId} existiert bereits"
    },
    "warnings": {
      "nativeJsonRecoveredStructured": "Native JSON-Konfiguration ist ungültig; auf strukturierte Konfiguration zurückgesetzt",
      "nativeJsonRecoveredOpenCode": "Native JSON-Konfiguration ist ungültig; auf OpenCode-strukturierte Konfiguration zurückgesetzt",
      "openCodeAuthRecovered": "OpenCode auth.json ist ungültig; auf Standardkonfiguration zurückgesetzt",
      "authRecoveredStructured": "auth.json ist ungültig; auf strukturierte Konfiguration zurückgesetzt"
    },
    "toasts": {
      "agentActionCompleted": "{name} {action} abgeschlossen",
      "agentActionFailed": "{name} {action} fehlgeschlagen",
      "localVersion": "Lokale Version: {version}",
      "installCompletedVersionLater": "Installation abgeschlossen, Version wird bei der nächsten Prüfung aktualisiert",
      "uninstallCompleted": "Deinstallation von {name} abgeschlossen",
      "uninstallFailed": "Deinstallation von {name} fehlgeschlagen",
      "localVersionRemoved": "Lokale Version entfernt",
      "saveAgentOrderFailed": "Speichern der Agent-Reihenfolge fehlgeschlagen",
      "saveAgentSwitchFailed": "Speichern des Agent-Schalters fehlgeschlagen",
      "saveEnvFailed": "Speichern der Umgebungsvariablen fehlgeschlagen",
      "codexSaved": "Codex-Konfiguration gespeichert",
      "saveCodexNativeFailed": "Speichern der nativen Codex-Konfiguration fehlgeschlagen",
      "geminiSaved": "Gemini-Konfiguration gespeichert",
      "saveGeminiFailed": "Speichern der Gemini-Konfiguration fehlgeschlagen",
      "providerDeleted": "Provider {providerId} gelöscht",
      "providerDeleteFailed": "Löschen von Provider {providerId} fehlgeschlagen",
      "providerSaved": "Provider {providerId} gespeichert",
      "saveProviderFailed": "Speichern von Provider {providerId} fehlgeschlagen",
      "openCodeConfigSynced": "OpenCode-Konfiguration und auth JSON wurden synchronisiert.",
      "openCodeSaved": "OpenCode-Konfiguration gespeichert",
      "saveOpenCodeFailed": "Speichern der OpenCode-Konfiguration fehlgeschlagen",
      "openClawSaved": "OpenClaw-Konfiguration gespeichert",
      "saveOpenClawFailed": "Speichern der OpenClaw-Konfiguration fehlgeschlagen",
      "configSaved": "Konfiguration gespeichert",
      "configSavedHint": "Bestehende Sitzungen müssen neu geöffnet werden, damit die Änderungen wirksam werden",
      "saveConfigManagementFailed": "Speichern der Konfigurationsverwaltung fehlgeschlagen",
      "clineSaved": "Cline-Konfiguration gespeichert",
      "saveClineFailed": "Cline-Konfiguration konnte nicht gespeichert werden",
      "hermesSaved": "Hermes-Konfiguration gespeichert",
      "saveHermesFailed": "Hermes-Konfiguration konnte nicht gespeichert werden",
      "modelProviderRequired": "Bitte wählen Sie vor dem Speichern einen Modellanbieter aus.",
      "affectedRunningSessions": "{count, plural, one {# laufende Sitzung muss zum Anwenden neu verbunden werden} other {# laufende Sitzungen müssen zum Anwenden neu verbunden werden}}"
    },
    "version": {
      "statusLabel": "Versionsstatus",
      "notInstalled": "Nicht installiert",
      "remoteLocal": "Remote: {remoteVersion} · Lokal: {localVersion}",
      "platformUnsupported": "{versionText}. Aktuelle Plattform unterstützt diesen Agenten nicht.",
      "uvxNotReady": "{versionText}. Die uv-Laufzeit ist nicht installiert – installieren Sie sie über die uv-Prüfung unten, um diesen Agenten zu verwenden.",
      "clickInstall": "{versionText}. Rechts auf Installieren klicken.",
      "localUnrecognized": "{versionText}. Lokale Version ist nicht vergleichbar; zum Überschreiben bitte Upgrade versuchen.",
      "upgradeAvailable": "{versionText}. Upgrade verfügbar.",
      "remoteUnavailable": "{versionText}. Remote-Version ist derzeit nicht verfügbar.",
      "latest": "{versionText}. Bereits aktuell."
    },
    "cline": {
      "configDescription": "Konfigurieren Sie den Cline API-Anbieter und die Anmeldedaten. Einstellungen werden in ~/.cline/data/ gespeichert."
    },
    "opencodePlugins": {
      "title": "OpenCode-Plugins",
      "declared": "Deklarierte Plugins",
      "noPlugins": "Keine Plugins in opencode.json deklariert",
      "status": {
        "installed": "Installiert",
        "missing": "Nicht installiert"
      },
      "installAll": "Alle fehlenden installieren",
      "pinVersions": "@latest-Versionen fixieren",
      "install": "Installieren",
      "uninstall": "Deinstallieren",
      "refresh": "Aktualisieren",
      "success": "Alle Plugins wurden erfolgreich installiert",
      "failed": "Plugin-Vorgang fehlgeschlagen"
    }
  },
  "SettingsPages": {
    "agentsLoading": "Agent-Einstellungen werden geladen..."
  },
  "GeneralSettings": {
    "loading": "Wird geladen...",
    "sectionTitle": "Allgemein",
    "sectionDescription": "Zentrale Einstellungen für das Standardterminal, die Rendering-Beschleunigung und die Multi-Agent-Delegation.",
    "terminalTitle": "Standardterminal",
    "terminalDescription": "Wähle die Shell, die beim Öffnen neuer Terminal-Tabs aus der Terminalleiste oder dem Dateibaum verwendet wird.",
    "defaultTerminalShell": "Standard-Shell",
    "terminalSystemDefault": "Systemstandard",
    "terminalPowerShell7": "PowerShell 7 (pwsh)",
    "terminalWindowsPowerShell": "Windows PowerShell",
    "terminalCmd": "Eingabeaufforderung (cmd)",
    "terminalSaveFailed": "Speichern der Terminaleinstellungen fehlgeschlagen: {message}",
    "terminalShellCustom": "Benutzerdefinierter Pfad",
    "terminalShellCustomPath": "Shell-Pfad",
    "terminalShellCustomPlaceholder": "/usr/local/bin/fish",
    "terminalShellCustomSave": "Speichern",
    "terminalShellCustomHint": "Absoluten Pfad oder einen über PATH auflösbaren Namen angeben.",
    "terminalShellNotInstalled": "nicht installiert",
    "terminalShellNotFoundWarning": "Dieser Pfad existiert auf diesem Host nicht.",
    "terminalCurrentShell": "Aktuell verwendet: {path}",
    "renderingTitle": "Rendering",
    "renderingDescription": "Deaktivieren Sie die Hardwarebeschleunigung, wenn die App einen schwarzen Bildschirm oder Render-Fehler zeigt (häufig bei bestimmten AMD-GPUs oder integrierten Intel-GPUs). Wirkt sich nur auf die Windows-Desktop-Version aus.",
    "disableHardwareAcceleration": "Hardwarebeschleunigung deaktivieren",
    "renderingSaveFailed": "Render-Einstellungen konnten nicht gespeichert werden: {message}",
    "restartRequired": "Gespeichert. Starten Sie die App neu, damit die Änderung wirksam wird.",
    "restartNow": "Jetzt neu starten",
    "restartFailed": "Neustart fehlgeschlagen: {message}",
    "loadFailed": "Laden fehlgeschlagen: {message}"
  },
  "LoginPage": {
    "documentTitle": "Anmelden - codeg",
    "brand": "Codeg",
    "subtitle": "Gib dein Zugriffstoken ein, um dich mit der Desktop-App zu verbinden",
    "tokenPlaceholder": "Zugriffstoken",
    "connect": "Verbinden",
    "connecting": "Verbinde...",
    "helpText": "Das Token findest du in der Desktop-App unter Einstellungen → Webdienst",
    "invalidToken": "Ungültiges Token. Bitte überprüfe es und versuche es erneut.",
    "connectionFailed": "Verbindung fehlgeschlagen (HTTP {status})",
    "networkError": "Verbindung zum Server nicht möglich"
  },
  "CommitPage": {
    "title": "Einchecken",
    "invalidFolderId": "Ungültige Ordner-ID",
    "loadingRepo": "Repository wird geladen..."
  },
  "MergePage": {
    "title": "Konflikte lösen",
    "invalidFolderId": "Ungültige Ordner-ID",
    "loadingRepo": "Repository wird geladen...",
    "localVersion": "Lokal (Unsere)",
    "result": "Ergebnis",
    "remoteVersion": "Remote (Deren)",
    "acceptLocal": "Lokal übernehmen",
    "acceptRemote": "Remote übernehmen",
    "markResolved": "Als gelöst markieren",
    "abortMerge": "Abbrechen",
    "completeMerge": "Merge abschließen",
    "unresolvedConflicts": "Es gibt noch ungelöste Konfliktmarkierungen in dieser Datei",
    "fileResolved": "Datei erfolgreich gelöst",
    "allResolved": "Alle Konflikte gelöst",
    "conflictFiles": "Konfliktdateien",
    "loadingFile": "Datei wird geladen...",
    "preparingMerge": "Merge wird vorbereitet...",
    "selectFile": "Datei zum Lösen auswählen",
    "noConflicts": "Keine Konfliktdateien",
    "skipFile": "Überspringen",
    "abortSuccess": "Vorgang abgebrochen",
    "applyAllNonConflicting": "Alle konfliktfreien Änderungen anwenden",
    "applyLeftNonConflicting": "Lokal anwenden",
    "applyRightNonConflicting": "Remote anwenden"
  },
  "Folder": {
    "workspaceStatus": {
      "degradedTitle": "Live-Aktualisierungen nicht verfügbar",
      "degradedHint": "Beobachter konnte nicht gestartet werden (z. B. Berechtigung verweigert). Aktualisiere manuell, um Änderungen zu sehen.",
      "retry": "Wiederholen",
      "retrying": "Wird wiederholt..."
    },
    "common": {
      "all": "Alle",
      "cancel": "Abbrechen",
      "close": "Schließen",
      "closeOthers": "Andere schließen",
      "closeAll": "Alle schließen",
      "confirm": "Bestätigen",
      "save": "Speichern",
      "delete": "Löschen",
      "rename": "Umbenennen",
      "loading": "Wird geladen...",
      "refresh": "Aktualisieren",
      "refreshing": "Aktualisierung...",
      "create": "Erstellen",
      "createAndSwitch": "Erstellen und wechseln",
      "openFile": "Datei öffnen",
      "viewDiff": "Diff anzeigen",
      "push": "Pushen..."
    },
    "statusLabels": {
      "in_progress": "In Bearbeitung",
      "pending_review": "Prüfung",
      "completed": "Abgeschlossen",
      "cancelled": "Abgebrochen"
    },
    "sidebar": {
      "title": "Konversationen",
      "locateActiveConversation": "Aktive Konversation finden",
      "expandAllGroups": "Alle Gruppen erweitern",
      "collapseAllGroups": "Alle Gruppen einklappen",
      "newConversation": "Neue Konversation",
      "newConversationShort": "Neu",
      "newChat": "Neue Konversation",
      "search": "Suchen",
      "noConversationsFound": "Keine Konversationen gefunden.",
      "importLocalSessions": "Lokale Sitzungen importieren",
      "importing": "Importiere...",
      "error": "Fehler: {message}",
      "completeAllSessions": "Alle Sitzungen abschließen",
      "completeAllReviewTitle": "Alle Review-Sitzungen abschließen?",
      "completeAllReviewDescription": "Dadurch werden alle {count, plural, one {# Sitzung} other {# Sitzungen}} im Review als abgeschlossen markiert.",
      "completing": "Abschließen...",
      "toasts": {
        "importedSessions": "{imported, plural, one {# Sitzung} other {# Sitzungen}} importiert, {skipped} übersprungen",
        "importedAndUpdated": "{imported, plural, one {# Sitzung} other {# Sitzungen}} importiert, {updated, plural, one {# Titel} other {# Titel}} aktualisiert, {skipped} übersprungen",
        "updatedTitles": "{updated, plural, one {# Titel} other {# Titel}} aktualisiert, {skipped} übersprungen",
        "noNewSessionsFound": "Keine neuen Sitzungen gefunden ({skipped} übersprungen)",
        "importFailed": "Import fehlgeschlagen: {message}",
        "reviewCompleted": "{count, plural, one {# Review-Sitzung} other {# Review-Sitzungen}} als abgeschlossen markiert",
        "completeReviewFailed": "Review-Sitzungen konnten nicht abgeschlossen werden: {message}",
        "folderOpened": "Ordner {name} geöffnet",
        "folderRemoved": "Ordner {name} entfernt",
        "openFolderFailed": "Ordner konnte nicht geöffnet werden",
        "removeFolderFailed": "Ordner konnte nicht entfernt werden: {message}",
        "reorderFoldersFailed": "Ordner konnten nicht neu sortiert werden: {message}",
        "changeFolderColorFailed": "Farbe konnte nicht geändert werden: {message}",
        "changeFolderDefaultAgentFailed": "Standard-Agent konnte nicht gesetzt werden: {message}"
      },
      "statsLabel": "{folders} Ordner · {convos} Konversationen",
      "reorderHandle": "Zum Neuordnen ziehen",
      "openFolder": "Ordner öffnen",
      "searchPlaceholder": "Konversationen suchen...",
      "showCompleted": "Abgeschlossene Konversationen anzeigen",
      "moreOptions": "Weitere Optionen",
      "sortBy": "Sortieren nach",
      "sortByCreatedAt": "Erstellungszeit",
      "sortByUpdatedAt": "Aktualisierungszeit",
      "statusRunningBadge": "Läuft",
      "statusCancelledBadge": "Abgebrochen",
      "conversationCountUnit": "{count, plural, one {# Konversation} other {# Konversationen}}",
      "emptyFolderHint": "Keine Konversationen",
      "noMatchingConversations": "Keine passenden Konversationen",
      "noUnfinishedConversations": "Keine offenen Konversationen. Aktiviere \"Abgeschlossene anzeigen\" im Menü oben rechts.",
      "removeFolderConfirmTitle": "Ordner aus Arbeitsbereich entfernen?",
      "removeFolderConfirmDescription": "\"{name}\" aus dem Arbeitsbereich entfernen? Zugehörige Tabs und Terminals werden geschlossen.",
      "folderHeaderMenu": {
        "manageConversations": "Konversationen verwalten…",
        "changeColor": "Farbe ändern",
        "useThemeColor": "App-Design verwenden",
        "setDefaultAgent": "Standard-Agent festlegen",
        "defaultAgentNone": "Kein Standard (global verwenden)",
        "agentUnavailableSuffix": "(nicht verfügbar)",
        "loadingAgents": "Agenten werden geladen…",
        "removeFromWorkspace": "Aus Arbeitsbereich entfernen"
      },
      "manageConversations": {
        "title": "Konversationen verwalten — {name}",
        "searchPlaceholder": "Nach Titel suchen…",
        "agentFilterAll": "Alle Agenten",
        "statusFilterAll": "Alle Status",
        "selectAllVisible": "Alle auswählen",
        "deselectAll": "Auswahl aufheben",
        "selectedCount": "{count} ausgewählt",
        "matchedCount": "{count} Treffer",
        "messagesShort": "{count} Nachr.",
        "untitledConversation": "Unbenannte Konversation",
        "setStatus": "Status setzen…",
        "deleteSelected": "Löschen",
        "noConversations": "Keine Konversationen in diesem Ordner.",
        "noMatchingConversations": "Keine Konversationen entsprechen den Filtern.",
        "confirmDeleteTitle": "{count} Konversation(en) löschen?",
        "confirmDeleteDescription": "Diese Aktion kann nicht rückgängig gemacht werden.",
        "toastDeleted": "{count} Konversation(en) gelöscht",
        "toastStatusUpdated": "Status von {count} Konversation(en) aktualisiert",
        "toastOpFailed": "Aktion fehlgeschlagen: {message}"
      },
      "sectionPinned": "Angeheftet",
      "sectionFolders": "Ordner",
      "sectionChats": "Chat",
      "noChats": "Keine Chats",
      "newChatAction": "Neuer Chat"
    },
    "conversation": {
      "reloadFailed": "Konversation konnte nicht neu geladen werden: {message}",
      "reloaded": "Konversation neu geladen",
      "reload": "Neu laden",
      "activeConversationIndicator": "Aktive Konversation",
      "newConversation": "Neue Konversation",
      "closeConversation": "Konversation schließen",
      "copyText": "Text kopieren",
      "copyTextSuccess": "Kopiert",
      "copyTextFailed": "Kopieren fehlgeschlagen",
      "forkSession": "Sitzung forken",
      "forkSessionSuccess": "Sitzung erfolgreich geforkt",
      "forkSessionFailed": "Sitzung konnte nicht geforkt werden: {error}",
      "exportConversation": "Konversation exportieren",
      "exportImage": "Bild",
      "exportMarkdown": "Markdown",
      "exportHtml": "HTML",
      "exportSuccess": "Konversation exportiert",
      "exportFailed": "Export fehlgeschlagen",
      "exportImageTooLong": "Konversation ist zu lang für den Bildexport",
      "exportLabels": {
        "untitledConversation": "Unbenannte Konversation",
        "agent": "Agent",
        "model": "Modell",
        "status": "Status",
        "started": "Gestartet",
        "updated": "Aktualisiert",
        "tokens": "Token-Statistik",
        "duration": "Dauer",
        "inputTokens": "Eingabe",
        "outputTokens": "Ausgabe",
        "cacheRead": "Cache gelesen",
        "cacheWrite": "Cache geschrieben",
        "user": "Benutzer",
        "assistant": "Assistent",
        "system": "System",
        "toolResult": "Ergebnis",
        "toolError": "Fehler"
      }
    },
    "conversationCard": {
      "untitledConversation": "Unbenannte Konversation",
      "newConversation": "Neue Konversation",
      "rename": "Umbenennen",
      "status": "Zustand",
      "delete": "Löschen",
      "importLocalSessions": "Lokale Sitzungen importieren",
      "importing": "Importiere...",
      "renameConversation": "Konversation umbenennen",
      "deleteConversationTitle": "Konversation löschen?",
      "deleteConversationDescription": "\"{title}\" wird gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.",
      "cancel": "Abbrechen",
      "save": "Speichern",
      "pin": "Anheften",
      "unpin": "Loslösen",
      "markCompleted": "Als abgeschlossen markieren",
      "reopen": "Erneut öffnen"
    },
    "search": {
      "dialogTitle": "Suchen",
      "dialogTitleWithFolder": "Suchen — {name}",
      "tabConversations": "Konversationen",
      "tabFiles": "Dateien",
      "placeholder": "Konversationen suchen...",
      "filePlaceholder": "Dateien oder Verzeichnisse suchen...",
      "allAgents": "Alle",
      "searching": "Suche...",
      "typeToSearch": "Tippen, um Konversationen zu suchen",
      "typeToSearchFiles": "Tippen, um Dateien oder Verzeichnisse zu suchen",
      "noResults": "Keine Ergebnisse gefunden.",
      "untitledConversation": "Unbenannte Konversation"
    },
    "folderTitleBar": {
      "showSidebar": "Seitenleiste anzeigen",
      "hideSidebar": "Seitenleiste ausblenden",
      "toggleTerminal": "Terminal umschalten",
      "toggleAuxPanel": "Hilfspaneel umschalten",
      "search": "Suchen",
      "openSettings": "Einstellungen öffnen",
      "withShortcut": "{label} (Tastenkürzel: {shortcut})"
    },
    "statusBar": {
      "connection": {
        "connected": "Verbunden",
        "connecting": "Verbinde...",
        "prompting": "Antworte...",
        "error": "Verbindungsfehler",
        "disconnected": "Getrennt",
        "tooltip": "{agent}: {status}",
        "tooltipError": "{agent}: {error}"
      },
      "tasks": {
        "title": "Aufgaben"
      },
      "alerts": {
        "title": "Warnungen",
        "empty": "Keine Warnungen"
      },
      "stats": {
        "conversations": "{count} Konversationen",
        "summary": "{conversations} Konversationen / {messages} Nachrichten"
      },
      "tokens": {
        "contextWindowUsageAria": "Kontextfenster-Nutzung",
        "contextWindow": "Kontextfenster",
        "usedMax": "Verwendet / Max",
        "tokenUsage": "Token-Nutzung",
        "input": "Eingabe",
        "output": "Ausgabe",
        "cacheRead": "Cache lesen",
        "cacheWrite": "Cache schreiben",
        "total": "Gesamt"
      }
    },
    "auxPanel": {
      "tabs": {
        "files": "Dateien",
        "changes": "Änderungen",
        "commits": "Einträge"
      },
      "noFolderTitle": "Kein Ordner geöffnet",
      "noFolderHint": "Öffnen Sie einen Ordner, um seinen Inhalt hier zu sehen"
    },
    "windowControls": {
      "minimizeWindow": "Fenster minimieren",
      "minimize": "Minimieren",
      "maximizeWindow": "Fenster maximieren",
      "maximize": "Maximieren",
      "restoreWindow": "Fenster wiederherstellen",
      "restore": "Wiederherstellen",
      "closeWindow": "Fenster schließen",
      "close": "Schließen"
    },
    "tabs": {
      "closeConversationTab": "Konversationstab schließen",
      "close": "Schließen",
      "closeOthers": "Andere schließen",
      "closeAll": "Alle schließen",
      "tileDisplay": "Kachelansicht",
      "untileDisplay": "Kachel beenden"
    },
    "fileWorkspace": {
      "files": "Dateien",
      "closeFileTab": "Dateitab schließen",
      "close": "Schließen",
      "closeOthers": "Andere schließen",
      "closeAll": "Alle schließen",
      "preview": "Vorschau",
      "editSource": "Quelle bearbeiten",
      "maximize": "Maximieren",
      "restore": "Wiederherstellen"
    },
    "terminal": {
      "rename": "Umbenennen",
      "close": "Schließen",
      "closeOthers": "Andere schließen",
      "closeAll": "Alle schließen",
      "hideTerminal": "Terminal ausblenden ({shortcut})",
      "openFolderFirst": "Öffnen Sie zuerst einen Ordner"
    },
    "folderNameDropdown": {
      "fallbackFolderName": "Ordner",
      "openFolder": "Ordner öffnen",
      "cloneRepository": "Repository klonen",
      "projectBoot": "Projekt-Boot",
      "opened": "Geöffnet",
      "recentOpen": "Zuletzt geöffnet"
    },
    "fileWorkspacePanel": {
      "viewDiff": "Diff anzeigen",
      "openFile": "Datei öffnen",
      "fileCount": "{count, plural, one {# Datei} other {# Dateien}}",
      "openFileOrDiff": "Öffne eine Datei oder Diff im rechten Panel",
      "disk": "Datenträger",
      "head": "HEAD",
      "unsaved": "Ungespeichert",
      "workingTree": "Arbeitsverzeichnis",
      "loading": "Wird geladen...",
      "compareWithBranch": "{path} · vergleichen mit {branch}",
      "hunkCount": "{count, plural, one {# Hunk} other {# Hunks}}",
      "prev": "Zurück",
      "next": "Weiter",
      "jumpToLine": "Zu Zeile {line} springen",
      "noParsedDiffSections": "Keine geparsten Diff-Abschnitte",
      "loadingEditor": "Editor wird geladen...",
      "imageZoomIn": "Vergrößern",
      "imageZoomOut": "Verkleinern",
      "imageZoomReset": "Zoom zurücksetzen",
      "htmlPreviewTitle": "HTML-Vorschau",
      "htmlPreviewTrust": "Skripte aktivieren",
      "htmlPreviewTrustHint": "Skripte dieser Datei ausführen und Netzwerkzugriff erlauben. Nur für vertrauenswürdige Dateien aktivieren."
    },
    "branchDropdown": {
      "toasts": {
        "commitCodeCompleted": "Code-Commit abgeschlossen",
        "pushCodeCompleted": "Code-Push abgeschlossen",
        "committedFiles": "{count, plural, one {# Datei committet} other {# Dateien committet}}",
        "taskCompleted": "{label} abgeschlossen",
        "taskFailed": "{label} fehlgeschlagen",
        "mergeNoNewCommits": "{branchName} hat keine neuen Commits",
        "mergedCommits": "{count, plural, one {# Commit zusammengeführt} other {# Commits zusammengeführt}}",
        "allFilesUpToDate": "Alle Dateien sind aktuell",
        "updatedFiles": "{count, plural, one {# Datei aktualisiert} other {# Dateien aktualisiert}}",
        "openCommitWindowFailed": "Commit-Fenster konnte nicht geöffnet werden",
        "openPushWindowFailed": "Push-Fenster konnte nicht geöffnet werden",
        "upstreamSet": "Upstream-Branch wurde gesetzt",
        "upstreamSetAndPushed": "Upstream-Branch gesetzt und {count, plural, one {# Commit} other {# Commits}} gepusht",
        "noCommitsToPush": "Keine Commits zum Pushen",
        "pushedCommits": "{count, plural, one {# Commit gepusht} other {# Commits gepusht}}",
        "switchedToFolder": "Zu {name} gewechselt",
        "switchFailed": "Branch konnte nicht gewechselt werden"
      },
      "tasks": {
        "newBranch": "Branch {name} erstellen",
        "newWorktree": "Worktree {name} erstellen",
        "checkoutTo": "Zu {branchName} wechseln",
        "mergeBranch": "{branchName} mergen",
        "rebaseTo": "Auf {branchName} rebasen",
        "deleteRemoteBranch": "Remote-Branch {branchName} löschen",
        "initGitRepo": "Git-Repository initialisieren",
        "pullCode": "Code pullen",
        "fetchInfo": "Informationen fetchen",
        "pushCode": "Code pushen",
        "stashChanges": "Änderungen stashen",
        "stashPop": "Stash anwenden",
        "deleteBranch": "Branch {branchName} löschen"
      },
      "confirm": {
        "mergeTitle": "Branch mergen",
        "rebaseTitle": "Branch rebasen",
        "mergeDescription": "{branchName} in den aktuellen Branch {currentBranch} mergen?",
        "rebaseDescription": "Aktuellen Branch {currentBranch} auf {branchName} rebasen?",
        "deleteRemoteTitle": "Remote-Branch löschen",
        "deleteRemoteDescription": "Remote-Branch {branchName} löschen? Dies entfernt ihn aus dem Remote-Repository und kann nicht rückgängig gemacht werden.",
        "deleteTitle": "Branch löschen",
        "deleteDescription": "Branch {branchName} löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
        "forceDeleteTitle": "Branch erzwungen löschen",
        "forceDeleteDescription": "Der Branch {branchName} ist nicht vollständig gemergt. Möchten Sie ihn wirklich erzwungen löschen? Diese Aktion kann nicht rückgängig gemacht werden."
      },
      "current": "Aktuell",
      "switchToBranch": "Zu diesem Branch wechseln",
      "mergeBranchIntoCurrent": "{branchName} in {currentBranch} mergen",
      "rebaseCurrentToBranch": "{currentBranch} auf {branchName} rebasen",
      "noBranch": "Kein Branch",
      "initGitRepo": "Git-Repository initialisieren",
      "pullCode": "Code pullen",
      "fetchRemoteBranches": "Remote-Branches fetchen",
      "openCommitWindow": "Code committen...",
      "pushCode": "Hochladen...",
      "newBranch": "Neuer Branch...",
      "newWorktree": "Neuer Worktree...",
      "stashChanges": "Änderungen stashen...",
      "stashPop": "Stash anwenden...",
      "manageRemotes": "Remotes verwalten...",
      "localBranches": "Lokale Branches ({count, plural, one {#} other {#}})",
      "noLocalBranches": "Keine lokalen Branches",
      "remoteBranches": "Remote-Branches ({count, plural, one {#} other {#}})",
      "noRemoteBranches": "Keine Remote-Branches",
      "dialogs": {
        "newBranchTitle": "Neuer Branch",
        "newBranchDescription": "Neuen Branch vom aktuellen Branch {branch} erstellen",
        "branchNamePlaceholder": "Branch-Name",
        "newWorktreeTitle": "Neuer Worktree",
        "newWorktreeDescription": "Neuen Worktree vom aktuellen Branch {branch} erstellen",
        "branchNameLabel": "Branch-Name",
        "worktreePathLabel": "Worktree-Pfad",
        "worktreePathPlaceholder": "Worktree-Pfad",
        "manageRemotesTitle": "Remotes verwalten",
        "manageRemotesEmpty": "Keine Remotes konfiguriert",
        "remoteNamePlaceholder": "Remote-Name",
        "remoteUrlPlaceholder": "Remote-URL",
        "addRemote": "Hinzufügen",
        "savingRemotes": "Speichern..."
      },
      "conflict": {
        "title": "Merge-Konflikte",
        "description": "Die folgenden Dateien haben Konflikte, die gelöst werden müssen:",
        "abort": "Merge abbrechen",
        "openMergeTool": "Merge-Tool öffnen",
        "completeMerge": "Merge abschließen",
        "abortSuccess": "Merge erfolgreich abgebrochen",
        "completeSuccess": "Merge erfolgreich abgeschlossen"
      },
      "stashDialog": {
        "title": "Änderungen stashen",
        "description": "Aktuelle Änderungen im Stash speichern",
        "messageLabel": "Nachricht",
        "messagePlaceholder": "Stash-Nachricht (optional)",
        "keepIndex": "Index beibehalten (gestagete Änderungen bleiben erhalten)",
        "cancel": "Abbrechen",
        "stash": "Stashen",
        "success": "Änderungen wurden gestasht",
        "error": "Stash fehlgeschlagen"
      },
      "unstashDialog": {
        "title": "Stash anwenden",
        "noStashes": "Keine Stashes vorhanden",
        "selectFile": "Datei auswählen um Diff anzuzeigen",
        "viewDiff": "Diff anzeigen",
        "original": "Original",
        "modified": "Geändert",
        "apply": "Anwenden",
        "drop": "Löschen",
        "applySuccess": "Stash angewendet",
        "dropSuccess": "Stash gelöscht",
        "confirmApply": "Stash {ref} auf das Arbeitsverzeichnis anwenden?",
        "cancel": "Abbrechen"
      },
      "deleteBranch": "Branch löschen"
    },
    "commitDialog": {
      "toasts": {
        "commitCompleted": "Code-Commit abgeschlossen",
        "pushFailed": "Push fehlgeschlagen",
        "committedFiles": "{count, plural, one {# Datei committet} other {# Dateien committet}}",
        "addedToVcs": "Zu VCS hinzugefügt",
        "addToVcsFailed": "Hinzufügen zu VCS fehlgeschlagen",
        "fileDeleted": "Datei gelöscht",
        "deleteFailed": "Löschen fehlgeschlagen",
        "fileRolledBack": "Datei zurückgesetzt",
        "rollbackFailed": "Rollback fehlgeschlagen",
        "dirRolledBack": "Verzeichnis zurückgesetzt",
        "dirDeleted": "Verzeichnis gelöscht"
      },
      "confirm": {
        "deleteTitle": "Löschen bestätigen",
        "deleteDescription": "Datei \"{file}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
        "rollbackTitle": "Rollback bestätigen",
        "rollbackDescription": "Datei \"{file}\" auf HEAD zurücksetzen? Ungespeicherte Änderungen gehen verloren.",
        "rollbackDirDescription": "Verzeichnis \"{dir}\" auf HEAD zurücksetzen? Nicht gespeicherte Änderungen gehen verloren.",
        "deleteDirDescription": "Verzeichnis \"{dir}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden."
      },
      "actions": {
        "select": "Auswählen",
        "unselect": "Auswahl aufheben",
        "rollback": "Zurücksetzen",
        "addToVcs": "Zu VCS hinzufügen"
      },
      "aria": {
        "selectFile": "{action}: {path}",
        "unselectAllFiles": "Auswahl aller Dateien aufheben",
        "selectAllFiles": "Alle Dateien auswählen",
        "unselectTracked": "Auswahl verfolgter Änderungen aufheben",
        "selectTracked": "Verfolgte Änderungen auswählen",
        "unselectUntracked": "Auswahl nicht verfolgter Dateien aufheben",
        "selectUntracked": "Nicht verfolgte Dateien auswählen"
      },
      "loading": "Wird geladen...",
      "selectionCount": "{selected} / {total} Dateien",
      "emptyFiles": "Keine geänderten Dateien",
      "trackedChanges": "Verfolgte Änderungen ({count})",
      "untrackedFiles": "Nicht verfolgte Dateien ({count})",
      "commitMessage": "Commit-Nachricht",
      "commitMessagePlaceholder": "Commit-Nachricht eingeben...",
      "commitButton": "Einchecken ({count})",
      "commitAndPushButton": "Committen und pushen ({count})",
      "head": "HEAD",
      "workingTree": "Arbeitsverzeichnis",
      "clickFileToDiff": "Dateinamen anklicken, um Diff zu sehen",
      "loadingDiff": "Diff wird geladen..."
    },
    "pushWindow": {
      "title": "Code pushen",
      "noUnpushedCommits": "Keine ungepushten Commits",
      "noRemoteConfigured": "Kein Git-Remote konfiguriert\nFüge einen unter Remotes verwalten hinzu",
      "newBranchNoPushedCommits": "Neuer Branch — pushen, um Remote-Tracking-Branch zu erstellen",
      "unpushed": "Nicht gepusht",
      "selectFileToViewDiff": "Datei auswählen, um Unterschiede anzuzeigen",
      "before": "Vorher",
      "after": "Nachher",
      "push": "Pushen",
      "toasts": {
        "pushSuccess": "Push erfolgreich",
        "pushFailed": "Push fehlgeschlagen",
        "upstreamSet": "Remote-Tracking-Branch wurde eingerichtet",
        "upstreamSetAndPushed": "Remote-Tracking-Branch eingerichtet und {count} Commits gepusht",
        "noCommitsToPush": "Keine Commits zum Pushen",
        "pushedCommits": "{count} Commits gepusht"
      }
    },
    "gitLogTab": {
      "filesTitle": "Dateien",
      "expandAllFiles": "Alle Dateien ausklappen",
      "collapseAllFiles": "Alle Dateien einklappen",
      "workspace": "Arbeitsbereich",
      "retry": "Erneut versuchen",
      "noCommitsFound": "Keine Commits gefunden",
      "notAGitRepoTitle": "Kein Git-Repository",
      "notAGitRepoHint": "Initialisiere Git über das Branch-Menü oben oder öffne ein bestehendes Repository.",
      "hash": "Hash-Wert",
      "copyHash": "Hash kopieren",
      "copyMessage": "Nachricht kopieren",
      "author": "Autor",
      "noFileChangeDetails": "Keine Details zu Dateiänderungen verfügbar.",
      "branchesTitle": "Zweige",
      "loadingBranches": "Branches werden geladen...",
      "noContainingBranches": "Keine enthaltenen Branches gefunden.",
      "newBranch": "Neuer Branch...",
      "resetToHere": "Auf diesen Stand zurücksetzen",
      "resetDisabledReasonNotCurrentBranchView": "Nur in der Ansicht des aktuellen Branches verfügbar",
      "viewCommitDiffAria": "Diff für Commit {hash} anzeigen",
      "copyFullCommitHashAria": "Vollständigen Commit-Hash {hash} kopieren",
      "pushStatus": {
        "pushed": "Zum Remote gepusht",
        "notPushed": "Nicht zum Remote gepusht",
        "unknown": "Push-Status unbekannt (kein Upstream konfiguriert)"
      },
      "time": {
        "monthsAgo": "{count, plural, one {vor # Monat} other {vor # Monaten}}",
        "daysAgo": "{count, plural, one {vor # Tag} other {vor # Tagen}}",
        "hoursAgo": "{count, plural, one {vor # Stunde} other {vor # Stunden}}",
        "minsAgo": "{count, plural, one {vor # Min} other {vor # Min}}",
        "justNow": "gerade eben"
      },
      "toasts": {
        "createdAndSwitchedNewBranch": "Neuen Branch erstellt und gewechselt",
        "newBranchFromCommit": "{name} (aus {shortHash})",
        "createBranchFailed": "Branch konnte nicht erstellt werden",
        "openPushWindowFailed": "Push-Fenster konnte nicht geöffnet werden",
        "resetSuccess": "Zurücksetzen erfolgreich",
        "resetSuccessDescription": "{branch} wurde mit {mode} auf {shortHash} zurückgesetzt",
        "resetFailed": "Zurücksetzen fehlgeschlagen"
      },
      "branchSelector": {
        "selectBranchPlaceholder": "Branch auswählen...",
        "localBranches": "Lokale Branches",
        "current": "Aktuell",
        "remoteBranches": "Remote-Branches",
        "refreshCommitHistory": "Commit-Verlauf aktualisieren"
      },
      "dialogs": {
        "newBranchTitle": "Neuer Branch",
        "newBranchDescription": "Erstelle einen neuen Branch mit Commit {shortHash} als letztem Commit.",
        "branchNamePlaceholder": "Branch-Name",
        "reset": {
          "title": "Aktuellen Branch auf diesen Commit zurücksetzen",
          "branchLabel": "Branch",
          "targetLabel": "Ziel-Commit",
          "messageLabel": "Nachricht",
          "modeLabel": "Reset-Modus",
          "confirmButton": "Zurücksetzen",
          "modes": {
            "soft": {
              "label": "--soft",
              "description": "Verschiebt HEAD und den Zeiger des aktuellen Branches auf den Ziel-Commit.\nIndex und Working Tree bleiben unverändert.\nÄnderungen aus den entfernten Commits bleiben staged."
            },
            "mixed": {
              "label": "--mixed (Standard)",
              "description": "Verschiebt HEAD auf den Ziel-Commit.\nSetzt den Index auf den Ziel-Commit zurück und behält Änderungen im Working Tree.\nÄnderungen wechseln von staged zu unstaged."
            },
            "hard": {
              "label": "--hard",
              "description": "Verschiebt HEAD und setzt sowohl Index als auch Working Tree auf den Ziel-Commit zurück.\nLokale verfolgte Änderungen nach dem Ziel-Commit werden verworfen.\nDies ist eine destruktive Operation."
            },
            "keep": {
              "label": "--keep",
              "description": "Verschiebt HEAD auf den Ziel-Commit und versucht lokale Änderungen zu behalten.\nNur nicht-konfliktierende Änderungen bleiben erhalten.\nBei Konflikten wird der Reset zum Schutz der Änderungen abgebrochen."
            }
          }
        }
      }
    },
    "gitChangesTab": {
      "workspace": "Arbeitsbereich",
      "noChanges": "Keine lokalen Änderungen",
      "notAGitRepoTitle": "Kein Git-Repository",
      "notAGitRepoHint": "Initialisiere Git über das Branch-Menü oben oder öffne ein bestehendes Repository.",
      "trackedChanges": "Verfolgte Änderungen ({count})",
      "untrackedFiles": "Nicht verfolgte Dateien ({count})",
      "expandTracked": "Verfolgte Änderungen ausklappen",
      "collapseTracked": "Verfolgte Änderungen einklappen",
      "expandUntracked": "Nicht verfolgte Dateien ausklappen",
      "collapseUntracked": "Nicht verfolgte Dateien einklappen",
      "actions": {
        "commitCode": "Code committen",
        "rollback": "Zurücksetzen",
        "addToVcs": "Zu VCS hinzufügen",
        "delete": "Löschen"
      },
      "toasts": {
        "noAddableFilesInDir": "Keine geänderten Dateien in diesem Verzeichnis können zu VCS hinzugefügt werden",
        "noRollbackFilesInDir": "Keine geänderten Dateien in diesem Verzeichnis können zurückgesetzt werden",
        "addedToVcs": "{name} zu VCS hinzugefügt",
        "addToVcsFailed": "Hinzufügen zu VCS fehlgeschlagen",
        "openCommitWindowFailed": "Commit-Fenster konnte nicht geöffnet werden",
        "rolledBack": "{name} zurückgesetzt",
        "rollbackFailed": "Rollback fehlgeschlagen",
        "addedFilesToVcs": "{count, plural, one {# Datei} other {# Dateien}} zu VCS hinzugefügt",
        "rolledBackFiles": "{count, plural, one {# Datei zurückgesetzt} other {# Dateien zurückgesetzt}}",
        "deleted": "{name} gelöscht",
        "deleteFailed": "Löschen fehlgeschlagen",
        "deletedFiles": "{count} Dateien gelöscht",
        "noDeletableFilesInDir": "In diesem Verzeichnis gibt es keine löschbaren geänderten Dateien"
      },
      "directoryDialog": {
        "descriptionAdd": "Dateien unter Verzeichnis {path} auswählen, um sie zu VCS hinzuzufügen.",
        "descriptionRollback": "Dateien unter Verzeichnis {path} auswählen, um sie zurückzusetzen.",
        "descriptionDelete": "Dateien unter Verzeichnis {path} auswählen, um sie zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.",
        "descriptionFallback": "Dateien auswählen, um fortzufahren.",
        "selectionCount": "{selected} / {total} Dateien ausgewählt",
        "selectAll": "Alle auswählen",
        "unselectAll": "Auswahl aller aufheben",
        "loadingCandidates": "Verzeichnisänderungen werden geladen...",
        "noOperableFiles": "Keine bearbeitbaren Dateien"
      },
      "rollbackConfirm": {
        "title": "Rollback bestätigen",
        "descriptionWithTarget": "Lokale Änderungen für {kind} \"{name}\" zurücksetzen?",
        "descriptionFallback": "Lokale Änderungen zurücksetzen?",
        "kindDirectory": "Verzeichnis",
        "kindFile": "Datei"
      },
      "deleteConfirm": {
        "title": "Löschen bestätigen",
        "descriptionWithTarget": "{kind} \"{name}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
        "descriptionFallback": "Diese Aktion kann nicht rückgängig gemacht werden.",
        "kindDirectory": "Verzeichnis",
        "kindFile": "Datei"
      }
    },
    "tabContext": {
      "loadingConversation": "Wird geladen...",
      "untitledConversation": "Unbenannte Konversation",
      "newConversation": "Neue Konversation"
    },
    "fileTreeTab": {
      "workspace": "Arbeitsbereich",
      "retry": "Erneut versuchen",
      "git": "Git",
      "openInFileManager": "Im Dateimanager öffnen",
      "openInFinder": "In Finder öffnen",
      "openInExplorer": "In Explorer öffnen",
      "attachToCurrentSession": "Zur Sitzung hinzufügen",
      "compareWithBranch": "Mit Branch vergleichen...",
      "reloadFromDisk": "Von Datenträger neu laden",
      "new": "Neu",
      "newFile": "Datei",
      "newDirectory": "Verzeichnis",
      "openIn": "Öffnen in",
      "openInTerminal": "Im Terminal öffnen",
      "copyPath": "Pfad kopieren",
      "upload": "Dateien/Ordner hochladen",
      "download": "Datei herunterladen",
      "downloadAsZip": "Als ZIP herunterladen",
      "actions": {
        "select": "Auswählen",
        "unselect": "Auswahl aufheben",
        "commitCode": "Code committen",
        "rollback": "Zurücksetzen",
        "addToVcs": "Zu VCS hinzufügen"
      },
      "aria": {
        "selectPath": "{action}: {path}"
      },
      "toasts": {
        "openDirectoryFailed": "Verzeichnis konnte nicht geöffnet werden",
        "openBuiltinTerminalFailed": "Integriertes Terminal konnte nicht geöffnet werden",
        "openCommitWindowFailed": "Commit-Fenster konnte nicht geöffnet werden",
        "noAddableFilesInDir": "Keine geänderten Dateien in diesem Verzeichnis können zu VCS hinzugefügt werden",
        "noRollbackFilesInDir": "Keine geänderten Dateien in diesem Verzeichnis können zurückgesetzt werden",
        "addedToVcs": "{name} zu VCS hinzugefügt",
        "addToVcsFailed": "Hinzufügen zu VCS fehlgeschlagen",
        "loadBranchesFailed": "Branches konnten nicht geladen werden",
        "renameFailed": "Umbenennen fehlgeschlagen",
        "deleteFailed": "Löschen fehlgeschlagen",
        "rolledBack": "{name} zurückgesetzt",
        "rollbackFailed": "Zurücksetzen fehlgeschlagen",
        "addedFilesToVcs": "{count, plural, one {# Datei zu VCS hinzugefügt} other {# Dateien zu VCS hinzugefügt}}",
        "rolledBackFiles": "{count, plural, one {# Datei zurückgesetzt} other {# Dateien zurückgesetzt}}",
        "savedAsCopy": "Als Kopie gespeichert",
        "saveCopyFailed": "Speichern als Kopie fehlgeschlagen",
        "watchStartFailed": "Dateiwatch konnte nicht gestartet werden",
        "createFailed": "Erstellen fehlgeschlagen",
        "downloadFailed": "Herunterladen von {name} fehlgeschlagen",
        "downloadSaved": "{name} heruntergeladen",
        "pathCopied": "Pfad kopiert",
        "copyPathFailed": "Pfad konnte nicht kopiert werden"
      },
      "createDialog": {
        "newFile": "Neue Datei",
        "newDirectory": "Neues Verzeichnis",
        "description": "Geben Sie einen Namen für das neue {kind} ein.",
        "placeholderFile": "file-name.ext",
        "placeholderDirectory": "folder-name"
      },
      "renameDialog": {
        "renameDirectory": "Verzeichnis umbenennen",
        "renameFile": "Datei umbenennen",
        "description": "Geben Sie einen neuen Namen ein (nur Name, kein Pfad).",
        "placeholderDirectory": "neuer-ordnername",
        "placeholderFile": "neuer-dateiname.ext"
      },
      "uploadDialog": {
        "title": "In den Arbeitsbereich hochladen",
        "description": "Passe das Ziel bei Bedarf an und füge Dateien oder Ordner hinzu.",
        "workspaceRoot": "Arbeitsbereich-Stammverzeichnis",
        "targetPathLabel": "Hochladen nach",
        "targetPathHint": "Aufgelöster Pfad: {path}",
        "dropHint": "Dateien oder Ordner hier ablegen oder die Schaltflächen unten verwenden",
        "dropHintActive": "Loslassen, um zur Warteschlange hinzuzufügen",
        "selectFiles": "Dateien auswählen",
        "selectFolder": "Ordner auswählen",
        "startUpload": "Upload starten",
        "clearQueue": "Erledigte entfernen",
        "removeItem": "Aus der Warteschlange entfernen",
        "retry": "Wiederholen",
        "dropZoneAria": "Dateien hier ablegen oder aktivieren zum Durchsuchen",
        "folderEmpty": "Keine Dateien im abgelegten Ordner gefunden",
        "summary": "Gesamt: {total} · Erfolgreich: {succeeded} · Fehlgeschlagen: {failed}",
        "status": {
          "pending": "Wartet",
          "uploading": "Wird hochgeladen",
          "success": "Fertig",
          "error": "Fehlgeschlagen",
          "cancelled": "Abgebrochen"
        }
      },
      "directoryDialog": {
        "descriptionAdd": "Wählen Sie Dateien im Verzeichnis {path} aus, um sie zu VCS hinzuzufügen.",
        "descriptionRollback": "Wählen Sie Dateien im Verzeichnis {path} aus, um sie zurückzusetzen.",
        "descriptionFallback": "Wählen Sie Dateien aus, um fortzufahren.",
        "selectionCount": "{selected} / {total} Dateien ausgewählt",
        "selectAll": "Alle auswählen",
        "unselectAll": "Auswahl aufheben",
        "loadingCandidates": "Verzeichnisänderungen werden geladen...",
        "noOperableFiles": "Keine bearbeitbaren Dateien"
      },
      "compareDialog": {
        "title": "Mit Branch vergleichen",
        "descriptionWithTarget": "Wählen Sie einen Branch und vergleichen Sie mit {kind} {path}",
        "descriptionFallback": "Wählen Sie einen Branch zum Vergleichen.",
        "kindDirectory": "Verzeichnis",
        "kindFile": "Datei",
        "filterPlaceholder": "Branches filtern, z. B. main / origin/main",
        "singleClickHint": "Klicken Sie auf einen Branch, um direkt zu vergleichen",
        "loadingBranches": "Branches werden geladen...",
        "recentBranches": "Letzte Branches ({count})",
        "noCurrentBranch": "Kein aktueller Branch",
        "localBranches": "Lokale Branches ({count})",
        "remoteBranches": "Remote-Branches ({count})",
        "noMatchingBranches": "Keine passenden Branches"
      },
      "externalConflictDialog": {
        "title": "Externe Dateiänderungen erkannt",
        "descriptionWithPath": "Datei {path} wurde auf dem Datenträger geändert, und aktuelle Bearbeitungen sind nicht gespeichert.",
        "descriptionFallback": "Aktuelle Datei wurde auf dem Datenträger geändert, und aktuelle Bearbeitungen sind nicht gespeichert.",
        "compare": "Vergleichen",
        "savingCopy": "Kopie wird gespeichert...",
        "saveAsCopy": "Als Kopie speichern",
        "reload": "Neu laden"
      },
      "deleteConfirm": {
        "title": "Löschen bestätigen",
        "descriptionWithTarget": "{kind} \"{name}\" löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
        "descriptionFallback": "Diese Aktion kann nicht rückgängig gemacht werden.",
        "kindDirectory": "Verzeichnis",
        "kindFile": "Datei"
      },
      "rollbackConfirm": {
        "title": "Zurücksetzen bestätigen",
        "descriptionWithTarget": "Lokale Änderungen für Datei \"{name}\" zurücksetzen?",
        "descriptionFallback": "Lokale Änderungen für diese Datei zurücksetzen?"
      },
      "terminalTitle": "Konsole · {name}"
    },
    "commandDropdown": {
      "loading": "Wird geladen...",
      "addCommand": "Befehl hinzufügen",
      "manageCommands": "Befehle verwalten...",
      "runCommandTitle": "Ausführen: {command}",
      "stopCommandTitle": "Stoppen: {command}",
      "manageDialog": {
        "title": "Befehle verwalten",
        "empty": "Noch keine Befehle",
        "namePlaceholder": "Bezeichnung",
        "commandPlaceholder": "Befehl",
        "add": "Hinzufügen",
        "saving": "Speichern..."
      }
    },
    "workspaceContext": {
      "confirmCloseDirtyTab": "„{title}“ ohne Speichern schließen?",
      "confirmCloseOtherDirtyTabs": "Andere Tabs mit ungespeicherten Änderungen schließen?",
      "confirmCloseAllDirtyTabs": "Alle Tabs mit ungespeicherten Änderungen schließen?",
      "unableLoadContent": "Inhalt konnte nicht geladen werden.\n\n{message}",
      "previewRequestTimedOut": "Vorschauanfrage hat das Zeitlimit überschritten",
      "diffRequestTimedOut": "Diff-Anfrage hat das Zeitlimit überschritten",
      "branchCompareRequestTimedOut": "Branch-Vergleichsanfrage hat das Zeitlimit überschritten",
      "commitDiffRequestTimedOut": "Commit-Diff-Anfrage hat das Zeitlimit überschritten",
      "saveRequestTimedOut": "Speicheranfrage hat das Zeitlimit überschritten",
      "reloadRequestTimedOut": "Neuladeanfrage hat das Zeitlimit überschritten",
      "noChanges": "Keine Änderungen.",
      "noDiffOutput": "Keine Diff-Ausgabe.",
      "diffTitleWorkspace": "Diff · Arbeitsbereich",
      "diffDescriptionWorkingTree": "Working Tree (HEAD)",
      "diffTitleFile": "Unterschied · {name}",
      "compareTitleFile": "Vergleich · {name}",
      "compareTitleBranch": "Vergleich · {branch}",
      "compareDescriptionPath": "{path} · vergleichen mit {branch}",
      "compareDescriptionBranch": "vergleichen mit {branch}",
      "diffTitleCommitFile": "Unterschied · {name} @ {hash}",
      "diffTitleCommit": "Unterschied · {hash}",
      "diffDescriptionCommitPath": "{path} · Commit {commit}",
      "diffDescriptionCommit": "Commit {commit}",
      "diffTitleConflictFile": "Konflikt · {name}",
      "diffDescriptionConflict": "{path} · Disk vs ungespeichert"
    },
    "chat": {
      "acpConnections": {
        "actions": {
          "openAgentsSettings": "Agenten-Einstellungen öffnen",
          "retry": "Erneut versuchen"
        },
        "agentsSetupHint": "Öffnen Sie Einstellungen > Agenten, um die Installation zu verwalten.",
        "withSetupHint": "{message}\n{hint}",
        "blocked": {
          "missingConfig": "Aktuelle Agenten-Konfiguration kann nicht gelesen werden.",
          "disabled": "{agent} ist in den Agenten-Einstellungen deaktiviert. Aktivieren Sie ihn vor dem Verbinden.",
          "unavailable": "{agent} ist auf der aktuellen Plattform nicht verfügbar.",
          "sdkMissing": "{agent} SDK ist nicht installiert"
        },
        "backendErrors": {
          "initializeTimeout": "Der Verbindungs-Handshake von {agent} hat nach 60 Sekunden das Zeitlimit überschritten. Öffnen Sie die Einstellungen, um Agenten- und Netzwerkkonfiguration zu prüfen.",
          "processExited": "{agent}-Prozess wurde unerwartet beendet.",
          "spawnFailed": "{agent} konnte nicht gestartet werden: {message}",
          "downloadFailed": "{agent}-Download fehlgeschlagen: {message}",
          "sessionLoadResourceNotFound": "{agent}-Sitzung konnte nicht geladen werden. Neu laden, um es erneut zu versuchen, oder eine neue Konversation starten.",
          "turnFailedRefusal": "{agent} hat die Fortsetzung dieser Runde abgelehnt. Häufig deutet das auf einen Backend- oder Gateway-Fehler hin. Bitte prüfen Sie die Agent-Logs.",
          "turnFailedMaxTokens": "{agent} hat das Token-Limit für diese Runde erreicht.",
          "turnFailedMaxTurnRequests": "{agent} hat die maximale Anzahl zulässiger Anfragen für diese Runde erreicht.",
          "turnFailedUnknown": "{agent} hat die Runde mit einem unbekannten Stoppgrund beendet.",
          "turnFailedEmpty": "{agent} hat die Runde ohne jegliche Antwort beendet. Bitte prüfen Sie die Agent-Konfiguration."
        },
        "unableReadAgentConfig": "Agenten-Konfiguration kann nicht gelesen werden: {message}",
        "connectFailedTitle": "{agent} Verbindung fehlgeschlagen",
        "toolFallbackTitle": "Werkzeug",
        "eventErrorTitle": "Agentenfehler",
        "notificationTurnComplete": "{agent} hat die Antwort abgeschlossen",
        "notificationError": "{agent} Fehler: {message}",
        "claudeApiRetry": {
          "fallbackError": "authentication_failed",
          "retryingWithMax": "erneuter Versuch {attempt}/{max}",
          "retryingAttempt": "erneuter Versuch {attempt}",
          "retrying": "erneuter Versuch",
          "nextRetryIn": "nächster in {seconds}s",
          "line": "{error}{status} · {retry}",
          "lineWithDelay": "{error}{status} · {retry}, {delay}",
          "httpStatus": " (HTTP {status})"
        }
      },
      "connectionLifecycle": {
        "tasks": {
          "connectingTitle": "Verbinde mit {agent}",
          "connectingDescription": "Verbindung wird hergestellt",
          "loadingSelectorsTitle": "{agent}-Selektoren werden geladen",
          "loadingSelectorsDescription": "Modus- und Sitzungsoptionen werden abgerufen",
          "initSessionTitle": "Initializing {agent} session",
          "initSessionDescription": "Creating session and loading configuration"
        },
        "errors": {
          "connectionFailed": "Verbindung fehlgeschlagen"
        }
      },
      "shared": {
        "attachedResources": "Angehängte Ressourcen",
        "toolCallFailed": "Tool-Aufruf fehlgeschlagen"
      },
      "messageThread": {
        "emptyTitle": "Noch keine Nachrichten",
        "emptyDescription": "Starten Sie eine Unterhaltung, um hier Nachrichten zu sehen"
      },
      "chatInput": {
        "connecting": "Verbinden...",
        "agentResponding": "{agent} antwortet...",
        "sendMessage": "Nachricht senden..."
      },
      "messageInput": {
        "askAnything": "Fragen Sie alles...",
        "removeAttachmentAria": "{name} entfernen",
        "attachFiles": "Dateien anhängen",
        "addActions": "Hinzufügen",
        "quickMessages": "Schnellnachrichten",
        "quickMessagesEmpty": "Noch keine Schnellnachrichten",
        "quickMessagesLoading": "Wird geladen...",
        "quickMessageUntitled": "Ohne Titel",
        "liveFeedback": "Live-Feedback",
        "liveFeedbackDisabledHint": "Verfügbar, während der Agent arbeitet",
        "dropFilesToAttach": "Dateien zum Anhängen ablegen",
        "loadingSettings": "Einstellungen werden geladen...",
        "loadingMode": "Modus wird geladen...",
        "modeLabel": "Modus",
        "agentSettings": "Agent-Einstellungen",
        "cancel": "Abbrechen",
        "send": "Senden",
        "forkAndSend": "Fork & Senden",
        "slashCommands": "Slash-Befehle",
        "expertSkills": "Expertenfähigkeiten",
        "expertsEmptyForAgent": "Dieser Agent hat keine aktivierten Experten. Aktivieren Sie sie unter Einstellungen > Experten.",
        "slashSearchPlaceholder": "Befehle suchen...",
        "slashSearchEmpty": "Keine passenden Befehle",
        "attachLocalUpload": "Lokale Datei hochladen",
        "attachServerFile": "Serverdatei auswählen",
        "attachUploadTooLarge": "{names} überschreitet das Upload-Limit von {limit}MB und wurde übersprungen.",
        "attachUploadFailed": "Upload fehlgeschlagen: {names}.",
        "attachUploadNotAFile": "{names} ist keine reguläre Datei (Verzeichnis oder Spezialdatei) und wurde übersprungen.",
        "attachUploadQuotaExceeded": "Auf dem Server ist kein Upload-Speicher mehr verfügbar; {names} konnte nicht hochgeladen werden."
      },
      "messageQueue": {
        "addToQueue": "Zur Warteschlange",
        "saveEdit": "Speichern",
        "cancelEdit": "Bearbeitung abbrechen",
        "editItem": "Bearbeiten",
        "deleteItem": "Entfernen"
      },
      "welcomeInputPanel": {
        "agentsSettingsPath": "Einstellungen > Agenten",
        "autoConnectFallback": "Klicken Sie, um {path} zu öffnen und die Installation zu verwalten.",
        "autoConnectAppend": "{message}. Klicken Sie, um {path} zu öffnen und die Installation zu verwalten.",
        "enableAgentFirstPlaceholder": "Aktivieren Sie mindestens einen Agenten, bevor Sie eine Sitzung starten...",
        "prepareSessionFailed": "Die Chat-Sitzung konnte nicht vorbereitet werden. Bitte versuche es erneut.",
        "createConversationFailed": "Die Konversation konnte nicht erstellt werden. Bitte versuche es erneut.",
        "askAnythingPlaceholder": "Fragen Sie alles..."
      },
      "welcomePanel": {
        "greeting": "Was möchtest du heute <highlight>machen</highlight>?",
        "tips": {
          "tileTabs": "Klicke mit der rechten Maustaste auf einen Konversations-Tab und wähle Kachelansicht, um mehrere Sitzungen nebeneinander zu sehen.",
          "pinTab": "Doppelklicke auf einen Konversations-Tab, um ihn anzuheften – so wird er nicht von einer neuen Sitzung automatisch ersetzt.",
          "shortcutsNewSearch": "<shortcut>{newConversation}</shortcut> öffnet eine neue Konversation, <shortcut>{searchConversations}</shortcut> durchsucht den Verlauf.",
          "slashAtMention": "Tippe / im Eingabefeld für Slash-Befehle oder @, um eine Datei aus dem Projekt zu referenzieren.",
          "pasteDropFiles": "Füge einen Screenshot ein oder ziehe eine Datei direkt ins Eingabefeld, um sie anzuhängen.",
          "queueMessage": "Während der Agent antwortet, kannst du weitertippen – deine nächste Nachricht wird in die Warteschlange gestellt und automatisch gesendet.",
          "draftAutoSave": "Nicht gesendete Entwürfe werden pro Konversation automatisch gespeichert und beim Zurückkehren wiederhergestellt.",
          "forkSend": "Im Dropdown der Senden-Schaltfläche gibt es Verzweigen und senden – verzweige vom aktuellen Punkt in einen neuen Tab.",
          "exportConversation": "Klicke mit der rechten Maustaste in die Konversation, um sie als Markdown, HTML oder Bild zu exportieren.",
          "chatChannels": "Verbinde Telegram / Lark / WeChat unter Einstellungen → Chat-Kanäle, um vom Handy aus weiterzuarbeiten.",
          "shortcutsAuxPanel": "<shortcut>{toggleAuxPanel}</shortcut> blendet das rechte Panel ein – mit den geänderten Dateien und Git-Änderungen dieser Sitzung.",
          "shortcutsTerminalSidebar": "<shortcut>{toggleTerminal}</shortcut> öffnet das eingebaute Terminal, <shortcut>{toggleSidebar}</shortcut> schaltet die Seitenleiste um.",
          "customShortcuts": "Alle Tastenkürzel lassen sich unter Einstellungen → Tastenkürzel frei belegen.",
          "webService": "Aktiviere Einstellungen → Webdienst, damit Teammitglieder dasselbe codeg im Browser nutzen können.",
          "fusionMode": "Öffne eine Datei oder ein Diff, um es automatisch neben der Konversation zu sehen.",
          "quickMessages": "Klicke auf die +-Schaltfläche neben der Eingabe und wähle Schnellnachrichten, um ein gespeichertes Snippet einzufügen (verwaltbar unter Einstellungen → Schnellnachrichten).",
          "experts": "Die +-Schaltfläche hat ein Menü Expertenfähigkeiten – lade Rollen wie Debugging oder Planung mit einem Klick."
        }
      },
      "agentSelector": {
        "noEnabledAgents": "Keine aktivierten Agenten",
        "openAgentsSettings": "Agenten-Einstellungen öffnen"
      },
      "subAgentOverlay": {
        "title": "Subagenten",
        "collapsedSummary": "Subagenten {count}",
        "collapseAria": "Subagenten einklappen"
      },
      "agentPlanOverlay": {
        "title": "Agentenplan",
        "collapsePlanAria": "Plan einklappen",
        "collapsedSummary": "Arbeitsplan {completed}/{total}",
        "status": {
          "completed": "Abgeschlossen",
          "inProgress": "In Bearbeitung",
          "pending": "Ausstehend",
          "unknown": "Unbekannt"
        },
        "priority": {
          "high": "Hoch",
          "medium": "Mittel",
          "low": "Niedrig",
          "unknown": "Unbekannt"
        }
      },
      "permissionDialog": {
        "subtitle": "Agent fordert Berechtigung an, um diesen Zug fortzusetzen.",
        "kindFallbackTool": "Tool",
        "command": "Befehl",
        "cwd": "Arbeitsverzeichnis: {cwd}",
        "filesSummary": "Dateien: {count}",
        "moreFiles": "+{count} weitere Dateien",
        "plan": "Arbeitsplan",
        "allowedActions": "Erlaubte Aktionen",
        "targetMode": "Zielmodus: {mode}"
      },
      "questionDialog": {
        "title": "Agent stellt eine Frage",
        "placeholder": "Antwort eingeben...",
        "send": "Senden"
      },
      "messageBranch": {
        "previousBranchAria": "Vorheriger Branch",
        "nextBranchAria": "Nächster Branch",
        "pageOf": "{current} von {total}"
      },
      "terminal": {
        "title": "Konsole",
        "running": "Läuft"
      },
      "reasoning": {
        "thinking": "Denkt nach…",
        "thoughtForFewSeconds": "Nachgedacht",
        "thoughtForSeconds": "Nachgedacht"
      },
      "linkSafety": {
        "errorCannotOpen": "Lokale Datei kann nicht geöffnet werden",
        "errorNoWorkspace": "Es ist kein Arbeitsbereichsordner aktiv.",
        "errorOutsideWorkspace": "Die Datei befindet sich außerhalb des aktuellen Arbeitsbereichsordners.",
        "errorFailedOpen": "Lokale Datei konnte nicht geöffnet werden",
        "errorFailedLink": "Link konnte nicht geöffnet werden",
        "errorUnsupportedLinkProtocol": "Dieses Linkprotokoll wird nicht unterstützt."
      },
      "messageList": {
        "attachedResources": "Angehängte Ressourcen",
        "loading": "Lädt...",
        "error": "Fehler: {message}",
        "errorTitle": "Sitzung konnte nicht geladen werden",
        "errorActionReload": "Neu laden",
        "errorActionNewSession": "Neue Konversation",
        "emptyConversation": "Keine Nachrichten in dieser Unterhaltung.",
        "systemMessage": "Systemnachricht",
        "copyMessage": "Kopieren",
        "copied": "Kopiert",
        "downloadImage": "Bild herunterladen",
        "downloadFailed": "Download fehlgeschlagen: {message}",
        "imageGeneration": "Bildgenerierung",
        "imageGenerationPending": "Bild wird generiert…",
        "imageGenerationFailed": "Bildgenerierung fehlgeschlagen",
        "model": "Modell",
        "tokenStats": "Token-Nutzung",
        "tokenInput": "Eingabe",
        "tokenOutput": "Ausgabe",
        "tokenCacheRead": "Cache-Lesen",
        "tokenCacheWrite": "Cache-Schreiben",
        "duration": "Dauer",
        "completedAt": "Abgeschlossen um",
        "jumpToPreviousUserMessage": "Zur Benutzernachricht springen"
      },
      "liveTurnStats": {
        "thinking": "Denkt nach...",
        "streaming": "Übertragung",
        "elapsedHours": "{value} Std",
        "elapsedMinutes": "{value} Min",
        "elapsedSeconds": "{value} Sek",
        "toolUseCount": "{count} Tool {count, plural, one {use} other {uses}}"
      },
      "tool": {
        "parameters": "Parameter",
        "error": "Fehler",
        "result": "Ergebnis",
        "status": {
          "approvalRequested": "Warten auf Genehmigung",
          "approvalResponded": "Beantwortet",
          "inputAvailable": "Läuft",
          "inputStreaming": "Ausstehend",
          "outputAvailable": "Abgeschlossen",
          "outputDenied": "Abgelehnt",
          "outputError": "Fehler"
        }
      },
      "toolCallBlock": {
        "tool": "Werkzeug",
        "error": "Fehler",
        "result": "Ergebnis"
      },
      "delegation": {
        "subAgentRunning": "Unteragent läuft…",
        "noDetail": "No detail available yet.",
        "unknownAgent": "Sub-Agent",
        "openDetail": "Konversation anzeigen",
        "detailTitle": "Unteragent-Konversation",
        "detailDescription": "Schreibgeschützte Ansicht der delegierten Unteragent-Konversation.",
        "waitForResult": "Warte auf das Ergebnis von Aufgabe {task}",
        "waitForResultNoTask": "Warte auf das Aufgabenergebnis",
        "cancelTask": "Aufgabe {task} wird abgebrochen",
        "cancelTaskNoTask": "Aufgabe wird abgebrochen",
        "resultPageOf": "{current} / {total}",
        "prevResult": "Vorheriges Ergebnis",
        "nextResult": "Nächstes Ergebnis",
        "noResultText": "Kein Ergebnis bei dieser Prüfung.",
        "status": {
          "starting": "startet",
          "running": "läuft",
          "checked": "geprüft",
          "waiting": "Genehmigung ausstehend",
          "ok": "fertig",
          "err": {
            "default": "fehlgeschlagen",
            "delegation_disabled": "deaktiviert",
            "depth_limit": "Tiefenlimit",
            "invalid_agent_type": "ungültiger Agent",
            "spawn_failed": "Start fehlgeschlagen",
            "send_failed": "Senden fehlgeschlagen",
            "timeout": "Zeitüberschreitung",
            "canceled": "abgebrochen",
            "child_refusal": "Subagent verweigerte",
            "child_max_tokens": "Subagent: Token-Limit",
            "child_max_turn_requests": "Subagent: Anfragelimit",
            "child_empty": "Subagent ohne Ausgabe",
            "child_unknown": "Subagent: Fehler",
            "unknown": "unbekannte Aufgabe"
          }
        }
      },
      "contentParts": {
        "showingTailOutput": "Zur besseren Performance wird während des Streamings nur die Endausgabe angezeigt.",
        "result": "Ergebnis",
        "unknown": "unbekannt",
        "inputTruncated": "Eingabe wurde gekürzt — Diff ist möglicherweise unvollständig.",
        "replaceAll": "ALLES ERSETZEN",
        "filesCount": "Dateien: {count}",
        "update": "aktualisieren",
        "moreFiles": "+{count} weitere Dateien",
        "timeoutMs": "Zeitlimit: {timeout}ms",
        "backgroundTrue": "Hintergrund: true",
        "offset": "Versatz: {offset}",
        "limit": "Grenze: {limit}",
        "pages": "Seiten: {pages}",
        "mode": "Modus: {mode}",
        "cell": "Zelle: {cell}",
        "pathLabel": "Pfad:",
        "globLabel": "Glob-Muster:",
        "typeLabel": "Typ:",
        "outputLabel": "Ausgabe:",
        "caseInsensitive": "Groß-/Kleinschreibung ignorieren",
        "multiline": "Mehrzeilig",
        "promptLabel": "Eingabe",
        "subjectLabel": "Betreff",
        "taskLabel": "Aufgabe",
        "nameLabel": "Bezeichnung:",
        "agentPromptLabel": "Eingabe",
        "agentModelLabel": "Modell",
        "agentRunning": "Läuft...",
        "agentFallbackTitle": "Sub-Agent wird gestartet…",
        "agentStatsBash": "Befehle",
        "agentStatsRead": "Dateien gelesen",
        "agentStatsSearch": "Suchen",
        "agentStatsEdit": "Bearbeitungen",
        "agentStatsOther": "Sonstige",
        "goal": {
          "title": "Ziel:",
          "titleWithStatus": "Ziel {status}",
          "objective": "Ziel",
          "statusLabel": "Status",
          "tokensUsed": "Verwendete tokens",
          "budget": "Budget",
          "remaining": "Verbleibend",
          "elapsed": "Verstrichen",
          "tokens": "tokens",
          "status": {
            "active": "aktiv",
            "paused": "pausiert",
            "blocked": "blockiert",
            "usageLimited": "Nutzung begrenzt",
            "budgetLimited": "Budget begrenzt",
            "complete": "abgeschlossen"
          }
        },
        "field": {
          "file": "Datei",
          "notebook": "Notizbuch",
          "command": "Befehl",
          "old": "Alt",
          "new": "Neu",
          "pattern": "Muster",
          "path": "Pfad",
          "query": "Abfrage",
          "url": "URL:",
          "description": "Beschreibung",
          "content": "Inhalt",
          "source": "Quelle",
          "prompt": "Eingabe",
          "subject": "Betreff",
          "taskId": "Aufgaben-ID",
          "status": "Zustand",
          "skill": "Skill",
          "args": "Argumente",
          "offset": "Versatz",
          "limit": "Grenze",
          "glob": "Glob-Muster",
          "type": "Typ",
          "output": "Ausgabe",
          "replaceAll": "Alles ersetzen",
          "language": "Sprache",
          "timeout": "Zeitlimit",
          "background": "Hintergrund",
          "agentType": "Agent-Typ",
          "library": "Bibliothek",
          "libraryId": "Bibliotheks-ID"
        },
        "title": {
          "edit": "Bearbeiten",
          "command": "Befehl",
          "todoWrite": "TodoWrite (Aufgaben aktualisieren)",
          "read": "Lesen",
          "write": "Schreiben",
          "notebookEdit": "NotebookEdit (Notizbuch bearbeiten)",
          "editFiles": "Bearbeiten ({count} Dateien)",
          "editWithTarget": "{target} bearbeiten",
          "readWithTarget": "{target} lesen",
          "writeWithTarget": "{target} schreiben",
          "notebookEditWithTarget": "NotebookEdit ({target})",
          "globWithPattern": "Glob-Muster {pattern}",
          "grepWithPattern": "Grep-Muster {pattern}",
          "taskCreateWithSubject": "Aufgabe erstellen: {subject}",
          "taskUpdateWithStatus": "Aufgabe aktualisieren #{id} -> {status}",
          "taskUpdate": "Aufgabe aktualisieren #{id}",
          "webFetchWithUrl": "WebFetch ({url})",
          "webSearchWithQuery": "Websuche: {query}",
          "todosProgress": "Aufgaben ({done}/{total})",
          "skillWithName": "Skill: {name}",
          "genericWithContext": "{tool} ({context})"
        },
        "toolGroup": {
          "search": "{count, plural, one {# Suche durchgeführt} other {# Suchen durchgeführt}}",
          "command": "{count, plural, one {# Befehl ausgeführt} other {# Befehle ausgeführt}}",
          "read": "{count, plural, one {Dateien # Mal gelesen} other {Dateien # Mal gelesen}}",
          "memory": "{count, plural, one {# Erinnerung abgerufen} other {# Erinnerungen abgerufen}}",
          "edit": "{count, plural, one {Dateien # Mal bearbeitet} other {Dateien # Mal bearbeitet}}",
          "fetch": "{count, plural, one {# Ressource abgerufen} other {# Ressourcen abgerufen}}",
          "think": "{count, plural, one {# Mal nachgedacht} other {# Mal nachgedacht}}",
          "todo": "{count, plural, one {# Aufgabe aktualisiert} other {# Aufgaben aktualisiert}}",
          "task": "{count, plural, one {# Aufgabe ausgeführt} other {# Aufgaben ausgeführt}}",
          "other": "{count, plural, one {# Werkzeug verwendet} other {# Werkzeuge verwendet}}",
          "errorSuffix": "{count, plural, one {# fehlgeschlagen} other {# fehlgeschlagen}}",
          "joiner": " · "
        }
      },
      "messageNav": {
        "title": "Nachrichtennavigation",
        "collapse": "Nachrichtennavigation ausblenden",
        "collapsedSummary": "Nachrichten {count}",
        "fileCount": "{count, plural, one {# Datei} other {# Dateien}}",
        "remove": "Entfernen",
        "noDiffDataAvailable": "Keine Diff-Daten verfügbar für {filePath}"
      },
      "askQuestion": {
        "title": "Der Agent benötigt deine Auswahl",
        "subtitle": "Antworten und absenden. Du kannst jederzeit überspringen.",
        "recommended": "Empfohlen",
        "other": "Andere",
        "otherPlaceholder": "Antwort eingeben…",
        "singleSelect": "Einfach",
        "multiSelect": "Mehrfach",
        "skip": "Überspringen",
        "next": "Weiter",
        "submit": "Senden",
        "submitError": "Senden fehlgeschlagen. Bitte versuche es erneut."
      },
      "feedbackCheckResult": {
        "count": "{count, plural, =1 {1 Rückmeldung} other {# Rückmeldungen}}",
        "expand": "Alle Rückmeldungen anzeigen",
        "collapse": "Einklappen",
        "errorTitle": "Feedback-Prüfung fehlgeschlagen"
      },
      "askQuestionResult": {
        "title": "Frage",
        "answeredLabel": "Frage & Antwort:",
        "awaiting": "Warten auf deine Antwort…",
        "declined": "Du hast dies verworfen – der Agent hat nach eigenem Ermessen entschieden.",
        "noSelection": "Keine Auswahl"
      },
      "configStale": {
        "agentConfigTitle": "Agent-Einstellungen aktualisiert",
        "modelProviderTitle": "Modellanbieter aktualisiert",
        "description": "Diese Sitzung verwendet weiterhin die bisherige Konfiguration. Zum Anwenden neu verbinden (der Gesprächsverlauf bleibt erhalten).",
        "reconnect": "Zum Anwenden neu verbinden",
        "reconnecting": "Wird neu verbunden…",
        "reconnectDisabledDuringTurn": "Verfügbar, sobald die aktuelle Runde abgeschlossen ist",
        "dismiss": "Schließen",
        "reconnectFailed": "Sitzung konnte nicht neu verbunden werden",
        "applied": "Neue Konfiguration angewendet"
      }
    },
    "diffPreview": {
      "mode": {
        "added": "Hinzugefügt",
        "deleted": "Gelöscht",
        "renamed": "Umbenannt",
        "modified": "Geändert"
      },
      "hunkLabel": "Block {index}",
      "loadingHunk": "Hunk wird geladen...",
      "noDiffData": "Keine Diff-Daten"
    },
    "conversationContextBar": {
      "folderTitle": "Arbeitsordner",
      "branchTitle": "Arbeits-Branch",
      "searchFolder": "Search folder...",
      "searchBranch": "Search branch...",
      "noFolders": "No folders",
      "noBranches": "No branches",
      "noBranch": "(no branch)",
      "chatModeLabel": "Ohne-Ordner-Modus",
      "commit": "Commit",
      "push": "Push",
      "merge": "Merge",
      "toasts": {
        "folderChanged": "Switched to {name}",
        "openFolderFailed": "Failed to open folder",
        "switchedToChatMode": "In den Chat-Modus gewechselt",
        "openStashFailed": "Failed to open stash window",
        "openMergeFailed": "Failed to open merge window"
      }
    },
    "cloneDialog": {
      "title": "Repository klonen",
      "repositoryUrl": "Repository-URL",
      "repositoryUrlPlaceholder": "https://github.com/user/repo.git",
      "directory": "Verzeichnis",
      "directoryPlaceholder": "Zielverzeichnis auswählen...",
      "browseDirectory": "Verzeichnis durchsuchen",
      "cancel": "Abbrechen",
      "clone": "Klonen",
      "clonePath": "Klonpfad: {path}"
    },
    "toasts": {
      "cloneFailed": "Repository konnte nicht geklont werden"
    }
  },
  "ProjectBoot": {
    "title": "Projekt-Starter",
    "tabs": {
      "shadcn": "shadcn",
      "hyperframes": "HyperFrames"
    },
    "hyperframes": {
      "title": "HyperFrames-Videoprojekt",
      "subtitle": "Erstelle ein HTML-zu-Video-Projekt. Der Agent im Arbeitsbereich kann es dann schreiben und rendern.",
      "resolution": "Auflösung",
      "skillsTitle": "Agenten-Skills",
      "skillsDesc": "Installiert die HyperFrames-Skills global (Symlink) für die ausgewählten Agenten, damit sie Videos erstellen und rendern können.",
      "recheck": "Erneut prüfen",
      "installedBadge": "Installiert",
      "skillsInstall": "Skills installieren / aktualisieren",
      "skillsInstalling": "Skills werden installiert…",
      "skillsInstalled": "HyperFrames-Skills installiert",
      "skillsInstallFailed": "HyperFrames-Skills konnten nicht installiert werden"
    },
    "config": {
      "base": "Basis",
      "style": "Stil",
      "baseColor": "Basisfarbe",
      "theme": "Thema",
      "chartColor": "Diagrammfarbe",
      "iconLibrary": "Icon-Bibliothek",
      "font": "Schriftart",
      "fontHeading": "Überschrift-Schriftart",
      "menuAccent": "Menü-Akzent",
      "menuColor": "Menü-Farbe",
      "radius": "Radius",
      "template": "Vorlage",
      "createProject": "Projekt erstellen",
      "sectionStyle": "Stil",
      "sectionColors": "Farben",
      "sectionTypography": "Typografie",
      "sectionInterface": "Oberfläche"
    },
    "preview": {
      "loading": "Vorschau wird geladen..."
    },
    "createDialog": {
      "title": "Projekt erstellen",
      "projectName": "Projektname",
      "projectNamePlaceholder": "my-app",
      "frameworkTemplate": "Framework-Vorlage",
      "packageManager": "Paketmanager",
      "saveDirectory": "Speicherverzeichnis",
      "saveDirectoryPlaceholder": "Verzeichnis auswählen...",
      "browseDirectory": "Durchsuchen",
      "projectPath": "Projekt wird erstellt in: {path}",
      "advancedOptions": "Erweiterte Optionen",
      "base": "Basisbibliothek",
      "enableRtl": "RTL-Unterstützung aktivieren",
      "enableRtlDescription": "Layout-Unterstützung für Rechts-nach-links-Sprachen (z.B. Arabisch, Hebräisch) aktivieren",
      "pmChecking": "Wird überprüft...",
      "pmNotInstalled": "Nicht installiert",
      "cancel": "Abbrechen",
      "create": "Erstellen",
      "creating": "Projekt wird erstellt..."
    },
    "toasts": {
      "createFailed": "Projekt konnte nicht erstellt werden",
      "createSuccess": "Projekt erfolgreich erstellt",
      "openWorkspaceFailed": "Projekt erstellt, konnte aber nicht im Arbeitsbereich geöffnet werden"
    },
    "errors": {
      "directoryExists": "Zielverzeichnis existiert bereits",
      "commandFailed": "Projekterstellungsbefehl fehlgeschlagen."
    }
  },
  "WebServiceSettings": {
    "addressSwitchHint": "Das Umschalten ändert nur die hier angezeigte und geöffnete Adresse – der Dienst lauscht auf allen Schnittstellen und bleibt unter jeder Adresse erreichbar.",
    "sectionTitle": "Webdienst",
    "sectionDescription": "Aktivieren Sie den Fernzugriff auf Codeg über den Browser",
    "port": "Port",
    "status": "Status",
    "autoStart": "Automatisch starten",
    "autoStartHint": "Webdienst beim Start von Codeg starten",
    "running": "Läuft",
    "stopped": "Gestoppt",
    "processing": "Verarbeitung...",
    "start": "Starten",
    "stop": "Stoppen",
    "startFailed": "Start fehlgeschlagen",
    "stopFailed": "Stopp fehlgeschlagen",
    "saveConfigFailed": "Webdienst-Einstellungen konnten nicht gespeichert werden",
    "open": "Öffnen",
    "hide": "Ausblenden",
    "show": "Einblenden",
    "copy": "Kopieren",
    "qrcode": "QR-Code",
    "qrcodeTitle": "Zum Öffnen scannen",
    "qrcodeHint": "Scanne mit deinem Handy, um Codeg im Browser zu öffnen",
    "addressLabel": "Zugriffsadresse",
    "tokenLabel": "Zugriffstoken",
    "tokenHint": "Geben Sie dieses Token beim ersten Zugriff auf den Web-Client ein",
    "tokenPlaceholder": "Leer lassen für automatische Generierung",
    "regenerate": "Neu generieren",
    "stalePortOccupiedTitle": "Port {port} wird von einem anderen Prozess belegt",
    "stalePortUnknownTitle": "Status von Port {port} unklar",
    "stalePortHint": "Codeg kann sich nicht binden, bis der Port freigegeben ist. Ändere den Port oben oder beende den Prozess, der ihn hält.",
    "errors": {
      "alreadyRunning": "Der Web-Dienst läuft bereits",
      "invalidAddress": "Host- oder Portformat ungültig",
      "portInUse": "Port {port} wird bereits verwendet. Beenden Sie den Prozess oder wählen Sie einen anderen Port.",
      "permissionDenied": "Zugriff verweigert. Verwenden Sie einen Port über 1024 oder starten Sie mit höheren Rechten.",
      "addressUnavailable": "Die Adresse ist auf diesem Computer nicht verfügbar",
      "bindFailed": "Adresse konnte nicht gebunden werden"
    }
  },
  "DirectoryBrowser": {
    "title": "Verzeichnis durchsuchen",
    "pathPlaceholder": "Verzeichnispfad eingeben...",
    "goHome": "Zum Heimverzeichnis",
    "navigateUp": "Zum übergeordneten Verzeichnis",
    "select": "Auswählen",
    "cancel": "Abbrechen",
    "loading": "Wird geladen...",
    "emptyDirectory": "Dieses Verzeichnis ist leer",
    "errorLoadingDir": "Verzeichnis konnte nicht geladen werden",
    "permissionDenied": "Zugriff verweigert"
  },
  "ChatChannelSettings": {
    "loading": "Wird geladen...",
    "sectionTitle": "Chat-Kanäle",
    "sectionDescription": "Konfigurieren Sie IM-Bots, um Ereignisbenachrichtigungen zu empfangen und Codieraktivitäten abzufragen.",
    "addChannel": "Kanal hinzufügen",
    "noChannels": "Noch keine Chat-Kanäle konfiguriert.",
    "channelName": "Name",
    "channelNamePlaceholder": "Mein Telegram Bot",
    "channelType": "Kanaltyp",
    "lark": "Lark (Feishu)",
    "weixin": "WeChat",
    "dailyReport": "Tagesbericht",
    "dailyReportTime": "Berichtszeit",
    "nameRequired": "Kanalname ist erforderlich.",
    "tokenRequired": "Token ist erforderlich.",
    "chatIdRequired": "Chat-ID ist erforderlich.",
    "loadFailed": "Kanäle konnten nicht geladen werden.",
    "saveFailed": "Änderungen konnten nicht gespeichert werden.",
    "connectSuccess": "Kanal verbunden.",
    "connectFailed": "Verbindung fehlgeschlagen",
    "disconnectSuccess": "Kanal getrennt.",
    "disconnectFailed": "Trennung fehlgeschlagen.",
    "testSuccess": "Verbindungstest bestanden.",
    "testFailed": "Verbindungstest fehlgeschlagen",
    "deleteSuccess": "Kanal gelöscht.",
    "deleteFailed": "Kanal konnte nicht gelöscht werden.",
    "deleteConfirmTitle": "Kanal löschen",
    "deleteConfirmMessage": "Der Kanal und seine Nachrichtenprotokolle werden dauerhaft gelöscht. Sind Sie sicher?",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "create": "Erstellen",
    "save": "Speichern",
    "channelListTitle": "Konfigurierte Kanäle",
    "channelListDescription": "Aktivierte Kanäle werden beim Dienststart automatisch verbunden.",
    "editChannel": "Kanal bearbeiten",
    "editSuccess": "Kanal aktualisiert.",
    "tokenPlaceholderKeep": "Leer lassen, um aktuellen Wert beizubehalten",
    "weixinScanTitle": "QR-Code scannen",
    "weixinScanDescription": "Öffnen Sie WeChat und scannen Sie den QR-Code, um eine Verbindung herzustellen.",
    "weixinQrcodeExpired": "QR-Code abgelaufen.",
    "weixinRefreshQrcode": "Aktualisieren",
    "weixinWaitingScan": "Warten auf Scan...",
    "weixinPollError": "Verbindung instabil, erneuter Versuch...",
    "weixinReconnectNotice": "Aufgrund von Einschränkungen des iLink-Protokolls müssen Sie nach jeder erneuten Verbindung dem Bot eine Nachricht senden, damit Ereignisauslöser wirksam werden.",
    "connect": "Verbinden",
    "disconnect": "Trennen",
    "test": "Verbindung testen",
    "tabs": {
      "channels": "Kanäle",
      "commands": "Befehle",
      "events": "Ereignisse",
      "other": "Sonstiges"
    },
    "commands": {
      "title": "Integrierte Befehle",
      "description": "Im Chat-Kanal verfügbare Bot-Befehle. In Gruppenchats ist @Bot erforderlich, um Nachrichten zu verarbeiten.",
      "prefixLabel": "Befehlspräfix",
      "prefixDescription": "1-3 nicht-alphanumerische Zeichen zum Auslösen von Bot-Befehlen (Standard /).",
      "prefixSaved": "Befehlspräfix gespeichert.",
      "prefixSaveFailed": "Fehler beim Speichern des Präfixes.",
      "prefixInvalid": "Das Präfix muss 1-3 nicht-alphanumerische Zeichen sein.",
      "save": "Speichern",
      "folderDesc": "Arbeitsordner auswählen",
      "agentDesc": "KI-Agent auswählen",
      "taskDesc": "Sitzung erstellen und Aufgabe ausführen",
      "sessionsDesc": "Aktive Sitzungen im Ordner anzeigen",
      "resumeDesc": "Neueste Konversationen / Sitzung fortsetzen",
      "cancelDesc": "Aktuelle Aufgabe abbrechen",
      "approveDesc": "Berechtigungsanfrage des Agenten genehmigen",
      "denyDesc": "Berechtigungsanfrage des Agenten ablehnen",
      "searchDesc": "Konversationen nach Stichwort suchen",
      "todayDesc": "Heutige Aktivitätsübersicht",
      "statusDesc": "Kanal-Verbindungsstatus",
      "helpDesc": "Hilfe anzeigen"
    },
    "events": {
      "title": "Ereignisbenachrichtigungen",
      "description": "Nach Aktivierung werden ausgelöste Ereignisse an den Kanal gesendet.",
      "turnComplete": "Runde abgeschlossen",
      "turnCompleteDesc": "Wenn eine Agentenrunde endet",
      "error": "Agentenfehler",
      "errorDesc": "Wenn ein Agent einen Fehler feststellt",
      "permissionRequest": "Berechtigungsanfrage",
      "permissionRequestDesc": "Wenn ein Agent eine Berechtigung anfordert",
      "questionRequest": "Frage des Agenten",
      "questionRequestDesc": "Wenn ein Agent dir eine Frage stellt",
      "userPromptSent": "Benutzernachricht",
      "userPromptSentDesc": "Wenn du eine Nachricht sendest – der Nachrichtentext ist in der Benachrichtigung enthalten",
      "saved": "Ereignisfilter aktualisiert.",
      "saveFailed": "Fehler beim Speichern des Ereignisfilters.",
      "loadFailed": "Einstellungen konnten nicht geladen werden.",
      "retry": "Erneut versuchen",
      "webhooksTitle": "Webhooks",
      "webhooksDescription": "Sendet bei einem aktivierten Ereignis eine JSON-Nutzlast per POST an eine oder mehrere URLs. Der Ereignisfilter oben gilt auch für Webhooks.",
      "webhookUrlPlaceholder": "https://example.com/webhook",
      "addWebhook": "Webhook hinzufügen",
      "removeWebhook": "Webhook entfernen",
      "webhookSave": "Speichern",
      "webhooksSaved": "Webhooks gespeichert.",
      "webhooksSaveFailed": "Fehler beim Speichern der Webhooks.",
      "webhookInvalidUrl": "Gültige http(s)-URLs eingeben.",
      "docsTitle": "Anfrageformat",
      "docsMethod": "Methode",
      "docsContentType": "Content-Type",
      "docsNote": "Jedes aktivierte Ereignis wird an alle URLs gesendet. Webhooks werden nicht entprellt; der Ereignisfilter oben gilt weiterhin.",
      "editWebhook": "Webhook bearbeiten",
      "enableWebhook": "Webhook aktivieren",
      "webhookDuplicate": "Diese URL ist bereits konfiguriert.",
      "cancel": "Abbrechen",
      "webhooksEmpty": "Noch keine Webhooks konfiguriert.",
      "deleteWebhookTitle": "Webhook löschen",
      "deleteWebhookMessage": "Diesen Webhook entfernen? Ereignisse werden nicht mehr an diese URL gesendet.",
      "delete": "Löschen"
    },
    "language": {
      "title": "Nachrichtensprache",
      "description": "Sprache für Ereignisbenachrichtigungen, Befehlsantworten und tägliche Berichte, die an Chat-Kanäle gesendet werden.",
      "saved": "Nachrichtensprache gespeichert.",
      "saveFailed": "Fehler beim Speichern der Nachrichtensprache.",
      "en": "Englisch",
      "zh-cn": "Vereinfachtes Chinesisch",
      "zh-tw": "Traditionelles Chinesisch",
      "ja": "Japanisch",
      "ko": "Koreanisch",
      "es": "Spanisch",
      "de": "Deutsch",
      "fr": "Französisch",
      "pt": "Portugiesisch",
      "ar": "Arabisch"
    }
  },
  "ModelProviderSettings": {
    "sectionTitle": "Modellanbieter",
    "sectionDescription": "API-Anbieter-Zugangsdaten für Agenten verwalten.",
    "filterAll": "Alle",
    "providerListTitle": "Konfigurierte Anbieter",
    "addProvider": "Anbieter hinzufügen",
    "editProvider": "Anbieter bearbeiten",
    "noProviders": "Noch keine Modellanbieter konfiguriert.",
    "providerName": "Name",
    "providerNamePlaceholder": "z.B. OpenAI, Anthropic",
    "apiUrl": "API-URL",
    "apiUrlPlaceholder": "https://api.openai.com/v1",
    "apiKey": "API-Schlüssel",
    "apiKeyPlaceholder": "sk-...",
    "apiKeyKeepCurrent": "Leer lassen, um aktuellen Wert beizubehalten",
    "agentTypes": "Agententypen",
    "agentTypesRequired": "Mindestens ein Agententyp ist erforderlich.",
    "agentType": "Agententyp",
    "agentTypeRequired": "Agententyp ist erforderlich.",
    "agentTypeImmutableHint": "Der Agententyp kann nach der Erstellung nicht mehr geändert werden.",
    "model": "Modell",
    "modelPlaceholderCodex": "gpt-5 / gpt-5-mini",
    "modelPlaceholderGemini": "gemini-3-pro-preview",
    "claudeMainModel": "Hauptmodell",
    "claudeReasoningModel": "Reasoning-Modell (Thinking)",
    "claudeHaikuDefaultModel": "Standard Haiku-Modell",
    "claudeSonnetDefaultModel": "Standard Sonnet-Modell",
    "claudeOpusDefaultModel": "Standard Opus-Modell",
    "nameRequired": "Anbietername ist erforderlich.",
    "apiUrlRequired": "API-URL ist erforderlich.",
    "apiKeyRequired": "API-Schlüssel ist erforderlich.",
    "loadFailed": "Anbieter konnten nicht geladen werden.",
    "saveFailed": "Änderungen konnten nicht gespeichert werden.",
    "createSuccess": "Anbieter erstellt.",
    "editSuccess": "Anbieter aktualisiert.",
    "deleteSuccess": "Anbieter gelöscht.",
    "deleteConfirmTitle": "Anbieter löschen",
    "deleteConfirmMessage": "Der Anbieter \"{name}\" wird dauerhaft gelöscht. Sind Sie sicher?",
    "deleteBlockedByAgent": "{agents} verwendet diesen Anbieter. Bitte trennen Sie die Verbindung vor dem Löschen.",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "create": "Erstellen",
    "save": "Speichern",
    "affectedRunningSessions": "{count, plural, one {# laufende Sitzung muss zum Anwenden neu verbunden werden} other {# laufende Sitzungen müssen zum Anwenden neu verbunden werden}}"
  },
  "ExpertsSettings": {
    "title": "Experten-Skills",
    "description": "Aktivieren Sie kuratierte, praxiserprobte Skill-Workflows für Ihre KI-Coding-Agents. Jeder Experte ist ein eigenständiger Skill aus dem superpowers-Projekt — codeg verwaltet die zentrale Kopie und verknüpft sie mit den von Ihnen ausgewählten Agents.",
    "loading": "Experten werden geladen…",
    "loadingContent": "Inhalt wird geladen…",
    "emptyExperts": "Keine Experten verfügbar. Prüfen Sie die Anwendungsprotokolle.",
    "emptySelection": "Wählen Sie einen Experten aus, um seinen Inhalt anzuzeigen und die Aktivierung zu verwalten.",
    "emptySearch": "Keine Experten entsprechen der aktuellen Suche.",
    "searchPlaceholder": "Experten nach Name, ID oder Beschreibung suchen",
    "enableForAgents": "Für Agents aktivieren",
    "noAgents": "Keine ACP-Agents erkannt.",
    "copyModeWarning": "Kopiert (nicht verknüpft). Nach codeg-Updates erneut aktivieren, um die neueste Version zu erhalten.",
    "previewTitle": "SKILL.md-Vorschau",
    "categories": {
      "discovery": "Entdeckung & Design",
      "planning": "Planung",
      "execution": "Ausführung",
      "quality": "Qualität & Tests",
      "debugging": "Debugging",
      "review": "Review & Integration",
      "meta": "Meta"
    },
    "states": {
      "not_linked": "Nicht aktiviert",
      "linked_to_codeg": "Aktiviert",
      "linked_elsewhere": "Blockiert — ein anderer Link existiert",
      "blocked_by_real_directory": "Blockiert — ein benutzerdefinierter Skill belegt diesen Namen",
      "broken": "Defekter Link"
    },
    "badges": {
      "userModified": "Vom Benutzer geändert"
    },
    "actions": {
      "openCentralDir": "Zentralen Ordner öffnen",
      "refresh": "Aktualisieren"
    },
    "toasts": {
      "loadFailed": "Laden der Expertendetails fehlgeschlagen",
      "enabled": "Experte für diesen Agent aktiviert",
      "disabled": "Experte für diesen Agent deaktiviert",
      "enableFailed": "Aktivieren des Experten fehlgeschlagen",
      "disableFailed": "Deaktivieren des Experten fehlgeschlagen",
      "openFolderFailed": "Ordner konnte nicht geöffnet werden"
    }
  },
  "QuickMessagesSettings": {
    "title": "Schnellnachrichten",
    "description": "Verwalte wiederverwendbare Nachrichtenbausteine. Ziehe zum Neuordnen.",
    "loading": "Schnellnachrichten werden geladen…",
    "emptyList": "Noch keine Schnellnachrichten. Klicke auf \"Neu\", um eine zu erstellen.",
    "emptySelection": "Wähle eine Schnellnachricht zum Bearbeiten aus.",
    "searchPlaceholder": "Nach Titel oder Inhalt suchen",
    "untitled": "Ohne Titel",
    "actions": {
      "new": "Neu",
      "save": "Speichern",
      "delete": "Löschen",
      "dragSort": "Zum Neuordnen ziehen",
      "dragSortMessage": "Schnellnachricht neu ordnen: {name}"
    },
    "fields": {
      "title": "Titel",
      "titlePlaceholder": "Gib dieser Nachricht einen kurzen Titel",
      "content": "Inhalt",
      "contentPlaceholder": "Gib hier den Nachrichteninhalt ein"
    },
    "confirmDelete": {
      "title": "Schnellnachricht löschen?",
      "message": "Dadurch wird \"{name}\" dauerhaft gelöscht. Bist du sicher?",
      "cancel": "Abbrechen",
      "confirm": "Löschen"
    },
    "toasts": {
      "loadFailed": "Laden der Schnellnachrichten fehlgeschlagen",
      "createFailed": "Erstellen der Schnellnachricht fehlgeschlagen",
      "saveFailed": "Speichern der Schnellnachricht fehlgeschlagen",
      "deleteFailed": "Löschen der Schnellnachricht fehlgeschlagen",
      "saveOrderFailed": "Reihenfolge konnte nicht gespeichert werden",
      "created": "Schnellnachricht erstellt",
      "saved": "Schnellnachricht gespeichert",
      "deleted": "Schnellnachricht gelöscht"
    }
  },
  "Pet": {
    "badge": {
      "running": "{count} laufend",
      "waiting": "{count} warten auf Freigabe",
      "error": "{count} fehlgeschlagen"
    },
    "panel": {
      "title": "Aktive Sitzungen",
      "empty": "Keine aktiven Sitzungen",
      "emptyHint": "Laufende Agenten und solche, die dich brauchen, erscheinen hier.",
      "statusRunning": "Läuft",
      "statusWaiting": "Wartet",
      "statusError": "Fehler"
    },
    "menu": {
      "scale": "Skalierung",
      "openManager": "Pets verwalten",
      "close": "Schließen"
    },
    "loadError": "Pet konnte nicht geladen werden",
    "missingPetIdParam": "Kein Pet ausgewählt",
    "summonButton": "Pet",
    "manager": {
      "title": "Desktop-Pets",
      "description": "Schwebende Begleiter mit Codex-kompatiblen Sprite-Sheets.",
      "addPet": "Pet hinzufügen",
      "importFromCodex": "Aus Codex importieren",
      "noPets": "Keine Pets. Lege eines an oder importiere aus Codex.",
      "setActive": "Aktivieren",
      "active": "Aktiv",
      "edit": "Bearbeiten",
      "delete": "Löschen",
      "deleteConfirm": "Pet „{name}\" löschen? Auch von der Festplatte entfernt.",
      "summon": "Pet-Fenster aufrufen",
      "openCodexHelp": "Codex-Pets müssen in ~/.codex/pets/ liegen. Nichts gefunden.",
      "specRequirement": "Sprite-Sheet muss 1536x1872 PNG oder WebP mit Transparenz sein.",
      "form": {
        "id": "Pet-ID",
        "idHelp": "Kleinbuchstaben, Ziffern, '-' und '_'. Max 64 Zeichen.",
        "displayName": "Anzeigename",
        "description": "Beschreibung (optional)",
        "spritesheet": "Sprite-Sheet",
        "chooseFile": "Datei wählen",
        "replaceFile": "Sprite ersetzen",
        "saveCreate": "Pet hinzufügen",
        "saveUpdate": "Änderungen speichern",
        "cancel": "Abbrechen"
      },
      "errors": {
        "missingId": "Pet-ID erforderlich",
        "missingName": "Anzeigename erforderlich",
        "missingSpritesheet": "Sprite erforderlich",
        "addFailed": "Hinzufügen fehlgeschlagen",
        "updateFailed": "Aktualisieren fehlgeschlagen",
        "deleteFailed": "Löschen fehlgeschlagen",
        "loadFailed": "Pet-Liste konnte nicht geladen werden",
        "setActiveFailed": "Aktivieren fehlgeschlagen",
        "summonFailed": "Pet-Fenster konnte nicht geöffnet werden"
      }
    },
    "import": {
      "title": "Aus Codex importieren",
      "subtitle": "Pets unter ~/.codex/pets/.",
      "selectAll": "Alle auswählen",
      "alreadyImported": "Bereits importiert",
      "renameOnConflict": "Konflikte mit Suffix -imported umbenennen",
      "import": "Auswahl importieren",
      "noneFound": "Keine importierbaren Codex-Pets gefunden.",
      "imported": "Erfolgreich importiert",
      "failed": "Import fehlgeschlagen",
      "close": "Schließen"
    },
    "marketplace": {
      "openMarketplace": "Pet-Marketplace",
      "title": "Pet-Marketplace",
      "search": "Pets suchen",
      "kindFilter": {
        "all": "Alle",
        "object": "Objekt",
        "animal": "Tier",
        "person": "Person",
        "creature": "Kreatur"
      },
      "sortFilter": {
        "latest": "Neueste",
        "popular": "Beliebt",
        "views": "Aufrufe"
      },
      "refresh": "Aktualisieren",
      "install": "Installieren",
      "installing": "Wird installiert",
      "reinstall": "Neu installieren",
      "reinstallConfirm": "Lokales Pet \"{name}\" überschreiben? Vorhandene Daten werden ersetzt.",
      "cancel": "Abbrechen",
      "stats": {
        "views": "Aufrufe",
        "downloads": "Downloads",
        "likes": "Likes"
      },
      "actions": {
        "idle": "Idle",
        "running_right": "Rechtslauf",
        "running_left": "Linkslauf",
        "waving": "Winken",
        "jumping": "Springen",
        "failed": "Fehler",
        "waiting": "Warten",
        "running": "Laufen",
        "review": "Review"
      },
      "page": "Seite {page} von {total}",
      "prev": "Zurück",
      "next": "Weiter",
      "empty": "Keine Pets entsprechen dem Filter.",
      "successInstalled": "\"{name}\" installiert",
      "errors": {
        "loadFailed": "Marketplace konnte nicht geladen werden",
        "installFailed": "Installation fehlgeschlagen",
        "alreadyInstalled": "Pet existiert bereits lokal"
      }
    }
  },
  "RemoteWorkspace": {
    "openRemoteWorkspace": "Open remote workspace",
    "manage": "Manage remote workspace",
    "manageTitle": "Remote Workspace connections",
    "empty": "No remote connections",
    "searchPlaceholder": "Search remote workspaces",
    "orderFailed": "Failed to save remote workspace order",
    "dragSort": "Drag to sort",
    "dragSortConnection": "Drag to sort {name}",
    "newConnection": "New connection",
    "loading": "Loading",
    "loadingConnection": "Loading remote connection",
    "name": "Name",
    "baseUrl": "Service URL",
    "token": "Access token",
    "save": "Save",
    "delete": "Delete",
    "confirmDelete": {
      "title": "Delete remote connection?",
      "message": "This will remove \"{name}\" from this device. This action cannot be undone.",
      "cancel": "Cancel",
      "confirm": "Delete"
    },
    "saved": "Remote connection saved.",
    "deleted": "Remote connection deleted.",
    "loadFailed": "Failed to load remote connections",
    "saveFailed": "Failed to save remote connection",
    "deleteFailed": "Failed to delete remote connection",
    "openFailed": "Failed to open remote workspace",
    "connectionLoadFailed": "Failed to load remote connection: {message}",
    "connectionExpired": "Remote connection \"{name}\" is expired. Update its token and reload this window."
  },
  "ServerFileBrowser": {
    "title": "Serverdatei auswählen",
    "pathPlaceholder": "Verzeichnispfad eingeben...",
    "goHome": "Zum Home-Verzeichnis",
    "navigateUp": "Zum übergeordneten Verzeichnis",
    "select": "Auswählen",
    "cancel": "Abbrechen",
    "loading": "Laden...",
    "emptyDirectory": "Dieses Verzeichnis ist leer",
    "errorLoadingDir": "Verzeichnis konnte nicht geladen werden",
    "selectedCount": "{count} ausgewählt"
  },
  "BackupSettings": {
    "title": "Sicherung & Wiederherstellung",
    "description": "Exportiere eine portable Sicherung deiner codeg-Daten oder stelle aus einer Sicherung wieder her.",
    "tabs": {
      "backup": "Sicherung",
      "restore": "Wiederherstellung"
    },
    "export": {
      "includeExternal": "Gesprächsinhalte einschließen",
      "includeExternalHint": "Archiviert auch die CLI-Transkripte (Claude, Codex, Gemini, …). Erhöht die Größe.",
      "passphrase": "Passphrase (optional)",
      "passphrasePlaceholder": "Leer lassen für ein unverschlüsseltes Archiv",
      "passphraseConfirm": "Passphrase bestätigen",
      "passphraseMismatch": "Die Passphrasen stimmen nicht überein.",
      "noPassphraseWarning": "Diese Sicherung enthält Geheimnisse (API-Schlüssel, Tokens) im Klartext. Bewahre sie sicher auf.",
      "passphraseLossWarning": "Mit dieser Passphrase verschlüsselt. Wenn du sie verlierst, kann die Sicherung nicht wiederhergestellt werden.",
      "button": "Sicherung exportieren",
      "inProgress": "Sicherung wird erstellt…",
      "success": "Sicherung erstellt.",
      "started": "Download der Sicherung gestartet."
    },
    "restore": {
      "selectFile": "Sicherungsdatei auswählen",
      "passphrasePrompt": "Diese Sicherung ist verschlüsselt. Gib ihre Passphrase ein.",
      "unlock": "Entsperren",
      "preview": {
        "title": "Sicherungsdetails",
        "encrypted": "Verschlüsselt",
        "compatible": "Kompatibel",
        "incompatible": "Inkompatibel",
        "createdAt": "Erstellt: {value}",
        "appVersion": "App-Version: {value}",
        "incompatibleHint": "Diese Sicherung wurde mit einer neueren Version von codeg erstellt und kann nicht wiederhergestellt werden."
      },
      "replaceWarning": "Beim Wiederherstellen werden alle aktuellen codeg-Daten (Datenbank und Uploads) ersetzt. Deine aktuellen Daten werden zuvor als Snapshot gesichert.",
      "keyringNote": "GitHub-/Chat-Tokens der Desktop-App liegen im Schlüsselbund des Betriebssystems und sind nicht enthalten; gib sie nach dem Wiederherstellen erneut ein.",
      "button": "Wiederherstellen",
      "staging": "Wiederherstellung wird vorbereitet…",
      "staged": "Wiederherstellung vorbereitet. Neustart…",
      "restarting": "Wiederherstellung vorbereitet. Server wird neu gestartet…",
      "restartTimeout": "Der Server kam nicht rechtzeitig zurück. Lade die Seite neu, sobald er läuft.",
      "externalSideLocation": "Gesprächstranskripte wurden nach {path} wiederhergestellt",
      "confirmTitle": "Alle Daten ersetzen?",
      "confirmBody": "Dadurch werden deine aktuelle codeg-Datenbank und Uploads durch die Sicherung ersetzt und anschließend neu gestartet. Deine aktuellen Daten werden zuvor als Snapshot gesichert.",
      "cancel": "Abbrechen",
      "confirmAction": "Ersetzen & neu starten",
      "external": {
        "title": "Gesprächsinhalte",
        "hint": "Diese Sicherung enthält CLI-Transkripte. Wähle, wohin sie wiederhergestellt werden.",
        "modeSkip": "Nicht wiederherstellen",
        "modeSide": "In einen sicheren Nebenordner wiederherstellen",
        "modeOriginal": "An den ursprünglichen CLI-Speicherorten wiederherstellen",
        "forceOverwrite": "Vorhandene Dateien überschreiben",
        "forceOverwriteHint": "Ersetzt Dateien, die bereits in den CLI-Ordnern vorhanden sind.",
        "scanning": "Konflikte werden geprüft…",
        "noConflicts": "Es werden keine vorhandenen Dateien überschrieben.",
        "conflictCount": "{count} vorhandene Datei(en) wären betroffen.",
        "conflictSkipNote": "Vorhandene Dateien bleiben erhalten (übersprungen), sofern du das Überschreiben nicht aktivierst."
      },
      "restartFailed": "Wiederherstellung vorbereitet, aber der Server konnte nicht neu starten. Starte ihn manuell neu, um sie anzuwenden."
    },
    "remoteUnsupported": "Sicherung & Wiederherstellung wirken auf die Daten des Rechners, auf dem codeg läuft. Du bist mit einem entfernten Arbeitsbereich verbunden – verwalte dessen Sicherungen direkt auf jenem Server."
  },
  "backup": {
    "restore": {
      "error": {
        "badPassphrase": "Falsche Passphrase oder beschädigte Sicherung.",
        "corrupted": "Das Sicherungsarchiv ist beschädigt.",
        "unknownFormat": "Diese Datei ist keine erkannte codeg-Sicherung.",
        "newerVersion": "Diese Sicherung wurde mit codeg {backupVersion} erstellt, neuer als diese Version ({appVersion}).",
        "alreadyPending": "Es ist bereits eine Wiederherstellung vorbereitet. Starte neu, um sie anzuwenden, bevor du eine weitere vorbereitest."
      }
    },
    "error": {
      "diskSpace": "Nicht genügend Speicherplatz, um den Vorgang abzuschließen.",
      "cancelled": "Der Vorgang wurde abgebrochen."
    }
  },
  "WebConnection": {
    "disconnectedTitle": "Verbindung getrennt",
    "reconnectingDescription": "Verbindung zum Server wird wiederhergestellt. Das geschieht normalerweise innerhalb weniger Sekunden automatisch.",
    "reconnectNow": "Jetzt neu verbinden",
    "sessionExpiredTitle": "Sitzung abgelaufen",
    "sessionExpiredDescription": "Deine Sitzung ist nicht mehr gültig. Bitte melde dich erneut an, um fortzufahren.",
    "goToLogin": "Zur Anmeldung"
  },
  "SessionFeedbackSettings": {
    "title": "Live-Feedback",
    "description": "Sende dem Agenten Hinweise und Korrekturen, während er arbeitet. Wenn aktiviert, erhält der Agent ein Werkzeug zum Abrufen von Live-Feedback und Unterhaltungen zeigen eine Notizeingabe. Tipp: Der Agent prüft Feedback normalerweise nur, wenn du es in deiner Nachricht erwähnst — füge z. B. «prüfe regelmäßig mein Live-Feedback während der Arbeit» hinzu.",
    "enable": "Live-Feedback aktivieren",
    "enableHint": "Fügt Agenten, die nach dem Aktivieren gestartet werden, ein Werkzeug zum Abrufen von Feedback hinzu.",
    "save": "Speichern",
    "saving": "Wird gespeichert…",
    "saved": "Feedback-Einstellungen gespeichert",
    "saveFailed": "Feedback-Einstellungen konnten nicht gespeichert werden",
    "loadFailed": "Laden fehlgeschlagen: {detail}"
  },
  "LiveFeedback": {
    "placeholder": "Sende {agent} eine Notiz, während er arbeitet…",
    "agentFallback": "der Agent",
    "ariaLabel": "Live-Feedback-Notiz",
    "dialogTitle": "Live-Feedback",
    "dialogDescription": "Sende dem Agenten eine Notiz, während er arbeitet. Er liest sie bei der nächsten Prüfung – ohne den aktuellen Schritt zu unterbrechen.",
    "send": "Senden",
    "cancel": "Abbrechen",
    "pending": "wartet",
    "delivered": "erhalten",
    "turnEndedUnread": "Der Agent hat die Runde beendet, bevor er dein Feedback gelesen hat.",
    "sendAsMessage": "Als Nachricht senden",
    "dismiss": "Verwerfen",
    "turnEndedResent": "Die Runde endete – stattdessen als neue Nachricht gesendet.",
    "turnEnded": "Die Runde ist bereits beendet.",
    "submitFailed": "Deine Notiz konnte nicht gesendet werden"
  },
  "AskQuestionSettings": {
    "title": "Benutzer fragen",
    "description": "Erlaubt Agenten, anzuhalten und dir eine Multiple-Choice-Frage zu stellen, die über dem Eingabefeld der Unterhaltung erscheint. Der Agent wartet, bis du antwortest (oder überspringst).",
    "enable": "Benutzerfrage aktivieren",
    "enableHint": "Fügt Agenten, die nach dem Aktivieren gestartet werden, das ask_user_question-Tool hinzu.",
    "save": "Speichern",
    "saving": "Wird gespeichert…",
    "saved": "Frageeinstellungen gespeichert",
    "saveFailed": "Frageeinstellungen konnten nicht gespeichert werden",
    "loadFailed": "Laden fehlgeschlagen: {detail}"
  }
}
