// Deutsch — German translation for allaigate admin console. export default { // brand / common "brand.sub": "Gateway", "common.loading": "Laden…", "common.save": "Speichern", "common.saving": "Wird gespeichert…", "common.cancel": "Abbrechen", "common.add": "Hinzufügen", "common.edit": "Bearbeiten", "common.delete": "Löschen", "common.close": "Schließen", "common.test": "Testen", "common.copy": "Kopieren", "common.copied": "Kopiert", "common.confirm": "Bestätigen", "common.none": "keine", "common.saved": "Gespeichert", "common.error": "Fehler", "common.ok": "OK", "common.refresh": "Aktualisieren", "common.actions": "Aktionen", "common.optional": "optional", "common.search": "Suchen", "common.all": "alle", // nav "nav.dashboard": "Dashboard", "nav.models": "Modelle", "nav.routing": "Routing", "nav.protocols": "Protokolle", "nav.keys": "API-Schlüssel", "nav.playground": "Playground", "nav.settings": "Einstellungen", "nav.foot": "Gateway · v{v}", // topbar / status "status.router": "Router", "status.gateway": "Gateway", "status.online": "online", "status.offline": "offline", "status.checking": "Prüfe…", "theme.toggle": "Design", "logout": "Abmelden", // login "login.title": "allaigate Gateway", "login.subtitle": "Admin-Token eingeben, um dieses Gateway zu verwalten.", "login.token": "Admin-Token", "login.tokenPlaceholder": "Admin-Token einfügen", "login.submit": "Konsole öffnen", "login.hint": "Das Token wird beim Start im Gateway-Log ausgegeben oder über [admin].token_env gesetzt.", "login.failed": "Ungültiger Admin-Token.", // dashboard "dash.title": "Dashboard", "dash.subtitle": "Live-Traffic, Kosten und Routing-Analyse für Ihren Modell-Pool.", "dash.range": "Zeitraum", "dash.range.1h": "1h", "dash.range.24h": "24h", "dash.range.7d": "7d", "dash.kpi.requests": "Anfragen", "dash.kpi.tokens": "Tokens", "dash.kpi.cost": "Kosten", "dash.kpi.latency": "Ø Latenz", "dash.kpi.success": "Erfolgsrate", "dash.kpi.failovers": "Failovers", "dash.series.title": "Anfragen im Zeitverlauf", "dash.series.cost": "Kosten im Zeitverlauf", "dash.series.empty": "Kein Traffic in diesem Zeitraum.", "dash.breakdown.title": "Aufschlüsselung", "dash.groupby.model": "nach Modell", "dash.groupby.tier": "nach Tier", "dash.groupby.label": "nach Aufgabe", "dash.groupby.account": "nach Account", "dash.recent.title": "Letzte Anfragen", "dash.recent.empty": "Noch keine Anfragen aufgezeichnet. Playground ausprobieren.", "dash.col.time": "Zeit", "dash.col.model": "Modell", "dash.col.tier": "Tier", "dash.col.task": "Aufgabe", "dash.col.tokens": "Tokens", "dash.col.cost": "Kosten", "dash.col.latency": "Latenz", "dash.col.outcome": "Ergebnis", "dash.col.requests": "Anfragen", "dash.col.errors": "Fehler", "dash.health.title": "Status", "dash.health.reachable": "erreichbar", "dash.health.unreachable": "nicht erreichbar", // models "models.title": "Modelle", "models.subtitle": "Ihr Modell-Pool — lokale Modelle und Cloud-APIs kombinieren.", "models.add": "Modell hinzufügen", "models.empty": "Noch keine Modelle. Erstes Modell hinzufügen.", "models.col.id": "ID", "models.col.provider": "Anbieter", "models.col.model": "Modell", "models.col.tier": "Kostenstufe", "models.col.key": "Schlüssel", "models.col.caps": "Fähigkeiten", "models.col.price": "Preis (ein/aus)", "models.probe": "Prüfen", "models.probe.ok": "Erreichbar ({ms} ms)", "models.probe.fail": "Fehlgeschlagen: {err}", "models.form.addTitle": "Modell hinzufügen", "models.form.editTitle": "Modell bearbeiten", "models.form.id": "ID", "models.form.idHint": "Eindeutige ID für das Routing, z. B. local-qwen", "models.form.provider": "Anbieter", "models.form.baseUrl": "Basis-URL", "models.form.model": "Modellname", "models.form.kind": "Typ", "models.form.costTier": "Kostenstufe", "models.form.priceIn": "Preis ein ($/1M)", "models.form.priceOut": "Preis aus ($/1M)", "models.form.apiKeyEnv": "API-Schlüssel Umgebungsvariable", "models.form.apiKeyEnvHint": "Name der Umgebungsvariable / des gespeicherten Geheimnisses für den Anbieterschlüssel.", "models.form.caps": "Fähigkeiten", "models.form.secret": "Geheimwert", "models.form.secretStored": "gespeichert", "models.form.secretEnv": "aus Umgebung", "models.form.secretMissing": "nicht gesetzt", "models.form.secretPlaceholder": "Schlüssel setzen oder ersetzen (nur Schreiben)", "models.deleteConfirm": "Modell \"{id}\" löschen?", // routing "routing.title": "Routing", "routing.subtitle": "Komplexitätsstufen einer priorisierten Modellliste zuordnen (Priorität = Fallback).", "routing.default": "Standardmodell", "routing.defaultHint": "Wird verwendet, wenn der Router nicht erreichbar ist.", "routing.tiers": "Stufen", "routing.tierHint": "Chips ziehen zum Sortieren; erstes bevorzugt, die übrigen sind Fallbacks.", "routing.addModel": "+ hinzufügen", "routing.addTier": "Stufe hinzufügen", "routing.tierName": "Stufenname", "routing.policy": "Richtlinie", "routing.policy.mode": "Modus", "routing.policy.fixed": "Feste Tabelle", "routing.policy.costAware": "Kostenoptimiert", "routing.policy.maxCost": "Max. Kosten pro Anfrage ($)", "routing.policy.minClass": "Mindestklasse je Stufe", "routing.empty": "Keine Modelle verfügbar — zuerst Modelle hinzufügen.", // protocols "protocols.title": "Protokolle", "protocols.subtitle": "Nur benötigte eingehende API-Oberflächen aktivieren. Änderungen wirken sofort.", "protocols.implemented": "implementiert", "protocols.planned": "geplant", "protocols.openai_chat": "OpenAI Chat Completions", "protocols.openai_chat.d": "POST /v1/chat/completions — kompatibel mit OpenAI SDK, LangChain, crewAI.", "protocols.openai_completions": "OpenAI Completions (legacy)", "protocols.openai_completions.d": "POST /v1/completions — Legacy-Integrationen.", "protocols.openai_embeddings": "OpenAI Embeddings", "protocols.openai_embeddings.d": "POST /v1/embeddings — RAG-Pipelines.", "protocols.openai_models": "OpenAI Models", "protocols.openai_models.d": "GET /v1/models — automatische Client-Erkennung.", "protocols.anthropic_messages": "Anthropic Messages", "protocols.anthropic_messages.d": "POST /v1/messages — Claude-native Agenten.", "protocols.mcp": "MCP (Model Context Protocol)", "protocols.mcp.d": "JSON-RPC / SSE — MCP-native Orchestratoren.", "protocols.native_passthrough": "Nativer Passthrough", "protocols.native_passthrough.d": "POST /route — direkter Zugriff auf die Routing-Entscheidung.", // keys "keys.title": "API-Schlüssel", "keys.subtitle": "Virtuelle Gateway-Schlüssel für Ihre Agenten. Anbieterschlüssel verlassen das Gateway nicht.", "keys.add": "Neuer Schlüssel", "keys.empty": "Keine Schlüssel konfiguriert — Gateway im offenen Modus (keine Authentifizierung).", "keys.openMode": "Offener Modus: Alle Anfragen werden akzeptiert (kein Schlüssel erforderlich).", "keys.col.key": "Schlüssel", "keys.col.account": "Account", "keys.col.rate": "Rate / Min.", "keys.col.models": "Erlaubte Modelle", "keys.form.title": "Neuer API-Schlüssel", "keys.form.account": "Account", "keys.form.rate": "Ratenlimit / Min.", "keys.form.allow": "Erlaubte Modelle", "keys.form.allowHint": "Leer lassen, um alle Modelle zu erlauben.", "keys.form.custom": "Eigener Schlüssel (optional)", "keys.form.customHint": "Leer lassen für automatische Generierung sk-gw-…", "keys.created": "Schlüssel erstellt — jetzt kopieren, er wird nicht mehr angezeigt:", "keys.revoke": "Widerrufen", "keys.revokeConfirm": "Diesen Schlüssel widerrufen?", "keys.allowAll": "alle", // playground "pg.title": "Playground", "pg.subtitle": "Prompt durch die Live-Pipeline senden und Routing-Entscheidung prüfen.", "pg.system": "System-Prompt", "pg.systemPlaceholder": "optionale Systemnachricht", "pg.prompt": "Prompt", "pg.promptPlaceholder": "Etwas fragen…", "pg.mode": "Modus", "pg.mode.auto": "Auto (Route)", "pg.mode.pinned": "Fixiertes Modell", "pg.profile": "Profil", "pg.model": "Modell", "pg.temp": "Temperatur", "pg.maxTokens": "Max. Tokens", "pg.send": "Senden", "pg.stream": "Streamen", "pg.sending": "Wird gesendet…", "pg.answer": "Antwort", "pg.empty": "Antwort und Routing-Entscheidung erscheinen hier.", "pg.decision": "Routing-Entscheidung", "pg.task": "Aufgabe", "pg.tier": "Tier", "pg.score": "Komplexität", "pg.selected": "Gewähltes Modell", "pg.source": "Route-Quelle", "pg.cost": "Kosten", "pg.latency": "Latenz", "pg.tokens": "Tokens (ein/aus)", "pg.failover": "Failover", "pg.error": "Anfrage fehlgeschlagen", // settings "settings.title": "Einstellungen", "settings.subtitle": "Gateway-Verbindung, Routing-Eingabe, Zuverlässigkeit und Beobachtbarkeit.", "settings.router": "Router-Verbindung", "settings.router.url": "Router-URL", "settings.router.keyEnv": "Router-Schlüssel Umgebungsvariable", "settings.router.timeout": "Timeout (ms)", "settings.router.verifyTls": "TLS-Zertifikat prüfen", "settings.router.taxonomy": "Taxonomie-ID", "settings.route": "Routing-Eingabe", "settings.route.strategy": "Textstrategie", "settings.route.maxChars": "Max. Zeichen", "settings.route.cacheTtl": "Cache-TTL", "settings.route.profile": "Standardprofil", "settings.breaker": "Circuit Breaker", "settings.breaker.threshold": "Fehlerschwelle", "settings.breaker.cooldown": "Cooldown", "settings.log": "Protokollierung", "settings.log.level": "Log-Ebene", "settings.log.bodies": "Nachrichtentexte protokollieren (Datenschutz aus)", "settings.telemetry": "Telemetrie", "settings.telemetry.metrics": "Prometheus /metrics bereitstellen", "settings.cortiq": "Antwort-Metadaten", "settings.cortiq.echo": "cortiq-Routing-Block in Antworten einbetten", "settings.stats": "Statistiken", "settings.stats.enabled": "Anfrage-Statistiken aufzeichnen", "settings.stats.file": "Statistikdatei (JSONL)", "settings.stats.retention": "Aufbewahrung", "settings.listen": "Lausch-Adresse", "settings.export": "Konfiguration exportieren", "settings.import": "Konfiguration importieren", "settings.needsRestart": "Gespeichert. Einige Änderungen (Lausch-Adresse) erfordern einen Neustart.", // toasts / misc "toast.saved": "Änderungen gespeichert", "toast.deleted": "Gelöscht", "toast.probing": "Prüfe…", "toast.imported": "Konfiguration importiert", "dash.cache": "Semantischer Cache", "dash.cache.hitRate": "Trefferquote", "dash.cache.hits": "Treffer", "dash.cache.saved": "Gespart", "dash.cache.disabled": "Semantischer Cache ist deaktiviert — in den Einstellungen aktivieren.", "settings.cache": "Semantischer Cache", "settings.cache.enabled": "Semantischen Cache aktivieren", "settings.cache.threshold": "Ähnlichkeitsschwelle", "settings.cache.ttl": "Eintrags-TTL", "settings.cache.embed": "Embedding-Modell", "settings.cache.note": "Cache-Einstellungen werden nach einem Neustart wirksam.", };