{
  "common": {
    "save": "Speichern",
    "cancel": "Abbrechen",
    "delete": "Löschen",
    "loading": "Laden...",
    "error": "Es ist ein Fehler aufgetreten",
    "success": "Erfolg",
    "confirm": "Bist du sicher?",
    "refresh": "Aktualisieren",
    "close": "Schließen",
    "add": "Hinzufügen",
    "edit": "Bearbeiten",
    "search": "Suchen",
    "back": "Zurück",
    "next": "Als nächstes",
    "submit": "Senden",
    "reset": "Zurücksetzen",
    "copy": "Kopieren",
    "copied": "Kopiert!",
    "enabled": "Aktiviert",
    "disabled": "Deaktiviert",
    "active": "Aktiv",
    "inactive": "Inaktiv",
    "noData": "Keine Daten verfügbar",
    "configure": "Konfigurieren",
    "manage": "Verwalten",
    "name": "Name",
    "actions": "Aktionen",
    "status": "Status",
    "type": "Typ",
    "model": "Modell",
    "models": "Modelle",
    "provider": "Anbieter",
    "account": "Konto",
    "time": "Zeit",
    "details": "Einzelheiten",
    "created": "Erstellt",
    "lastUsed": "Zuletzt verwendet",
    "loadMore": "Mehr laden",
    "noResults": "Keine Ergebnisse gefunden",
    "reloadPage": "Seite neu laden",
    "connected": "Verbunden",
    "disconnected": "Nicht verbunden",
    "notConfigured": "Nicht konfiguriert",
    "testConnection": "Testverbindung",
    "enable": "Aktivieren",
    "disable": "Deaktivieren",
    "columns": "Spalten",
    "newest": "Neueste",
    "oldest": "Älteste",
    "all": "Alle",
    "none": "Keine",
    "yes": "Ja",
    "no": "Nein",
    "warning": "Warnung",
    "note": "Hinweis",
    "free": "Kostenlos",
    "skipToContent": "Zum Inhalt springen"
  },
  "sidebar": {
    "home": "Zuhause",
    "dashboard": "Dashboard",
    "providers": "Anbieter",
    "combos": "Kombinationen",
    "usage": "Nutzung",
    "analytics": "Analytik",
    "costs": "Kosten",
    "health": "Gesundheit",
    "limits": "Limits und Quoten",
    "cliTools": "CLI-Tools",
    "settings": "Einstellungen",
    "translator": "Übersetzer",
    "docs": "Dokumente",
    "issues": "Probleme",
    "endpoint": "Endpunkt",
    "apiManager": "API-Manager",
    "logs": "Protokolle",
    "auditLog": "Audit-Protokoll",
    "shutdown": "Herunterfahren",
    "restart": "Neustart",
    "shutdownConfirm": "OmniRoute herunterfahren?",
    "restartConfirm": "OmniRoute neu starten?",
    "version": "v{version}",
    "debug": "Debuggen",
    "system": "System",
    "help": "Hilfe",
    "serverDisconnected": "Serververbindung getrennt",
    "serverDisconnectedMsg": "Der Proxyserver wurde gestoppt oder wird neu gestartet.",
    "expandSidebar": "Seitenleiste erweitern",
    "collapseSidebar": "Seitenleiste einklappen"
  },
  "header": {
    "logout": "Abmelden",
    "language": "Sprache",
    "providers": "Anbieter",
    "providerDescription": "Verwalten Sie Ihre KI-Anbieterverbindungen",
    "combos": "Kombinationen",
    "comboDescription": "Modellkombinationen mit Fallback",
    "usage": "Nutzung und Analyse",
    "usageDescription": "Überwachen Sie Ihre API-Nutzung, den Token-Verbrauch und Ihre Anforderungsprotokolle",
    "analytics": "Analysen",
    "analyticsDescription": "Diagramme, Trends und Auswertungserkenntnisse",
    "cliTools": "CLI-Tools",
    "cliToolsDescription": "Konfigurieren Sie CLI-Tools",
    "home": "Zuhause",
    "homeDescription": "Willkommen bei OmniRoute",
    "endpoint": "Endpunkt",
    "endpointDescription": "API-Endpunktkonfiguration",
    "settings": "Einstellungen",
    "settingsDescription": "Verwalten Sie Ihre Präferenzen",
    "openaiCompatible": "OpenAI-kompatibel",
    "anthropicCompatible": "Anthropic-kompatibel"
  },
  "home": {
    "quickStart": "Schnellstart",
    "quickStartDesc": "In 4 Schritten einsatzbereit. Anbieter anbinden, Modelle routen, alles überwachen.",
    "fullDocs": "Vollständige Dokumentation",
    "step1Title": "1. API-Schlüssel erstellen",
    "step1Desc": "Gehen Sie zu <endpoint>Endpoint</endpoint> -> Registrierte Schlüssel. Erstellen Sie einen Schlüssel pro Umgebung.",
    "step2Title": "2. Anbieter verbinden",
    "step2Desc": "Fügen Sie Konten unter <providers>Providers</providers> hinzu. Unterstützt OAuth, API Key und kostenlose Stufen.",
    "step3Title": "3. Client konfigurieren",
    "step3Desc": "Legen Sie die Basis-URL in Ihrem IDE- oder API-Client auf {url} fest.",
    "step4Title": "4. Überwachen und optimieren",
    "step4Desc": "Verfolgen Sie Tokens, Kosten und Fehler in <logs>Anfrageprotokollen</logs> und <analytics>Analysen</analytics>.",
    "providersOverview": "Anbieterübersicht",
    "configuredOf": "{configured} konfiguriert von {total} verfügbaren Anbietern",
    "noModelsAvailable": "Für diesen Anbieter sind keine Modelle verfügbar.",
    "configureFirst": "Konfigurieren Sie zuerst eine Verbindung in {providers}",
    "configureProvider": "Anbieter konfigurieren",
    "modelAvailable": "{count} Modell verfügbar",
    "modelsAvailable": "{count} Modelle verfügbar",
    "connectionsActive": "{count} Verbindung aktiv",
    "connectionsActivePlural": "{count} Verbindungen aktiv",
    "copyModelName": "Modellnamen kopieren",
    "documentation": "Dokumentation",
    "healthMonitor": "Gesundheitsmonitor",
    "reportIssue": "Problem melden",
    "activeError": "{active} aktiv · {errors} Fehler",
    "oauthLabel": "OAuth",
    "apiKeyLabel": "API-Schlüssel",
    "requestsShort": "{count} Anfr.",
    "providerModelsTitle": "{provider} – Modelle",
    "copiedModel": "Kopiert: {model}",
    "aliasLabel": "Alias"
  },
  "analytics": {
    "title": "Analytik",
    "overviewDescription": "Überwachen Sie Ihre API-Nutzungsmuster, Token-Verbrauch, Kosten und Aktivitätstrends bei allen Anbietern und Modellen.",
    "evalsDescription": "Führen Sie Evaluierungssuiten aus, um Ihre LLM-Endpunkte zu testen und zu validieren. Vergleichen Sie die Modellqualität, erkennen Sie Regressionen und messen Sie die Latenz.",
    "overview": "Übersicht",
    "evals": "Bewertungen"
  },
  "apiManager": {
    "title": "API-Schlüssel",
    "createKey": "API-Schlüssel erstellen",
    "key": "Schlüssel",
    "revokeKey": "Schlüssel widerrufen",
    "revokeConfirm": "Sind Sie sicher, dass Sie diesen API-Schlüssel widerrufen möchten?",
    "noKeys": "Noch keine API-Schlüssel",
    "noKeysDesc": "Erstellen Sie Ihren ersten API-Schlüssel, um Anfragen an Ihren Endpunkt zu authentifizieren",
    "keyLabel": "Schlüsseletikett",
    "permissions": "Berechtigungen",
    "expiresAt": "Läuft ab",
    "never": "Niemals",
    "revoke": "Widerrufen",
    "showKey": "Schlüssel anzeigen",
    "hideKey": "Schlüssel verstecken",
    "copyKey": "API-Schlüssel kopieren",
    "allModels": "Alle Modelle",
    "selectedModels": "Ausgewählte Modelle",
    "readOnly": "Nur lesen",
    "fullAccess": "Voller Zugriff",
    "keyManagement": "API-Schlüsselverwaltung",
    "keyManagementDesc": "Erstellen und verwalten Sie API-Schlüssel zur Authentifizierung von Anfragen an Ihren Endpunkt",
    "totalKeys": "Gesamtschlüssel",
    "restricted": "Eingeschränkt",
    "totalRequests": "Gesamtzahl der Anfragen",
    "modelsAvailable": "Verfügbare Modelle",
    "registeredKeys": "Registrierte Schlüssel",
    "keysRegistered": "{count} Schlüssel registriert",
    "keyRegistered": "{count} Schlüssel registriert",
    "keysSecurityNote": "Jeder Schlüssel isoliert die Nutzungsverfolgung und kann unabhängig widerrufen werden. Aus Sicherheitsgründen werden Schlüssel nach der Erstellung maskiert.",
    "createFirstKey": "Erstellen Sie Ihren ersten Schlüssel",
    "name": "Name",
    "usage": "Nutzung",
    "created": "Erstellt",
    "actions": "Aktionen",
    "reqs": "Anforderungen",
    "neverUsed": "Nie benutzt",
    "deleteConfirm": "Diesen API-Schlüssel löschen?",
    "usageTips": "Nutzungstipps",
    "tipAuth": "Verwenden Sie API-Schlüssel im Authorization-Header als Bearer YOUR_KEY",
    "tipSecure": "Schlüssel werden bei der Erstellung nur einmal angezeigt – bewahren Sie sie sicher auf",
    "tipSeparate": "Erstellen Sie separate Schlüssel für verschiedene Clients oder Umgebungen",
    "tipRestrict": "Beschränken Sie die Schlüssel auf bestimmte Modelle, um die Sicherheit und Kostenkontrolle zu verbessern",
    "keyName": "Schlüsselname",
    "keyNamePlaceholder": "z. B. Produktionsschlüssel, Entwicklungsschlüssel",
    "keyNameDesc": "Wählen Sie einen aussagekräftigen Namen, um den Zweck dieses Schlüssels zu identifizieren",
    "keyCreated": "API-Schlüssel erstellt",
    "keyCreatedSuccess": "Schlüssel erfolgreich erstellt!",
    "keyCreatedNote": "Kopieren und speichern Sie diesen Schlüssel jetzt – er wird nicht mehr angezeigt.",
    "done": "Fertig",
    "savePermissions": "Berechtigungen speichern",
    "allowAll": "Alle zulassen",
    "restrict": "Einschränken",
    "allowAllInfo": "Mit diesem Schlüssel kann auf alle verfügbaren Modelle zugegriffen werden.",
    "restrictInfo": "Dieser Schlüssel kann auf {selected} von {total} Modellen zugreifen.",
    "selected": "{count} ausgewählt",
    "all": "Alle",
    "clear": "Klar",
    "searchModels": "Modelle nach Name oder Anbieter suchen...",
    "noModelsFound": "Keine Modelle gefunden",
    "keyNameRequired": "Schlüsselname ist erforderlich",
    "keyNameTooLong": "Der Schlüsselname darf höchstens {max} Zeichen lang sein",
    "keyNameInvalid": "Der Schlüsselname darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten",
    "invalidKeyName": "Ungültiger Schlüsselname",
    "failedCreateKey": "Schlüssel konnte nicht erstellt werden",
    "failedCreateKeyRetry": "Schlüssel konnte nicht erstellt werden. Bitte versuchen Sie es erneut.",
    "invalidKeyId": "Ungültige Schlüssel-ID",
    "failedDeleteKey": "Schlüssel konnte nicht gelöscht werden",
    "failedDeleteKeyRetry": "Schlüssel konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.",
    "invalidModelsSelection": "Ungültige Modellauswahl",
    "cannotSelectMoreThanModels": "Es können nicht mehr als {max} Modelle ausgewählt werden",
    "failedUpdatePermissions": "Die Berechtigungen konnten nicht aktualisiert werden",
    "failedUpdatePermissionsRetry": "Die Berechtigungen konnten nicht aktualisiert werden. Bitte versuchen Sie es erneut.",
    "unknownProvider": "unbekannt",
    "copyMaskedKey": "Maskierten Schlüssel kopieren",
    "modelsCount": "{count, plural, one {# model} other {# models}}",
    "lastUsedOn": "Zuletzt: {date}",
    "editPermissions": "Berechtigungen bearbeiten",
    "deleteKey": "Schlüssel löschen",
    "model": "{count} Modell",
    "models": "{count} Modelle",
    "permissionsTitle": "Berechtigungen: {name}",
    "allowAllDesc": "Mit diesem Schlüssel kann auf alle verfügbaren Modelle zugegriffen werden.",
    "restrictDesc": "Dieser Schlüssel kann auf {selectedCount} von {totalModels} Modellen zugreifen.",
    "selectedCount": "{count} ausgewählt"
  },
  "auditLog": {
    "title": "Audit-Protokoll",
    "searchPlaceholder": "Suchaktionen...",
    "action": "Aktion",
    "actor": "Schauspieler",
    "target": "Ziel",
    "ipAddress": "IP-Adresse",
    "timestamp": "Zeitstempel",
    "noEntries": "Keine Audit-Einträge gefunden",
    "filterByAction": "Nach Aktion filtern...",
    "filterByActor": "Nach Schauspieler filtern...",
    "filterEntriesAria": "Audit-Log-Einträge filtern",
    "filterByActionTypeAria": "Filtern Sie nach Aktionstyp",
    "filterByActorAria": "Nach Schauspieler filtern",
    "refreshAuditLogAria": "Audit-Protokoll aktualisieren",
    "tableAria": "Audit-Log-Einträge",
    "failedFetchAuditLog": "Das Audit-Protokoll konnte nicht abgerufen werden",
    "notAvailable": "—",
    "description": "Verwaltungsmaßnahmen und Sicherheitsereignisse",
    "showing": "Zeigt {count} Einträge (Offset {offset})",
    "previous": "Zurück"
  },
  "cliTools": {
    "title": "CLI-Tools",
    "noActiveProviders": "Keine aktiven Anbieter",
    "noActiveProvidersDesc": "Bitte fügen Sie zuerst Anbieter hinzu und verbinden Sie sie, um CLI-Tools zu konfigurieren.",
    "mapModels": "Kartenmodelle",
    "testConnection": "Testverbindung",
    "connectionStatus": "Verbindungsstatus",
    "configureEndpoint": "Endpunkt konfigurieren",
    "instructions": "Anweisungen",
    "modelMapping": "Modellzuordnung",
    "baseUrl": "Basis-URL",
    "apiKey": "API-Schlüssel",
    "configured": "Konfiguriert",
    "notConfigured": "Nicht konfiguriert",
    "notInstalled": "Nicht installiert",
    "custom": "Benutzerdefiniert",
    "unknown": "Unbekannt",
    "lastSavedAt": "Zuletzt gespeichert: {date}",
    "never": "Niemals",
    "justNow": "gerade jetzt",
    "minutesAgoShort": "Vor {count}m",
    "hoursAgoShort": "Vor {count}h",
    "daysAgoShort": "Vor {count}d",
    "monthsAgoShort": "Vor {count}mo",
    "yearsAgoShort": "Vor {count}y",
    "runtimeCheckFailed": "Laufzeitprüfung fehlgeschlagen",
    "yourApiKeyPlaceholder": "Ihr-API-Schlüssel",
    "modelPlaceholder": "Anbieter/Modell-ID",
    "configurationSaved": "Konfiguration erfolgreich gespeichert.",
    "failedToSave": "Die Konfiguration konnte nicht gespeichert werden.",
    "noApiKeysCreateOne": "Keine API-Schlüssel – Erstellen Sie einen auf der Seite „Schlüssel“.",
    "defaultOmnirouteKey": "sk_omniroute (Standard)",
    "selectModel": "Wählen Sie Modell aus",
    "selectModelForAlias": "Modell für {alias} auswählen",
    "selectModelForTool": "Modell für {tool} auswählen",
    "select": "Auswählen",
    "clear": "Klar",
    "comingSoon": "Kommt bald",
    "checkingRuntime": "Laufzeitstatus wird geprüft...",
    "guideOnlyIntegration": "Nur-Guide-Integration (keine lokale Laufzeit erforderlich)",
    "cliRuntimeDetected": "CLI-Laufzeit erkannt und bereit",
    "cliFoundNotRunnable": "CLI gefunden, aber nicht ausführbar{reason}",
    "cliRuntimeNotDetected": "CLI-Laufzeit nicht erkannt",
    "binary": "Binär",
    "configPath": "Konfigurationspfad",
    "configPathShort": "Konfig",
    "failedCheckRuntimeStatus": "Der Laufzeitstatus konnte nicht überprüft werden.",
    "copy": "Kopieren",
    "copied": "Kopiert",
    "copyConfig": "Konfiguration kopieren",
    "saveConfig": "Konfiguration speichern",
    "selectionSaved": "Auswahl gespeichert",
    "guide": "Leitfaden",
    "detected": "Erkannt",
    "notReady": "Nicht bereit",
    "active": "Aktiv",
    "inactive": "Inaktiv",
    "startMitm": "Starten Sie MITM",
    "stopMitm": "Stoppen Sie MITM",
    "mitmStarted": "MITM erfolgreich gestartet!",
    "mitmStopped": "MITM wurde erfolgreich gestoppt!",
    "failedStart": "MITM konnte nicht gestartet werden",
    "failedStop": "MITM konnte nicht gestoppt werden",
    "saveMappings": "Zuordnungen speichern",
    "mappingsSaved": "Zuordnungen gespeichert!",
    "failedSaveMappings": "Zuordnungen konnten nicht gespeichert werden",
    "howItWorks": "So funktioniert es:",
    "antigravityHowWorksDesc": "Antigravity sendet Anfragen an den Endpunkt von Google. MITM fängt sie ab und leitet sie an OmniRoute weiter.",
    "antigravityStep1": "1. Starten Sie MITM, um Anforderungen über OmniRoute weiterzuleiten.",
    "antigravityStep2Prefix": "2. Hinzufügen",
    "antigravityStep2Suffix": "zu Ihrer Hosts-Datei als 127.0.0.1 hinzufügen.",
    "antigravityStep3": "3. Öffnen Sie Antigravity und Anfragen werden weitergeleitet.",
    "sudoPasswordRequiredTitle": "Sudo-Passwort erforderlich",
    "sudoPasswordHint": "Zum Ändern der Hosts-Datei und der System-Proxy-Einstellungen ist ein Administratorkennwort erforderlich.",
    "enterSudoPassword": "Geben Sie das Sudo-Passwort ein",
    "sudoPasswordRequiredError": "Sudo-Passwort ist erforderlich.",
    "cancel": "Abbrechen",
    "confirm": "Bestätigen",
    "settingsApplied": "Einstellungen erfolgreich übernommen!",
    "failedApplySettings": "Die Einstellungen konnten nicht angewendet werden",
    "settingsReset": "Einstellungen erfolgreich zurückgesetzt!",
    "failedResetSettings": "Einstellungen konnten nicht zurückgesetzt werden",
    "backupRestored": "Backup wiederhergestellt!",
    "failedRestore": "Wiederherstellung fehlgeschlagen",
    "checkingCli": "{tool} CLI wird überprüft...",
    "cliNotRunnable": "{tool} CLI installiert, aber nicht ausführbar",
    "cliNotInstalled": "{tool} CLI nicht installiert",
    "cliNotDetected": "{tool} CLI nicht erkannt",
    "cliDetectedReady": "{tool} CLI erkannt und bereit",
    "cliFoundFailedHealthcheck": "{tool} CLI wurde gefunden, aber die Laufzeitprüfung ist fehlgeschlagen{reason}.",
    "installCliPrompt": "Bitte installieren Sie {tool} CLI, um diese Funktion zu nutzen.",
    "installCodexPrompt": "Bitte installieren Sie Codex CLI, um die Funktion zur automatischen Anwendung zu nutzen.",
    "hide": "Verstecken",
    "howToInstall": "Anleitung zur Installation",
    "installationGuide": "Installationsanleitung",
    "platforms": "macOS / Linux / Windows:",
    "afterInstallationRun": "Nach der Installation ausführen",
    "toVerify": "zu verifizieren.",
    "current": "Aktuell",
    "baseUrlPlaceholder": "https://.../v1",
    "resetToDefault": "Auf Standard zurücksetzen",
    "providerModelPlaceholder": "Anbieter/Modell-ID",
    "apply": "Bewerben",
    "reset": "Zurücksetzen",
    "manualConfig": "Manuelle Konfiguration",
    "backups": "Backups",
    "configBackups": "Backups konfigurieren",
    "noBackupsYet": "Noch keine Backups. Vor jedem Anwenden oder Zurücksetzen werden automatisch Sicherungen erstellt.",
    "restore": "Wiederherstellen",
    "backupRestoredReloading": "Backup wiederhergestellt! Status wird neu geladen...",
    "failedRestoreBackup": "Sicherung konnte nicht wiederhergestellt werden",
    "applied": "Beworben!",
    "failed": "Fehlgeschlagen",
    "resetDone": "Zurücksetzen!",
    "omnirouteConfiguredOpenAiCompatible": "OmniRoute ist als OpenAI-kompatibler Anbieter konfiguriert",
    "provider": "Anbieter",
    "model": "Modell",
    "providers": "Anbieter",
    "auth": "Auth",
    "noApiKeysAvailable": "Keine API-Schlüssel verfügbar",
    "usingDefaultOmniroute": "Standardmäßig wird verwendet: sk_omniroute",
    "updateConfig": "Konfiguration aktualisieren",
    "applyConfig": "Konfiguration anwenden",
    "noBackupsAvailable": "Keine Backups verfügbar.",
    "profileSaved": "Profil „{name}“ gespeichert!",
    "failedSaveProfile": "Profil konnte nicht gespeichert werden",
    "profileActivated": "Profil aktiviert!",
    "failedActivateProfile": "Profil konnte nicht aktiviert werden",
    "profiles": "Profile",
    "savedProfiles": "Gespeicherte Profile",
    "noProfilesYet": "Noch keine Profile gespeichert. Speichern Sie die aktuelle Konfiguration unten als Profil.",
    "activate": "Aktivieren",
    "deleteProfile": "Profil löschen",
    "profileNamePlaceholder": "Profilname (z. B. Persönliches Konto)",
    "saveCurrent": "Aktuelles speichern",
    "codexAuthNotePrefix": "Codex verwendet",
    "codexAuthNoteMiddle": "mit",
    "codexAuthNoteSuffix": "Klicken Sie auf „Übernehmen“, um die automatische Konfiguration durchzuführen.",
    "claudeManualConfiguration": "Claude CLI – Manuelle Konfiguration",
    "codexManualConfiguration": "Codex CLI – Manuelle Konfiguration",
    "droidManualConfiguration": "Factory Droid – Manuelle Konfiguration",
    "openClawManualConfiguration": "Open Claw – Manuelle Konfiguration",
    "clineManualConfiguration": "Manuelle Cline-Konfiguration",
    "kiloManualConfiguration": "Manuelle Konfiguration des Kilo-Codes",
    "toolDescriptions": {
      "antigravity": "Google Antigravity IDE mit MITM",
      "claude": "Anthropic Claude Code CLI",
      "codex": "OpenAI Codex-CLI",
      "droid": "Fabrik-Droiden-KI-Assistent",
      "openclaw": "Öffnen Sie den Klauen-KI-Assistenten",
      "cline": "Cline AI Coding Assistant CLI",
      "kilo": "Kilo Code AI Assistant CLI",
      "cursor": "Cursor-KI-Code-Editor",
      "continue": "Weiter AI Assistant"
    },
    "guides": {
      "cursor": {
        "notes": {
          "0": "Zur Nutzung dieser Funktion ist ein Cursor Pro-Konto erforderlich.",
          "1": "Cursor leitet Anfragen über seinen eigenen Server weiter, daher wird ein lokaler Endpunkt nicht unterstützt. Bitte aktivieren Sie Cloud Endpoint in den Einstellungen."
        },
        "steps": {
          "1": {
            "title": "Öffnen Sie Einstellungen",
            "desc": "Gehen Sie zu Einstellungen -> Modelle"
          },
          "2": {
            "title": "Aktivieren Sie die OpenAI-API",
            "desc": "Aktivieren Sie die Option „OpenAI-API-Schlüssel“."
          },
          "3": {
            "title": "Basis-URL"
          },
          "4": {
            "title": "API-Schlüssel"
          },
          "5": {
            "title": "Benutzerdefiniertes Modell hinzufügen",
            "desc": "Klicken Sie auf „Alle Modelle anzeigen“ -> „Benutzerdefiniertes Modell hinzufügen“"
          },
          "6": {
            "title": "Wählen Sie Modell aus"
          }
        }
      },
      "continue": {
        "steps": {
          "1": {
            "title": "Öffnen Sie die Konfiguration",
            "desc": "Öffnen Sie die Konfigurationsdatei „Fortfahren“."
          },
          "2": {
            "title": "API-Schlüssel"
          },
          "3": {
            "title": "Wählen Sie Modell aus"
          },
          "4": {
            "title": "Modellkonfiguration hinzufügen",
            "desc": "Fügen Sie Ihrem Modellarray die folgende Konfiguration hinzu:"
          }
        }
      }
    }
  },
  "combos": {
    "title": "Kombinationen",
    "description": "Erstellen Sie Modellkombinationen mit gewichtetem Routing und Fallback-Unterstützung",
    "createCombo": "Combo erstellen",
    "editCombo": "Combo bearbeiten",
    "deleteCombo": "Combo löschen",
    "noModels": "Keine Modelle",
    "noModelsYet": "Noch keine Modelle hinzugefügt",
    "addModel": "Modell hinzufügen",
    "addModelToCombo": "Modell zur Combo hinzufügen",
    "routingStrategy": "Routing-Strategie",
    "maxRetries": "Max. Wiederholungsversuche",
    "timeout": "Timeout (ms)",
    "healthcheck": "Gesundheitscheck",
    "priority": "Priorität",
    "fallback": "Rückfall",
    "roundRobin": "Round Robin",
    "random": "Zufällig",
    "leastLatency": "Geringste Latenz",
    "comboName": "Kombinationsname",
    "comboNamePlaceholder": "meine-combo",
    "deleteConfirm": "Diese Combo löschen?",
    "noCombosYet": "Noch keine Combos",
    "comboCreated": "Combo erfolgreich erstellt",
    "comboUpdated": "Combo wurde erfolgreich aktualisiert",
    "comboDeleted": "Combo gelöscht",
    "failedCreate": "Kombination konnte nicht erstellt werden",
    "failedUpdate": "Die Kombination konnte nicht aktualisiert werden",
    "errorCreating": "Fehler beim Erstellen der Combo",
    "errorUpdating": "Fehler beim Aktualisieren der Combo",
    "errorDeleting": "Fehler beim Löschen der Combo",
    "testFailed": "Testanforderung fehlgeschlagen",
    "failedToggle": "Die Kombination konnte nicht umgeschaltet werden",
    "testResults": "Testergebnisse – {name}",
    "resolvedBy": "Gelöst von:",
    "more": "+{count} mehr",
    "reqs": "Anforderungen",
    "success": "Erfolg",
    "proxyConfigured": "Proxy konfiguriert",
    "copyComboName": "Kombinationsnamen kopieren",
    "enableCombo": "Kombination aktivieren",
    "disableCombo": "Combo deaktivieren",
    "testCombo": "Testkombination",
    "duplicate": "Duplizieren",
    "proxyConfig": "Proxy-Konfiguration",
    "nameRequired": "Name ist erforderlich",
    "nameInvalid": "Nur Buchstaben, Zahlen, -, _, / und . erlaubt",
    "nameHint": "Buchstaben, Zahlen, -, _, / und . erlaubt",
    "priorityDesc": "Sequentielles Fallback: Versucht zuerst Modell 1, dann 2 usw.",
    "weightedDesc": "Verteilt den Datenverkehr nach Gewichtsprozentsatz mit Fallback",
    "roundRobinDesc": "Zirkuläre Verteilung: Jede Anfrage wird abwechselnd an das nächste Modell weitergeleitet",
    "randomDesc": "Einheitliche Zufallsauswahl, dann Rückgriff auf verbleibende Modelle",
    "leastUsedDesc": "Wählt das Modell mit den wenigsten Anfragen aus und gleicht die Last über die Zeit aus",
    "costOptimizedDesc": "Leitet basierend auf dem Preis zuerst zum günstigsten Modell weiter",
    "models": "Modelle",
    "autoBalance": "Automatischer Ausgleich",
    "advancedSettings": "Erweiterte Einstellungen",
    "retryDelay": "Wiederholungsverzögerung (ms)",
    "concurrencyPerModel": "Parallelität / Modell",
    "queueTimeout": "Warteschlangen-Timeout (ms)",
    "advancedHint": "Lassen Sie das Feld leer, um globale Standardeinstellungen zu verwenden. Diese überschreiben die Einstellungen pro Anbieter.",
    "moveUp": "Bewegen Sie sich nach oben",
    "moveDown": "Bewegen Sie sich nach unten",
    "removeModel": "Entfernen",
    "saving": "Sparen...",
    "weighted": "Gewichtet",
    "leastUsed": "Am wenigsten genutzt",
    "costOpt": "Kosten-Opt"
  },
  "costs": {
    "title": "Kosten",
    "budget": "Budget",
    "totalCost": "Gesamtkosten",
    "breakdown": "Kostenaufschlüsselung",
    "noData": "Keine Kostendaten",
    "byModel": "Nach Modell",
    "byProvider": "Nach Anbieter"
  },
  "endpoint": {
    "title": "API-Endpunkt",
    "available": "Verfügbare Endpunkte",
    "cloudProxy": "Cloud-Proxy",
    "disableConfirm": "Sind Sie sicher, dass Sie den Cloud-Proxy deaktivieren möchten?",
    "baseUrl": "Basis-URL",
    "apiKeyLabel": "API-Schlüssel",
    "registeredKeys": "Registrierte Schlüssel",
    "chatCompletions": "Chat-Abschlüsse",
    "responses": "Antworten",
    "listModels": "Modelle auflisten",
    "usingCloudProxy": "Verwenden von Cloud Proxy",
    "usingLocalServer": "Verwenden eines lokalen Servers",
    "machineId": "Maschinen-ID: {id}...",
    "disableCloud": "Cloud deaktivieren",
    "enableCloud": "Cloud aktivieren",
    "modelsAcrossEndpoints": "{models} Modelle über {endpoints} Endpunkte hinweg",
    "chatDesc": "Streaming- und Nicht-Streaming-Chat mit allen Anbietern",
    "embeddings": "Einbettungen",
    "embeddingsDesc": "Texteinbettungen für Such- und RAG-Pipelines",
    "imageGeneration": "Bilderzeugung",
    "imageDesc": "Generieren Sie Bilder aus Textaufforderungen",
    "rerank": "Neu einordnen",
    "rerankDesc": "Ordnen Sie Dokumente nach Relevanz für eine Abfrage neu",
    "audioTranscription": "Audio-Transkription",
    "audioTranscriptionDesc": "Audiodateien in Text umwandeln (Flüstern)",
    "textToSpeech": "Text-to-Speech",
    "textToSpeechDesc": "Wandeln Sie Text in natürlich klingende Sprache um",
    "moderations": "Moderationen",
    "moderationsDesc": "Inhaltsmoderation und Sicherheitsklassifizierung",
    "enableCloudTitle": "Aktivieren Sie Cloud Proxy",
    "whatYouGet": "Was Sie bekommen werden",
    "cloudBenefitAccess": "Greifen Sie von überall auf der Welt auf Ihre API zu",
    "cloudBenefitShare": "Teilen Sie den Endpunkt ganz einfach mit Ihrem Team",
    "cloudBenefitPorts": "Es ist nicht erforderlich, Ports zu öffnen oder eine Firewall zu konfigurieren",
    "cloudBenefitEdge": "Schnelles globales Edge-Netzwerk",
    "cloudSessionNote": "Cloud speichert Ihre Authentifizierungssitzung einen Tag lang. Bei Nichtverwendung wird es automatisch gelöscht.",
    "cloudUnstableNote": "Cloud ist derzeit mit Claude Code OAuth in einigen Fällen instabil.",
    "cloudConnected": "Cloud-Proxy verbunden!",
    "connectingToCloud": "Mit der Cloud verbinden...",
    "verifyingConnection": "Verbindung wird überprüft...",
    "connecting": "Verbinden...",
    "verifying": "Überprüfung...",
    "connected": "Verbunden!",
    "disableCloudTitle": "Deaktivieren Sie den Cloud-Proxy",
    "disableWarning": "Alle Authentifizierungssitzungen werden aus der Cloud gelöscht.",
    "syncingData": "Aktuelle Daten werden synchronisiert...",
    "disablingCloud": "Cloud wird deaktiviert...",
    "syncing": "Synchronisierung...",
    "disabling": "Deaktivieren...",
    "cloudConnectedVerified": "Cloud-Proxy verbunden und verifiziert!",
    "connectedVerificationPending": "Verbunden – Verifizierung steht aus",
    "connectedVerificationPendingWithError": "Verbunden – Überprüfung ausstehend: {error}",
    "cloudDisabledSuccess": "Cloud erfolgreich deaktiviert",
    "syncedSuccess": "Erfolgreich synchronisiert",
    "failedDisable": "Die Cloud konnte nicht deaktiviert werden",
    "failedEnable": "Cloud konnte nicht aktiviert werden",
    "cloudRequestTimeout": "Zeitüberschreitung bei der Cloud-Anfrage",
    "cloudRequestFailed": "Die Cloud-Anfrage ist fehlgeschlagen",
    "cloudWorkerUnreachable": "Der Cloud-Worker konnte nicht erreicht werden. Stellen Sie sicher, dass der Cloud-Dienst ausgeführt wird (npm run dev in /cloud).",
    "connectionFailed": "Verbindung fehlgeschlagen",
    "syncFailed": "Cloud-Daten konnten nicht synchronisiert werden",
    "providerModelsTitle": "{provider} – Modelle",
    "noModelsForProvider": "Für diesen Anbieter sind keine Modelle verfügbar.",
    "chat": "Chatten",
    "embedding": "Einbetten",
    "image": "Bild",
    "custom": "Brauch",
    "modelsCount": "{count, plural, one {# model} other {# models}}"
  },
  "health": {
    "title": "Systemgesundheit",
    "description": "Echtzeitüberwachung Ihrer OmniRoute-Instanz",
    "healthy": "Gesund",
    "degraded": "Degradiert",
    "down": "Runter",
    "uptime": "Betriebszeit",
    "memory": "Erinnerung",
    "memoryRss": "Speicher (RSS)",
    "heap": "Haufen",
    "cpu": "CPU",
    "database": "Datenbank",
    "version": "Version",
    "lastCheck": "Letzter Check",
    "providerHealth": "Gesundheit des Anbieters",
    "systemMetrics": "Systemmetriken",
    "tokenHealth": "Token-Gesundheit",
    "refreshAll": "Alle aktualisieren",
    "checkNow": "Jetzt prüfen",
    "loadingHealth": "Gesundheitsdaten werden geladen...",
    "failedToLoad": "Gesundheitsdaten konnten nicht geladen werden: {error}",
    "retry": "Versuchen Sie es noch einmal",
    "allOperational": "Alle Systeme betriebsbereit",
    "issuesDetected": "Systemprobleme erkannt",
    "updatedAt": "Aktualisiert {time}",
    "latency": "Latenz",
    "latencyP50": "S. 50",
    "latencyP95": "S. 95",
    "latencyP99": "S. 99",
    "millisecondsShort": "{value}ms",
    "notAvailable": "—",
    "totalRequests": "Gesamtzahl der Anfragen",
    "noDataYet": "Noch keine Daten",
    "promptCache": "Prompt-Cache",
    "entries": "Einträge",
    "hitRate": "Trefferquote",
    "hitsMisses": "Treffer/Fehlschläge",
    "signatureCache": "Signatur-Cache",
    "signatureDefaults": "Standardeinstellungen",
    "signatureTool": "Werkzeug",
    "signatureFamily": "Familie",
    "signatureSession": "Sitzung",
    "recovering": "Genesung",
    "noCBData": "Keine Leistungsschalterdaten verfügbar. Stellen Sie zunächst einige Anfragen.",
    "providerHealthStatusAria": "Gesundheitsstatus des Anbieters",
    "issuesLabel": "Erkannte Probleme",
    "operational": "Betriebsbereit",
    "providers": "Anbieter",
    "healthyCount": "{count} gesund",
    "nodeVersion": "Knoten {version}",
    "failures": "{count} Fehler",
    "failuresPlural": "{count} Fehler",
    "lastFailure": "Zuletzt",
    "rateLimitStatus": "Rate-Limit-Status",
    "activeLimiters": "{count} aktiver Limiter",
    "activeLimitersPlural": "{count} aktive Limiter",
    "queued": "In der Warteschlange",
    "queuedCount": "{count} in der Warteschlange",
    "running": "laufen",
    "runningCount": "{count} läuft",
    "ok": "Okay",
    "activeLockouts": "Aktive Sperren",
    "resetConfirm": "Alle Leistungsschalter in den fehlerfreien Zustand zurücksetzen? Dadurch werden alle Fehlerzählungen gelöscht und alle Anbieter werden wieder in den Betriebszustand versetzt.",
    "resetAllTitle": "Setzen Sie alle Leistungsschalter in den fehlerfreien Zustand zurück",
    "resetting": "Zurücksetzen...",
    "resetAll": "Alles zurücksetzen",
    "until": "Bis {time}"
  },
  "limits": {
    "title": "Limits und Quoten",
    "rateLimit": "Ratenbegrenzung",
    "remaining": "Übrig",
    "requestsPerMinute": "Anfragen/Min",
    "tokensPerMinute": "Token/Min",
    "dailyLimit": "Tageslimit"
  },
  "logs": {
    "title": "Protokolle",
    "requestLogs": "Fordern Sie Protokolle an",
    "proxyLogs": "Proxy-Protokolle",
    "auditLog": "Audit-Protokoll",
    "console": "Konsole",
    "auditLogDesc": "Verwaltungsmaßnahmen und Sicherheitsereignisse",
    "loading": "Laden...",
    "refresh": "Aktualisieren",
    "filterByAction": "Nach Aktion filtern...",
    "filterByActor": "Nach Schauspieler filtern...",
    "filterEntriesAria": "Audit-Log-Einträge filtern",
    "filterByActionTypeAria": "Filtern Sie nach Aktionstyp",
    "filterByActorAria": "Nach Schauspieler filtern",
    "refreshAuditLogAria": "Audit-Protokoll aktualisieren",
    "tableAria": "Audit-Log-Einträge",
    "failedFetchAuditLog": "Das Audit-Protokoll konnte nicht abgerufen werden",
    "showing": "Zeigt {count} Einträge (Offset {offset})",
    "search": "Suchen",
    "timestamp": "Zeitstempel",
    "action": "Aktion",
    "actor": "Schauspieler",
    "target": "Ziel",
    "details": "Einzelheiten",
    "ipAddress": "IP-Adresse",
    "notAvailable": "—",
    "noEntries": "Es wurden keine Audit-Log-Einträge gefunden",
    "previous": "Zurück",
    "next": "Als nächstes"
  },
  "onboarding": {
    "welcome": "Willkommen",
    "security": "Sicherheit",
    "test": "Testen",
    "ready": "Bereit!",
    "setPassword": "Passwort festlegen",
    "addProvider": "Fügen Sie Ihren ersten Anbieter hinzu",
    "getStarted": "Legen Sie los",
    "skip": "Überspringen",
    "skipWizard": "Den Assistenten vollständig überspringen",
    "skipPassword": "Passwort-Einrichtung überspringen",
    "skipAndContinue": "Überspringen und fortfahren",
    "passwordLabel": "Passwort",
    "confirmPassword": "Passwort bestätigen",
    "enterPassword": "Passwort eingeben",
    "confirmPasswordPlaceholder": "Passwort bestätigen",
    "passwordsMismatch": "Passwörter stimmen nicht überein",
    "setupComplete": "Einrichtung abgeschlossen!",
    "goToDashboard": "Gehen Sie zu Dashboard →",
    "welcomeDesc": "OmniRoute ist Ihr lokaler AI-API-Proxy. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.",
    "multiProvider": "Multi-Provider",
    "usageTracking": "Nutzungsverfolgung",
    "apiKeyMgmt": "API-Schlüsselverwaltung",
    "securityDesc": "Legen Sie ein Passwort fest, um Ihr Dashboard zu schützen, oder überspringen Sie es zunächst.",
    "providerDesc": "Verbinden Sie Ihren ersten KI-Anbieter. Sie können später weitere hinzufügen.",
    "apiKeyRequired": "API-Schlüssel (erforderlich)",
    "customUrlOptional": "Benutzerdefinierte URL (optional)",
    "testDesc": "Lassen Sie uns überprüfen, ob Ihre Provider-Verbindung funktioniert.",
    "runTest": "Führen Sie einen Verbindungstest durch",
    "testingConnection": "Verbindung wird getestet...",
    "connectionSuccessful": "Verbindung erfolgreich! Ihr Anbieter ist bereit.",
    "noProviderFound": "Kein Anbieter gefunden. Sie können später eines über das Dashboard hinzufügen.",
    "testFailed": "Der Test ist fehlgeschlagen, aber Sie können dies später konfigurieren.",
    "couldNotTest": "Konnte momentan nicht testen. Sie können den Test über das Dashboard durchführen.",
    "doneDesc": "Sie sind bereit! Ihre OmniRoute-Instanz ist konfiguriert und bereit, KI-Anfragen weiterzuleiten.",
    "yourEndpoint": "Ihr Endpunkt:",
    "continue": "Weiter",
    "retry": "Versuchen Sie es noch einmal",
    "failedSetPassword": "Das Passwort konnte nicht festgelegt werden. Versuchen Sie es erneut.",
    "failedAddProvider": "Anbieter konnte nicht hinzugefügt werden. Versuchen Sie es erneut.",
    "connectionError": "Verbindungsfehler. Bitte versuchen Sie es erneut.",
    "provider": "Anbieter"
  },
  "providers": {
    "title": "Anbieter",
    "addProvider": "Anbieter hinzufügen",
    "editProvider": "Anbieter bearbeiten",
    "deleteProvider": "Anbieter löschen",
    "noProviders": "Keine Anbieter konfiguriert",
    "modelAvailability": "Modellverfügbarkeit",
    "accounts": "Konten",
    "newAccount": "Neues Konto",
    "deleteConfirm": "Sind Sie sicher, dass Sie diesen Anbieter löschen möchten?",
    "testing": "Testen...",
    "testConnection": "Testverbindung",
    "testSuccess": "Verbindung erfolgreich",
    "testFailed": "Verbindung fehlgeschlagen",
    "available": "Verfügbar",
    "cooldown": "Abklingzeit",
    "unavailable": "Nicht verfügbar",
    "unknown": "Unbekannt",
    "oauthLabel": "OAuth",
    "compatibleLabel": "Kompatibel",
    "chat": "Chatten",
    "responses": "Antworten",
    "messages": "Nachrichten",
    "oauthProviders": "OAuth-Anbieter",
    "freeProviders": "Kostenlose Anbieter",
    "apiKeyProviders": "API-Schlüsselanbieter",
    "compatibleProviders": "Mit API-Schlüsseln kompatible Anbieter",
    "testAll": "Alle testen",
    "testAllOAuth": "Testen Sie alle OAuth-Verbindungen",
    "testAllFree": "Testen Sie alle kostenlosen Verbindungen",
    "testAllApiKey": "Testen Sie alle API-Schlüsselverbindungen",
    "testAllCompatible": "Testen Sie alle kompatiblen Verbindungen",
    "connected": "{count} Verbunden",
    "errorCount": "{count} Fehler ({code})",
    "errorCountNoCode": "{count} Fehler",
    "noConnections": "Keine Verbindungen",
    "disabled": "Deaktiviert",
    "enableProvider": "Anbieter aktivieren",
    "disableProvider": "Anbieter deaktivieren",
    "testResults": "Testergebnisse",
    "noCompatibleYet": "Es wurden noch keine kompatiblen Anbieter hinzugefügt",
    "compatibleHint": "Verwenden Sie die Schaltflächen oben, um OpenAI- oder Anthropic-kompatible Endpunkte hinzuzufügen",
    "addOpenAICompatible": "OpenAI-kompatibel hinzufügen",
    "addAnthropicCompatible": "Anthropic-kompatibel hinzufügen",
    "addNewProvider": "Neuen Anbieter hinzufügen",
    "backToProviders": "Zurück zu Anbietern",
    "configureNewProvider": "Konfigurieren Sie einen neuen KI-Anbieter zur Verwendung mit Ihren Anwendungen.",
    "providerLabel": "Anbieter",
    "selectProvider": "Wählen Sie einen Anbieter aus",
    "selectedProvider": "Ausgewählter Anbieter",
    "authMethod": "Authentifizierungsmethode",
    "apiKeyLabel": "API-Schlüssel",
    "apiKeyRequired": "API-Schlüssel ist erforderlich",
    "selectProviderRequired": "Bitte wählen Sie einen Anbieter aus",
    "enterApiKey": "Geben Sie Ihren API-Schlüssel ein",
    "apiKeySecure": "Ihr API-Schlüssel wird verschlüsselt und sicher gespeichert.",
    "oauth2Connect": "Verbinden Sie sich mit OAuth2",
    "oauth2Label": "OAuth2",
    "oauth2Desc": "Verbinden Sie Ihr Konto mithilfe der OAuth2-Authentifizierung.",
    "displayName": "Anzeigename",
    "displayNamePlaceholder": "z. B. Produktions-API, Entwicklungsumgebung",
    "displayNameHint": "Optional. Ein benutzerfreundlicher Name zur Identifizierung dieser Konfiguration.",
    "active": "Aktiv",
    "activeDescription": "Aktivieren Sie diesen Anbieter für die Verwendung in Ihren Anwendungen",
    "cancel": "Abbrechen",
    "createProvider": "Anbieter erstellen",
    "failedCreate": "Anbieter konnte nicht erstellt werden",
    "errorOccurred": "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
    "modelStatus": "Modellstatus",
    "allModelsOperational": "Alle Modelle betriebsbereit",
    "modelsWithIssues": "{count} Modell(e) mit Problemen",
    "allModelsNormal": "Alle Modelle reagieren normal.",
    "cooldownCleared": "Abklingzeit für {model} gelöscht",
    "failedClearCooldown": "Die Abklingzeit konnte nicht gelöscht werden",
    "loadingAvailability": "Modellverfügbarkeit wird geladen...",
    "clearCooldown": "Klar",
    "clearing": "Löschen...",
    "until": "Bis {time}",
    "providerTestFailed": "Anbietertest fehlgeschlagen",
    "modeTest": "{mode} Test",
    "passedCount": "{count} bestanden",
    "failedCount": "{count} fehlgeschlagen",
    "testedCount": "{count} getestet",
    "millisecondsAbbr": "{value}ms",
    "okShort": "Okay",
    "errorShort": "FEHLER",
    "noActiveConnectionsInGroup": "Für diese Gruppe wurden keine aktiven Verbindungen gefunden.",
    "allTestsPassed": "Alle {total}-Tests bestanden",
    "testSummary": "{passed}/{total} bestanden, {failed} fehlgeschlagen",
    "nameLabel": "Name",
    "prefixLabel": "Präfix",
    "baseUrlLabel": "Basis-URL",
    "apiTypeLabel": "API-Typ",
    "prefixHint": "Erforderlich. Eindeutiges Präfix für Modellnamen.",
    "nameHint": "Erforderlich. Eine benutzerfreundliche Bezeichnung für diesen Knoten.",
    "baseUrlHint": "Erforderlich.  Basis-URL der Anbieter-API.",
    "anthropicPrefixPlaceholder": "AC-Prod",
    "openaiPrefixPlaceholder": "oc-prod",
    "anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1",
    "openaiBaseUrlPlaceholder": "https://api.openai.com/v1",
    "validateConnection": "Verbindung validieren",
    "validating": "Validierung...",
    "connectionValid": "Verbindung ist gültig!",
    "connectionFailed": "Verbindung fehlgeschlagen. Überprüfen Sie URL und Schlüssel.",
    "testKeyLabel": "API-Schlüssel testen",
    "testKeyPlaceholder": "sk-... (nur zur Validierung)",
    "providerNotFound": "Anbieter nicht gefunden",
    "deleteConnectionConfirm": "Diese Verbindung löschen?",
    "failedSetAlias": "Alias konnte nicht festgelegt werden",
    "failedSaveConnection": "Die Verbindung konnte nicht gespeichert werden",
    "failedSaveConnectionRetry": "Die Verbindung konnte nicht gespeichert werden. Bitte versuchen Sie es erneut.",
    "failedRetestConnection": "Die Verbindung konnte nicht erneut getestet werden",
    "deleteCompatibleNodeConfirm": "Diesen {type} kompatiblen Knoten löschen?",
    "anthropicCompatibleDetails": "Anthropic-kompatible Details",
    "openaiCompatibleDetails": "Details zur OpenAI-Kompatibilität",
    "messagesApi": "Nachrichten-API",
    "responsesApi": "Antwort-API",
    "chatCompletions": "Chat-Abschlüsse",
    "importingModels": "Importieren...",
    "importFromModels": "Import aus /models",
    "addConnectionToImport": "Fügen Sie eine Verbindung hinzu, um den Import zu ermöglichen.",
    "noModelsConfigured": "Keine Modelle konfiguriert",
    "connectionCount": "{count} Verbindung(en)",
    "fetchingModels": "Verfügbare Modelle werden abgerufen...",
    "failedFetchModels": "Modelle konnten nicht abgerufen werden",
    "noModelsFound": "Keine Modelle gefunden",
    "importFailed": "Der Import ist fehlgeschlagen",
    "noNewModelsAdded": "Es wurden keine neuen Modelle hinzugefügt.",
    "adding": "Hinzufügen...",
    "importingModelsTitle": "Modelle importieren",
    "copyModel": "Modell kopieren",
    "removeModel": "Modell entfernen",
    "rateLimitProtected": "Geschützt",
    "rateLimitUnprotected": "Ungeschützt",
    "enableRateLimitProtection": "Klicken Sie hier, um den Ratenbegrenzungsschutz zu aktivieren",
    "disableRateLimitProtection": "Klicken Sie hier, um den Ratenbegrenzungsschutz zu deaktivieren",
    "productionKey": "Produktionsschlüssel",
    "enterNewApiKey": "Geben Sie einen neuen API-Schlüssel ein",
    "optional": "Optional",
    "anthropicCompatibleName": "Anthropisch kompatibel",
    "openaiCompatibleName": "OpenAI-kompatibel",
    "failedImportModels": "Modelle konnten nicht importiert werden",
    "noModelsReturnedFromEndpoint": "Vom /models-Endpunkt wurden keine Modelle zurückgegeben.",
    "importingModelsProgress": "{current} von {total} Modellen werden importiert...",
    "foundModelsStartingImport": "{count} Modelle gefunden. Import wird gestartet...",
    "importingModelById": "{modelId} wird importiert...",
    "importSuccessCount": "{count, plural, one {# model} other {# models}} erfolgreich importiert!",
    "noNewModelsAddedExisting": "Es wurden keine neuen Modelle hinzugefügt (alle bereits vorhanden).",
    "importDoneCount": "✓ Fertig! {count, plural, one {# model imported.} other {# models imported.}}",
    "unexpectedErrorOccurred": "Es ist ein unerwarteter Fehler aufgetreten",
    "connectionCountLabel": "{count, plural, one {# connection} other {# connections}}",
    "messagesPath": "Nachrichten",
    "responsesPath": "Antworten",
    "chatCompletionsPath": "Chat/Abschlüsse",
    "add": "Hinzufügen",
    "edit": "Bearbeiten",
    "delete": "Löschen",
    "anthropic": "Anthropisch",
    "openai": "OpenAI",
    "singleConnectionPerCompatible": "Pro kompatiblem Knoten ist nur eine Verbindung zulässig. Fügen Sie einen weiteren Knoten hinzu, wenn Sie mehr Verbindungen benötigen.",
    "connections": "Verbindungen",
    "providerProxyTitleConfigured": "Anbieter-Proxy: {host}",
    "configured": "konfiguriert",
    "providerProxyConfigureHint": "Proxy für alle Verbindungen dieses Anbieters konfigurieren",
    "providerProxy": "Anbieter-Proxy",
    "noConnectionsYet": "Noch keine Verbindungen",
    "addFirstConnectionHint": "Fügen Sie Ihre erste Verbindung hinzu, um loszulegen",
    "addConnection": "Verbindung hinzufügen",
    "availableModels": "Verfügbare Modelle",
    "pageAutoRefresh": "Die Seite wird automatisch aktualisiert...",
    "statusDisabled": "deaktiviert",
    "statusConnected": "verbunden",
    "statusRuntimeIssue": "Laufzeitproblem",
    "statusAuthFailed": "Authentifizierung fehlgeschlagen",
    "statusRateLimited": "Tarif begrenzt",
    "statusNetworkIssue": "Netzwerkproblem",
    "statusTestUnsupported": "Test nicht unterstützt",
    "statusUnavailable": "nicht verfügbar",
    "statusFailed": "gescheitert",
    "statusError": "Fehler",
    "oauthAccount": "OAuth-Konto",
    "errorTypeRuntime": "Lokale Laufzeit",
    "errorTypeUpstreamAuth": "Upstream-Authentifizierung",
    "errorTypeMissingCredential": "Fehlender Ausweis",
    "errorTypeRefreshFailed": "Aktualisierung fehlgeschlagen",
    "errorTypeTokenExpired": "Token abgelaufen",
    "errorTypeRateLimited": "Preis begrenzt",
    "errorTypeUpstreamUnavailable": "Upstream nicht verfügbar",
    "errorTypeNetworkError": "Netzwerkfehler",
    "errorTypeTestUnsupported": "Test nicht unterstützt",
    "errorTypeUpstreamError": "Upstream-Fehler",
    "proxySourceGlobal": "Global",
    "proxySourceProvider": "Anbieter",
    "proxySourceKey": "Schlüssel",
    "proxyConfiguredBySource": "Proxy ({source}): {host}",
    "autoPriority": "Automatisch: {priority}",
    "proxy": "Stellvertreter",
    "retestAuthentication": "Authentifizierung erneut testen",
    "retest": "Erneut testen",
    "disableConnection": "Verbindung deaktivieren",
    "enableConnection": "Verbindung aktivieren",
    "reauthenticateConnection": "Authentifizieren Sie diese Verbindung erneut",
    "proxyConfig": "Proxy-Konfiguration",
    "aliasExistsAlert": "Alias „{alias}“ existiert bereits. Bitte verwenden Sie ein anderes Modell oder bearbeiten Sie den vorhandenen Alias.",
    "openRouterAnyModelHint": "OpenRouter unterstützt jedes Modell. Fügen Sie Modelle hinzu und erstellen Sie Aliase für den schnellen Zugriff.",
    "modelIdFromOpenRouter": "Modell-ID (von OpenRouter)",
    "openRouterModelPlaceholder": "anthropisch/claude-3-opus",
    "customModels": "Benutzerdefinierte Modelle",
    "customModelsHint": "Fügen Sie Modell-IDs hinzu, die nicht in der Standardliste enthalten sind. Diese stehen für das Routing zur Verfügung.",
    "modelId": "Modell-ID",
    "customModelPlaceholder": "z.B. gpt-4,5-turbo",
    "loading": "Laden...",
    "removeCustomModel": "Benutzerdefiniertes Modell entfernen",
    "noCustomModels": "Es wurden noch keine benutzerdefinierten Modelle hinzugefügt.",
    "allSuggestedAliasesExist": "Alle vorgeschlagenen Aliase sind bereits vorhanden. Bitte wählen Sie ein anderes Modell oder entfernen Sie widersprüchliche Aliase.",
    "failedSaveCustomModel": "Das benutzerdefinierte Modell konnte nicht gespeichert werden",
    "modelAddedSuccess": "Modell {modelId} erfolgreich hinzugefügt",
    "failedAddModelTryAgain": "Modell konnte nicht hinzugefügt werden. Bitte versuchen Sie es erneut.",
    "failedSaveImportedModel": "Das importierte Modell konnte nicht in der benutzerdefinierten Datenbank gespeichert werden",
    "failedImportModelsTryAgain": "Modelle konnten nicht importiert werden. Bitte versuchen Sie es erneut.",
    "failedRemoveModelFromDatabase": "Das Modell konnte nicht aus der Datenbank entfernt werden",
    "modelRemovedSuccess": "Modell erfolgreich entfernt",
    "failedDeleteModelTryAgain": "Modell konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.",
    "compatibleModelsDescription": "Fügen Sie {type}-kompatible Modelle manuell hinzu oder importieren Sie sie vom Endpunkt /models.",
    "anthropicCompatibleModelPlaceholder": "claude-3-opus-20240229",
    "openaiCompatibleModelPlaceholder": "gpt-4o",
    "apiKeyValidationFailed": "Die Validierung des API-Schlüssels ist fehlgeschlagen. Bitte überprüfen Sie Ihren Schlüssel und versuchen Sie es erneut.",
    "addProviderApiKeyTitle": "Fügen Sie den API-Schlüssel {provider} hinzu",
    "checking": "Überprüfen...",
    "check": "Überprüfen",
    "valid": "Gültig",
    "invalid": "Ungültig",
    "creating": "Erstellen...",
    "validationChecksAnthropicCompatible": "Die Validierung prüft {provider} durch Überprüfung des API-Schlüssels.",
    "validationChecksOpenAiCompatible": "Die Validierung prüft {provider} über /models auf Ihrer Basis-URL.",
    "priorityLabel": "Priorität",
    "saving": "Sparen...",
    "save": "Speichern",
    "editConnection": "Verbindung bearbeiten",
    "accountName": "Kontoname",
    "email": "E-Mail",
    "healthCheckMinutes": "Gesundheitscheck (Min.)",
    "healthCheckHint": "Proaktives Token-Aktualisierungsintervall. 0 = deaktiviert.",
    "failedTestConnection": "Die Verbindung konnte nicht getestet werden",
    "failed": "Fehlgeschlagen",
    "leaveBlankKeepCurrentApiKey": "Lassen Sie das Feld leer, um den aktuellen API-Schlüssel beizubehalten.",
    "editCompatibleTitle": "Bearbeiten Sie {type} kompatibel",
    "compatibleBaseUrlHint": "Verwenden Sie die Basis-URL (die auf /v1 endet) für Ihre {type}-kompatible API.",
    "apiKeyForCheck": "API-Schlüssel (zur Überprüfung)",
    "compatibleProdPlaceholder": "{type} Kompatibel (Prod)"
  },
  "settings": {
    "title": "Einstellungen",
    "general": "Allgemein",
    "security": "Sicherheit",
    "appearance": "Aussehen",
    "routing": "Routenführung",
    "cache": "Cache",
    "resilience": "Belastbarkeit",
    "systemPrompt": "Systemaufforderung",
    "thinkingBudget": "Denkendes Budget",
    "proxy": "Stellvertreter",
    "pricing": "Preise",
    "storage": "Lagerung",
    "policies": "Richtlinien",
    "ipFilter": "IP-Filter",
    "comboDefaults": "Combo-Standardeinstellungen",
    "fallbackChains": "Fallback-Ketten",
    "changePassword": "Passwort ändern",
    "enablePassword": "Passwort aktivieren",
    "darkMode": "Dunkler Modus",
    "lightMode": "Lichtmodus",
    "systemTheme": "Systemthema",
    "enableCache": "Cache aktivieren",
    "cacheTTL": "Cache-TTL",
    "maxCacheSize": "Maximale Cache-Größe",
    "clearCache": "Cache leeren",
    "cacheHits": "Cache-Treffer",
    "cacheMisses": "Cache-Fehler",
    "hitRate": "Trefferquote",
    "cacheEntries": "Cache-Einträge",
    "circuitBreaker": "Leistungsschalter",
    "retryPolicy": "Wiederholungsrichtlinie",
    "maxRetries": "Max. Wiederholungsversuche",
    "retryDelay": "Wiederholungsverzögerung",
    "timeoutMs": "Timeout (ms)",
    "enableSystemPrompt": "Aktivieren Sie die Systemaufforderung",
    "systemPromptText": "Systemaufforderungstext",
    "enableThinking": "Denken aktivieren",
    "maxThinkingTokens": "Max Thinking Tokens",
    "enableProxy": "Proxy aktivieren",
    "proxyUrl": "Proxy-URL",
    "pricingRates": "Preisformat",
    "currentPricing": "Aktuelle Preisübersicht",
    "loadingPricing": "Preisdaten werden geladen...",
    "noPricing": "Keine Preisdaten verfügbar",
    "input": "Eingabe",
    "output": "Ausgabe",
    "cached": "Zwischengespeichert",
    "reasoning": "Begründung",
    "cacheCreation": "Cache-Erstellung",
    "customPricing": "Individuelle Preise",
    "databaseSize": "Datenbankgröße",
    "backupDb": "Backup-Datenbank",
    "restoreDb": "Datenbank wiederherstellen",
    "exportData": "Daten exportieren",
    "importData": "Daten importieren",
    "clearData": "Alle Daten löschen",
    "clearDataConfirm": "Dadurch werden alle Daten dauerhaft gelöscht. Bist du sicher?",
    "enableRequestLogs": "Aktivieren Sie Anforderungsprotokolle",
    "logRetention": "Protokollaufbewahrung",
    "ipWhitelist": "IP-Whitelist",
    "ipBlacklist": "IP-Blacklist",
    "addIP": "IP hinzufügen",
    "savedSuccessfully": "Einstellungen erfolgreich gespeichert",
    "ai": "KI",
    "advanced": "Fortgeschritten",
    "localMode": "Lokaler Modus – Alle auf Ihrem Computer gespeicherten Daten",
    "settingsSectionsAria": "Abschnitte „Einstellungen“.",
    "switchThemes": "Wechseln Sie zwischen hellen und dunklen Themen",
    "themeSelectionAria": "Themenauswahl",
    "themeLight": "Licht",
    "themeDark": "Dunkel",
    "themeSystem": "System",
    "hideHealthLogs": "Gesundheitsprüfungsprotokolle ausblenden",
    "hideHealthLogsDesc": "Wenn diese Option aktiviert ist, werden [HealthCheck]-Meldungen in der Serverkonsole unterdrückt",
    "promptCache": "Prompt-Cache",
    "flushCache": "Cache leeren",
    "flushing": "Spülen…",
    "size": "Größe",
    "hits": "Treffer",
    "evictions": "Räumungen",
    "loadingCacheStats": "Cache-Statistiken werden geladen…",
    "globalProxy": "Globaler Proxy",
    "globalProxyDesc": "Konfigurieren Sie einen globalen ausgehenden Proxy für alle API-Aufrufe. Einzelne Anbieter, Kombinationen und Schlüssel können dies außer Kraft setzen.",
    "noGlobalProxy": "Kein globaler Proxy konfiguriert",
    "globalLabel": "Global",
    "configure": "Konfigurieren",
    "globalSystemPrompt": "Globale Systemaufforderung",
    "systemPromptDesc": "Wird in alle Anfragen auf Proxy-Ebene eingefügt",
    "saved": "Gespeichert",
    "systemPromptPlaceholder": "Geben Sie die Systemaufforderung ein, um alle Anfragen zu injizieren ...",
    "systemPromptHint": "Diese Eingabeaufforderung wird der Systemnachricht jeder Anfrage vorangestellt. Wird für globale Anweisungen, Sicherheitsrichtlinien oder Antwortformatierungsregeln verwendet.",
    "chars": "{count} Zeichen",
    "thinkingBudgetTitle": "Denkendes Budget",
    "thinkingBudgetDesc": "Kontrollieren Sie die Verwendung von KI-Begründungstoken für alle Anfragen",
    "passthrough": "Passthrough",
    "passthroughDesc": "Keine Änderungen – der Kunde kontrolliert das Denkbudget",
    "auto": "Automatisch",
    "autoDesc": "Entfernen Sie alle Denkkonfigurationen – lassen Sie den Anbieter entscheiden",
    "custom": "Benutzerdefiniert",
    "customDesc": "Legen Sie ein festes Token-Budget für alle Anfragen fest",
    "adaptive": "Adaptiv",
    "adaptiveDesc": "Skalieren Sie das Budget basierend auf der Komplexität der Anfrage",
    "effortNone": "Keine (0 Token)",
    "effortLow": "Niedrig (1.000 Token)",
    "effortMedium": "Mittel (10.000 Token)",
    "effortHigh": "Hoch (128.000 Token)",
    "tokenBudget": "Token-Budget",
    "tokens": "Token",
    "baseEffortLevel": "Grundaufwandsstufe",
    "adaptiveHint": "Der adaptive Modus skaliert ausgehend von dieser Basisebene basierend auf der Nachrichtenanzahl, der Tool-Nutzung und der Eingabeaufforderungslänge.",
    "requireLogin": "Anmeldung erforderlich",
    "requireLoginDesc": "Wenn aktiviert, erfordert das Dashboard ein Passwort. Wenn AUS, Zugriff ohne Anmeldung.",
    "currentPassword": "Aktuelles Passwort",
    "enterCurrentPassword": "Geben Sie das aktuelle Passwort ein",
    "newPassword": "Neues Passwort",
    "enterNewPassword": "Geben Sie ein neues Passwort ein",
    "confirmPassword": "Bestätigen Sie das neue Passwort",
    "confirmPasswordPlaceholder": "Bestätigen Sie das neue Passwort",
    "passwordsNoMatch": "Passwörter stimmen nicht überein",
    "passwordUpdated": "Passwort erfolgreich aktualisiert",
    "failedUpdatePassword": "Das Passwort konnte nicht aktualisiert werden",
    "errorOccurred": "Es ist ein Fehler aufgetreten",
    "updatePassword": "Passwort aktualisieren",
    "setPassword": "Passwort festlegen",
    "apiEndpointProtection": "API-Endpunktschutz",
    "requireAuthModels": "API-Schlüssel für /models erforderlich",
    "requireAuthModelsDesc": "Wenn diese Option aktiviert ist, gibt der Endpunkt /v1/models für nicht authentifizierte Anforderungen 404 zurück. Verhindert die Modellerkennung durch nicht autorisierte Benutzer.",
    "blockedProviders": "Gesperrte Anbieter",
    "blockedProvidersDesc": "Verstecken Sie bestimmte Anbieter in der /v1/models-Antwort. Gesperrte Anbieter erscheinen nicht in den Modelllisten.",
    "providersBlocked": "{count} Anbieter von /models blockiert",
    "blockProviderTitle": "Blockieren Sie {provider}",
    "unblockProviderTitle": "Entsperren Sie {provider}",
    "routingStrategy": "Routing-Strategie",
    "fillFirst": "Zuerst füllen",
    "fillFirstDesc": "Verwenden Sie Konten in der Reihenfolge ihrer Priorität",
    "roundRobin": "Round Robin",
    "roundRobinDesc": "Gehen Sie alle Konten durch",
    "p2c": "P2C",
    "p2cDesc": "Wählen Sie zufällig zwei aus und verwenden Sie die gesündere",
    "random": "Zufällig",
    "randomDesc": "Zufälliges Konto bei jeder Anfrage",
    "leastUsed": "Am wenigsten genutzt",
    "leastUsedDesc": "Wählen Sie das zuletzt verwendete Konto aus",
    "costOpt": "Kosten Opt",
    "costOptDesc": "Bevorzugen Sie das günstigste verfügbare Konto",
    "stickyLimit": "Sticky-Limit",
    "stickyLimitDesc": "Anrufe pro Konto vor dem Wechsel",
    "modelAliases": "Modell-Aliase",
    "modelAliasesDesc": "Platzhaltermuster zum Neuzuordnen von Modellnamen • Verwenden Sie * und ?",
    "aliasPatternPlaceholder": "Claude-Sonett-*",
    "aliasTargetPlaceholder": "claude-sonett-4-20250514",
    "pattern": "Muster",
    "targetModel": "Zielmodell",
    "add": "+ Hinzufügen",
    "session": "Sitzung",
    "sessionDetailsAria": "Sitzungsdetails",
    "status": "Status",
    "authenticated": "Authentifiziert",
    "guest": "Gast",
    "loginTime": "Anmeldezeit",
    "sessionAge": "Sitzungsalter",
    "browser": "Browser",
    "clearLocalData": "Lokale Daten löschen",
    "logout": "Abmelden",
    "clearLocalDataConfirm": "Alle lokalen Daten löschen? Dadurch werden Ihre Einstellungen zurückgesetzt.",
    "unknown": "Unbekannt",
    "systemActor": "System",
    "ipAccessControl": "IP-Zugriffskontrolle",
    "ipAccessControlDesc": "Blockieren oder erlauben Sie bestimmte IP-Adressen",
    "ipModeDisabled": "Deaktiviert",
    "ipModeBlacklist": "Schwarze Liste",
    "ipModeWhitelist": "Whitelist",
    "ipModeWhitelistPriority": "WL-Priorität",
    "addIpAddress": "IP-Adresse hinzufügen",
    "ipAddressPlaceholder": "192.168.1.0/24 oder 10.0.*.*",
    "block": "+ Blockieren",
    "allow": "+ Erlauben",
    "blocked": "Blockiert ({count})",
    "allowed": "Erlaubt ({count})",
    "temporaryBans": "Vorübergehende Sperren ({count})",
    "minLeft": "{min}m übrig",
    "auditLog": "Audit-Protokoll",
    "searchAuditLogs": "Audit-Logs durchsuchen...",
    "failedLoadAuditLog": "Das Audit-Protokoll konnte nicht geladen werden",
    "noAuditEvents": "Keine Prüfereignisse gefunden",
    "action": "Aktion",
    "actor": "Schauspieler",
    "details": "Einzelheiten",
    "time": "Zeit",
    "fallbackChainsTitle": "Fallback-Ketten",
    "fallbackChainsDesc": "Definieren Sie die Anbieter-Fallback-Reihenfolge pro Modell",
    "addChain": "+ Kette hinzufügen",
    "modelName": "Modellname",
    "modelNamePlaceholder": "claude-sonett-4-20250514",
    "providersCommaSeparated": "Anbieter (durch Kommas getrennt, nach Priorität geordnet)",
    "providersCommaSeparatedPlaceholder": "anthropisch, openai, Zwillinge",
    "createChain": "Kette erstellen",
    "noFallbackChains": "Keine Fallback-Ketten",
    "noFallbackChainsDesc": "Erstellen Sie eine Kette, um die Anbieter-Fallback-Reihenfolge für ein Modell zu definieren.",
    "loadingFallbackChains": "Fallback-Ketten werden geladen...",
    "deleteChainConfirm": "Fallback-Kette für „{model}“ löschen?",
    "chainCreated": "Kette für {model} erstellt",
    "chainDeleted": "Kette für {model} gelöscht",
    "failedCreateChain": "Kette konnte nicht erstellt werden",
    "failedDeleteChain": "Kette konnte nicht gelöscht werden",
    "deleteChain": "Kette löschen",
    "fillModelAndProviders": "Bitte geben Sie Modellnamen und Anbieter ein",
    "addAtLeastOneProvider": "Fügen Sie mindestens einen Anbieter hinzu",
    "comboDefaultsTitle": "Combo-Standardeinstellungen",
    "globalComboConfig": "Globale Combo-Konfiguration",
    "defaultStrategy": "Standardstrategie",
    "defaultStrategyDesc": "Wird auf neue Combos ohne explizite Strategie angewendet",
    "comboStrategyAria": "Combo-Strategie",
    "priority": "Priorität",
    "weighted": "Gewichtet",
    "maxRetriesLabel": "Max. Wiederholungsversuche",
    "retryDelayLabel": "Wiederholungsverzögerung (ms)",
    "timeoutLabel": "Timeout (ms)",
    "healthCheck": "Gesundheitscheck",
    "healthCheckDesc": "Überprüfen Sie vorab die Verfügbarkeit des Anbieters",
    "trackMetrics": "Verfolgen Sie Metriken",
    "trackMetricsDesc": "Zeichnen Sie Metriken pro Kombinationsanforderung auf",
    "providerOverrides": "Anbieterüberschreibungen",
    "providerOverridesDesc": "Zeitüberschreitung und Wiederholungsversuche pro Anbieter außer Kraft setzen. Anbietereinstellungen überschreiben globale Standardeinstellungen.",
    "providerMaxRetriesAria": "{provider} maximale Wiederholungsversuche",
    "providerTimeoutAria": "{provider} Timeout ms",
    "removeProviderOverrideAria": "Entfernen Sie die {provider}-Überschreibung",
    "newProviderNamePlaceholder": "z.B. Google, openai...",
    "newProviderNameAria": "Neuer Anbietername",
    "retries": "wiederholt",
    "ms": "Frau",
    "saveComboDefaults": "Combo-Standardeinstellungen speichern",
    "maxNestingDepth": "Maximale Verschachtelungstiefe",
    "concurrencyPerModel": "Parallelität / Modell",
    "queueTimeout": "Warteschlangen-Timeout (ms)",
    "providerProfiles": "Anbieterprofile",
    "providerProfilesDesc": "Separate Resilienzeinstellungen für OAuth-Anbieter (sitzungsbasiert) und API-Schlüsselanbieter (gemessen). OAuth-Anbieter haben aufgrund niedrigerer Ratenlimits strengere Schwellenwerte.",
    "oauthProviders": "OAuth-Anbieter",
    "apiKeyProviders": "API-Schlüsselanbieter",
    "transientCooldown": "Vorübergehende Abklingzeit",
    "rateLimitCooldown": "Abklingzeit der Ratenbegrenzung",
    "maxBackoffLevel": "Max. Backoff-Level",
    "cbThreshold": "CB-Schwelle",
    "cbResetTime": "CB-Resetzeit",
    "rateLimiting": "Ratenbegrenzung",
    "rateLimitingDesc": "API-Schlüsselanbieter unterliegen automatisch einer Ratenbegrenzung mit sicheren Standardwerten. Grenzwerte werden aus Antwortheadern gelernt und passen sich im Laufe der Zeit an.",
    "defaultSafetyNet": "Standard-Sicherheitsnetz",
    "rpm": "U/min",
    "minGap": "Min. Lücke",
    "maxConcurrent": "Maximal gleichzeitig",
    "activeLimiters": "Aktive Limiter",
    "noActiveLimiters": "Noch keine aktiven Ratenbegrenzer.",
    "reservoir": "Stausee",
    "running": "Laufen",
    "queued": "In der Warteschlange",
    "circuitBreakers": "Leistungsschalter",
    "breakerStateClosed": "Geschlossen",
    "breakerStateOpen": "Offen",
    "breakerStateHalfOpen": "Halboffen",
    "tripped": "{count} ausgelöst",
    "healthy": "{count} gesund",
    "resetAll": "Alles zurücksetzen",
    "noCircuitBreakers": "Noch keine Schutzschalter aktiv. Sie werden automatisch erstellt, wenn Anforderungen die Combo-Pipeline durchlaufen.",
    "failures": "{count} Fehler(e)",
    "policiesLocked": "Richtlinien und gesperrte Kennungen",
    "allOperational": "Alle Systeme betriebsbereit – keine Aussperrungen oder ausgelösten Leistungsschalter",
    "loadingPolicies": "Richtlinien werden geladen...",
    "lockedIdentifiers": "Gesperrte Kennungen",
    "unlockedIdentifier": "Entsperrt: {identifier}",
    "sinceDate": "seit {date}",
    "forceUnlock": "Entsperren erzwingen",
    "unlocking": "Entsperren...",
    "failedUnlock": "Entsperren fehlgeschlagen",
    "failedLoadWithStatus": "Fehler beim Laden: {status}",
    "failedLoadResilience": "Ausfallsicherheitsstatus konnte nicht geladen werden",
    "saveFailed": "Speichern fehlgeschlagen",
    "resetFailed": "Zurücksetzen fehlgeschlagen",
    "loadingResilience": "Resilienzstatus wird geladen...",
    "retry": "Versuchen Sie es noch einmal",
    "systemStorage": "System & Speicher",
    "allDataLocal": "Alle Daten werden lokal auf Ihrem Computer gespeichert",
    "databasePath": "Datenbankpfad",
    "exportDatabase": "Datenbank exportieren",
    "exportAll": "Alle exportieren (.tar.gz)",
    "importDatabase": "Datenbank importieren",
    "confirmDbImport": "Bestätigen Sie den Datenbankimport",
    "confirmDbImportDesc": "Dadurch werden alle aktuellen Daten durch den Inhalt von {file} ersetzt. Vor dem Import wird automatisch ein Backup erstellt.",
    "yesImport": "Ja, Import",
    "lastBackup": "Letzte Sicherung",
    "noBackupYet": "Noch kein Backup",
    "backupNow": "Jetzt sichern",
    "backupRestore": "Sichern und Wiederherstellen",
    "viewBackups": "Backups anzeigen",
    "hide": "Verstecken",
    "backupRetentionDesc": "Datenbank-Snapshots werden automatisch vor der Wiederherstellung und alle 15 Minuten erstellt, wenn sich Daten ändern. Aufbewahrung: 24 Stunden + 30 tägliche Backups mit intelligenter Rotation.",
    "loadingBackups": "Backups werden geladen...",
    "noBackupsYet": "Noch keine Backups verfügbar. Bei Datenänderungen werden automatisch Backups erstellt.",
    "backupsAvailable": "{count} Backup(s) verfügbar",
    "refresh": "Aktualisieren",
    "confirm": "Bestätigen?",
    "yes": "Ja",
    "no": "Nein",
    "restore": "Wiederherstellen",
    "invalidFileType": "Ungültiger Dateityp. Es werden nur .sqlite-Dateien akzeptiert.",
    "exportFailed": "Der Export ist fehlgeschlagen",
    "exportFailedWithError": "Export fehlgeschlagen: {error}",
    "fullExportFailedWithError": "Vollständiger Export fehlgeschlagen: {error}",
    "backupCreated": "Backup erstellt: {file}",
    "restoreSuccess": "Restauriert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schlüssel.",
    "importSuccess": "Datenbank importiert! {connections} Verbindungen, {nodes} Knoten, {combos} Combos, {apiKeys} API-Schlüssel.",
    "justNow": "gerade jetzt",
    "minutesAgo": "Vor {count}m",
    "hoursAgo": "Vor {count}h",
    "daysAgo": "Vor {count}d",
    "backupReasonManual": "Handbuch",
    "backupReasonPreRestore": "vor der Wiederherstellung",
    "connectionsCount": "{count, plural, one {# connection} other {# connections}}",
    "noChangesSinceBackup": "Keine Änderungen seit der letzten Sicherung",
    "backupFailed": "Die Sicherung ist fehlgeschlagen",
    "restoreFailed": "Wiederherstellung fehlgeschlagen",
    "importFailed": "Der Import ist fehlgeschlagen",
    "errorDuringRestore": "Bei der Wiederherstellung ist ein Fehler aufgetreten",
    "errorDuringImport": "Beim Import ist ein Fehler aufgetreten",
    "modelPricing": "Modellpreise",
    "modelPricingDesc": "Konfigurieren Sie die Kostensätze pro Modell. • Alle Preise in 1-Millionen-Dollar-Tokens",
    "providers": "Anbieter",
    "registry": "Registrierung",
    "priced": "Preislich",
    "searchProvidersModels": "Anbieter oder Modelle suchen...",
    "showAll": "Alle anzeigen",
    "noProvidersMatch": "Zu Ihrer Suche passen keine Anbieter.",
    "howPricingWorks": "So funktioniert die Preisgestaltung",
    "cacheWrite": "Cache-Schreiben",
    "unsaved": "nicht gespeichert",
    "resetDefaults": "Standardeinstellungen zurücksetzen",
    "saveProvider": "Anbieter speichern",
    "saving": "Sparen...",
    "model": "Modell",
    "models": "Modelle",
    "moreProviders": "{count} weitere Anbieter",
    "withPricing": "mit konfigurierter Preisgestaltung",
    "policiesCircuitBreakers": "Richtlinien und Leistungsschalter",
    "activeIssuesDetected": "Aktive Probleme erkannt",
    "off": "Aus",
    "resetPricingConfirm": "Alle Preise für {provider} auf die Standardwerte zurücksetzen?",
    "pricingDescInput": "Eingabe: An das Modell gesendete Token",
    "pricingDescOutput": "Ausgabe: Token generiert",
    "pricingDescCached": "Zwischengespeichert: Wiederverwendete Eingabe (~50 % der Eingaberate)",
    "pricingDescReasoning": "Begründung: Denktokens (greift auf Ausgabe zurück)",
    "pricingDescCacheWrite": "Cache Write: Erstellen von Cache-Einträgen (fällt auf Input zurück)",
    "pricingDescFormula": "Kosten = (Eingabe × Eingaberate) + (Ausgabe × Ausgaberate) + (zwischengespeichert × zwischengespeicherte_Rate) pro Million Token.",
    "pricingSettingsTitle": "Preiseinstellungen",
    "totalModels": "Gesamtmodelle",
    "active": "Aktiv",
    "costCalculation": "Kostenberechnung",
    "costCalculationDesc": "Die Kosten werden basierend auf der Token-Nutzung und den für jedes Modell konfigurierten Preissätzen berechnet.",
    "pricingFormat": "Preisformat",
    "pricingFormatDesc": "Alle Preise sind in $/1 Mio. Token angegeben (Dollar pro Million Token).",
    "tokenTypes": "Token-Typen",
    "inputTokenDesc": "Standard-Prompt-Token",
    "outputTokenDesc": "Abschluss-/Antworttoken",
    "cachedTokenDesc": "Zwischengespeicherte Eingabetokens (typischerweise 50 % der Eingaberate)",
    "reasoningTokenDesc": "Spezielle Argumentations-/Denk-Tokens (Fallback auf die Ausgaberate)",
    "cacheCreationTokenDesc": "Token, die zum Erstellen von Cache-Einträgen verwendet werden (Fallback auf Eingaberate)",
    "customPricingNote": "Sie können die Standardpreise für bestimmte Modelle überschreiben. Benutzerdefinierte Überschreibungen haben Vorrang vor automatisch erkannten Preisen.",
    "editPricing": "Preise bearbeiten",
    "viewFullDetails": "Vollständige Details anzeigen"
  },
  "translator": {
    "title": "Übersetzer",
    "metaTitle": "Übersetzer-Spielplatz | OmniRoute",
    "metaDescription": "Debuggen, testen und visualisieren Sie API-Formatübersetzungen zwischen Anbietern",
    "playgroundTitle": "Übersetzerspielplatz",
    "playground": "Spielplatz",
    "realtime": "Echtzeit-Übersetzungsaktivität",
    "chatTester": "Chat-Tester",
    "testBench": "Prüfstand",
    "liveMonitor": "Live-Monitor",
    "modeDescriptionPlayground": "Fügen Sie einen beliebigen API-Anfragetext ein und sehen Sie, wie OmniRoute ihn zwischen Anbieterformaten übersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).",
    "modeDescriptionChatTester": "Senden Sie echte Chat-Anfragen über OmniRoute und überprüfen Sie den gesamten Roundtrip: Eingabe, übersetzte Anfrage, Anbieterantwort und übersetzte Ausgabe.",
    "modeDescriptionTestBench": "Führen Sie vordefinierte Szenarien aus und vergleichen Sie die Kompatibilität zwischen Anbietern und Modellen.",
    "modeDescriptionLiveMonitor": "Beobachten Sie Übersetzungsereignisse in Echtzeit, während Anfragen über OmniRoute eingehen.",
    "modeDescriptionFallback": "Debuggen, testen und visualisieren Sie, wie OmniRoute API-Anfragen zwischen Anbietern übersetzt.",
    "recentTranslations": "Aktuelle Übersetzungen",
    "noTranslations": "Noch keine Übersetzungen",
    "source": "Quelle",
    "target": "Ziel",
    "time": "Zeit",
    "model": "Modell",
    "status": "Status",
    "latency": "Latenz",
    "totalTranslations": "Gesamtübersetzungen",
    "successful": "Erfolgreich",
    "errors": "Fehler",
    "avgLatency": "Durchschnittliche Latenz",
    "millisecondsShort": "{value}ms",
    "notAvailableSymbol": "—",
    "liveAutoRefreshing": "Live – Automatische Aktualisierung",
    "paused": "Angehalten",
    "eventsAppearHint": "Übersetzungsereignisse werden hier angezeigt, wenn Anforderungen über OmniRoute fließen. Verwenden Sie eine dieser Methoden, um Ereignisse zu generieren:",
    "chatTesterTab": "Registerkarte „Chat-Tester“.",
    "testBenchTab": "Registerkarte „Prüfstand“.",
    "externalApiCalls": "Externe API-Aufrufe",
    "ideCliIntegrations": "IDE/CLI-Integrationen",
    "inMemoryNote": "Hinweis: Ereignisse werden im Speicher gespeichert und beim Neustart des Servers zurückgesetzt.",
    "ok": "Okay",
    "errorShort": "ERR",
    "formatConverter": "Formatkonverter",
    "formatConverterDescription": "Fügen Sie einen JSON-Anfragetext ein oder geben Sie ihn ein. Der Übersetzer erkennt das Quellformat automatisch und konvertiert es in das Zielformat. Verwenden Sie dies, um zu debuggen, wie OmniRoute Anfragen zwischen Formaten übersetzt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).",
    "input": "Eingabe",
    "output": "Ausgabe",
    "auto": "Automatisch",
    "swapFormats": "Formate austauschen",
    "translateAction": "Übersetzen",
    "clear": "Klar",
    "inputPlaceholder": "Fügen Sie hier einen Anfragetext ein oder wählen Sie unten eine Vorlage aus ...",
    "exampleTemplates": "Beispielvorlagen",
    "exampleTemplatesHint": "— Zum Laden klicken",
    "templateLoadHint": "Die Vorlage lädt die Anfrage im Format {format}. Ändern Sie das Quellformat, um es in einem anderen Format zu laden.",
    "compatibilityTester": "Kompatibilitätstester",
    "compatibilityReport": "Kompatibilitätsbericht",
    "testBenchDescription": "Führen Sie vordefinierte Szenarien aus (einfacher Chat, Tool-Aufruf usw.), um die Übersetzung und die Anbieterkompatibilität zu überprüfen. Wählen Sie ein Quellformat und einen Zielanbieter aus und führen Sie dann alle Tests durch, um einen Kompatibilitätsprozentsatz zu ermitteln. Verwenden Sie diese Funktion, um herauszufinden, welche Funktionen anbieterübergreifend funktionieren.",
    "targetProvider": "Zielanbieter",
    "runAllTests": "Führen Sie alle Tests aus",
    "runTest": "Test ausführen",
    "reRun": "Wiederholen",
    "running": "Laufen...",
    "passed": "bestanden",
    "failed": "gescheitert",
    "passedIconLabel": "✅Bestanden",
    "chunks": "Brocken",
    "scenarioSimpleChat": "Einfacher Chat",
    "scenarioToolCalling": "Werkzeugaufruf",
    "scenarioMultiTurn": "Multiturn",
    "scenarioThinking": "Denken",
    "scenarioSystemPrompt": "Systemaufforderung",
    "scenarioStreaming": "Streaming",
    "templateNames": {
      "simple-chat": "Einfacher Chat",
      "tool-calling": "Werkzeugaufruf",
      "multi-turn": "Multiturn",
      "thinking": "Denken",
      "system-prompt": "Systemaufforderung",
      "streaming": "Streaming"
    },
    "templateDescriptions": {
      "simple-chat": "Einfache Textnachricht",
      "tool-calling": "Funktions-/Tool-Aufruf",
      "multi-turn": "Gespräch mit der Geschichte",
      "thinking": "Erweitertes Denken / Argumentieren",
      "system-prompt": "Komplexe Systemanweisungen",
      "streaming": "SSE-Streaming-Anfrage"
    },
    "templatePayloads": {
      "simpleChat": {
        "system": "Sie sind ein hilfreicher Assistent.",
        "userGreeting": "Hallo! Wie geht es dir heute?"
      },
      "toolCalling": {
        "userWeather": "Wie ist das Wetter in São Paulo?",
        "toolDescription": "Erhalten Sie das aktuelle Wetter für einen Standort",
        "cityNameDescription": "Stadtname"
      },
      "multiTurn": {
        "system": "Sie sind Codierungsassistent.",
        "userInitial": "Schreiben Sie eine Funktion zum Sortieren eines Arrays in Python.",
        "assistantExample": "Hier ist eine einfache Sortierfunktion:\n\n„Python\ndef sort_array(arr):\n    Rückgabe sortiert(arr)\n„",
        "userFollowUp": "Sortieren Sie nun in absteigender Reihenfolge."
      },
      "thinking": {
        "question": "Wie groß ist die Summe der ersten 100 Primzahlen?"
      },
      "systemPrompt": {
        "systemInstruction": "Sie sind ein leitender Softwareentwickler mit Spezialisierung auf verteilte Systeme. Beantworten Sie Fragen präzise und nutzen Sie die Best Practices der Branche. Geben Sie bei Bedarf immer Codebeispiele an. Formatieren Sie Ihre Antworten mit Markdown.",
        "question": "Wie setze ich ein Schutzschaltermuster um?"
      },
      "streaming": {
        "prompt": "Erzählen Sie mir eine kurze Geschichte über einen Roboter, der malen lernt."
      }
    },
    "openaiCompatibleLabel": "OpenAI-kompatibel",
    "anthropicCompatibleLabel": "Anthropisch kompatibel",
    "noTemplateForFormat": "Keine Vorlage für dieses Format",
    "translationFailed": "Übersetzung fehlgeschlagen: {error}",
    "pipelineDebugger": "Pipeline-Debugger",
    "translationPipeline": "Übersetzungspipeline",
    "pipelineVisualization": "Pipeline-Visualisierung",
    "pipelineVisualizationHint": "Senden Sie eine Nachricht, um zu sehen, wie Ihre Anfrage durch Erkennung → Übersetzung → Anbieteranruf verläuft.",
    "chatTesterDescription": "Senden Sie Nachrichten in einem bestimmten Clientformat und überprüfen Sie jeden Schritt der Übersetzungspipeline.",
    "chatTesterFlow": "Client-Anfrage → Formaterkennung → OpenAI Intermediate → Anbieterformat → Antwort",
    "clickStepToInspect": "Klicken Sie auf einen beliebigen Schritt, um die Daten in dieser Phase zu überprüfen.",
    "clientFormat": "Client-Format",
    "provider": "Anbieter",
    "modelPlaceholder": "Wählen Sie einen Modellnamen aus oder geben Sie ihn ein...",
    "sendMessageToSeePipeline": "Senden Sie eine Nachricht, um die Übersetzungspipeline anzuzeigen",
    "chatMessageHintPrefix": "Ihre Nachricht wird als formatiert",
    "chatMessageHintSuffix": "Anfrage, übersetzt durch die Pipeline und gesendet an den ausgewählten Anbieter.",
    "youWithFormat": "Sie ({format})",
    "assistant": "Assistent",
    "typeMessage": "Geben Sie eine Nachricht ein...",
    "send": "Senden",
    "clientRequest": "Kundenanfrage",
    "clientRequestDescription": "Der Anfragetext, wie ihn Ihr Kunde senden würde",
    "formatDetected": "Format erkannt",
    "formatDetectedDescription": "OmniRoute erkennt das API-Format automatisch anhand der Anforderungsstruktur",
    "openaiIntermediate": "OpenAI-Mittelstufe",
    "openaiIntermediateDescription": "Alle Formate werden zunächst auf das OpenAI-Format (die universelle Brücke) normalisiert.",
    "providerFormat": "Anbieterformat",
    "providerFormatDescription": "Das OpenAI-Format wird in das native Format des Anbieters übersetzt",
    "providerResponse": "Antwort des Anbieters",
    "providerResponseRawDescription": "Die Rohantwort der Anbieter-API",
    "providerResponseSseDescription": "Der rohe SSE-Stream von der Anbieter-API",
    "unexpectedError": "Es ist ein unerwarteter Fehler aufgetreten",
    "error": "Fehler",
    "errorMessage": "Fehler: {message}",
    "requestFailed": "Die Anfrage ist fehlgeschlagen",
    "noTextExtracted": "(Kein Text extrahiert)",
    "liveMonitorDescriptionPrefix": "Zeigt Übersetzungsereignisse an, während API-Aufrufe über OmniRoute fließen. Ereignisse kommen aus dem In-Memory-Puffer (wird beim Neustart zurückgesetzt). Benutzen",
    "liveMonitorDescriptionSuffix": "oder externe API-Aufrufe zum Generieren von Ereignissen."
  },
  "usage": {
    "title": "Nutzung",
    "loggerTab": "Logger",
    "proxyTab": "Stellvertreter",
    "budgetManagement": "Budgetverwaltung",
    "budgetSaved": "Budgetgrenzen eingespart",
    "budgetSaveFailed": "Das Budget konnte nicht gespeichert werden",
    "loadingBudgetData": "Budgetdaten werden geladen...",
    "noApiKeysTitle": "Keine API-Schlüssel",
    "noApiKeysDescription": "Fügen Sie zunächst API-Schlüssel hinzu, um Budgetgrenzen festzulegen.",
    "apiKey": "API-Schlüssel",
    "todaysSpend": "Heutige Ausgaben",
    "thisMonth": "Diesen Monat",
    "setLimits": "Grenzen setzen",
    "dailyLimitUsd": "Tageslimit (USD)",
    "monthlyLimitUsd": "Monatslimit (USD)",
    "warningThresholdPercent": "Warnschwelle (%)",
    "dailyLimitPlaceholder": "z.B. 5.00",
    "monthlyLimitPlaceholder": "z.B. 50,00",
    "warningThresholdPlaceholder": "80",
    "saveLimits": "Grenzen speichern",
    "budgetOk": "Budget OK – {remaining} verbleibend",
    "budgetExceeded": "Budget überschritten – Anfragen werden möglicherweise blockiert",
    "totalRequests": "Gesamtzahl der Anfragen",
    "noDataYet": "Noch keine Daten",
    "latency": "Latenz",
    "latencyP50": "S. 50",
    "latencyP95": "S. 95",
    "latencyP99": "S. 99",
    "promptCache": "Prompt-Cache",
    "systemHealth": "Systemgesundheit",
    "entries": "Einträge",
    "activeCount": "{count} aktiv",
    "openCircuitBreakersDetected": "Offene Leistungsschalter erkannt",
    "hitRate": "Trefferquote",
    "hitsMisses": "Treffer/Fehlschläge",
    "circuitBreakers": "Leistungsschalter",
    "lockedIPs": "Gesperrte IPs",
    "lockoutsAutoRefreshHint": "Ratenbegrenzungssperren pro Modell • Automatische Aktualisierung 10 Sekunden",
    "lockedCount": "{count, plural, one {# locked} other {# locked}}",
    "timeLeft": "{time} übrig",
    "howItWorks": "Wie es funktioniert",
    "howItWorksSubtitle": "Erfahren Sie, wie Bewertungen Ihre LLM-Antworten validieren",
    "define": "Definieren",
    "defineStepDescription": "Erstellen Sie Testfälle mit Eingabeaufforderungen und erwarteten Ausgabekriterien mithilfe von Strategien wie „Enthält“, „Regex“ oder „Genaue Übereinstimmung“.",
    "run": "Lauf",
    "runStepDescription": "Führen Sie Testfälle für Ihre LLM-Endpunkte über OmniRoute aus. Jeder Fall wird als echte API-Anfrage gesendet.",
    "evaluate": "Bewerten",
    "evaluateStepDescription": "Die Antworten werden mit den erwarteten Kriterien verglichen. Sehen Sie sich für jeden Fall das Bestehen/Nichtbestehen mit Latenzmetriken und detailliertem Feedback an.",
    "evalSuites": "Evaluierungssuiten",
    "evalSuitesHint": "Klicken Sie auf eine Suite, um Testfälle anzuzeigen, und führen Sie sie dann aus, um Ihre LLM-Endpunkte zu bewerten",
    "evalsLoading": "Evaluierungssuiten werden geladen...",
    "noEvalSuitesFound": "Keine Evaluierungssuiten gefunden",
    "noEvalSuitesDescription": "Evaluierungssuiten können über die API oder im Code definiert werden. Sie testen Modellausgaben anhand erwarteter Ergebnisse mithilfe von Strategien wie „Contains“, „Regex“, „Exact Match“ und benutzerdefinierten Funktionen.",
    "columnCase": "Fall",
    "columnStatus": "Status",
    "columnLatency": "Latenz",
    "columnDetails": "Einzelheiten",
    "columnModel": "Modell",
    "columnStrategy": "Strategie",
    "columnExpected": "Erwartet",
    "statsSuites": "Suiten",
    "statsTestCases": "Testfälle",
    "statsModels": "Modelle",
    "statsCoverage": "Abdeckung",
    "statsStrategiesCount": "{count} Strategien",
    "evaluationStrategies": "Bewertungsstrategien",
    "modelsUnderTest": "Im Test befindliche Modelle",
    "searchSuitesPlaceholder": "Suiten suchen...",
    "passSuffix": "passieren",
    "casesCount": "{count, plural, one {# case} other {# cases}}",
    "runEval": "Führen Sie die Evaluierung aus",
    "runningProgress": "Ausführen von {current}/{total}...",
    "passRate": "Erfolgsquote",
    "summaryBreakdown": "{passed} bestanden · {failed} fehlgeschlagen · {total} insgesamt",
    "passedIconLabel": "✅Bestanden",
    "failedIconLabel": "❌ Fehlgeschlagen",
    "detailsContains": "Enthält: „{term}“",
    "detailsRegex": "Regex: {pattern}",
    "detailsExpected": "Erwartet: „{expected}“",
    "noResultsYet": "Noch keine Ergebnisse",
    "testCasesCount": "Testfälle ({count})",
    "noTestCasesDefined": "Keine Testfälle definiert",
    "runEvalHint": "Klicken Sie auf „Auswertung ausführen“, um alle Fälle für Ihren LLM-Endpunkt auszuführen. Jeder Test sendet eine echte Anfrage über OmniRoute.",
    "notifyNoTestCases": "Für diese Suite sind keine Testfälle definiert",
    "notifyAllCasesPassed": "Alle {total} Fälle bestanden ✅",
    "notifySomeCasesFailed": "{passed}/{total} bestanden, {failed} fehlgeschlagen",
    "notifyEvalRunFailed": "Evaluierungslauf fehlgeschlagen",
    "notifyEvalTitle": "Auswertung: {name}",
    "modelEvals": "Modellbewertungen",
    "evalsHeroDescription": "Testen und validieren Sie Ihre LLM-Endpunkte, indem Sie vordefinierte Evaluierungssuiten ausführen. Jede Suite enthält Testfälle, die echte Eingabeaufforderungen über OmniRoute senden und Antworten mit erwarteten Kriterien vergleichen. So können Sie Regressionen erkennen, Modelle vergleichen und die Antwortqualität anbieterübergreifend sicherstellen.",
    "qualityValidation": "Qualitätsvalidierung",
    "modelComparison": "Modellvergleich",
    "regressionDetection": "Regressionserkennung",
    "latencyBenchmarks": "Latenz-Benchmarks",
    "modelLockouts": "Modellsperren",
    "noLockouts": "Derzeit sind keine Modelle gesperrt",
    "activeSessions": "Aktive Sitzungen",
    "noSessions": "Keine aktiven Sitzungen",
    "sessionsHint": "Sitzungen erscheinen als Anfragen, die über den Proxy fließen",
    "sessionsTrackedHint": "Verfolgt über Anforderungs-Fingerprinting • Automatische Aktualisierung 5 Sekunden",
    "session": "Sitzung",
    "age": "Alter",
    "requests": "Anfragen",
    "connection": "Verbindung",
    "durationMillisecondsShort": "{value}ms",
    "durationSecondsShort": "{value}s",
    "durationMinutesShort": "{value}m",
    "durationHoursShort": "{value}h",
    "reasonSeparator": " - ",
    "notAvailableSymbol": "-",
    "providerLimits": "Anbieterbeschränkungen",
    "noProviders": "Keine Anbieter verbunden",
    "connectProvidersForQuota": "Stellen Sie über OAuth eine Verbindung zu Anbietern her, um Ihre API-Kontingentgrenzen und -Nutzung zu verfolgen.",
    "accountsCount": "{count, plural, one {# account} other {# accounts}}",
    "filteredFromCount": "(gefiltert aus {count})",
    "autoRefresh": "Automatische Aktualisierung",
    "refreshAll": "Alle aktualisieren",
    "loadingQuotas": "Laden...",
    "account": "Konto",
    "modelQuotas": "Modellkontingente",
    "lastUsed": "Zuletzt verwendet",
    "actions": "Aktionen",
    "refreshQuota": "Kontingent aktualisieren",
    "today": "Heute",
    "tomorrow": "Morgen",
    "dayTimeFormat": "{day}, {time}",
    "inDuration": "in {duration}",
    "notApplicable": "N/A",
    "rawPlanWithValue": "Rohplan: {plan}",
    "noPlanFromProvider": "Kein Plan vom Anbieter",
    "noQuotaData": "Keine Quotendaten",
    "noQuotaDataAvailable": "Keine Quotendaten verfügbar",
    "noAccountsForTierFilter": "Für den Stufenfilter wurden keine Konten gefunden",
    "tierAll": "Alle",
    "tierEnterprise": "Unternehmen",
    "tierTeam": "Team",
    "tierBusiness": "Geschäft",
    "tierUltra": "Ultra",
    "tierPro": "Profi",
    "tierPlus": "Plus",
    "tierFree": "Kostenlos",
    "tierUnknown": "Unbekannt"
  },
  "modals": {
    "waitingAuth": "Warten auf Autorisierung",
    "verificationUrl": "Verifizierungs-URL",
    "yourCode": "Ihr Code",
    "remoteAccess": "Fernzugriff:",
    "connectedSuccess": "Erfolgreich verbunden!",
    "connectionFailed": "Verbindung fehlgeschlagen",
    "chooseAuthMethod": "Wählen Sie Ihre Authentifizierungsmethode:",
    "awsBuilderId": "AWS Builder-ID",
    "awsIamIdentity": "AWS IAM Identity Center",
    "googleAccount": "Google-Konto",
    "githubAccount": "GitHub-Konto",
    "importToken": "Token importieren",
    "pasteToken": "Aktualisierungstoken aus der Kiro-IDE einfügen.",
    "awsRegion": "AWS-Region",
    "autoDetecting": "Automatische Erkennung von Token...",
    "readingFromCache": "Lesen aus dem AWS SSO-Cache",
    "readingFromCursor": "Lesen aus der Cursor-IDE-Datenbank",
    "initializing": "Initialisierung...",
    "pricingConfig": "Preiskonfiguration",
    "loadingPricing": "Preisdaten werden geladen...",
    "pricingRatesFormat": "Preisformat",
    "noPricingData": "Keine Preisdaten verfügbar",
    "noModelsFound": "Keine Modelle gefunden"
  },
  "loggers": {
    "allProviders": "Alle Anbieter",
    "allModels": "Alle Modelle",
    "allAccounts": "Alle Konten",
    "allApiKeys": "Alle API-Schlüssel",
    "allTypes": "Alle Typen",
    "allLevels": "Alle Ebenen",
    "modelAZ": "Modell A-Z",
    "modelZA": "Modell Z-A",
    "loadingLogs": "Protokolle werden geladen...",
    "loadingProxyLogs": "Proxy-Protokolle werden geladen...",
    "noLogEntries": "Keine Protokolleinträge gefunden",
    "noPayloadData": "Für diesen Protokolleintrag sind keine Nutzdaten verfügbar.",
    "proxyEvent": "Proxy-Ereignis",
    "proxy": "Stellvertreter",
    "level": "Ebene",
    "directNative": "Direkt (nativ)",
    "combo": "Kombi",
    "inputTokens": "Ich:",
    "outputTokens": "O:"
  },
  "stats": {
    "usageOverview": "Nutzungsübersicht",
    "outputTokens": "Ausgabetoken",
    "totalCost": "Gesamtkosten",
    "usageByModel": "Nutzung nach Modell",
    "usageByAccount": "Nutzung nach Konto",
    "failedToLoad": "Nutzungsstatistiken konnten nicht geladen werden.",
    "tokenHealth": "Token-Gesundheit",
    "totalOAuth": "Gesamt-OAuth",
    "healthy": "Gesund",
    "warning": "Warnung",
    "errored": "Fehlerhaft",
    "lastCheck": "Letzte Kontrolle",
    "noData": "Keine Daten",
    "share": "Teilen",
    "unableToLoad": "Systemmetriken können nicht geladen werden",
    "product": "Produkt",
    "resources": "Ressourcen",
    "company": "Unternehmen"
  },
  "auth": {
    "welcome": "Willkommen",
    "signIn": "Melden Sie sich an",
    "enterPassword": "Geben Sie Ihr Passwort ein, um fortzufahren",
    "password": "Passwort",
    "unifiedProxy": "Einheitlicher KI-API-Proxy",
    "unifiedAiApiProxy": "Einheitlicher KI-API-Proxy",
    "unifiedAiApiProxyDesc": "Leiten Sie Anfragen über einen einzigen Endpunkt an mehrere KI-Anbieter weiter. Integrierter Lastausgleich, Failover und Nutzungsverfolgung.",
    "passwordNotEnabled": "Der Passwortschutz ist nicht aktiviert",
    "loading": "Laden...",
    "invalidPassword": "Ungültiges Passwort",
    "errorOccurredRetry": "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
    "configureInstance": "Lassen Sie uns Ihre OmniRoute-Instanz konfigurieren",
    "runOnboardingWizard": "Führen Sie den Onboarding-Assistenten aus, um Ihr Passwort einzurichten und Ihren ersten KI-Anbieter zu verbinden.",
    "startOnboarding": "Beginnen Sie mit dem Onboarding",
    "secureYourInstance": "Sichern Sie Ihre Instanz",
    "setPasswordDescription": "Legen Sie ein Passwort fest, um Ihr Dashboard zu schützen und Ihre API-Endpunkte vor unbefugtem Zugriff zu schützen.",
    "configurePassword": "Passwort konfigurieren",
    "continue": "Weiter",
    "windowWillClose": "Dieses Fenster wird automatisch geschlossen...",
    "closeTabNow": "Sie können diesen Tab jetzt schließen.",
    "copyUrlManual": "Kopieren Sie die URL aus der Adressleiste und fügen Sie sie in die Anwendung ein.",
    "accessDeniedDescription": "Sie haben keine Berechtigung, auf diese Ressource zuzugreifen. Überprüfen Sie Ihren API-Schlüssel oder wenden Sie sich an den Administrator.",
    "goToDashboard": "Gehen Sie zum Dashboard",
    "featureMultiProviderTitle": "Multi-Provider",
    "featureMultiProviderDesc": "OpenAI, Anthropic, Google und mehr",
    "featureLoadBalancingTitle": "Lastausgleich",
    "featureLoadBalancingDesc": "Verteilen Sie Anfragen intelligent",
    "featureUsageTrackingTitle": "Nutzungsverfolgung",
    "featureUsageTrackingDesc": "Überwachen Sie Kosten und Token",
    "resetPassword": "Passwort zurücksetzen",
    "resetDescription": "Wählen Sie eine Methode, um den Zugriff auf Ihr Dashboard wiederherzustellen",
    "stopServer": "Stoppen Sie den OmniRoute-Server",
    "processing": "Verarbeitung...",
    "pleaseWait": "Bitte warten Sie, während wir die Autorisierung abschließen.",
    "authSuccess": "Autorisierung erfolgreich!",
    "copyUrl": "Kopieren Sie diese URL",
    "accessDenied": "Zugriff verweigert",
    "methodCliTitle": "Methode 1: CLI-Reset",
    "methodCliDescription": "Führen Sie den folgenden Befehl auf dem Server aus, auf dem OmniRoute ausgeführt wird:",
    "methodCliHint": "Dadurch werden Sie aufgefordert, ein neues Passwort festzulegen. Der Server muss zuerst gestoppt werden.",
    "methodManualTitle": "Methode 2: Manuelles Zurücksetzen",
    "methodManualDescription": "Löschen Sie das Passwort aus der Datenbank und legen Sie beim Start ein neues fest:",
    "setPasswordInYour": "Legen Sie ein neues Passwort in Ihrer",
    "fileLabelSuffix": "Datei:",
    "newPasswordPlaceholder": "ihr_neues_passwort",
    "deleteSettingsFile": "Löschen",
    "orRemovePasswordHashField": "oder entfernen Sie das Feld „passwordHash“.",
    "restartServerWithNewPassword": "Starten Sie den Server neu – er verwendet das neue Passwort",
    "backToLogin": "Zurück zum Anmelden",
    "forgotPassword": "Passwort vergessen?"
  },
  "landing": {
    "brandName": "OmniRoute",
    "navigateHome": "Navigieren Sie zur Startseite",
    "toggleMenu": "Menü umschalten",
    "featuresLink": "Funktionen",
    "docsLink": "Dokumente",
    "github": "GitHub",
    "versionLive": "v1.0 ist jetzt live",
    "oneEndpoint": "Ein Endpunkt für",
    "allProviders": "Alle KI-Anbieter",
    "heroDescription": "KI-Endpunkt-Proxy mit Web-Dashboard – Eine JavaScript-Portierung von CLIProxyAPI. Funktioniert nahtlos mit Claude Code, OpenAI Codex, Cline, RooCode und anderen CLI-Tools.",
    "getStarted": "Legen Sie los",
    "viewOnGithub": "Auf GitHub ansehen",
    "powerfulFeatures": "Leistungsstarke Funktionen",
    "featuresSubtitle": "Alles, was Sie zum Verwalten Ihrer KI-Infrastruktur benötigen, an einem Ort, skalierbar.",
    "featureUnifiedEndpointTitle": "Einheitlicher Endpunkt",
    "featureUnifiedEndpointDesc": "Greifen Sie über eine einzige Standard-API-URL auf alle Anbieter zu.",
    "featureEasySetupTitle": "Einfache Einrichtung",
    "featureEasySetupDesc": "Mit dem Befehl npx können Sie in wenigen Minuten loslegen.",
    "featureModelFallbackTitle": "Modell-Fallback",
    "featureModelFallbackDesc": "Wechseln Sie automatisch den Anbieter bei Ausfall oder hoher Latenz.",
    "featureUsageTrackingTitle": "Nutzungsverfolgung",
    "featureUsageTrackingDesc": "Detaillierte Analysen und Kostenüberwachung für alle Modelle.",
    "featureOAuthApiKeysTitle": "OAuth- und API-Schlüssel",
    "featureOAuthApiKeysDesc": "Verwalten Sie Anmeldeinformationen sicher in einem Tresor.",
    "featureCloudSyncTitle": "Cloud-Synchronisierung",
    "featureCloudSyncDesc": "Synchronisieren Sie Ihre Konfigurationen sofort geräteübergreifend.",
    "featureCliSupportTitle": "CLI-Unterstützung",
    "featureCliSupportDesc": "Funktioniert mit Claude Code, Codex, Cline, Cursor und mehr.",
    "featureDashboardTitle": "Armaturenbrett",
    "featureDashboardDesc": "Visuelles Dashboard für Echtzeit-Verkehrsanalyse.",
    "howItWorks": "So funktioniert OmniRoute",
    "howItWorksDescription": "Die Daten fließen nahtlos von Ihrer Anwendung über unsere intelligente Routing-Ebene zum besten Anbieter für die jeweilige Aufgabe.",
    "howItWorksStep1Title": "1. CLI und SDKs",
    "howItWorksStep1Description": "Ihre Anfragen beginnen mit Ihren bevorzugten Tools oder unserem einheitlichen SDK. Ändern Sie einfach die Basis-URL.",
    "howItWorksStep2Title": "2. OmniRoute-Hub",
    "howItWorksStep2Description": "Unsere Engine analysiert die Eingabeaufforderung, überprüft den Zustand des Anbieters und leitet Routen auf niedrigste Latenz oder Kosten weiter.",
    "howItWorksStep3Title": "3. KI-Anbieter",
    "howItWorksStep3Description": "Die Anfrage wird von OpenAI, Anthropic, Gemini oder anderen sofort erfüllt.",
    "getStartedIn30Seconds": "Beginnen Sie in 30 Sekunden",
    "getStartedDescription": "Installieren Sie OmniRoute, konfigurieren Sie Ihre Anbieter über das Web-Dashboard und beginnen Sie mit der Weiterleitung von KI-Anfragen.",
    "installOmniRoute": "Installieren Sie OmniRoute",
    "installStepDescription": "Führen Sie den Befehl npx aus, um den Server sofort zu starten",
    "openDashboard": "Öffnen Sie das Dashboard",
    "openDashboardStepDescription": "Konfigurieren Sie Anbieter und API-Schlüssel über die Weboberfläche",
    "routeRequests": "Routenanfragen",
    "routeRequestsStepDescription": "Richten Sie Ihre CLI-Tools auf {endpoint}",
    "terminal": "Terminal",
    "copy": "Kopieren",
    "copied": "✓ Kopiert",
    "startingOmniRoute": "OmniRoute wird gestartet...",
    "serverRunningOnLabel": "Server läuft weiter",
    "dashboardLabel": "Armaturenbrett",
    "readyToRoute": "Bereit zum Routen! ✓",
    "configureProvidersNote": "📝 Konfigurieren Sie Anbieter im Dashboard oder verwenden Sie Umgebungsvariablen",
    "dataLocation": "Datenspeicherort:",
    "dataLocationMacLinux": " macOS/Linux:",
    "dataLocationWindows": " Windows:",
    "product": "Produkt",
    "dashboardLink": "Armaturenbrett",
    "changelog": "Änderungsprotokoll",
    "resources": "Ressourcen",
    "documentation": "Dokumentation",
    "npm": "NPM",
    "legal": "Legal",
    "mitLicense": "MIT-Lizenz",
    "footerTagline": "Der einheitliche Endpunkt für die KI-Generierung. Verbinden, leiten und verwalten Sie Ihre KI-Anbieter ganz einfach.",
    "copyright": "© {year} OmniRoute. Alle Rechte vorbehalten.",
    "flowToolClaudeCode": "Claude Code",
    "flowToolOpenAICodex": "OpenAI-Codex",
    "flowToolCline": "Cline",
    "flowToolCursor": "Cursor",
    "flowProviderOpenAI": "OpenAI",
    "flowProviderAnthropic": "Anthropisch",
    "flowProviderGemini": "Zwillinge",
    "flowProviderGithubCopilot": "GitHub-Copilot",
    "interactiveDiagram": "Interaktives Diagramm auf dem Desktop sichtbar",
    "ctaTitle": "Sind Sie bereit, Ihre KI-Infrastruktur zu vereinfachen?",
    "ctaDescription": "Schließen Sie sich Entwicklern an, die ihre KI-Integrationen mit OmniRoute optimieren. Open Source und kostenlos zu starten.",
    "startFree": "Kostenlos starten",
    "readDocumentation": "Dokumentation lesen"
  },
  "docs": {
    "title": "Dokumentation",
    "quickStart": "Schnellstart",
    "features": "Funktionen",
    "supportedProviders": "Unterstützte Anbieter",
    "supportedProvidersToc": "Anbieter",
    "commonUseCases": "Häufige Anwendungsfälle",
    "clientCompatibility": "Client-Kompatibilität",
    "apiReference": "API-Referenz",
    "method": "Methode",
    "path": "Pfad",
    "notes": "Notizen",
    "modelPrefixes": "Modellpräfixe",
    "prefix": "Präfix",
    "troubleshooting": "Fehlerbehebung",
    "supportsChat": "Unterstützt sowohl Chat- als auch Antwortendpunkte.",
    "oauthAutoRefresh": "OAuth-Verbindung mit automatischer Token-Aktualisierung.",
    "fullStreaming": "Volle Streaming-Unterstützung für alle Modelle.",
    "docsLabel": "Dokumente",
    "docsHeroDescription": "KI-Gateway für LLMs mit mehreren Anbietern. Ein Endpunkt für OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor und über 20 weitere Anbieter.",
    "openDashboard": "Öffnen Sie das Dashboard",
    "endpointPage": "Endpunktseite",
    "github": "GitHub",
    "reportIssue": "Problem melden",
    "onThisPage": "Auf dieser Seite",
    "documentationVersion": "Dokumentation – v{version}",
    "quickStartStep1Title": "1. Installieren und ausführen",
    "quickStartStep1Prefix": "Lauf",
    "quickStartStep1Middle": "oder von GitHub klonen und ausführen",
    "quickStartStep2Title": "2. API-Schlüssel erstellen",
    "quickStartStep2Text": "Gehen Sie zu Endpunkt -> Registrierte Schlüssel. Generieren Sie einen Schlüssel pro Umgebung.",
    "quickStartStep3Title": "3. Anbieter verbinden",
    "quickStartStep3Text": "Fügen Sie Anbieterkonten über OAuth-Login, API-Schlüssel oder kostenlose automatische Verbindung hinzu.",
    "quickStartStep4Title": "4. Legen Sie die Client-Basis-URL fest",
    "quickStartStep4Prefix": "Verweisen Sie Ihren IDE- oder API-Client auf",
    "quickStartStep4Suffix": "Verwenden Sie beispielsweise das Provider-Präfix",
    "featureRoutingTitle": "Multi-Provider-Routing",
    "featureRoutingText": "Leiten Sie Anfragen über einen einzigen OpenAI-kompatiblen Endpunkt an über 30 KI-Anbieter weiter. Unterstützt Chat-, Antwort-, Audio- und Bild-APIs.",
    "featureCombosTitle": "Combos und Balancing",
    "featureCombosText": "Erstellen Sie Modellkombinationen mit Fallback-Ketten und Ausgleichsstrategien: Round-Robin, Priorität, Zufall, am wenigsten genutzt und kostenoptimiert.",
    "featureUsageTitle": "Nutzungs- und Kostenverfolgung",
    "featureUsageText": "Echtzeit-Token-Zählung, Kostenberechnung pro Anbieter/Modell und detaillierte Nutzungsaufschlüsselung nach API-Schlüssel und Konto.",
    "featureAnalyticsTitle": "Analytics-Dashboard",
    "featureAnalyticsText": "Visuelle Analysen mit Diagrammen für Anfragen, Token, Fehler, Latenz, Kosten und Modellpopularität im Zeitverlauf.",
    "featureHealthTitle": "Gesundheitsüberwachung",
    "featureHealthText": "Live-Zustandsprüfungen, Anbieterstatus, Leistungsschalterzustände und automatische Erkennung von Ratengrenzen mit exponentiellem Backoff.",
    "featureCliTitle": "CLI-Tools",
    "featureCliText": "Verwalten Sie IDE-Konfigurationen, exportieren/importieren Sie Backups, entdecken Sie Codex-Profile und konfigurieren Sie Einstellungen über das Dashboard.",
    "featureSecurityTitle": "Sicherheit und Richtlinien",
    "featureSecurityText": "API-Schlüsselauthentifizierung, IP-Filterung, Prompt-Injection-Guard, Domänenrichtlinien, Sitzungsverwaltung und Audit-Protokollierung.",
    "featureCloudSyncTitle": "Cloud-Synchronisierung",
    "featureCloudSyncText": "Synchronisieren Sie Ihre Konfiguration mit Cloudflare Workers für den Fernzugriff mit verschlüsselten Anmeldeinformationen und automatischem Failover.",
    "providersAcrossConnectionTypes": "{count}-Anbieter über drei Verbindungstypen hinweg.",
    "manageProviders": "Anbieter verwalten",
    "providersCount": "{count} Anbieter",
    "providerTypeFree": "Kostenloses Kontingent",
    "providerTypeOAuth": "OAuth",
    "providerTypeApiKey": "API-Schlüssel",
    "useCaseSingleEndpointTitle": "Ein einziger Endpunkt für viele Anbieter",
    "useCaseSingleEndpointText": "Verweisen Sie Clients auf eine Basis-URL und leiten Sie sie nach Modellpräfix weiter (z. B. gh/, cc/, kr/, openai/).",
    "useCaseFallbackTitle": "Fallback und Modellwechsel mit Combos",
    "useCaseFallbackText": "Erstellen Sie Kombinationsmodelle im Dashboard und halten Sie die Clientkonfiguration stabil, während die Anbieter intern rotieren.",
    "useCaseUsageVisibilityTitle": "Nutzung, Kosten und Debug-Sichtbarkeit",
    "useCaseUsageVisibilityText": "Verfolgen Sie Token und Kosten nach Anbieter, Konto und API-Schlüssel auf den Registerkarten „Nutzung“ und „Analyse“.",
    "clientCherryStudioTitle": "Kirschstudio",
    "baseUrlLabel": "Basis-URL",
    "chatEndpointLabel": "Chat-Endpunkt",
    "modelRecommendationLabel": "Modellempfehlung: explizites Präfix",
    "clientCodexTitle": "Codex/GitHub-Copilot-Modelle",
    "clientCodexBullet1": "Verwenden Sie Modell-IDs mit",
    "clientCodexBullet2": "Modelle der Codex-Familie leiten automatisch zu",
    "clientCodexBullet3": "Nicht-Codex-Modelle bleiben bestehen",
    "clientCursorTitle": "Cursor-IDE",
    "clientCursorBullet1": "Benutzen",
    "clientCursorBullet1Suffix": "Präfix für Cursor-Modelle.",
    "clientCursorBullet2": "OAuth-Verbindung – Anmeldung über die Anbieterseite.",
    "clientClaudeTitle": "Claude Code / Antigravitation",
    "clientClaudeBullet1Prefix": "Benutzen",
    "clientClaudeBullet1Middle": "(Claude) oder",
    "clientClaudeBullet1Suffix": "Präfix (Antigravitation).",
    "endpointChatNote": "OpenAI-kompatibler Chat-Endpunkt (Standard).",
    "endpointResponsesNote": "Antwort-API-Endpunkt (Codex, O-Serie).",
    "endpointModelsNote": "Musterkatalog für alle angeschlossenen Anbieter.",
    "endpointAudioNote": "Audiotranskription (Deepgram, AssemblyAI).",
    "endpointImagesNote": "Bilderzeugung (NanoBanana).",
    "endpointRewriteChatNote": "Rewrite-Helper für Clients ohne /v1.",
    "endpointRewriteResponsesNote": "Hilfsprogramm für Antworten ohne /v1 umschreiben.",
    "endpointRewriteModelsNote": "Hilfsprogramm für die Modellerkennung ohne /v1 umschreiben.",
    "modelPrefixesDescriptionStart": "Verwenden Sie das Anbieterpräfix vor dem Modellnamen, um an einen bestimmten Anbieter weiterzuleiten. Beispiel:",
    "modelPrefixesDescriptionEnd": "Routen zu GitHub Copilot.",
    "provider": "Anbieter",
    "type": "Typ",
    "troubleshootingModelRouting": "Wenn der Client beim Modellrouting fehlschlägt, verwenden Sie einen expliziten Anbieter/ein explizites Modell (z. B. gh/gpt-5.1-codex).",
    "troubleshootingAmbiguousModels": "Wenn Sie mehrdeutige Modellfehler erhalten, wählen Sie ein Anbieterpräfix anstelle einer bloßen Modell-ID.",
    "troubleshootingCodexFamily": "Behalten Sie für Modelle der GitHub Codex-Familie das Modell bei gh/<codex-model>; Der Router wählt /responses automatisch aus.",
    "troubleshootingTestConnection": "Verwenden Sie Dashboard > Anbieter > Verbindung testen, bevor Sie Tests mit IDEs oder externen Clients durchführen.",
    "troubleshootingCircuitBreaker": "Wenn ein Anbieter anzeigt, dass der Leistungsschalter geöffnet ist, warten Sie auf die Abklingzeit oder schauen Sie auf der Seite „Zustand“ nach, um Einzelheiten zu erfahren.",
    "troubleshootingOAuth": "Führen Sie bei OAuth-Anbietern eine erneute Authentifizierung durch, wenn die Token ablaufen. Überprüfen Sie die Statusanzeige der Anbieterkarte."
  },
  "legal": {
    "privacyPolicy": "Datenschutzrichtlinie",
    "termsOfService": "Nutzungsbedingungen",
    "providerConfigurations": "Anbieterkonfigurationen",
    "apiKeys": "API-Schlüssel",
    "usageLogs": "Nutzungsprotokolle",
    "applicationSettings": "Anwendungseinstellungen",
    "viewExportAnalytics": "Nutzungsanalysen anzeigen und exportieren",
    "clearHistory": "Nutzungsverlauf jederzeit löschen",
    "configureRetention": "Konfigurieren Sie Protokollaufbewahrungsrichtlinien",
    "backupRestore": "Sichern Sie Ihre Datenbank und stellen Sie sie wieder her",
    "privacyMetadataTitle": "Datenschutzrichtlinie | OmniRoute",
    "privacyMetadataDescription": "Datenschutzrichtlinie für den OmniRoute AI API-Proxy-Router.",
    "termsMetadataTitle": "Nutzungsbedingungen | OmniRoute",
    "termsMetadataDescription": "Nutzungsbedingungen für den OmniRoute AI API-Proxy-Router.",
    "backToHome": "Zurück nach Hause",
    "lastUpdated": "Letzte Aktualisierung: {date}",
    "policyLastUpdatedDate": "13. Februar 2026",
    "listSeparator": "-",
    "questionsVisit": "Fragen? Besuchen Sie unsere",
    "githubRepository": "GitHub-Repository",
    "privacySection1Title": "1. Local-First-Architektur",
    "privacySection1Text": "OmniRoute ist als Local-First-Anwendung konzipiert. Die gesamte Datenverarbeitung und -speicherung erfolgt vollständig auf Ihrem Rechner. Es gibt keinen zentralen Server, der Ihre Daten sammelt.",
    "privacySection2Title": "2. Von uns gespeicherte Daten",
    "privacyDataStoredIn": "Die folgenden Daten werden lokal in gespeichert",
    "privacyDataProviderConfigurationsDesc": "Verbindungs-URLs, Anbietertypen und Prioritätseinstellungen",
    "privacyDataApiKeysDesc": "verschlüsselt und lokal gespeichert zur Authentifizierung bei KI-Anbietern",
    "privacyDataUsageLogsDesc": "Anzahl der Anfragen, Token-Nutzung, Modellnamen, Zeitstempel und Antwortzeiten",
    "privacyDataApplicationSettingsDesc": "Theme-Einstellungen, Routing-Strategie und Kombinationskonfigurationen",
    "privacySection3Title": "3. Keine Telemetrie",
    "privacySection3Text": "OmniRoute sammelt keine Telemetrie-, Analyse- oder Absturzberichte. Es werden keine Daten an uns oder Dritte übermittelt. Ihre Nutzungsmuster, API-Aufrufe und Konfigurationen bleiben vollständig privat.",
    "privacySection4Title": "4. KI-Drittanbieter",
    "privacySection4Text": "Wenn Sie API-Aufrufe über OmniRoute durchführen, werden Ihre Anfragen an die von Ihnen konfigurierten KI-Anbieter weitergeleitet (z. B. OpenAI, Anthropic, Google). Diese Anbieter haben eigene Datenschutzrichtlinien, die den Umgang mit Ihren Daten regeln. Bitte überprüfen Sie:",
    "privacyOpenAiPolicy": "OpenAI-Datenschutzrichtlinie",
    "privacyAnthropicPolicy": "Anthropic-Datenschutzrichtlinie",
    "privacyGooglePolicy": "Google-Datenschutzerklärung",
    "privacySection5Title": "5. Cloud-Synchronisierung (optional)",
    "privacySection5Text": "Wenn Sie die optionale Cloud-Synchronisierungsfunktion aktivieren, können Anbieterkonfigurationen und API-Schlüssel an einen konfigurierten Cloud-Endpunkt übertragen werden. Diese Funktion ist standardmäßig deaktiviert und erfordert eine ausdrückliche Zustimmung.",
    "privacySection6Title": "6. Protokollierung",
    "privacyLoggingIntro": "Anforderungsprotokolle können über die Dashboard-Einstellungen konfiguriert werden. Sie können:",
    "privacySection7Title": "7. Ihre Rechte",
    "privacySection7TextStart": "Da alle Daten lokal gespeichert werden, haben Sie die volle Kontrolle. Sie können Ihre Daten jederzeit löschen, indem Sie das entfernen",
    "privacySection7TextEnd": "Verzeichnis oder mithilfe der Datenbanksicherungs- und -wiederherstellungsfunktionen im Dashboard.",
    "termsSection1Title": "1. Übersicht",
    "termsSection1Text": "OmniRoute ist ein Local-First-AI-API-Proxy-Router, der vollständig auf Ihrem Computer ausgeführt wird. Es leitet Anfragen mit Lastausgleich, Failover und Nutzungsverfolgung an mehrere KI-Anbieter weiter.",
    "termsSection2Title": "2. Verantwortlichkeiten des Benutzers",
    "termsResponsibilityApiKeys": "Sie sind allein für die Verwaltung Ihrer eigenen API-Schlüssel und Anmeldeinformationen für KI-Drittanbieter (OpenAI, Anthropic, Google usw.) verantwortlich.",
    "termsResponsibilityCompliance": "Sie müssen die Nutzungsbedingungen jedes KI-Anbieters einhalten, auf dessen API Sie über OmniRoute zugreifen.",
    "termsResponsibilitySecurity": "Sie sind für die Sicherheit Ihrer lokalen OmniRoute-Installation verantwortlich, einschließlich der Festlegung eines Kennworts und der Einschränkung des Netzwerkzugriffs.",
    "termsSection3Title": "3. Wie es funktioniert",
    "termsSection3Text": "OmniRoute fungiert als zwischengeschalteter Proxy. An OmniRoute gesendete API-Aufrufe werden übersetzt und an Ihre konfigurierten KI-Anbieter weitergeleitet. OmniRoute ändert den Inhalt Ihrer Anfragen oder Antworten nicht über die erforderliche Protokollübersetzung hinaus.",
    "termsSection4Title": "4. Datenverarbeitung",
    "termsDataStoredLocally": "Alle Daten werden lokal auf Ihrem Computer in einer SQLite-Datenbank gespeichert.",
    "termsNoTransmission": "OmniRoute überträgt keine Daten an externe Server, es sei denn, Sie aktivieren explizit Cloud-Synchronisierungsfunktionen.",
    "termsDataLocationText": "Nutzungsprotokolle, API-Schlüssel und Konfiguration werden in gespeichert",
    "termsSection5Title": "5. Haftungsausschluss",
    "termsSection5Text": "OmniRoute wird „wie besehen“ ohne Gewährleistung jeglicher Art bereitgestellt. Wir sind nicht verantwortlich für Kosten, die durch API-Nutzung, Dienstunterbrechungen oder Datenverlust entstehen. Bewahren Sie immer Backups Ihrer Konfiguration auf.",
    "termsSection6Title": "6. Open Source",
    "termsSection6Text": "OmniRoute ist Open-Source-Software. Es steht Ihnen frei, es im Rahmen der Lizenzbedingungen zu prüfen, zu ändern und zu verbreiten."
  }
}
