import type { TranslationMap } from
"../lib/types.ts" ;
// Generated by scripts/control-ui-i18n.ts.
export
const de: TranslationMap = {
common: {
health:
"Status" ,
ok:
"OK" ,
yes:
"Ja" ,
no:
"Nein" ,
active:
"Aktiv" ,
loading:
"Wird geladen…" ,
refreshing:
"Wird aktualisiert…" ,
online:
"Online" ,
offline:
"Offline" ,
connect:
"Verbinden" ,
connected:
"Verbunden" ,
refresh:
"Aktualisieren" ,
reload:
"Neu laden" ,
probe:
"Prüfen" ,
call:
"Anrufen" ,
confirm:
"Bestätigen" ,
cancel:
"Abbrechen" ,
unselect:
"Auswahl aufheben" ,
enabled:
"Aktiviert" ,
disabled:
"Deaktiviert" ,
na:
"k. A." ,
configured:
"Konfiguriert" ,
running:
"Wird ausgeführt" ,
linked:
"Verknüpft" ,
mode:
"Modus" ,
baseUrl:
"Basis-URL" ,
lastStart:
"Letzter Start" ,
lastProbe:
"Letzte Prüfung" ,
lastInbound:
"Letzter Eingang" ,
lastConnect:
"Letzte Verbindung" ,
lastMessage:
"Letzte Nachricht" ,
authAge:
"Authentifizierungsalter" ,
credential:
"Anmeldedaten" ,
audience:
"Zielgruppe" ,
publicKey:
"Öffentlicher Schlüssel" ,
probeOk:
"Prüfung erfolgreich" ,
probeFailed:
"Prüfung fehlgeschlagen" ,
reloadConfig:
"Konfiguration neu laden" ,
loadConfig:
"Konfiguration laden" ,
loadApprovals:
"Freigaben laden" ,
settingsSections:
"Einstellungsabschnitte" ,
version:
"Version" ,
docs:
"Dokumentation" ,
theme:
"Design" ,
resources:
"Ressourcen" ,
search:
"Suchen" ,
save:
"Speichern" ,
saving:
"Wird gespeichert…" ,
saveAndPublish:
"Speichern & veröffentlichen" ,
importing:
"Wird importiert…" ,
importFromRelays:
"Aus Relays importieren" ,
showAdvanced:
"Erweitert anzeigen" ,
hideAdvanced:
"Erweitert ausblenden" ,
unsavedChanges:
"Sie haben ungespeicherte Änderungen" ,
secondsAgo:
"vor {count}s" ,
working:
"Wird bearbeitet…" ,
showQr:
"QR anzeigen" ,
relink:
"Erneut verknüpfen" ,
waitForScan:
"Auf Scan warten" ,
logout:
"Abmelden" ,
},
channels: {
health: {
title:
"Channel-Zustand" ,
subtitle:
"Statusaufnahmen der Channels vom Gateway." ,
noSnapshotYet:
"Noch keine Aufnahme." ,
},
generic: {
subtitle:
"Channel-Status und -Konfiguration." ,
},
gatewayUrlConfirmation: {
title:
"Gateway-URL ändern" ,
subtitle:
"Dadurch wird die Verbindung zu einem anderen Gateway-Server hergestellt" ,
warning:
"Bestätigen Sie dies nur, wenn Sie dieser URL vertrauen. Bösartige URLs können Ihr System gefährden." ,
},
nostr: {
profile:
"Profil" ,
editProfile:
"Profil bearbeiten" ,
profilePicture:
"Profilbild" ,
noProfile:
"Kein Profil festgelegt." ,
noProfileHint:
'Klicken Sie auf "Profil bearbeiten", um Ihren Namen, Ihre Bio und Ihren Avatar hinzuzufügen.' ,
name: "Name" ,
displayName: "Anzeigename" ,
about: "Über" ,
advanced: "Erweitert" ,
profilePicturePreview: "Vorschau des Profilbilds" ,
account: "Konto" ,
username: "Benutzername" ,
usernameHelp: "Kurzer Benutzername (z. B. satoshi)" ,
bio: "Bio" ,
bioPlaceholder: "Erzählen Sie etwas über sich..." ,
bioHelp: "Eine kurze Bio oder Beschreibung" ,
displayNameHelp: "Ihr vollständiger Anzeigename" ,
avatarUrl: "Avatar-URL" ,
avatarHelp: "HTTPS-URL zu Ihrem Profilbild" ,
bannerUrl: "Banner-URL" ,
bannerHelp: "HTTPS-URL zu einem Bannerbild" ,
website: "Website" ,
websiteHelp: "Ihre persönliche Website" ,
nip05Identifier: "NIP-05-Identifikator" ,
nip05Help: "Verifizierbarer Identifikator (z. B. you@domain.com)" ,
lightningAddress: "Lightning-Adresse" ,
lightningHelp: "Lightning-Adresse für Trinkgelder (LUD-16)" ,
},
},
nodes: {
binding: {
loadConfigHint: "Laden Sie die Konfiguration, um Bindungen zu bearbeiten." ,
formModeHint:
"Wechseln Sie im Tab „Konfiguration“ in den Formularmodus, um Bindungen hier zu bearbeiten." ,
execNodeBinding: "Exec-Knotenbindung" ,
execNodeBindingSubtitle:
"Agenten an einen bestimmten Knoten anheften, wenn exec host=node verwendet wird." ,
defaultBinding: "Standardbindung" ,
defaultBindingHint: "Wird verwendet, wenn Agenten keine Knotenbindung überschreiben." ,
node: "Knoten" ,
},
},
instances: {
title: "Verbundene Instanzen" ,
subtitle: "Präsenzsignale vom Gateway und von Clients." ,
showHosts: "Hosts und IPs anzeigen" ,
hideHosts: "Hosts und IPs ausblenden" ,
toggleHostVisibility: "Host-Sichtbarkeit umschalten" ,
noInstances: "Noch keine Instanzen gemeldet." ,
lastInput: "Letzte Eingabe {time}" ,
reason: "Grund {reason}" ,
},
agentTools: {
connectedSource: "Verbunden: {id}" ,
connected: "Verbunden" ,
channelSource: "Kanal: {id}" ,
channel: "Kanal" ,
builtIn: "Integriert" ,
},
nav: {
chat: "Chat" ,
control: "Steuerung" ,
agent: "Agent" ,
settings: "Einstellungen" ,
expand: "Seitenleiste ausklappen" ,
collapse: "Seitenleiste einklappen" ,
resize: "Seitenleiste in der Größe ändern" ,
},
tabs: {
agents: "Agenten" ,
overview: "Übersicht" ,
channels: "Kanäle" ,
instances: "Instanzen" ,
sessions: "Sitzungen" ,
usage: "Nutzung" ,
cron: "Cron-Aufgaben" ,
skills: "Fähigkeiten" ,
nodes: "Geräte" ,
chat: "Chat" ,
config: "Konfiguration" ,
communications: "Kommunikation" ,
appearance: "Darstellung" ,
automation: "Automatisierung" ,
infrastructure: "Infrastruktur" ,
aiAgents: "KI & Agenten" ,
debug: "Debug" ,
logs: "Protokolle" ,
dreams: "Träume" ,
},
subtitles: {
agents: "Agent-Arbeitsbereiche, Tools und Identitäten verwalten." ,
overview: "Gateway-Status, Einstiegspunkte und eine schnelle Zustandsprüfung." ,
channels: "Kanäle und Einstellungen verwalten." ,
instances: "Präsenzsignale von verbundenen Clients und Geräten." ,
sessions: "Aktive Sitzungen inspizieren und Standardeinstellungen pro Sitzung anpassen." ,
usage: "API-Nutzung und Kosten überwachen." ,
cron: "Aufweckzeiten und wiederkehrende Agent-Läufe planen." ,
skills: "Skill-Verfügbarkeit und API-Schlüsselinjektion verwalten." ,
nodes: "Gekoppelte Geräte, Fähigkeiten und Befehlsfreigabe." ,
chat: "Direkte Gateway-Chat-Sitzung für schnelle Eingriffe." ,
config: "~/.openclaw/openclaw.json sicher bearbeiten." ,
communications: "Kanäle, Nachrichten und Audioeinstellungen." ,
appearance: "Design-, UI- und Einrichtungsassistent-Einstellungen." ,
automation: "Befehle, Hooks, Cron und Plugins." ,
infrastructure: "Gateway-, Web-, Browser- und Medieneinstellungen." ,
aiAgents: "Agenten, Modelle, Skills, Tools, Speicher, Sitzung." ,
debug: "Gateway-Snapshots, Ereignisse und manuelle RPC-Aufrufe." ,
logs: "Live-Verfolgung der Gateway-Protokolldateien." ,
dreams: "Speicherkonsolidierung im Schlaf." ,
},
overview: {
access: {
title: "Gateway-Zugang" ,
subtitle: "Wo sich das Dashboard verbindet und wie es sich authentifiziert." ,
wsUrl: "WebSocket-URL" ,
token: "Gateway-Token" ,
password: "Passwort (nicht gespeichert)" ,
passwordPlaceholder: "System- oder gemeinsames Passwort" ,
sessionKey: "Standard-Sitzungsschlüssel" ,
language: "Sprache" ,
connectHint: "Klicken Sie auf Verbinden, um Verbindungsänderungen anzuwenden." ,
trustedProxy: "Authentifiziert über vertrauenswürdigen Proxy." ,
showToken: "Token anzeigen" ,
hideToken: "Token ausblenden" ,
toggleTokenVisibility: "Token-Sichtbarkeit umschalten" ,
showPassword: "Passwort anzeigen" ,
hidePassword: "Passwort ausblenden" ,
togglePasswordVisibility: "Passwort-Sichtbarkeit umschalten" ,
},
snapshot: {
title: "Aufnahme" ,
subtitle: "Neueste Gateway-Handshake-Informationen." ,
status: "Status" ,
uptime: "Betriebszeit" ,
tickInterval: "Tick-Intervall" ,
lastChannelsRefresh: "Letzte Kanalaktualisierung" ,
channelsHint:
"Verwenden Sie Kanäle, um WhatsApp, Telegram, Discord, Signal oder iMessage zu verknüpfen." ,
},
stats: {
instances: "Instanzen" ,
instancesHint: "Präsenzsignale in den letzten 5 Minuten." ,
sessions: "Sitzungen" ,
sessionsHint: "Letzte vom Gateway verfolgte Sitzungsschlüssel." ,
cron: "Cron" ,
cronNext: "Nächste Ausführung {time}" ,
},
notes: {
title: "Notizen" ,
subtitle: "Kurze Hinweise für Remote-Steuerung." ,
tailscaleTitle: "Tailscale Serve" ,
tailscaleText:
"Bevorzugen Sie den Serve-Modus, um das Gateway auf Loopback mit Tailnet-Auth zu halten." ,
sessionTitle: "Sitzungshygiene" ,
sessionText: "Verwenden Sie /new oder sessions.patch, um den Kontext zurückzusetzen." ,
cronTitle: "Cron-Erinnerungen" ,
cronText: "Verwenden Sie isolierte Sitzungen für wiederkehrende Läufe." ,
},
auth: {
required:
"Dieses Gateway erfordert Authentifizierung. Fügen Sie ein Token oder Passwort hinzu und klicken Sie auf Verbinden." ,
failed:
"Authentifizierung fehlgeschlagen. Kopieren Sie erneut eine URL mit Token über {command}, oder aktualisieren Sie das Token und klicken Sie auf Verbinden." ,
},
pairing: {
hint: "Dieses Gerät benötigt eine Pairing-Freigabe vom Gateway-Host." ,
scopeUpgradeTitle: "Umfangserweiterung wartet auf Genehmigung." ,
scopeUpgradeSummary:
"Dieses Gerät ist bereits gekoppelt, aber der angeforderte erweiterte Umfang wartet auf Genehmigung." ,
roleUpgradeTitle: "Rollenänderung wartet auf Genehmigung." ,
roleUpgradeSummary:
"Dieses Gerät ist bereits gekoppelt, aber die angeforderte Rollenänderung wartet auf Genehmigung." ,
metadataUpgradeTitle: "Änderung der Gerätemetadaten wartet auf Genehmigung." ,
metadataUpgradeSummary:
"Dieses Gerät ist bereits gekoppelt, aber die Änderung der Metadaten wartet auf Genehmigung." ,
mobileHint:
"Auf dem Mobilgerät? Kopieren Sie die vollständige URL (einschließlich #token=...) von openclaw dashboard --no-open auf Ihrem Desktop." ,
docsTitle: "Gerätekopplungs-Dokumentation (öffnet sich in neuem Tab)" ,
docsLink: "Docs: Gerätekopplung" ,
},
insecure: {
hint: "Diese Seite ist HTTP, daher blockiert der Browser die Geräteidentifikation. Verwenden Sie HTTPS (Tailscale Serve) oder öffnen Sie {url} auf dem Gateway-Host." ,
stayHttp: "Wenn Sie bei HTTP bleiben müssen, setzen Sie {config} (nur Token)." ,
},
connection: {
title: "So verbindest du dich" ,
step1: "Starte das Gateway auf deinem Host-Rechner:" ,
step2: "Rufe eine tokenisierte Dashboard-URL ab:" ,
step3:
"Füge oben die WebSocket-URL und das Token ein oder öffne die tokenisierte URL direkt." ,
step4: "Oder generiere ein wiederverwendbares Token:" ,
docsHint: "Für den Remote-Zugriff wird Tailscale Serve empfohlen. " ,
docsLink: "Dokumentation lesen →" ,
authDocsTitle: "Control UI-Authentifizierungsdokumentation (öffnet sich in neuem Tab)" ,
authDocsLink: "Docs: Control UI-Authentifizierung" ,
tailscaleDocsTitle: "Tailscale Serve-Dokumentation (öffnet sich in neuem Tab)" ,
tailscaleDocsLink: "Docs: Tailscale Serve" ,
insecureHttpDocsTitle: "Dokumentation zu unsicherem HTTP (öffnet sich in neuem Tab)" ,
insecureHttpDocsLink: "Docs: Unsicheres HTTP" ,
},
cards: {
cost: "Kosten" ,
skills: "Skills" ,
recentSessions: "Letzte Sitzungen" ,
modelAuth: "Modell-Authentifizierung" ,
modelAuthOk: "{count} ok" ,
modelAuthExpired: "{count} abgelaufen" ,
modelAuthExpiring: "{count} laufen bald ab" ,
modelAuthProviders: "{count} Anbieter" ,
modelAuthUsageLeft: "{pct}% übrig" ,
modelAuthExpiresIn: "läuft {when} ab" ,
modelAuthAttentionExpiredTitle: "Modell-Authentifizierung abgelaufen" ,
modelAuthAttentionExpiringTitle: "Modell-Authentifizierung läuft bald ab" ,
modelAuthAttentionExpiredDesc:
"{providers} — mit openclaw models auth erneut authentifizieren" ,
modelAuthAttentionExpiringEntry: "{provider} ({when})" ,
},
attention: {
title: "Aufmerksamkeit" ,
},
eventLog: {
title: "Ereignisprotokoll" ,
},
logTail: {
title: "Gateway-Protokolle" ,
},
quickActions: {
newSession: "Neue Sitzung" ,
automation: "Automatisierung" ,
refreshAll: "Alles aktualisieren" ,
terminal: "Terminal" ,
},
palette: {
placeholder: "Befehl eingeben…" ,
noResults: "Keine Ergebnisse" ,
},
},
dreaming: {
tabs: {
scene: "Szene" ,
diary: "Tagebuch" ,
advanced: "Erweitert" ,
},
header: {
refresh: "Aktualisieren" ,
refreshing: "Wird aktualisiert…" ,
on: "Träumen aktiviert" ,
off: "Träumen deaktiviert" ,
},
status: {
active: "Träumen aktiv" ,
idle: "Träumen im Leerlauf" ,
promotedSuffix: "hochgestuft" ,
nextSweepPrefix: "nächster Durchlauf" ,
},
scene: {
backfill: "Nachtragen" ,
dedupeDiary: "Tagebuch deduplizieren" ,
reset: "Zurücksetzen" ,
clearGrounded: "Geerdet löschen" ,
repairCache: "Traum-Cache reparieren" ,
working: "Wird bearbeitet…" ,
},
phase: {
light: "Leicht" ,
deep: "Tief" ,
rem: "REM" ,
off: "aus" ,
},
advanced: {
eyebrow: "Prüfen" ,
title: "Prüfung des Tagesprotokolls" ,
description:
"Prüfe, was aus dem Tagesprotokoll stammt, was auf eine Beförderung wartet und was kürzlich befördert wurde." ,
summaryFromDailyLog: "aus dem Tagesprotokoll" ,
summaryWaiting: "wartend" ,
summaryPromotedToday: "heute befördert" ,
stagedTitle: "Aus dem Tagesprotokoll" ,
stagedDescription: "Wiedergabe-Kandidaten aus älteren Tagesprotokoll-Einträgen." ,
shortTermTitle: "Wartet auf Beförderung" ,
shortTermDescription:
"Aktuelle kurzfristige Kandidaten, die darauf warten, in den echten Speicher überzugehen." ,
sortRecent: "Neueste zuerst" ,
sortSignals: "Stärkste Unterstützung" ,
originDailyLog: "wiedergegeben" ,
originLive: "live" ,
originMixed: "gemischt" ,
promotedTitle: "Kürzliche Beförderungen" ,
promotedDescription: "Elemente, die die Beförderung bereits durchlaufen haben." ,
emptyGrounded: "Derzeit keine vorbereiteten geerdeten Wiedergabeeinträge." ,
emptyShortTerm: "Keine kurzfristigen Einträge zur Prüfung." ,
emptyPromoted: "Keine kürzlichen Beförderungen zur Prüfung." ,
updatedPrefix: "aktualisiert" ,
},
stats: {
shortTerm: "Kurzfristig" ,
grounded: "Geerdet" ,
signals: "Signale" ,
promoted: "Hochgestuft" ,
phaseHits: "Phasentreffer" ,
},
trace: {
shortTerm: "Kurzfristig" ,
grounded: "Geerdet" ,
signals: "Signale" ,
promoted: "Hochgestuft" ,
groundedLed: "grounded-led" ,
emptyShortTerm: "Keine aktiven kurzfristigen Einträge." ,
emptyGrounded: "Keine geerdeten Elemente bereitgestellt." ,
emptySignals: "Keine aktiven Signale." ,
emptyPromoted: "Heute wurde noch nichts hochgestuft." ,
},
diary: {
title: "Traumtagebuch" ,
noDreamsYet: "Noch keine Träume" ,
noDreamsHint: "Träume werden hier angezeigt, nachdem der erste Traumzyklus ausgeführt wurde." ,
waitingTitle: "Das Tagebuch wartet" ,
waitingHint: "Erzählende Einträge erscheinen nach dem nächsten Traumzyklus." ,
older: "Älter" ,
newer: "Neuer" ,
reload: "Neu laden" ,
reloading: "Wird neu geladen…" ,
},
phrases: {
consolidatingMemories: "Erinnerungen werden konsolidiert…" ,
tidyingKnowledgeGraph: "der Wissensgraph wird aufgeräumt…" ,
replayingConversations: "die heutigen Gespräche werden erneut durchlaufen…" ,
weavingShortTerm: "Kurzfristiges wird ins Langfristige eingewebt…" ,
defragmentingMindPalace: "der Gedächtnispalast wird defragmentiert…" ,
filingLooseThoughts: "lose Gedanken werden abgelegt…" ,
connectingDots: "entfernte Punkte werden verbunden…" ,
compostingContext: "alte Kontextfenster werden kompostiert…" ,
alphabetizingSubconscious: "das Unterbewusstsein wird alphabetisiert…" ,
promotingHunches: "vielversprechende Ahnungen werden hochgestuft…" ,
forgettingNoise: "Unwichtiges wird vergessen…" ,
dreamingEmbeddings: "es wird in Embeddings geträumt…" ,
reorganizingAttic: "der Erinnerungsspeicher auf dem Dachboden wird neu organisiert…" ,
indexingDay: "der Tag wird sanft indiziert…" ,
nurturingInsights: "erste Erkenntnisse werden genährt…" ,
simmeringIdeas: "halb geformte Ideen köcheln vor sich hin…" ,
whisperingVectorStore: "dem Vector Store wird etwas zugeflüstert…" ,
},
},
usage: {
page: {
subtitle: "Sieh, wohin Tokens gehen, wann Sitzungen zunehmen und was die Kosten antreibt." ,
},
common: {
emptyValue: "—" ,
unknown: "unbekannt" ,
},
loading: {
title: "Nutzungsübersicht" ,
badge: "Wird geladen" ,
},
metrics: {
tokens: "Tokens" ,
cost: "Kosten" ,
session: "Sitzung" ,
sessions: "Sitzungen" ,
},
presets: {
today: "Heute" ,
last7d: "7d" ,
last30d: "30d" ,
},
filters: {
title: "Filter" ,
to: "bis" ,
startDate: "Startdatum" ,
endDate: "Enddatum" ,
timeZone: "Zeitzone" ,
timeZoneLocal: "Lokal" ,
timeZoneUtc: "UTC" ,
pin: "Anheften" ,
pinned: "Angeheftet" ,
unpin: "Filter lösen" ,
selectAll: "Alle auswählen" ,
clear: "Löschen" ,
clearAll: "Alle löschen" ,
remove: "Filter entfernen" ,
all: "Alle" ,
days: "Tage" ,
hours: "Stunden" ,
session: "Sitzung" ,
agent: "Agent" ,
channel: "Kanal" ,
provider: "Anbieter" ,
model: "Modell" ,
tool: "Tool" ,
daysCount: "{count} Tage" ,
hoursCount: "{count} Stunden" ,
sessionsCount: "{count} Sitzungen" ,
},
query: {
placeholder:
"Sitzungen filtern (z. B. key:agent:main:cron* model:gpt-4o has:errors minTokens:2000)" ,
apply: "Filtern (clientseitig)" ,
matching: "{shown} von {total} Sitzungen stimmen überein" ,
inRange: "{total} Sitzungen im Bereich" ,
tip: "Tipp: Verwende Filter oder klicke auf Balken, um Tage weiter einzugrenzen." ,
},
export: {
label: "Exportieren" ,
sessionsCsv: "Sitzungen CSV" ,
dailyCsv: "Tägliche CSV" ,
json: "JSON" ,
},
empty: {
title: "Mit einem Datumsbereich beginnen" ,
subtitle:
"Lade Nutzungsdaten, um Kosten zu vergleichen, Sitzungen zu prüfen und in Zeitachsen einzutauchen, ohne das Dashboard zu verlassen." ,
hint: "Wähle einen Datumsbereich aus und klicke auf Aktualisieren, um Nutzungsdaten zu laden." ,
noData: "Keine Daten" ,
featureOverview: "Übersichtskarten" ,
featureSessions: "Sitzungsrangfolge" ,
featureTimeline: "Zeitachsen-Drilldown" ,
},
daily: {
title: "Tägliche Nutzung" ,
total: "Gesamt" ,
byType: "Nach Typ" ,
tokensTitle: "Tägliche Token-Nutzung" ,
costTitle: "Tägliche Kosten" ,
},
breakdown: {
output: "Ausgabe" ,
input: "Eingabe" ,
cacheWrite: "Cache-Schreiben" ,
cacheRead: "Cache-Lesen" ,
total: "Gesamt" ,
tokensByType: "Tokens nach Typ" ,
costByType: "Kosten nach Typ" ,
},
overview: {
title: "Nutzungsübersicht" ,
messages: "Nachrichten" ,
messagesHint: "Gesamtzahl der Benutzer- und Assistentennachrichten im Bereich." ,
messagesAbbrev: "Nachr." ,
user: "Benutzer" ,
assistant: "Assistent" ,
toolCalls: "Tool-Aufrufe" ,
toolCallsHint: "Gesamtzahl der Tool-Aufrufe über alle Sitzungen hinweg." ,
toolsUsed: "verwendete Tools" ,
errors: "Fehler" ,
errorsHint: "Gesamtzahl der Nachrichten- und Tool-Fehler im Bereich." ,
toolResults: "Tool-Ergebnisse" ,
avgTokens: "Ø Tokens / Nachricht" ,
avgTokensHint: "Durchschnittliche Tokens pro Nachricht in diesem Bereich." ,
avgCost: "Ø Kosten / Nachricht" ,
avgCostHint: "Durchschnittliche Kosten pro Nachricht, wenn Anbieter Kosten melden." ,
avgCostHintMissing:
"Durchschnittliche Kosten pro Nachricht, wenn Anbieter Kosten melden. Für einige oder alle Sitzungen in diesem Bereich fehlen Kostendaten." ,
acrossMessages: "Über {count} Nachrichten" ,
sessions: "Sitzungen" ,
sessionsHint: "Eindeutige Sitzungen im Bereich." ,
sessionsInRange: "von {count} im Bereich" ,
throughput: "Durchsatz" ,
throughputHint:
"Der Durchsatz zeigt Tokens pro Minute über die aktive Zeit. Höher ist besser." ,
tokensPerMinute: "Tok./Min." ,
perMinute: "/ Min." ,
errorRate: "Fehlerrate" ,
errorHint: "Fehlerrate = Fehler / Gesamtzahl der Nachrichten. Niedriger ist besser." ,
avgSession: "Ø Sitzung" ,
cacheHitRate: "Cache-Trefferrate" ,
cacheHint: "Cache-Trefferrate = Cache-Lesen / (Eingabe + Cache-Lesen). Höher ist besser." ,
cached: "zwischengespeichert" ,
prompt: "Prompt" ,
calls: "Aufrufe" ,
topModels: "Top-Modelle" ,
topProviders: "Top-Anbieter" ,
topTools: "Top-Tools" ,
topAgents: "Top-Agenten" ,
topChannels: "Top-Kanäle" ,
peakErrorDays: "Tage mit den meisten Fehlern" ,
peakErrorHours: "Stunden mit den meisten Fehlern" ,
noModelData: "Keine Modelldaten" ,
noProviderData: "Keine Anbieterdaten" ,
noToolCalls: "Keine Tool-Aufrufe" ,
noAgentData: "Keine Agentendaten" ,
noChannelData: "Keine Kanaldaten" ,
noErrorData: "Keine Fehlerdaten" ,
},
sessions: {
title: "Sitzungen" ,
shown: "{count} angezeigt" ,
total: "{count} insgesamt" ,
avg: "Ø" ,
all: "Alle" ,
recent: "Kürzlich angesehen" ,
recentShort: "Kürzlich" ,
sort: "Sortieren" ,
ascending: "Aufsteigend" ,
descending: "Absteigend" ,
clearSelection: "Auswahl aufheben" ,
noRecent: "Keine kürzlich angesehenen Sitzungen" ,
noneInRange: "Keine Sitzungen im Bereich" ,
more: "+{count} weitere" ,
selected: "Ausgewählt ({count})" ,
copy: "Kopieren" ,
copyName: "Sitzungsnamen kopieren" ,
limitReached:
"Die ersten 1.000 Sitzungen werden angezeigt. Schränke den Datumsbereich ein, um vollständige Ergebnisse zu erhalten." ,
},
details: {
noUsageData: "Keine Nutzungsdaten für diese Sitzung." ,
duration: "Dauer" ,
modelMix: "Modellmix" ,
filtered: "(gefiltert)" ,
close: "Sitzungsdetails schließen" ,
noTimeline: "Keine Zeitachsendaten" ,
noDataInRange: "Keine Daten im Bereich" ,
usageOverTime: "Nutzung im Zeitverlauf" ,
reset: "Zurücksetzen" ,
perTurn: "Pro Zug" ,
cumulative: "Kumulativ" ,
turnRange: "Züge {start}–{end} von {total}" ,
assistantOutputTokens: "Ausgabe-Tokens des Assistenten" ,
userToolInputTokens: "Eingabe-Tokens von Benutzer + Tool" ,
tokensWrittenToCache: "In den Cache geschriebene Tokens" ,
tokensReadFromCache: "Aus dem Cache gelesene Tokens" ,
noContextData: "Keine Kontextdaten" ,
systemPromptBreakdown: "Aufschlüsselung des System-Prompts" ,
collapse: "Einklappen" ,
collapseAll: "Alle einklappen" ,
expandAll: "Alle ausklappen" ,
baseContextPerMessage: "Basiskontext pro Nachricht" ,
system: "System" ,
systemShort: "Sys" ,
skills: "Skills" ,
tools: "Tools" ,
files: "Dateien" ,
ofInput: "der Eingabe" ,
of: "von" ,
timelineFiltered: "Zeitachse gefiltert" ,
conversation: "Konversation" ,
noMessages: "Keine Nachrichten" ,
tool: "Tool" ,
toolResult: "Tool-Ergebnis" ,
hasTools: "Hat Tools" ,
searchConversation: "Konversation durchsuchen" ,
you: "Du" ,
noMessagesMatch: "Keine Nachrichten entsprechen den Filtern." ,
},
mosaic: {
title: "Aktivität nach Zeit" ,
subtitleEmpty: "Schätzungen erfordern Sitzungszeitstempel." ,
subtitle: "Geschätzt aus Sitzungsspannen (erste/letzte Aktivität). Zeitzone: {zone}." ,
noTimelineData: "Noch keine Zeitachsendaten." ,
dayOfWeek: "Wochentag" ,
midnight: "Mitternacht" ,
fourAm: "4 Uhr" ,
eightAm: "8 Uhr" ,
noon: "Mittag" ,
fourPm: "16 Uhr" ,
eightPm: "20 Uhr" ,
legend: "Niedrige → Hohe Token-Dichte" ,
sun: "So" ,
mon: "Mo" ,
tue: "Di" ,
wed: "Mi" ,
thu: "Do" ,
fri: "Fr" ,
sat: "Sa" ,
},
},
login: {
subtitle: "Gateway-Dashboard" ,
passwordPlaceholder: "optional" ,
showToken: "Token anzeigen" ,
hideToken: "Token ausblenden" ,
toggleTokenVisibility: "Sichtbarkeit des Tokens umschalten" ,
showPassword: "Passwort anzeigen" ,
hidePassword: "Passwort ausblenden" ,
togglePasswordVisibility: "Sichtbarkeit des Passworts umschalten" ,
},
chat: {
disconnected: "Verbindung zum Gateway getrennt." ,
refreshTitle: "Chat-Daten aktualisieren" ,
thinkingToggle: "Ausgabe des Assistenten ein-/ausblenden" ,
toolCallsToggle: "Tool-Aufrufe und Tool-Ergebnisse umschalten" ,
focusToggle: "Fokusmodus ein-/ausschalten (Seitenleiste + Kopfzeile ausblenden)" ,
hideCronSessions: "Cron-Sitzungen ausblenden" ,
showCronSessions: "Cron-Sitzungen anzeigen" ,
showCronSessionsHidden: "Cron-Sitzungen anzeigen ({count} ausgeblendet)" ,
onboardingDisabled: "Während der Einrichtung deaktiviert" ,
},
languages: {
en: "Englisch" ,
zhCN: "简体中文 (Vereinfachtes Chinesisch)" ,
zhTW: "繁體中文 (Traditionelles Chinesisch)" ,
ptBR: "Português (Brasilianisches Portugiesisch)" ,
de: "Deutsch" ,
es: "Spanisch (Español)" ,
jaJP: "日本語 (Japanisch)" ,
ko: "한국어 (Koreanisch)" ,
fr: "Français (Französisch)" ,
tr: "Türkçe (Türkisch)" ,
uk: "Українська (Ukrainisch)" ,
id: "Bahasa Indonesia (Indonesisch)" ,
pl: "Polski (Polnisch)" ,
th: "ไทย (Thailändisch)" ,
},
cron: {
summary: {
enabled: "Aktiviert" ,
yes: "Ja" ,
no: "Nein" ,
jobs: "Jobs" ,
nextWake: "Nächstes Aufwachen" ,
refreshing: "Wird aktualisiert..." ,
refresh: "Aktualisieren" ,
},
jobs: {
title: "Jobs" ,
subtitle: "Alle geplanten Jobs, die im Gateway gespeichert sind." ,
shownOf: "{shown} von {total} angezeigt" ,
searchJobs: "Jobs suchen" ,
searchPlaceholder: "Name, Beschreibung oder Agent" ,
enabled: "Aktiviert" ,
schedule: "Zeitplan" ,
lastRun: "Letzte Ausführung" ,
all: "Alle" ,
sort: "Sortieren" ,
nextRun: "Nächste Ausführung" ,
recentlyUpdated: "Kürzlich aktualisiert" ,
name: "Name" ,
direction: "Richtung" ,
ascending: "Aufsteigend" ,
descending: "Absteigend" ,
reset: "Zurücksetzen" ,
noMatching: "Keine passenden Jobs." ,
loading: "Wird geladen..." ,
loadMore: "Weitere Jobs laden" ,
},
runs: {
title: "Ausführungsverlauf" ,
subtitleAll: "Neueste Ausführungen über alle Jobs hinweg." ,
subtitleJob: "Neueste Ausführungen für {title}." ,
scope: "Umfang" ,
allJobs: "Alle Jobs" ,
selectedJob: "Ausgewählter Job" ,
searchRuns: "Ausführungen suchen" ,
searchPlaceholder: "Zusammenfassung, Fehler oder Job" ,
newestFirst: "Neueste zuerst" ,
oldestFirst: "Älteste zuerst" ,
status: "Status" ,
delivery: "Zustellung" ,
clear: "Löschen" ,
allStatuses: "Alle Status" ,
allDelivery: "Alle Zustellungen" ,
selectJobHint: "Wähle einen Job aus, um den Ausführungsverlauf zu prüfen." ,
noMatching: "Keine passenden Ausführungen." ,
loadMore: "Weitere Ausführungen laden" ,
runStatusOk: "OK" ,
runStatusError: "Fehler" ,
runStatusSkipped: "Übersprungen" ,
runStatusUnknown: "Unbekannt" ,
deliveryDelivered: "Zugestellt" ,
deliveryNotDelivered: "Nicht zugestellt" ,
deliveryUnknown: "Unbekannt" ,
deliveryNotRequested: "Nicht angefordert" ,
},
form: {
editJob: "Job bearbeiten" ,
newJob: "Neuer Job" ,
updateSubtitle: "Aktualisiere den ausgewählten geplanten Job." ,
createSubtitle: "Erstelle ein geplantes Aufwachen oder einen Agentenlauf." ,
required: "Erforderlich" ,
requiredSr: "erforderlich" ,
basics: "Grundlagen" ,
basicsSub: "Vergib einen Namen, wähle den Assistenten und lege den Aktivierungsstatus fest." ,
fieldName: "Name" ,
description: "Beschreibung" ,
agentId: "Agent-ID" ,
namePlaceholder: "Morgenbriefing" ,
descriptionPlaceholder: "Optionaler Kontext für diesen Job" ,
agentPlaceholder: "main oder ops" ,
agentHelp:
"Beginne zu tippen, um einen bekannten Agenten auszuwählen, oder gib einen benutzerdefinierten ein." ,
schedule: "Zeitplan" ,
scheduleSub: "Steuere, wann dieser Job ausgeführt wird." ,
every: "Alle" ,
at: "Um" ,
cronOption: "Cron" ,
runAt: "Ausführen um" ,
unit: "Einheit" ,
minutes: "Minuten" ,
hours: "Stunden" ,
days: "Tage" ,
expression: "Ausdruck" ,
expressionPlaceholder: "0 7 * * *" ,
everyAmountPlaceholder: "30" ,
timezoneOptional: "Zeitzone (optional)" ,
timezonePlaceholder: "America/Los_Angeles" ,
timezoneHelp:
"Wähle eine gängige Zeitzone oder gib eine beliebige gültige IANA-Zeitzone ein." ,
jitterHelp:
"Brauchst du Jitter? Verwende Erweitert → Staffelungsfenster / Staffelungseinheit." ,
execution: "Ausführung" ,
executionSub: "Wähle, wann aufgeweckt wird und was dieser Job tun soll." ,
session: "Sitzung" ,
main: "Haupt" ,
isolated: "Isoliert" ,
sessionHelp:
"Main sendet ein Systemereignis. Isoliert führt einen dedizierten Agentenzug aus." ,
wakeMode: "Aufweckmodus" ,
now: "Jetzt" ,
nextHeartbeat: "Nächster Heartbeat" ,
wakeModeHelp:
"Jetzt wird sofort ausgelöst. Nächster Heartbeat wartet auf den nächsten Zyklus." ,
payloadKind: "Was soll ausgeführt werden?" ,
systemEvent: "Nachricht in der Main-Zeitachse posten" ,
agentTurn: "Assistentenaufgabe ausführen (isoliert)" ,
systemEventHelp:
"Sendet deinen Text an die Main-Zeitachse des Gateway (gut für Erinnerungen/Trigger)." ,
agentTurnHelp: "Startet einen Assistentenlauf in einer eigenen Sitzung mit deinem Prompt." ,
timeoutSeconds: "Timeout (Sekunden)" ,
timeoutPlaceholder: "Optional, z. B. 90" ,
timeoutHelp:
"Optional. Leer lassen, um für diesen Lauf das Standard-Timeout-Verhalten des Gateway zu verwenden." ,
mainTimelineMessage: "Nachricht für die Main-Zeitachse" ,
assistantTaskPrompt: "Prompt für die Assistentenaufgabe" ,
deliverySection: "Zustellung" ,
deliverySub: "Wähle aus, wohin Ausführungszusammenfassungen gesendet werden." ,
resultDelivery: "Ergebniszustellung" ,
announceDefault: "Zusammenfassung ankündigen (Standard)" ,
webhookPost: "Webhook-POST" ,
noneInternal: "Keine (intern)" ,
deliveryHelp:
"Ankündigen postet eine Zusammenfassung in den Chat. Keine hält die Ausführung intern." ,
webhookUrl: "Webhook-URL" ,
channel: "Kanal" ,
webhookPlaceholder: "https://example.com/cron ",
channelHelp: "Wähle aus, welcher verbundene Kanal die Zusammenfassung erhält." ,
webhookHelp: "Sendet Ausführungszusammenfassungen an einen Webhook-Endpunkt." ,
to: "An" ,
toPlaceholder: "+1555... oder Chat-ID" ,
toHelp: "Optionale Empfängerüberschreibung (Chat-ID, Telefonnummer oder Benutzer-ID)." ,
advanced: "Erweitert" ,
advancedHelp:
"Optionale Überschreibungen für Zustellungsgarantien, Zeitplan-Jitter und Modellsteuerung." ,
deleteAfterRun: "Nach Ausführung löschen" ,
deleteAfterRunHelp:
"Am besten für einmalige Erinnerungen, die automatisch bereinigt werden sollen." ,
clearAgentOverride: "Agentenüberschreibung löschen" ,
clearAgentHelp: "Erzwingt, dass dieser Job den Standardassistenten des Gateway verwendet." ,
exactTiming: "Exaktes Timing (keine Staffelung)" ,
exactTimingHelp: "Wird exakt zu den Cron-Grenzen ohne Streuung ausgeführt." ,
staggerWindow: "Staffelungsfenster" ,
staggerUnit: "Staffelungseinheit" ,
staggerPlaceholder: "30" ,
seconds: "Sekunden" ,
model: "Modell" ,
modelPlaceholder: "openai/gpt-5.2" ,
modelHelp:
"Beginne zu tippen, um ein bekanntes Modell auszuwählen, oder gib ein benutzerdefiniertes ein." ,
thinking: "Denken" ,
thinkingPlaceholder: "low" ,
thinkingHelp:
"Verwende eine vorgeschlagene Stufe oder gib einen anbieterspezifischen Wert ein." ,
bestEffortDelivery: "Best-Effort-Zustellung" ,
bestEffortHelp: "Den Job nicht fehlschlagen lassen, wenn die Zustellung selbst fehlschlägt." ,
cantAddYet: "Job kann noch nicht hinzugefügt werden" ,
fillRequired: "Fülle die erforderlichen Felder unten aus, um das Absenden zu aktivieren." ,
fixFields: "Korrigiere {count} Feld, um fortzufahren." ,
fixFieldsPlural: "Korrigiere {count} Felder, um fortzufahren." ,
saving: "Wird gespeichert..." ,
saveChanges: "Änderungen speichern" ,
addJob: "Job hinzufügen" ,
cancel: "Abbrechen" ,
},
jobList: {
allJobs: "alle Jobs" ,
selectJob: "(einen Job auswählen)" ,
enabled: "aktiviert" ,
disabled: "deaktiviert" ,
edit: "Bearbeiten" ,
clone: "Klonen" ,
disable: "Deaktivieren" ,
enable: "Aktivieren" ,
run: "Ausführen" ,
history: "Verlauf" ,
remove: "Entfernen" ,
},
jobDetail: {
system: "System" ,
prompt: "Prompt" ,
delivery: "Zustellung" ,
agent: "Agent" ,
},
jobState: {
status: "Status" ,
next: "Nächste" ,
last: "Letzte" ,
},
runEntry: {
noSummary: "Keine Zusammenfassung." ,
runAt: "Ausführen um" ,
openRunChat: "Ausführungs-Chat öffnen" ,
next: "Nächste {rel}" ,
due: "Fällig {rel}" ,
},
errors: {
nameRequired: "Name ist erforderlich." ,
scheduleAtInvalid: "Gib ein gültiges Datum/eine gültige Uhrzeit ein." ,
everyAmountInvalid: "Das Intervall muss größer als 0 sein." ,
cronExprRequired: "Cron-Ausdruck ist erforderlich." ,
staggerAmountInvalid: "Die Staffelung muss größer als 0 sein." ,
systemTextRequired: "Systemtext ist erforderlich." ,
agentMessageRequired: "Agentennachricht ist erforderlich." ,
timeoutInvalid: "Falls gesetzt, muss das Timeout größer als 0 Sekunden sein." ,
webhookUrlRequired: "Webhook-URL ist erforderlich." ,
webhookUrlInvalid: "Die Webhook-URL muss mit http:// oder https:// beginnen.",
invalidRunTime: "Ungültige Ausführungszeit." ,
invalidIntervalAmount: "Ungültiger Intervallwert." ,
cronExprRequiredShort: "Cron-Ausdruck erforderlich." ,
invalidStaggerAmount: "Ungültiger Staffelungswert." ,
systemEventTextRequired: "Text für Systemereignis erforderlich." ,
agentMessageRequiredShort: "Agentennachricht erforderlich." ,
nameRequiredShort: "Name erforderlich." ,
},
},
};
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.19 Sekunden
(vorverarbeitet am 2026-05-26)
¤
*© Formatika GbR, Deutschland