i18n: Englisch als Hauptsprache, Sprachpakete fuer Desktop und WebUI (#661)
Umbau durch Gemini Flash, Durchsicht und Nacharbeit durch Claude. Umfang: - Desktop: LocalizationManager (JSON-Pakete, Rueckfall auf Englisch, Umschalten zur Laufzeit), Localize-Markup-Erweiterung, Sprachwahl in den Einstellungen (AppSettings.Language, Vorgabe "en"); 317 Schluessel je Sprache - WebUI: alle Ansichten auf t()/data-i18n, 656 Schluessel je Sprache - Agenten-Werkzeuge: Beschreibungen, Schemata und Meldungen auf Englisch - Tests an die englischen Meldungen angepasst, keine Pruefung abgeschwaecht Nacharbeit bei der Durchsicht: - ~25 Kommentarbloecke mit Begruendungen waren ersatzlos entfallen, darunter sicherheitsrelevante (NTFS-Datenstrom beim shared:-Praefix, Bremse gegen Agentenschleifen, doppelter POST beim Anlegen einer Instanz). Wieder eingesetzt: auf Englisch, wo die Datei umgestellt ist, sonst im Wortlaut. - Drei WebUI-Schluessel fehlten (logs.paused, instances.instanceOfflineError, instances.noInstanceActiveError). Weil t() bei fehlendem Schluessel den Schluessel selbst liefert, griff der "|| err.message"-Rueckfall nie — die Oberflaeche haette den Schluesselnamen angezeigt. Geprueft: Schluesselgleichheit en/de, Platzhalter je Schluessel, jeder im Code benutzte Schluessel vorhanden, node --check fuer alle Module, 1.220 Tests gruen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
69718122f3
commit
ad71682c2d
@@ -6,6 +6,496 @@
|
||||
"common.loading": "Lade…",
|
||||
"common.previous": "Zurück",
|
||||
"common.next": "Weiter",
|
||||
"common.save": "Speichern",
|
||||
"common.cancel": "Abbrechen",
|
||||
"common.delete": "Löschen",
|
||||
"common.edit": "Bearbeiten",
|
||||
"common.refresh": "Aktualisieren",
|
||||
"common.close": "Schließen",
|
||||
"common.discard": "Verwerfen",
|
||||
"common.apply": "Anwenden",
|
||||
"common.reset": "Zurücksetzen",
|
||||
"common.search": "Suche",
|
||||
"common.actions": "Aktionen",
|
||||
"common.status": "Status",
|
||||
"common.name": "Name",
|
||||
"common.description": "Beschreibung",
|
||||
"common.ready": "Bereit",
|
||||
"common.none": "Keine",
|
||||
"common.unknown": "Unbekannt",
|
||||
"common.all": "Alle",
|
||||
"common.details": "Details",
|
||||
"common.language": "Sprache",
|
||||
"common.logout": "Abmelden",
|
||||
"common.confirm": "Bestätigen",
|
||||
"common.yes": "Ja",
|
||||
"common.no": "Nein",
|
||||
|
||||
"status.running": "Läuft",
|
||||
"status.stopped": "Gestoppt",
|
||||
"status.silent": "Verstummt",
|
||||
"status.crashed": "Abgestürzt",
|
||||
"status.unknown": "Unbekannt",
|
||||
"status.ready": "Bereit",
|
||||
"status.busy": "Beschäftigt",
|
||||
"status.paused": "Pausiert",
|
||||
"status.done": "Erledigt",
|
||||
"status.failed": "Fehlgeschlagen",
|
||||
"status.blocked": "Blockiert",
|
||||
"status.inReview": "Im Review",
|
||||
"status.canceled": "Verworfen",
|
||||
"status.archived": "Archiviert",
|
||||
|
||||
"header.instanceLabel": "Instanz:",
|
||||
"header.noInstance": "(Keine Instanz)",
|
||||
"header.switchInstance": "Aktive Instanz wechseln",
|
||||
"header.startInstance": "Starten",
|
||||
"header.startInstanceTooltip": "Ausgewählte Instanz jetzt starten",
|
||||
"header.toggleTheme": "Farbschema umschalten",
|
||||
"header.eventStreamConnected": "Ereignisstrom: verbunden",
|
||||
"header.eventStreamDisconnected": "Ereignisstrom: getrennt",
|
||||
"header.multipleRunning": "{count} laufen",
|
||||
"header.noneActive": "Keine aktiv",
|
||||
"header.starting": "Startet…",
|
||||
"header.noInstances": "Keine Instanzen",
|
||||
"header.selectInstancePlaceholder": "— Instanz wählen —",
|
||||
"header.instanceOffline": "Instanz offline (502)",
|
||||
"header.selectInstancePrompt": "Instanz wählen (409)",
|
||||
|
||||
"nav.toggleSidebar": "Seitenleiste ein-/ausklappen",
|
||||
"nav.group.work": "Arbeiten",
|
||||
"nav.chat": "Chat",
|
||||
"nav.agents": "Agenten",
|
||||
"nav.tasks": "Aufgaben",
|
||||
"nav.services": "Dienste",
|
||||
"nav.group.analytics": "Analyse",
|
||||
"nav.usage": "Tokennutzung",
|
||||
"nav.agentChats": "Agenten-Chats",
|
||||
"nav.group.system": "System",
|
||||
"nav.instances": "Instanzen",
|
||||
"nav.staging": "Freigaben",
|
||||
"nav.logs": "Protokoll",
|
||||
"nav.backup": "Sicherung",
|
||||
"nav.settings": "Einstellungen",
|
||||
"nav.info": "Info",
|
||||
|
||||
"login.prompt": "Bitte gib das Zugangstoken des Instanzmanagers ein (webUiToken in manager.json).",
|
||||
"login.tokenPlaceholder": "Zugangstoken (mind. 20 Zeichen)",
|
||||
"login.submit": "Anmelden",
|
||||
"login.invalidToken": "Token ungültig oder kürzer als 20 Zeichen.",
|
||||
"login.error": "Anmeldefehler: {error}",
|
||||
|
||||
"chat.agentLabel": "Agent: ",
|
||||
"chat.noAgents": "Keine Agenten vorhanden",
|
||||
"chat.wake": "Wecken",
|
||||
"chat.wakeTooltip": "Agenten manuell ausführen / wecken",
|
||||
"chat.clearHistory": "Verlauf leeren",
|
||||
"chat.clearHistoryTooltip": "Chatverlauf dieses Agenten leeren",
|
||||
"chat.cancel": "Abbrechen",
|
||||
"chat.cancelTooltip": "Laufenden Lauf abbrechen",
|
||||
"chat.placeholder": "Nachricht an den Agenten eingeben (Enter zum Senden, Umschalt+Enter für neue Zeile)…",
|
||||
"chat.send": "Senden",
|
||||
"chat.sendTooltip": "Nachricht senden",
|
||||
"chat.loadingHistory": "Lade Verlauf…",
|
||||
"chat.emptyHistory": "Noch keine Nachrichten im Verlauf vorhanden.",
|
||||
"chat.historyLoadError": "Verlauf konnte nicht geladen werden: {error}",
|
||||
"chat.sendError": "Nachricht konnte nicht gesendet werden: {error}",
|
||||
"chat.cancelConfirm": "Lauf wurde abgebrochen.",
|
||||
"chat.cancelError": "Abbruch fehlgeschlagen: {error}",
|
||||
"chat.wakeSuccess": "Agent wurde manuell gestartet.",
|
||||
"chat.wakeError": "Starten fehlgeschlagen: {error}",
|
||||
"chat.clearConfirmPrompt": "Soll der gesamte Chatverlauf dieses Agenten unwiderruflich gelöscht werden?",
|
||||
"chat.cleared": "Chatverlauf geleert.",
|
||||
"chat.clearError": "Leeren fehlgeschlagen: {error}",
|
||||
"chat.role.user": "Benutzer",
|
||||
"chat.role.system": "System",
|
||||
"chat.role.tool": "Werkzeug",
|
||||
|
||||
"agents.title": "Agenten",
|
||||
"agents.newAgent": "Neuer Agent",
|
||||
"agents.loading": "Lade Agenten…",
|
||||
"agents.empty": "In dieser Instanz sind noch keine Agenten eingerichtet.",
|
||||
"agents.createFirst": "Ersten Agenten anlegen",
|
||||
"agents.id": "Kennung (ID)",
|
||||
"agents.model": "Modell",
|
||||
"agents.toolsActive": "{count} Werkzeuge aktiv",
|
||||
"agents.details": "Agent-Details",
|
||||
"agents.selectPrompt": "Wähle links einen Agenten aus.",
|
||||
"agents.chat": "Chatten",
|
||||
"agents.chatTooltip": "Mit diesem Agenten chatten",
|
||||
"agents.delete": "Löschen",
|
||||
"agents.deleteTooltip": "Diesen Agenten löschen",
|
||||
"agents.name": "Name",
|
||||
"agents.description": "Beschreibung",
|
||||
"agents.availableTools": "Verfügbare Werkzeuge",
|
||||
"agents.noTools": "Keine Werkzeuge für diesen Agenten konfiguriert.",
|
||||
"agents.configuration": "Konfiguration",
|
||||
"agents.configTooltip": "Werkzeug-Einstellungen einsehen",
|
||||
"agents.toolToggled": "Werkzeug '{tool}' {status}.",
|
||||
"agents.enabled": "aktiviert",
|
||||
"agents.disabled": "deaktiviert",
|
||||
"agents.saveFailed": "Änderung fehlgeschlagen: {error}",
|
||||
"agents.newAgentTitle": "Neuen Agenten anlegen",
|
||||
"agents.idLabel": "Agent-ID (eindeutiger Schlüssel):",
|
||||
"agents.idPlaceholder": "z.B. scout",
|
||||
"agents.nameLabel": "Anzeigename:",
|
||||
"agents.namePlaceholder": "z.B. Scout Agent",
|
||||
"agents.modelLabel": "Modell (OpenRouter):",
|
||||
"agents.descLabel": "Beschreibung:",
|
||||
"agents.descPlaceholder": "Optionale Beschreibung des Agenten…",
|
||||
"agents.createButton": "Agent anlegen",
|
||||
"agents.createdSuccess": "Agent '{name}' wurde erfolgreich angelegt.",
|
||||
"agents.createFailed": "Fehler beim Anlegen: {error}",
|
||||
"agents.deleteConfirm": "Soll der Agent '{name}' ({id}) wirklich gelöscht werden?",
|
||||
"agents.deleted": "Agent '{name}' wurde gelöscht.",
|
||||
"agents.deleteFailed": "Löschen fehlgeschlagen: {error}",
|
||||
"agents.settingsTitle": "Einstellungen: {tool} ({agent})",
|
||||
"agents.loadingSettings": "Lade Konfiguration…",
|
||||
"agents.secretHint": "Geheime Werte (Passwörter, Schlüssel) werden vom Server maskiert ausgegeben.",
|
||||
"agents.noSettings": "Keine individuellen Einstellungen hinterlegt.",
|
||||
"agents.loadFailed": "Laden fehlgeschlagen: {error}",
|
||||
"agents.rights": "Rechte",
|
||||
"agents.noOperations": "Dieses Werkzeug kennt keine einzelnen Operationen. Es gilt die Standardregel.",
|
||||
"agents.configuredHint": "Erlaubte Operationen laufen ohne Rückfrage, alle anderen werden einzeln zur Freigabe vorgelegt, verbotene gar nicht erst.",
|
||||
"agents.notConfiguredHint": "Noch keine Rechte gesetzt: Es gilt die Vorgabe des Werkzeugs. Mit dem Speichern werden die Einstellungen unten verbindlich.",
|
||||
"agents.operation": "Operation",
|
||||
"agents.setting": "Einstellung",
|
||||
"agents.effect": "Wirkung",
|
||||
"agents.allowed": "erlaubt",
|
||||
"agents.singleApproval": "einzeln freigeben",
|
||||
"agents.forbidden": "verboten",
|
||||
"agents.alwaysApprovalReason": "Änderungen an Agenten brauchen immer eine Freigabe.",
|
||||
"agents.saveRights": "Rechte speichern",
|
||||
"agents.rightsSaved": "Rechte gespeichert.",
|
||||
"agents.effectAuto": "läuft",
|
||||
"agents.effectApprove": "einzeln freigeben",
|
||||
"agents.effectDeny": "gesperrt",
|
||||
"agents.standingApproval": "Dauerfreigabe #{id}",
|
||||
|
||||
"tasks.title": "Aufgaben",
|
||||
"tasks.newTask": "Neue Aufgabe",
|
||||
"tasks.showCompleted": "Abgeschlossene anzeigen",
|
||||
"tasks.empty": "Keine Aufgaben vorhanden",
|
||||
"tasks.createTitle": "Aufgabe erstellen",
|
||||
"tasks.agent": "Agent",
|
||||
"tasks.taskMessage": "Aufgabenbeschreibung / Nachricht",
|
||||
"tasks.schedule": "Zeitplan",
|
||||
"tasks.scheduleType": "Planungsart",
|
||||
"tasks.scheduleNone": "Keine (Nur manuell)",
|
||||
"tasks.scheduleCron": "Cron-Ausdruck",
|
||||
"tasks.scheduleInterval": "Intervall",
|
||||
"tasks.scheduleAt": "Fester Zeitpunkt",
|
||||
"tasks.runNow": "Jetzt ausführen",
|
||||
"tasks.pause": "Pausieren",
|
||||
"tasks.resume": "Fortsetzen",
|
||||
"tasks.delete": "Löschen",
|
||||
"tasks.saved": "Aufgabe gespeichert.",
|
||||
"tasks.deleted": "Aufgabe gelöscht.",
|
||||
"tasks.runTriggered": "Lauf ausgelöst.",
|
||||
|
||||
"services.title": "Dienste",
|
||||
"services.newService": "Neuer Dienst",
|
||||
"services.empty": "Keine Hintergrunddienste konfiguriert",
|
||||
"services.serviceName": "Dienstname",
|
||||
"services.serviceType": "Typ",
|
||||
"services.port": "Port",
|
||||
"services.active": "Aktiv",
|
||||
"services.start": "Starten",
|
||||
"services.stop": "Beenden",
|
||||
"services.restart": "Neustarten",
|
||||
|
||||
"backup.title": "Datensicherung & Wiederherstellung",
|
||||
"backup.refresh": "Aktualisieren",
|
||||
"backup.refreshTooltip": "Sicherungen neu laden",
|
||||
"backup.newBackup": "Neue Sicherung",
|
||||
"backup.newBackupTooltip": "Neue Sicherung erstellen",
|
||||
"backup.noInstance": "Keine Instanz ausgewählt",
|
||||
"backup.selectInstancePrompt": "Bitte wähle oben im Kopfbereich eine Instanz aus, um deren Sicherungen zu verwalten.",
|
||||
"backup.loading": "Lade Sicherungen…",
|
||||
"backup.backupDir": "Sicherungsverzeichnis",
|
||||
"backup.backupDirHint": "Sicherungen werden als Ganzes mit dem Lizenzschlüssel des Instanzmanagers verschlüsselt und enthalten die Zugangsdaten. Auf einer anderen Maschine lassen sie sich mit demselben Lizenzschlüssel zurückspielen.",
|
||||
"backup.existingBackups": "Vorhandene Sicherungen ({count})",
|
||||
"backup.noBackups": "Für diese Instanz gibt es noch keine Sicherung. Lege über die Schaltfläche oben eine an.",
|
||||
"backup.restore": "Wiederherstellen",
|
||||
"backup.restoreTooltip": "Diese Sicherung wiederherstellen",
|
||||
"backup.deleteTooltip": "Sicherungsdatei unwiderruflich löschen",
|
||||
"backup.archiveFile": "Archivdatei",
|
||||
"backup.createdAt": "Erstellt am",
|
||||
"backup.size": "Größe",
|
||||
"backup.protection": "Schutz",
|
||||
"backup.files": "Dateien",
|
||||
"backup.actions": "Aktionen",
|
||||
"backup.fileCount": "{count} Dateien",
|
||||
"backup.foreignLicense": "Fremde Lizenz",
|
||||
"backup.unreadable": "Unlesbar",
|
||||
"backup.licenseProtection": "Lizenz ({count} Zugangsdaten)",
|
||||
"backup.passphraseProtection": "Passphrase ({count})",
|
||||
"backup.unencryptedProtection": "Unverschlüsselt, ohne Zugangsdaten",
|
||||
"backup.dialogTitle": "Neue Sicherung erstellen",
|
||||
"backup.dialogHint": "Die Sicherung wird mit dem Lizenzschlüssel des Instanzmanagers verschlüsselt und enthält die Zugangsdaten. Ist ein FTP-Upload eingerichtet, wird sie anschließend hochgeladen.",
|
||||
"backup.includeChats": "Chatverläufe sichern",
|
||||
"backup.includeLogs": "Protokolldateien (Logs) einschließen",
|
||||
"backup.createButton": "Sicherung erstellen",
|
||||
"backup.creating": "Erstelle Sicherung…",
|
||||
"backup.created": "Sicherung erstellt.",
|
||||
"backup.createFailed": "Fehler beim Sichern: {error}",
|
||||
"backup.restoreTitle": "Sicherung wiederherstellen: {file}",
|
||||
"backup.overwriteWarningTitle": "Achtung: Überschreiben bestehender Daten",
|
||||
"backup.overwriteWarningText": "Die Wiederherstellung überschreibt die aktuellen Konfigurationen und Daten der Instanz mit dem Stand vom {date}.",
|
||||
"backup.instanceStopNotice": "Die Instanz wird dafür geordnet angehalten und danach wieder gestartet.",
|
||||
"backup.passphraseLabel": "Passphrase für Zugangsdaten",
|
||||
"backup.passphrasePlaceholder": "Passphrase der Sicherung…",
|
||||
"backup.passphraseRequired": "Bitte gib die Passphrase an.",
|
||||
"backup.restoreNow": "Jetzt wiederherstellen",
|
||||
"backup.restoring": "Stelle wieder her…",
|
||||
"backup.restoreSuccess": "Wiederherstellung abgeschlossen.",
|
||||
"backup.restoreFailed": "Wiederherstellung fehlgeschlagen: {error}",
|
||||
"backup.foreignLicenseTitle": "Lizenzschlüssel der Quelle erforderlich",
|
||||
"backup.sourceLicenseLabel": "Lizenzschlüssel der Quelle",
|
||||
"backup.sourceLicenseHint": "Groß- und Kleinschreibung sowie Leerzeichen spielen keine Rolle.",
|
||||
"backup.sourceLicensePlaceholder": "Lizenzschlüssel der Installation, von der die Sicherung stammt…",
|
||||
"backup.restoreWithKey": "Mit diesem Schlüssel wiederherstellen",
|
||||
"backup.keyMismatch": "Dieser Lizenzschlüssel passt nicht zu der Sicherung.",
|
||||
"backup.deleteTitle": "Sicherung löschen",
|
||||
"backup.deleteConfirm": "Soll die Sicherungsdatei '{file}' wirklich unwiderruflich gelöscht werden?",
|
||||
"backup.deleted": "Sicherung gelöscht.",
|
||||
"backup.deleteFailed": "Löschen fehlgeschlagen: {error}",
|
||||
"backup.ftpTitle": "FTP-Upload der Sicherungen",
|
||||
"backup.ftpLoading": "Lade FTP-Einstellungen…",
|
||||
"backup.ftpHint": "Die Sicherungen sind verschlüsselt — wer den Server liest, liest nichts Brauchbares. Das Kennwort des Servers geht ohne TLS aber im Klartext über die Leitung.",
|
||||
"backup.ftpAutoUpload": "Fertige Sicherungen automatisch hochladen",
|
||||
"backup.ftpServer": "Server",
|
||||
"backup.ftpPort": "Port",
|
||||
"backup.ftpUser": "Benutzer",
|
||||
"backup.ftpPassword": "Kennwort",
|
||||
"backup.ftpPasswordSaved": "(gespeichert — leer lassen für unverändert)",
|
||||
"backup.ftpDirectory": "Zielordner",
|
||||
"backup.ftpDirectoryHint": "Darunter bekommt jede Instanz einen eigenen Ordner.",
|
||||
"backup.ftpKeepCount": "Sicherungen je Instanz behalten",
|
||||
"backup.ftpKeepCountHint": "Ältere werden auf dem Server gelöscht.",
|
||||
"backup.ftpRequireTls": "Nur mit TLS verbinden",
|
||||
"backup.ftpTest": "Verbindung testen",
|
||||
"backup.ftpTestFailed": "Test fehlgeschlagen: {error}",
|
||||
"backup.ftpSaved": "Gespeichert.",
|
||||
"backup.ftpSaveFailed": "Speichern fehlgeschlagen: {error}",
|
||||
|
||||
"logs.title": "Protokoll",
|
||||
"logs.connecting": "Verbinde…",
|
||||
"logs.allInstances": "Alle Instanzen",
|
||||
"logs.allModules": "Alle Module",
|
||||
"logs.clear": "Leeren",
|
||||
"logs.pause": "Pausieren",
|
||||
"logs.resume": "Fortsetzen",
|
||||
"logs.paused": "Pausiert",
|
||||
"logs.autoScroll": "Autoscroll",
|
||||
"logs.empty": "Noch keine Protokolleinträge vorhanden.",
|
||||
|
||||
"settings.title": "Einstellungen & Systemarchitektur",
|
||||
"settings.intro": "Übersicht der Konfiguration nach dem Instanzmanager-Konzept: Strikte Trennung zwischen globaler Manager-Ebene (Installation) und isolierter Instanz-Ebene.",
|
||||
"settings.managerLevel": "Instanzmanager",
|
||||
"settings.managerBadge": "Manager-Ebene · Global",
|
||||
"settings.managerIntro": "Gilt für alle Instanzen und die Weboberfläche. Gespeichert in manager.json im Anwendungs-Hauptverzeichnis.",
|
||||
"settings.webUiAndNet": "Weboberfläche & Netzwerk",
|
||||
"settings.configFile": "Konfigurationsdatei",
|
||||
"settings.webUiPort": "WebUI-Port",
|
||||
"settings.webUiPortDefault": "7000 (Vorgabe, webUiPort)",
|
||||
"settings.networkBinding": "Netzwerk-Bindung",
|
||||
"settings.networkBindingValue": "loopback (127.0.0.1, webUiBinding)",
|
||||
"settings.accessProtection": "Zugangsschutz",
|
||||
"settings.tokenActive": "Token aktiv (≥ 20 Zeichen)",
|
||||
"settings.licenseAndUpdates": "Lizenz & Updates",
|
||||
"settings.licenseScope": "Lizenz-Geltung",
|
||||
"settings.licenseScopeValue": "Installationsebene (E-M3: Beliebig viele Instanzen)",
|
||||
"settings.licenseKey": "Lizenzschlüssel",
|
||||
"settings.licenseEncrypted": "●●●●-●●●●-●●●●-●●●● (verschlüsselt)",
|
||||
"settings.updateChannel": "Update-Kanal",
|
||||
"settings.updateChannelValue": "prod (Offizielle Release-Versionen)",
|
||||
"settings.updateCheck": "Update-Prüfung",
|
||||
"settings.updateCheckValue": "Zentral auf Manager-Ebene",
|
||||
"settings.dcAndOversight": "Deploymentcenter & Aufsicht",
|
||||
"settings.dcMasterToken": "Master-Token",
|
||||
"settings.dcMasterTokenValue": "●●●●●●●● (erzeugt Sub-Token je Instanz)",
|
||||
"settings.desktopWindows": "Desktop-Fenster",
|
||||
"settings.desktopWindowsValue": "Aktiv (jede Instanz hat ein eigenes Fenster)",
|
||||
"settings.crashProtection": "Absturz-Schutz",
|
||||
"settings.crashProtectionValue": "Max. 5 Neustarts / 10 Minuten",
|
||||
"settings.instanceSectionTitle": "Aktive Instanz: {name}",
|
||||
"settings.instanceSectionTitleNone": "Instanzbezogene Einstellungen",
|
||||
"settings.instanceBadge": "Instanz-Ebene · Isoliert",
|
||||
"settings.noInstanceActive": "Keine Instanz aktiv",
|
||||
"settings.instanceIntro": "Gilt ausschließlich für die aktuell ausgewählte Instanz. Alle Pfade, Protokolle, Agenten und Budgets sind strikt von anderen Instanzen isoliert.",
|
||||
"settings.noInstanceSelected": "Keine Instanz ausgewählt",
|
||||
"settings.noInstancePrompt": "Bitte wähle oben im Kopfbereich eine aktive Instanz aus oder wechsle in den Bereich 'Instanzen', um eine Instanz zu starten oder auszuwählen.",
|
||||
"settings.toInstancesOverview": "Zur Instanzen-Übersicht",
|
||||
"settings.identityAndProcess": "Identität & Prozess",
|
||||
"settings.instanceName": "Instanzname",
|
||||
"settings.instanceId": "Instanz-ID",
|
||||
"settings.autostartByManager": "Autostart durch Manager",
|
||||
"settings.autostartActive": "Aktiv (Am Laufen halten)",
|
||||
"settings.autostartInactive": "Inaktiv (Manueller Start)",
|
||||
"settings.communication": "Kommunikation",
|
||||
"settings.communicationValue": "HTTP über Named Pipe (Windows) / Socket (Linux)",
|
||||
"settings.isolatedPaths": "Isolierte Verzeichnisse",
|
||||
"settings.logsPath": "Protokolle (Logs)",
|
||||
"settings.backupsPath": "Datensicherungen",
|
||||
"settings.stateDbPath": "Zustandsdatenbank",
|
||||
"settings.stateDbValue": "Instances/{name}/state.db (exklusiv)",
|
||||
"settings.workspacePath": "Arbeitsbereich (Shared)",
|
||||
"settings.openRouterCard": "Modellanbindung (OpenRouter)",
|
||||
"settings.openRouterStatus": "OpenRouter-Status",
|
||||
"settings.connected": "Verbunden",
|
||||
"settings.offline": "Offline",
|
||||
"settings.statusMessage": "Statusmeldung",
|
||||
"settings.credits": "Guthaben / Credits",
|
||||
"settings.apiKey": "API-Schlüssel",
|
||||
"settings.apiKeyMasked": "In InstanceSettings.json dieser Instanz maskiert hinterlegt",
|
||||
"settings.openRouterNotRunning": "Instanz läuft nicht. Daten werden nach dem Start geladen.",
|
||||
"settings.openRouterNoKey": "Kein Schlüssel hinterlegt oder Dienst nicht erreichbar.",
|
||||
"settings.runtimeAndSubsystems": "Laufzeit & Teilsysteme",
|
||||
"settings.agentEngine": "Agent Engine",
|
||||
"settings.scheduler": "Scanner / Scheduler",
|
||||
"settings.stagingService": "Freigabestelle (Staging)",
|
||||
"settings.dcSubToken": "Deploymentcenter Sub-Token",
|
||||
"settings.subsystemsLoading": "Laufzeitdaten werden abgefragt…",
|
||||
"settings.subsystemsStopped": "Instanz ist beendet — Teilsysteme ruhen.",
|
||||
"settings.save": "Einstellungen speichern",
|
||||
"settings.discard": "Verwerfen",
|
||||
"settings.saved": "Einstellungen erfolgreich gespeichert.",
|
||||
"settings.saveError": "Fehler beim Speichern der Einstellungen: {error}",
|
||||
|
||||
"info.title": "System & Status",
|
||||
"info.noInstanceSelected": "Keine Instanz ausgewählt",
|
||||
"info.noInstanceHint": "Wähle oben im Kopfbereich eine aktive Instanz aus oder wechsle in den Bereich 'Instanzen', um eine Instanz zu starten.",
|
||||
"info.loading": "Lade Systemdaten…",
|
||||
"info.instanceAndVersion": "Instanz & Version",
|
||||
"info.instanceName": "Instanzname",
|
||||
"info.instanceId": "Instanz-ID",
|
||||
"info.version": "Version",
|
||||
"info.build": "Build",
|
||||
"info.environment": "Umgebung",
|
||||
"info.dataDirectory": "Datenverzeichnis",
|
||||
"info.subsystems": "Teilsysteme",
|
||||
"info.openRouterStatus": "OpenRouter & Guthaben",
|
||||
|
||||
"instances.title": "Instanzverwaltung",
|
||||
"instances.refresh": "Aktualisieren",
|
||||
"instances.newInstance": "Neue Instanz",
|
||||
"instances.activeBadge": "Aktiv im WebUI",
|
||||
"instances.selectActive": "Als aktiv wählen",
|
||||
"instances.start": "Starten",
|
||||
"instances.stop": "Beenden",
|
||||
"instances.bringToFront": "Fenster nach vorn",
|
||||
"instances.createTitle": "Neue Instanz anlegen",
|
||||
"instances.instanceOfflineError": "Die Instanz ist nicht erreichbar.",
|
||||
"instances.noInstanceActiveError": "Keine Instanz aktiv. Unter 'Instanzen' starten oder auswählen.",
|
||||
"instances.instanceNameLabel": "Instanz-Name",
|
||||
"instances.instanceNamePlaceholder": "z.B. production-1",
|
||||
"instances.dailyBudgetUsd": "Tagesbudget ($ USD)",
|
||||
"instances.dailyBudgetTokens": "Tagesbudget (Tokens)",
|
||||
"instances.autostart": "Autostart durch Manager",
|
||||
"instances.created": "Instanz erfolgreich angelegt.",
|
||||
"instances.createError": "Fehler beim Anlegen der Instanz: {error}",
|
||||
|
||||
"staging.title": "Freigabestelle",
|
||||
"staging.refresh": "Aktualisieren",
|
||||
"staging.loading": "Lade Freigaben…",
|
||||
"staging.empty": "Keine offenen Freigaben",
|
||||
"staging.emptyHint": "Aktuell warten keine Werkzeug-Aufrufe auf eine manuelle Bestätigung.",
|
||||
"staging.approve": "Freigeben",
|
||||
"staging.reject": "Ablehnen",
|
||||
"staging.callId": "Aufruf-ID",
|
||||
"staging.agent": "Agent",
|
||||
"staging.tool": "Werkzeug",
|
||||
"staging.time": "Zeitpunkt",
|
||||
"staging.frozenArgs": "Eingefrorene Argumente:",
|
||||
"staging.suggestHint": "Diese Operation von {agent} wurde in den letzten 14 Tagen schon {approvals}-mal freigegeben. Soll {tool}.{action} für diesen Agenten künftig ohne Rückfrage laufen?",
|
||||
"staging.allowSimilar": "Gleichartiges künftig erlauben: {agent} darf {tool}.{action} ab jetzt ohne Rückfrage (widerrufbar unten unter „Dauerfreigaben“).",
|
||||
"staging.notActive": "Freigabestelle nicht aktiv",
|
||||
"staging.notActiveHint": "In dieser Instanz ist keine Freigabestelle eingerichtet.",
|
||||
"staging.approved": "Aufruf freigegeben{similar}: {message}",
|
||||
"staging.similarSuffix": " und künftig erlaubt",
|
||||
"staging.executedSuccess": "Erfolgreich ausgeführt",
|
||||
"staging.approveFailed": "Freigabe fehlgeschlagen: {error}",
|
||||
"staging.standingTitle": "Dauerfreigaben",
|
||||
"staging.standingEmpty": "Keine. Beim Freigeben lässt sich „Gleichartiges künftig erlauben“ wählen; dauerhafte Rechte stehen sonst in der Werkzeugkonfiguration des Agenten.",
|
||||
"staging.granted": "Erteilt",
|
||||
"staging.occasion": "Anlass",
|
||||
"staging.revoke": "Widerrufen",
|
||||
"staging.revokeConfirm": "Dauerfreigabe widerrufen? {agent} muss {tool}.{action} dann wieder einzeln vorlegen.",
|
||||
"staging.revoked": "Widerrufen.",
|
||||
"staging.revokeFailed": "Widerruf fehlgeschlagen: {error}",
|
||||
"staging.rejectTitle": "Werkzeug-Aufruf ablehnen",
|
||||
"staging.rejectReasonLabel": "Begründung (optional):",
|
||||
"staging.rejectReasonPlaceholder": "Begründung für die Ablehnung an den Agenten…",
|
||||
"staging.rejectButton": "Aufruf ablehnen",
|
||||
"staging.rejected": "Aufruf wurde abgelehnt.",
|
||||
"staging.rejectFailed": "Ablehnen fehlgeschlagen: {error}",
|
||||
|
||||
"agentChats.title": "Agenten-Kommunikation (A2A)",
|
||||
"agentChats.allAgents": "Alle Agenten",
|
||||
"agentChats.filterTooltip": "Nach beteiligtem Agenten filtern (Absender oder Empfänger)",
|
||||
"agentChats.fromTooltip": "Nachrichten ab diesem Tag",
|
||||
"agentChats.toTooltip": "Nachrichten bis einschließlich diesem Tag",
|
||||
"agentChats.searchPlaceholder": "Volltext…",
|
||||
"agentChats.searchTooltip": "Suche im Nachrichtentext und in den Agentennamen",
|
||||
"agentChats.refresh": "Aktualisieren",
|
||||
"agentChats.refreshTooltip": "Kommunikation neu laden",
|
||||
"agentChats.from": "von",
|
||||
"agentChats.to": "bis",
|
||||
"agentChats.noInstance": "Keine Instanz ausgewählt",
|
||||
"agentChats.selectInstancePrompt": "Bitte wähle oben im Kopfbereich eine Instanz aus, um deren Agenten-Kommunikation anzuzeigen.",
|
||||
"agentChats.infoTitle": "Interne Kommunikation",
|
||||
"agentChats.infoHint": "Hier wird der direkte Nachrichtenaustausch zwischen Agenten protokolliert, wenn Agenten über das Werkzeug AgentComm (Aktion send_message) miteinander sprechen.",
|
||||
"agentChats.loading": "Lade Kommunikationsverlauf…",
|
||||
"agentChats.matchCount": "{filtered} von {total} Nachrichten",
|
||||
"agentChats.totalCount": "{total} Nachrichten",
|
||||
"agentChats.empty": "Keine Nachrichten",
|
||||
"agentChats.emptyFilter": "Für diese Filter liegt keine interne Kommunikation vor.",
|
||||
"agentChats.emptyInstance": "In dieser Instanz wurde bisher keine interne Agent-zu-Agent-Kommunikation protokolliert.",
|
||||
"agentChats.replyTo": "➔ Antwort an",
|
||||
"agentChats.arrow": "➔",
|
||||
"agentChats.loadFailed": "Kommunikation konnte nicht geladen werden: {error}",
|
||||
|
||||
"usage.title": "Token-Verbrauch & Analyse",
|
||||
"usage.loading": "Lade Verbrauchsdaten…",
|
||||
"usage.empty": "Keine Daten",
|
||||
"usage.emptyHint": "Noch keine Token-Verbrauchsdaten aufgezeichnet.",
|
||||
"usage.totalCost": "Gesamtkosten ({runs} Läufe)",
|
||||
"usage.totalTokens": "Tokens gesamt",
|
||||
"usage.inputTokens": "Eingabe-Tokens (Prompt)",
|
||||
"usage.outputTokens": "Ausgabe-Tokens (Completion)",
|
||||
"usage.unknownCostRuns": "{count} Lauf/Läufe ohne bekannten Preis — deren Kosten sind in der Summe nicht enthalten.",
|
||||
"usage.tokensByAgent": "Tokens nach Agent",
|
||||
"usage.tokensByModel": "Tokens nach Modell",
|
||||
"usage.recentRuns": "Letzte Agenten-Läufe",
|
||||
"usage.time": "Zeitpunkt",
|
||||
"usage.agent": "Agent",
|
||||
"usage.model": "Modell",
|
||||
"usage.status": "Status",
|
||||
"usage.prompt": "Prompt",
|
||||
"usage.completion": "Completion",
|
||||
"usage.total": "Gesamt",
|
||||
"usage.cost": "Kosten",
|
||||
"usage.unknownPrice": "(Preis unbekannt)",
|
||||
"usage.notAvailable": "Verbrauchsdaten nicht verfügbar",
|
||||
"usage.forecastTitle": "Kostenprognose",
|
||||
"usage.forecastDay": "Prognose je Tag",
|
||||
"usage.forecastMonth": "Prognose je Monat (30 Tage)",
|
||||
"usage.tasksDay": "davon Aufgaben je Tag",
|
||||
"usage.otherDay": "sonstige Läufe je Tag (Ø 7 Tage)",
|
||||
"usage.budgetWarning": "{agent}: Die geplanten Aufgaben kosten laut Prognose {cost} am Tag, das Tagesbudget erlaubt {budget}. Die späten Läufe eines Tages werden abgelehnt.",
|
||||
"usage.withoutBasis": "{count} Aufgabe(n) ohne Grundlage (kein Lauf, kein Modellpreis) – nicht in der Summe enthalten.",
|
||||
"usage.oneOffOpen": "Offene einmalige Aufgaben kosten zusätzlich etwa {cost}.",
|
||||
"usage.basisHint": "Grundlage je Aufgabe: Mittelwert ihrer letzten Läufe, sonst der des Agenten, sonst eine Schätzung aus Promptlänge und Listenpreis (eher zu hoch).",
|
||||
"usage.task": "Aufgabe",
|
||||
"usage.runsDay": "Läufe/Tag",
|
||||
"usage.perRun": "je Lauf",
|
||||
"usage.basis": "Grundlage",
|
||||
"usage.perDay": "je Tag",
|
||||
"usage.basisRuns": "Ø letzte {n} Läufe",
|
||||
"usage.basisAgent": "Ø des Agenten ({n} Läufe)",
|
||||
"usage.basisEstimate": "Schätzung – noch kein Lauf",
|
||||
"usage.basisUnknown": "keine Grundlage",
|
||||
|
||||
"filter.range": "Zeitraum",
|
||||
"filter.range.24h": "Letzte 24 Stunden",
|
||||
@@ -42,15 +532,15 @@
|
||||
"runs.total.runs": "Läufe",
|
||||
"runs.total.prompt": "Prompt-Tokens",
|
||||
"runs.total.completion": "Antwort-Tokens",
|
||||
"runs.total.cached": "Aus dem Cache",
|
||||
"runs.total.cached": "Aus Cache",
|
||||
"runs.total.cost": "Kosten",
|
||||
"runs.total.notRun": "Abgewiesen (Budget, Herunterfahren)",
|
||||
"runs.unknownCost": "{n} Lauf/Läufe ohne bekannten Preis sind mit 0 $ gezählt.",
|
||||
"runs.total.notRun": "Abgelehnt (Budget, Shutdown)",
|
||||
"runs.unknownCost": "{n} Lauf/Läufe ohne bekannten Preis sind mit 0 $ gerechnet.",
|
||||
"runs.empty.title": "Keine Läufe",
|
||||
"runs.empty.text": "Kein Lauf passt zu diesem Filter.",
|
||||
"runs.empty.text": "Kein Lauf passt auf diesen Filter.",
|
||||
"runs.list": "Läufe",
|
||||
"runs.page": "{from}–{to} von {total}",
|
||||
"runs.col.time": "Zeit",
|
||||
"runs.col.time": "Zeitpunkt",
|
||||
"runs.col.agent": "Agent",
|
||||
"runs.col.model": "Modell",
|
||||
"runs.col.event": "Ereignis",
|
||||
@@ -66,33 +556,33 @@
|
||||
"detail.notFound": "Lauf nicht gefunden",
|
||||
"detail.runId": "Lauf-ID",
|
||||
"detail.tokens": "Tokens",
|
||||
"detail.tokensValue": "{prompt} Prompt · {completion} Antwort · {cached} aus dem Cache",
|
||||
"detail.tokensValue": "{prompt} Prompt · {completion} Antwort · {cached} aus Cache",
|
||||
"detail.result": "Ergebnis",
|
||||
"detail.receipt": "Beleg",
|
||||
"detail.receipt": "Quittung",
|
||||
"detail.transcript": "Prompt und Antwort",
|
||||
"detail.transcript.disabled": "Für diesen Agenten ist der Prompt-Verlauf abgeschaltet (Aufbewahrung: nie).",
|
||||
"detail.transcript.disabled": "Prompt-Verlauf ist für diesen Agenten abgeschaltet (Aufbewahrung: nie).",
|
||||
"detail.transcript.unavailable": "Diese Instanz zeichnet keinen Prompt-Verlauf auf.",
|
||||
"detail.transcript.missing": "Kein Transkript zu diesem Lauf – er lief vor Beginn der Aufzeichnung oder ist über seine Aufbewahrungsfrist hinaus.",
|
||||
"detail.transcript.truncated": "Dieser Lauf hat die Größengrenze des Prompt-Verlaufs überschritten; spätere Einträge sind gekürzt.",
|
||||
"detail.transcript.missing": "Kein Verlauf für diesen Lauf — er lief vor Beginn der Aufzeichnung oder ist älter als die Aufbewahrungsfrist.",
|
||||
"detail.transcript.truncated": "Dieser Lauf hat die Größengrenze des Verlaufs überschritten; spätere Einträge sind gekürzt.",
|
||||
"detail.transcript.size": "{n} Einträge, {chars} Zeichen",
|
||||
"detail.systemPrompt": "Systemprompt ({n} Zeichen)",
|
||||
"detail.entry.user": "Auftrag / Nachricht",
|
||||
"detail.entry.engine": "Nachfrage der Engine",
|
||||
"detail.systemPrompt": "System-Prompt ({n} Zeichen)",
|
||||
"detail.entry.user": "Aufgabe / Nachricht",
|
||||
"detail.entry.engine": "Nachfasslauf der Engine",
|
||||
"detail.entry.event": "Ereignis",
|
||||
"detail.entry.assistant": "Modellschritt {n}",
|
||||
"detail.entry.usage": "{prompt} rein · {completion} raus",
|
||||
"detail.entry.tool_result": "Ergebnis: {tool}",
|
||||
"detail.entry.call": "Ruft {tool} auf",
|
||||
"detail.entry.call": "Ruft {tool}",
|
||||
"detail.entry.clipped": "gekürzt",
|
||||
"detail.tool": "Werkzeug",
|
||||
"detail.arguments": "Argumente",
|
||||
"detail.toolCalls": "Werkzeugaufrufe",
|
||||
"detail.toolCalls.hint": "Aus dem Audit-Log – auch ohne Transkript vorhanden.",
|
||||
"detail.toolCalls.hint": "Aus dem Audit-Log — auch ohne Verlauf vorhanden.",
|
||||
"detail.approvals": "Zur Freigabe vorgelegt",
|
||||
|
||||
"timeline.title": "Tokennutzung › Zeitverlauf",
|
||||
"timeline.chart": "Zeitverlauf",
|
||||
"timeline.metric": "Maß",
|
||||
"timeline.metric": "Messwert",
|
||||
"timeline.metric.cost": "Kosten",
|
||||
"timeline.metric.tokens": "Tokens",
|
||||
"timeline.metric.runs": "Läufe",
|
||||
@@ -106,21 +596,21 @@
|
||||
"timeline.tooltipRuns": "{n} Lauf/Läufe",
|
||||
"timeline.event.budget_exceeded": "Budget erschöpft",
|
||||
"timeline.event.model_changed": "Modell gewechselt",
|
||||
"timeline.hint": "Ein Klick auf einen Balken zeigt dessen Läufe.",
|
||||
"timeline.hint": "Klick auf einen Balken zeigt dessen Läufe.",
|
||||
|
||||
"history.title": "Prompt-Verlauf",
|
||||
"history.intro": "Prompt und Antwort jedes Laufs, durchsuchbar über das ganze Gespräch samt Werkzeugaufrufen und Ergebnissen.",
|
||||
"history.intro": "Prompt und Antwort jedes Laufs, durchsuchbar über die gesamte Unterhaltung samt Werkzeugaufrufen und Ergebnissen.",
|
||||
"history.unavailable": "Prompt-Verlauf nicht verfügbar",
|
||||
"history.empty.title": "Nichts aufgezeichnet",
|
||||
"history.empty.text": "Keine Transkripte in diesem Zeitraum. Die Aufzeichnung beginnt mit Version 0.1.12 und folgt der Aufbewahrung unten.",
|
||||
"history.empty.search": "Kein Transkript enthält diesen Text.",
|
||||
"history.list": "Transkripte ({n})",
|
||||
"history.empty.text": "Keine Verläufe in diesem Zeitraum. Die Aufzeichnung beginnt mit Version 0.1.12 und folgt den unten stehenden Fristen.",
|
||||
"history.empty.search": "Kein Verlauf enthält diesen Text.",
|
||||
"history.list": "Verläufe ({n})",
|
||||
"history.prompt": "Prompt",
|
||||
"history.response": "Antwort",
|
||||
"history.truncated": "Größengrenze erreicht ({chars} Zeichen gespeichert).",
|
||||
|
||||
"history.settings.title": "Aufbewahrung",
|
||||
"history.settings.intro": "Wie lange Prompts und Antworten aufbewahrt werden. Die Vorgabe gilt für jeden Agenten ohne eigene Einstellung; „nie“ löscht auch, was vorher aufgezeichnet wurde.",
|
||||
"history.settings.intro": "Wie lange Prompts und Antworten aufgehoben werden. Die Vorgabe gilt für jeden Agenten ohne eigene Angabe; „nie“ löscht auch, was vorher aufgezeichnet war.",
|
||||
"history.settings.default": "Vorgabe für alle Agenten:",
|
||||
"history.settings.agent": "Agent",
|
||||
"history.settings.retention": "Aufbewahrung",
|
||||
@@ -129,13 +619,65 @@
|
||||
"history.settings.mode.inherit": "Vorgabe",
|
||||
"history.settings.mode.never": "Nie aufzeichnen",
|
||||
"history.settings.mode.days": "Tage",
|
||||
"history.settings.mode.forever": "Unbegrenzt",
|
||||
"history.settings.mode.forever": "Für immer aufheben",
|
||||
"history.settings.days": "Tage",
|
||||
"history.settings.daysUnit": "Tage",
|
||||
"history.settings.effective.never": "wird nicht aufgezeichnet",
|
||||
"history.settings.effective.forever": "unbegrenzt",
|
||||
"history.settings.effective.days": "{n} Tage",
|
||||
"history.settings.effective.forever": "bleibt für immer",
|
||||
"history.settings.effective.days": "bleibt {n} Tage",
|
||||
"history.settings.save": "Aufbewahrung speichern",
|
||||
"history.settings.saved": "Aufbewahrung gespeichert.",
|
||||
"history.settings.failed": "Speichern fehlgeschlagen: {error}"
|
||||
"history.settings.failed": "Speichern fehlgeschlagen: {error}",
|
||||
|
||||
"desktop.mainWindow.title": "ClawdDotNet",
|
||||
"desktop.mainWindow.sidebarTooltip": "Seitenleiste ein-/ausklappen",
|
||||
"desktop.mainWindow.switchInstance": "Instanz wechseln",
|
||||
"desktop.mainWindow.instance": "INSTANZ",
|
||||
"desktop.mainWindow.themeLight": "Hellmodus",
|
||||
"desktop.mainWindow.themeDark": "Dunkelmodus",
|
||||
"desktop.mainWindow.openInstanceFolder": "Instanz-Ordner öffnen",
|
||||
"desktop.mainWindow.instanceManager": "Instanzmanager",
|
||||
"desktop.mainWindow.exit": "Beenden",
|
||||
"desktop.nav.work": "Arbeiten",
|
||||
"desktop.nav.analytics": "Analyse",
|
||||
"desktop.nav.system": "System",
|
||||
"desktop.status.unknown": "unbekannt",
|
||||
"desktop.status.design": "Entwurf",
|
||||
"desktop.status.noApiKey": "kein API-Key",
|
||||
"desktop.status.noUsageData": "keine Nutzungsdaten",
|
||||
"desktop.settings.discard": "Verwerfen",
|
||||
"desktop.settings.save": "Speichern",
|
||||
"desktop.settings.instance": "INSTANZ",
|
||||
"desktop.settings.instanceName": "Instanz-Name",
|
||||
"desktop.settings.apiKey": "OpenRouter API-Key",
|
||||
"desktop.settings.autostart": "Autostart durch Manager",
|
||||
"desktop.settings.autostartHint": "Der Instanzmanager startet diese Instanz, wenn er hochkommt, und wieder, wenn sie abstürzt.",
|
||||
"desktop.settings.logDir": "Protokoll-Verzeichnis",
|
||||
"desktop.settings.logDirHint": "Gilt nur für diese Instanz. Leer heißt: Unterordner Logs im Instanzverzeichnis.",
|
||||
"desktop.settings.dailyCost": "Tagesbudget ($ USD)",
|
||||
"desktop.settings.dailyTokens": "Tagesbudget (Tokens)",
|
||||
"desktop.settings.general": "ALLGEMEIN",
|
||||
"desktop.settings.instancesDir": "Instanzen-Verzeichnis",
|
||||
"desktop.settings.minLogLevel": "Minimaler Log-Level",
|
||||
"desktop.settings.openRouterUrl": "OpenRouter Base-URL",
|
||||
"desktop.settings.language": "Sprache",
|
||||
"desktop.settings.dcAndLicense": "DEPLOYMENTCENTER & LIZENZ",
|
||||
"desktop.settings.dcUrl": "Server-URL",
|
||||
"desktop.settings.dcToken": "Master-Token",
|
||||
"desktop.settings.dcEnv": "Umgebung",
|
||||
"desktop.settings.errorReporting": "Fehler automatisch melden",
|
||||
"desktop.settings.updateCheck": "Beim Start auf Updates prüfen",
|
||||
"desktop.settings.updateChannel": "Update-Kanal",
|
||||
"desktop.settings.licenseKey": "Lizenzschlüssel",
|
||||
"desktop.chat.inputPlaceholder": "Nachricht eingeben (Enter zum Senden, Shift+Enter für neue Zeile)...",
|
||||
"desktop.chat.send": "Senden",
|
||||
"desktop.chat.statusReady": "Bereit",
|
||||
"desktop.chat.statusSending": "Sende…",
|
||||
"desktop.chat.statusDesign": "Entwurfsmodus",
|
||||
"desktop.dialog.addAgent": "Agent hinzufügen",
|
||||
"desktop.dialog.addJob": "Job hinzufügen",
|
||||
"desktop.dialog.addService": "Dienst hinzufügen",
|
||||
"desktop.dialog.restoreBackup": "Sicherung wiederherstellen",
|
||||
"desktop.dialog.license": "Lizenz-Aktivierung",
|
||||
"desktop.dialog.instancePicker": "Instanz auswählen"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user