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
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.23Bemerkung:
(vorverarbeitet am 2026-06-05)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.