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": "Loading…",
|
||||
"common.previous": "Previous",
|
||||
"common.next": "Next",
|
||||
"common.save": "Save",
|
||||
"common.cancel": "Cancel",
|
||||
"common.delete": "Delete",
|
||||
"common.edit": "Edit",
|
||||
"common.refresh": "Refresh",
|
||||
"common.close": "Close",
|
||||
"common.discard": "Discard",
|
||||
"common.apply": "Apply",
|
||||
"common.reset": "Reset",
|
||||
"common.search": "Search",
|
||||
"common.actions": "Actions",
|
||||
"common.status": "Status",
|
||||
"common.name": "Name",
|
||||
"common.description": "Description",
|
||||
"common.ready": "Ready",
|
||||
"common.none": "None",
|
||||
"common.unknown": "Unknown",
|
||||
"common.all": "All",
|
||||
"common.details": "Details",
|
||||
"common.language": "Language",
|
||||
"common.logout": "Log Out",
|
||||
"common.confirm": "Confirm",
|
||||
"common.yes": "Yes",
|
||||
"common.no": "No",
|
||||
|
||||
"status.running": "Running",
|
||||
"status.stopped": "Stopped",
|
||||
"status.silent": "Silent",
|
||||
"status.crashed": "Crashed",
|
||||
"status.unknown": "Unknown",
|
||||
"status.ready": "Ready",
|
||||
"status.busy": "Busy",
|
||||
"status.paused": "Paused",
|
||||
"status.done": "Done",
|
||||
"status.failed": "Failed",
|
||||
"status.blocked": "Blocked",
|
||||
"status.inReview": "In Review",
|
||||
"status.canceled": "Canceled",
|
||||
"status.archived": "Archived",
|
||||
|
||||
"header.instanceLabel": "Instance:",
|
||||
"header.noInstance": "(No instance)",
|
||||
"header.switchInstance": "Switch active instance",
|
||||
"header.startInstance": "Start",
|
||||
"header.startInstanceTooltip": "Start selected instance now",
|
||||
"header.toggleTheme": "Toggle color theme",
|
||||
"header.eventStreamConnected": "Event stream: connected",
|
||||
"header.eventStreamDisconnected": "Event stream: disconnected",
|
||||
"header.multipleRunning": "{count} running",
|
||||
"header.noneActive": "None active",
|
||||
"header.starting": "Starting…",
|
||||
"header.noInstances": "No instances",
|
||||
"header.selectInstancePlaceholder": "— Select instance —",
|
||||
"header.instanceOffline": "Instance offline (502)",
|
||||
"header.selectInstancePrompt": "Select instance (409)",
|
||||
|
||||
"nav.toggleSidebar": "Toggle sidebar",
|
||||
"nav.group.work": "Work",
|
||||
"nav.chat": "Chat",
|
||||
"nav.agents": "Agents",
|
||||
"nav.tasks": "Tasks",
|
||||
"nav.services": "Services",
|
||||
"nav.group.analytics": "Analytics",
|
||||
"nav.usage": "Token Usage",
|
||||
"nav.agentChats": "Agent Chats",
|
||||
"nav.group.system": "System",
|
||||
"nav.instances": "Instances",
|
||||
"nav.staging": "Approvals",
|
||||
"nav.logs": "Logs",
|
||||
"nav.backup": "Backup",
|
||||
"nav.settings": "Settings",
|
||||
"nav.info": "Info",
|
||||
|
||||
"login.prompt": "Please enter the instance manager access token (webUiToken in manager.json).",
|
||||
"login.tokenPlaceholder": "Access token (at least 20 characters)",
|
||||
"login.submit": "Sign In",
|
||||
"login.invalidToken": "Token is invalid or shorter than 20 characters.",
|
||||
"login.error": "Sign in error: {error}",
|
||||
|
||||
"chat.agentLabel": "Agent: ",
|
||||
"chat.noAgents": "No agents available",
|
||||
"chat.wake": "Wake",
|
||||
"chat.wakeTooltip": "Manually trigger / wake agent",
|
||||
"chat.clearHistory": "Clear history",
|
||||
"chat.clearHistoryTooltip": "Clear chat history for this agent",
|
||||
"chat.cancel": "Cancel",
|
||||
"chat.cancelTooltip": "Cancel active run",
|
||||
"chat.placeholder": "Type message to agent (Enter to send, Shift+Enter for new line)…",
|
||||
"chat.send": "Send",
|
||||
"chat.sendTooltip": "Send message",
|
||||
"chat.loadingHistory": "Loading history…",
|
||||
"chat.emptyHistory": "No messages in history yet.",
|
||||
"chat.historyLoadError": "Failed to load history: {error}",
|
||||
"chat.sendError": "Failed to send message: {error}",
|
||||
"chat.cancelConfirm": "Run was canceled.",
|
||||
"chat.cancelError": "Cancellation failed: {error}",
|
||||
"chat.wakeSuccess": "Agent started manually.",
|
||||
"chat.wakeError": "Failed to start agent: {error}",
|
||||
"chat.clearConfirmPrompt": "Permanently clear the entire chat history for this agent?",
|
||||
"chat.cleared": "Chat history cleared.",
|
||||
"chat.clearError": "Failed to clear history: {error}",
|
||||
"chat.role.user": "User",
|
||||
"chat.role.system": "System",
|
||||
"chat.role.tool": "Tool",
|
||||
|
||||
"agents.title": "Agents",
|
||||
"agents.newAgent": "New Agent",
|
||||
"agents.loading": "Loading agents…",
|
||||
"agents.empty": "No agents configured in this instance yet.",
|
||||
"agents.createFirst": "Create first agent",
|
||||
"agents.id": "ID",
|
||||
"agents.model": "Model",
|
||||
"agents.toolsActive": "{count} tools active",
|
||||
"agents.details": "Agent Details",
|
||||
"agents.selectPrompt": "Select an agent on the left.",
|
||||
"agents.chat": "Chat",
|
||||
"agents.chatTooltip": "Chat with this agent",
|
||||
"agents.delete": "Delete",
|
||||
"agents.deleteTooltip": "Delete this agent",
|
||||
"agents.name": "Name",
|
||||
"agents.description": "Description",
|
||||
"agents.availableTools": "Available Tools",
|
||||
"agents.noTools": "No tools configured for this agent.",
|
||||
"agents.configuration": "Configuration",
|
||||
"agents.configTooltip": "View tool settings",
|
||||
"agents.toolToggled": "Tool '{tool}' {status}.",
|
||||
"agents.enabled": "enabled",
|
||||
"agents.disabled": "disabled",
|
||||
"agents.saveFailed": "Modification failed: {error}",
|
||||
"agents.newAgentTitle": "Create New Agent",
|
||||
"agents.idLabel": "Agent ID (unique key):",
|
||||
"agents.idPlaceholder": "e.g. scout",
|
||||
"agents.nameLabel": "Display Name:",
|
||||
"agents.namePlaceholder": "e.g. Scout Agent",
|
||||
"agents.modelLabel": "Model (OpenRouter):",
|
||||
"agents.descLabel": "Description:",
|
||||
"agents.descPlaceholder": "Optional description of the agent…",
|
||||
"agents.createButton": "Create Agent",
|
||||
"agents.createdSuccess": "Agent '{name}' created successfully.",
|
||||
"agents.createFailed": "Failed to create agent: {error}",
|
||||
"agents.deleteConfirm": "Really delete agent '{name}' ({id})?",
|
||||
"agents.deleted": "Agent '{name}' deleted.",
|
||||
"agents.deleteFailed": "Deletion failed: {error}",
|
||||
"agents.settingsTitle": "Settings: {tool} ({agent})",
|
||||
"agents.loadingSettings": "Loading configuration…",
|
||||
"agents.secretHint": "Secret values (passwords, keys) are masked by the server.",
|
||||
"agents.noSettings": "No custom settings configured.",
|
||||
"agents.loadFailed": "Loading failed: {error}",
|
||||
"agents.rights": "Permissions",
|
||||
"agents.noOperations": "This tool has no individual operations. Default rule applies.",
|
||||
"agents.configuredHint": "Allowed operations run without confirmation, others require single approval, forbidden are denied immediately.",
|
||||
"agents.notConfiguredHint": "No permissions configured: Tool defaults apply. Saving below will make these settings binding.",
|
||||
"agents.operation": "Operation",
|
||||
"agents.setting": "Setting",
|
||||
"agents.effect": "Effect",
|
||||
"agents.allowed": "allowed",
|
||||
"agents.singleApproval": "single approval",
|
||||
"agents.forbidden": "forbidden",
|
||||
"agents.alwaysApprovalReason": "Modifications to agents always require approval.",
|
||||
"agents.saveRights": "Save Permissions",
|
||||
"agents.rightsSaved": "Permissions saved.",
|
||||
"agents.effectAuto": "runs",
|
||||
"agents.effectApprove": "single approval",
|
||||
"agents.effectDeny": "denied",
|
||||
"agents.standingApproval": "Standing approval #{id}",
|
||||
|
||||
"tasks.title": "Tasks",
|
||||
"tasks.newTask": "New Task",
|
||||
"tasks.showCompleted": "Show completed",
|
||||
"tasks.empty": "No tasks found",
|
||||
"tasks.createTitle": "Create Task",
|
||||
"tasks.agent": "Agent",
|
||||
"tasks.taskMessage": "Task description / instruction",
|
||||
"tasks.schedule": "Schedule",
|
||||
"tasks.scheduleType": "Schedule Type",
|
||||
"tasks.scheduleNone": "None (Manual run only)",
|
||||
"tasks.scheduleCron": "Cron Expression",
|
||||
"tasks.scheduleInterval": "Interval",
|
||||
"tasks.scheduleAt": "Specific time",
|
||||
"tasks.runNow": "Run Now",
|
||||
"tasks.pause": "Pause",
|
||||
"tasks.resume": "Resume",
|
||||
"tasks.delete": "Delete",
|
||||
"tasks.saved": "Task saved.",
|
||||
"tasks.deleted": "Task deleted.",
|
||||
"tasks.runTriggered": "Run triggered.",
|
||||
|
||||
"services.title": "Services",
|
||||
"services.newService": "New Service",
|
||||
"services.empty": "No background services configured",
|
||||
"services.serviceName": "Service Name",
|
||||
"services.serviceType": "Type",
|
||||
"services.port": "Port",
|
||||
"services.active": "Active",
|
||||
"services.start": "Start",
|
||||
"services.stop": "Stop",
|
||||
"services.restart": "Restart",
|
||||
|
||||
"backup.title": "Backup & Restore",
|
||||
"backup.refresh": "Refresh",
|
||||
"backup.refreshTooltip": "Reload backups",
|
||||
"backup.newBackup": "New Backup",
|
||||
"backup.newBackupTooltip": "Create new backup",
|
||||
"backup.noInstance": "No instance selected",
|
||||
"backup.selectInstancePrompt": "Please select an instance in the header above to manage its backups.",
|
||||
"backup.loading": "Loading backups…",
|
||||
"backup.backupDir": "Backup Directory",
|
||||
"backup.backupDirHint": "Backups are fully encrypted with the instance manager's license key and contain credentials. They can be restored on another machine using the same license key.",
|
||||
"backup.existingBackups": "Existing Backups ({count})",
|
||||
"backup.noBackups": "No backups exist for this instance yet. Create one using the button above.",
|
||||
"backup.restore": "Restore",
|
||||
"backup.restoreTooltip": "Restore this backup",
|
||||
"backup.deleteTooltip": "Permanently delete backup file",
|
||||
"backup.archiveFile": "Archive File",
|
||||
"backup.createdAt": "Created At",
|
||||
"backup.size": "Size",
|
||||
"backup.protection": "Protection",
|
||||
"backup.files": "Files",
|
||||
"backup.actions": "Actions",
|
||||
"backup.fileCount": "{count} files",
|
||||
"backup.foreignLicense": "Foreign License",
|
||||
"backup.unreadable": "Unreadable",
|
||||
"backup.licenseProtection": "License ({count} credentials)",
|
||||
"backup.passphraseProtection": "Passphrase ({count})",
|
||||
"backup.unencryptedProtection": "Unencrypted, no credentials",
|
||||
"backup.dialogTitle": "Create New Backup",
|
||||
"backup.dialogHint": "The backup will be encrypted with the instance manager's license key and contains credentials. If FTP upload is configured, it will be uploaded afterwards.",
|
||||
"backup.includeChats": "Backup chat history",
|
||||
"backup.includeLogs": "Include log files",
|
||||
"backup.createButton": "Create Backup",
|
||||
"backup.creating": "Creating backup…",
|
||||
"backup.created": "Backup created.",
|
||||
"backup.createFailed": "Backup failed: {error}",
|
||||
"backup.restoreTitle": "Restore Backup: {file}",
|
||||
"backup.overwriteWarningTitle": "Caution: Overwriting Existing Data",
|
||||
"backup.overwriteWarningText": "Restoring will overwrite the instance's current configuration and data with the state from {date}.",
|
||||
"backup.instanceStopNotice": "The instance will be gracefully stopped and restarted afterwards.",
|
||||
"backup.passphraseLabel": "Passphrase for credentials",
|
||||
"backup.passphrasePlaceholder": "Backup passphrase…",
|
||||
"backup.passphraseRequired": "Please enter the passphrase.",
|
||||
"backup.restoreNow": "Restore Now",
|
||||
"backup.restoring": "Restoring…",
|
||||
"backup.restoreSuccess": "Restore completed.",
|
||||
"backup.restoreFailed": "Restore failed: {error}",
|
||||
"backup.foreignLicenseTitle": "Source License Key Required",
|
||||
"backup.sourceLicenseLabel": "Source License Key",
|
||||
"backup.sourceLicenseHint": "Case and spaces do not matter.",
|
||||
"backup.sourceLicensePlaceholder": "License key of the installation where the backup originated…",
|
||||
"backup.restoreWithKey": "Restore with this Key",
|
||||
"backup.keyMismatch": "This license key does not match the backup.",
|
||||
"backup.deleteTitle": "Delete Backup",
|
||||
"backup.deleteConfirm": "Really permanently delete backup file '{file}'?",
|
||||
"backup.deleted": "Backup deleted.",
|
||||
"backup.deleteFailed": "Deletion failed: {error}",
|
||||
"backup.ftpTitle": "Backup FTP Upload",
|
||||
"backup.ftpLoading": "Loading FTP settings…",
|
||||
"backup.ftpHint": "Backups are encrypted — anyone reading the server sees nothing usable. However, without TLS, the server password is sent in plain text.",
|
||||
"backup.ftpAutoUpload": "Automatically upload completed backups",
|
||||
"backup.ftpServer": "Server",
|
||||
"backup.ftpPort": "Port",
|
||||
"backup.ftpUser": "Username",
|
||||
"backup.ftpPassword": "Password",
|
||||
"backup.ftpPasswordSaved": "(saved — leave empty to keep unchanged)",
|
||||
"backup.ftpDirectory": "Target Directory",
|
||||
"backup.ftpDirectoryHint": "Each instance gets its own subfolder.",
|
||||
"backup.ftpKeepCount": "Backups to keep per instance",
|
||||
"backup.ftpKeepCountHint": "Older backups on the server will be deleted.",
|
||||
"backup.ftpRequireTls": "Connect with TLS only",
|
||||
"backup.ftpTest": "Test Connection",
|
||||
"backup.ftpTestFailed": "Test failed: {error}",
|
||||
"backup.ftpSaved": "Saved.",
|
||||
"backup.ftpSaveFailed": "Save failed: {error}",
|
||||
|
||||
"logs.title": "Logs",
|
||||
"logs.connecting": "Connecting…",
|
||||
"logs.allInstances": "All Instances",
|
||||
"logs.allModules": "All Modules",
|
||||
"logs.clear": "Clear",
|
||||
"logs.pause": "Pause",
|
||||
"logs.resume": "Resume",
|
||||
"logs.paused": "Paused",
|
||||
"logs.autoScroll": "Autoscroll",
|
||||
"logs.empty": "No log messages yet.",
|
||||
|
||||
"settings.title": "Settings & System Architecture",
|
||||
"settings.intro": "Configuration overview following the instance manager concept: Strict separation between global manager level (installation) and isolated instance level.",
|
||||
"settings.managerLevel": "Instance Manager",
|
||||
"settings.managerBadge": "Manager Level · Global",
|
||||
"settings.managerIntro": "Applies to all instances and the WebUI. Stored in manager.json in the application root directory.",
|
||||
"settings.webUiAndNet": "WebUI & Network",
|
||||
"settings.configFile": "Configuration File",
|
||||
"settings.webUiPort": "WebUI Port",
|
||||
"settings.webUiPortDefault": "7000 (default, webUiPort)",
|
||||
"settings.networkBinding": "Network Binding",
|
||||
"settings.networkBindingValue": "loopback (127.0.0.1, webUiBinding)",
|
||||
"settings.accessProtection": "Access Protection",
|
||||
"settings.tokenActive": "Token active (≥ 20 characters)",
|
||||
"settings.licenseAndUpdates": "License & Updates",
|
||||
"settings.licenseScope": "License Scope",
|
||||
"settings.licenseScopeValue": "Installation level (E-M3: Unlimited instances)",
|
||||
"settings.licenseKey": "License Key",
|
||||
"settings.licenseEncrypted": "●●●●-●●●●-●●●●-●●●● (encrypted)",
|
||||
"settings.updateChannel": "Update Channel",
|
||||
"settings.updateChannelValue": "prod (Official release versions)",
|
||||
"settings.updateCheck": "Update Check",
|
||||
"settings.updateCheckValue": "Central at manager level",
|
||||
"settings.dcAndOversight": "Deploymentcenter & Oversight",
|
||||
"settings.dcMasterToken": "Master Token",
|
||||
"settings.dcMasterTokenValue": "●●●●●●●● (generates sub-tokens per instance)",
|
||||
"settings.desktopWindows": "Desktop Windows",
|
||||
"settings.desktopWindowsValue": "Active (each instance has its own window)",
|
||||
"settings.crashProtection": "Crash Protection",
|
||||
"settings.crashProtectionValue": "Max 5 restarts / 10 minutes",
|
||||
"settings.instanceSectionTitle": "Active Instance: {name}",
|
||||
"settings.instanceSectionTitleNone": "Instance-Related Settings",
|
||||
"settings.instanceBadge": "Instance Level · Isolated",
|
||||
"settings.noInstanceActive": "No instance active",
|
||||
"settings.instanceIntro": "Applies exclusively to the currently selected instance. All paths, logs, agents and budgets are strictly isolated from other instances.",
|
||||
"settings.noInstanceSelected": "No instance selected",
|
||||
"settings.noInstancePrompt": "Please select an active instance in the header above or switch to 'Instances' to start or select an instance.",
|
||||
"settings.toInstancesOverview": "To Instances Overview",
|
||||
"settings.identityAndProcess": "Identity & Process",
|
||||
"settings.instanceName": "Instance Name",
|
||||
"settings.instanceId": "Instance ID",
|
||||
"settings.autostartByManager": "Autostart by Manager",
|
||||
"settings.autostartActive": "Active (keep running)",
|
||||
"settings.autostartInactive": "Inactive (manual start)",
|
||||
"settings.communication": "Communication",
|
||||
"settings.communicationValue": "HTTP over Named Pipe (Windows) / Socket (Linux)",
|
||||
"settings.isolatedPaths": "Isolated Directories",
|
||||
"settings.logsPath": "Logs",
|
||||
"settings.backupsPath": "Backups",
|
||||
"settings.stateDbPath": "State Database",
|
||||
"settings.stateDbValue": "Instances/{name}/state.db (exclusive)",
|
||||
"settings.workspacePath": "Shared Workspace",
|
||||
"settings.openRouterCard": "Model Integration (OpenRouter)",
|
||||
"settings.openRouterStatus": "OpenRouter Status",
|
||||
"settings.connected": "Connected",
|
||||
"settings.offline": "Offline",
|
||||
"settings.statusMessage": "Status Message",
|
||||
"settings.credits": "Credits",
|
||||
"settings.apiKey": "API Key",
|
||||
"settings.apiKeyMasked": "Masked in InstanceSettings.json of this instance",
|
||||
"settings.openRouterNotRunning": "Instance is not running. Data will be loaded after start.",
|
||||
"settings.openRouterNoKey": "No key configured or service unreachable.",
|
||||
"settings.runtimeAndSubsystems": "Runtime & Subsystems",
|
||||
"settings.agentEngine": "Agent Engine",
|
||||
"settings.scheduler": "Scanner / Scheduler",
|
||||
"settings.stagingService": "Approvals (Staging)",
|
||||
"settings.dcSubToken": "Deploymentcenter Sub-Token",
|
||||
"settings.subsystemsLoading": "Querying runtime data…",
|
||||
"settings.subsystemsStopped": "Instance stopped — subsystems idle.",
|
||||
"settings.save": "Save Settings",
|
||||
"settings.discard": "Discard Changes",
|
||||
"settings.saved": "Settings saved successfully.",
|
||||
"settings.saveError": "Failed to save settings: {error}",
|
||||
|
||||
"info.title": "System & Status",
|
||||
"info.noInstanceSelected": "No instance selected",
|
||||
"info.noInstanceHint": "Select an active instance in the header above or switch to 'Instances' to start one.",
|
||||
"info.loading": "Loading system data…",
|
||||
"info.instanceAndVersion": "Instance & Version",
|
||||
"info.instanceName": "Instance Name",
|
||||
"info.instanceId": "Instance ID",
|
||||
"info.version": "Version",
|
||||
"info.build": "Build",
|
||||
"info.environment": "Environment",
|
||||
"info.dataDirectory": "Data Directory",
|
||||
"info.subsystems": "Subsystems",
|
||||
"info.openRouterStatus": "OpenRouter & Credits",
|
||||
|
||||
"instances.title": "Instance Management",
|
||||
"instances.refresh": "Refresh",
|
||||
"instances.newInstance": "New Instance",
|
||||
"instances.activeBadge": "Active in WebUI",
|
||||
"instances.selectActive": "Select as active",
|
||||
"instances.start": "Start",
|
||||
"instances.stop": "Stop",
|
||||
"instances.bringToFront": "Bring window to front",
|
||||
"instances.createTitle": "Create New Instance",
|
||||
"instances.instanceOfflineError": "The instance is not reachable.",
|
||||
"instances.noInstanceActiveError": "No instance is active. Start or select one under 'Instances'.",
|
||||
"instances.instanceNameLabel": "Instance Name",
|
||||
"instances.instanceNamePlaceholder": "e.g. production-1",
|
||||
"instances.dailyBudgetUsd": "Daily Budget ($ USD)",
|
||||
"instances.dailyBudgetTokens": "Daily Budget (Tokens)",
|
||||
"instances.autostart": "Autostart with Manager",
|
||||
"instances.created": "Instance created.",
|
||||
"instances.createError": "Failed to create instance: {error}",
|
||||
|
||||
"staging.title": "Approvals",
|
||||
"staging.refresh": "Refresh",
|
||||
"staging.loading": "Loading approvals…",
|
||||
"staging.empty": "No open approvals",
|
||||
"staging.emptyHint": "Currently no tool calls are waiting for manual approval.",
|
||||
"staging.approve": "Approve",
|
||||
"staging.reject": "Reject",
|
||||
"staging.callId": "Call ID",
|
||||
"staging.agent": "Agent",
|
||||
"staging.tool": "Tool",
|
||||
"staging.time": "Timestamp",
|
||||
"staging.frozenArgs": "Frozen Arguments:",
|
||||
"staging.suggestHint": "This operation by {agent} was approved {approvals} times in the last 14 days. Should {tool}.{action} run without confirmation for this agent in the future?",
|
||||
"staging.allowSimilar": "Allow similar in future: {agent} may run {tool}.{action} without confirmation from now on (revocable below under 'Standing Approvals').",
|
||||
"staging.notActive": "Staging not active",
|
||||
"staging.notActiveHint": "No staging service configured in this instance.",
|
||||
"staging.approved": "Call approved{similar}: {message}",
|
||||
"staging.similarSuffix": " and allowed for the future",
|
||||
"staging.executedSuccess": "Executed successfully",
|
||||
"staging.approveFailed": "Approval failed: {error}",
|
||||
"staging.standingTitle": "Standing Approvals",
|
||||
"staging.standingEmpty": "None. When approving, 'Allow similar in future' can be selected; permanent permissions are in the agent's tool config.",
|
||||
"staging.granted": "Granted",
|
||||
"staging.occasion": "Occasion",
|
||||
"staging.revoke": "Revoke",
|
||||
"staging.revokeConfirm": "Revoke standing approval? {agent} will have to submit {tool}.{action} individually again.",
|
||||
"staging.revoked": "Revoked.",
|
||||
"staging.revokeFailed": "Revocation failed: {error}",
|
||||
"staging.rejectTitle": "Reject Tool Call",
|
||||
"staging.rejectReasonLabel": "Reason (optional):",
|
||||
"staging.rejectReasonPlaceholder": "Reason for rejection to the agent…",
|
||||
"staging.rejectButton": "Reject Call",
|
||||
"staging.rejected": "Call was rejected.",
|
||||
"staging.rejectFailed": "Rejection failed: {error}",
|
||||
|
||||
"agentChats.title": "Agent Communication (A2A)",
|
||||
"agentChats.allAgents": "All Agents",
|
||||
"agentChats.filterTooltip": "Filter by participating agent (sender or receiver)",
|
||||
"agentChats.fromTooltip": "Messages from this day",
|
||||
"agentChats.toTooltip": "Messages up to and including this day",
|
||||
"agentChats.searchPlaceholder": "Fulltext…",
|
||||
"agentChats.searchTooltip": "Search message text and agent names",
|
||||
"agentChats.refresh": "Refresh",
|
||||
"agentChats.refreshTooltip": "Reload communication",
|
||||
"agentChats.from": "from",
|
||||
"agentChats.to": "to",
|
||||
"agentChats.noInstance": "No instance selected",
|
||||
"agentChats.selectInstancePrompt": "Please select an instance in the header above to view its agent communication.",
|
||||
"agentChats.infoTitle": "Internal Communication",
|
||||
"agentChats.infoHint": "Direct message exchanges between agents are logged here when agents communicate via the AgentComm tool (action send_message).",
|
||||
"agentChats.loading": "Loading communication history…",
|
||||
"agentChats.matchCount": "{filtered} of {total} messages",
|
||||
"agentChats.totalCount": "{total} messages",
|
||||
"agentChats.empty": "No Messages",
|
||||
"agentChats.emptyFilter": "No internal communication matches these filters.",
|
||||
"agentChats.emptyInstance": "No internal agent-to-agent communication has been logged in this instance yet.",
|
||||
"agentChats.replyTo": "➔ Reply to",
|
||||
"agentChats.arrow": "➔",
|
||||
"agentChats.loadFailed": "Failed to load communication: {error}",
|
||||
|
||||
"usage.title": "Token Usage & Analysis",
|
||||
"usage.loading": "Loading usage data…",
|
||||
"usage.empty": "No Data",
|
||||
"usage.emptyHint": "No token usage data recorded yet.",
|
||||
"usage.totalCost": "Total Cost ({runs} runs)",
|
||||
"usage.totalTokens": "Total Tokens",
|
||||
"usage.inputTokens": "Input Tokens (Prompt)",
|
||||
"usage.outputTokens": "Output Tokens (Completion)",
|
||||
"usage.unknownCostRuns": "{count} run(s) without known price — their costs are not included in the total.",
|
||||
"usage.tokensByAgent": "Tokens by Agent",
|
||||
"usage.tokensByModel": "Tokens by Model",
|
||||
"usage.recentRuns": "Recent Agent Runs",
|
||||
"usage.time": "Timestamp",
|
||||
"usage.agent": "Agent",
|
||||
"usage.model": "Model",
|
||||
"usage.status": "Status",
|
||||
"usage.prompt": "Prompt",
|
||||
"usage.completion": "Completion",
|
||||
"usage.total": "Total",
|
||||
"usage.cost": "Cost",
|
||||
"usage.unknownPrice": "(price unknown)",
|
||||
"usage.notAvailable": "Usage data not available",
|
||||
"usage.forecastTitle": "Cost Forecast",
|
||||
"usage.forecastDay": "Forecast per day",
|
||||
"usage.forecastMonth": "Forecast per month (30 days)",
|
||||
"usage.tasksDay": "thereof tasks per day",
|
||||
"usage.otherDay": "other runs per day (Ø 7 days)",
|
||||
"usage.budgetWarning": "{agent}: Planned tasks are forecast to cost {cost} per day, daily budget allows {budget}. Later runs of a day will be rejected.",
|
||||
"usage.withoutBasis": "{count} task(s) without basis (no run, no model price) — not included in total.",
|
||||
"usage.oneOffOpen": "Open one-off tasks cost approximately an additional {cost}.",
|
||||
"usage.basisHint": "Basis per task: average of its recent runs, otherwise agent's average, otherwise an estimate from prompt length and list price (tends to be high).",
|
||||
"usage.task": "Task",
|
||||
"usage.runsDay": "Runs/Day",
|
||||
"usage.perRun": "per Run",
|
||||
"usage.basis": "Basis",
|
||||
"usage.perDay": "per Day",
|
||||
"usage.basisRuns": "Ø last {n} runs",
|
||||
"usage.basisAgent": "Ø of agent ({n} runs)",
|
||||
"usage.basisEstimate": "Estimate – no runs yet",
|
||||
"usage.basisUnknown": "no basis",
|
||||
|
||||
"filter.range": "Period",
|
||||
"filter.range.24h": "Last 24 hours",
|
||||
@@ -137,5 +627,57 @@
|
||||
"history.settings.effective.days": "kept {n} days",
|
||||
"history.settings.save": "Save retention",
|
||||
"history.settings.saved": "Retention saved.",
|
||||
"history.settings.failed": "Saving failed: {error}"
|
||||
"history.settings.failed": "Saving failed: {error}",
|
||||
|
||||
"desktop.mainWindow.title": "ClawdDotNet",
|
||||
"desktop.mainWindow.sidebarTooltip": "Toggle sidebar",
|
||||
"desktop.mainWindow.switchInstance": "Switch instance",
|
||||
"desktop.mainWindow.instance": "INSTANCE",
|
||||
"desktop.mainWindow.themeLight": "Light Mode",
|
||||
"desktop.mainWindow.themeDark": "Dark Mode",
|
||||
"desktop.mainWindow.openInstanceFolder": "Open Instance Folder",
|
||||
"desktop.mainWindow.instanceManager": "Instance Manager",
|
||||
"desktop.mainWindow.exit": "Exit",
|
||||
"desktop.nav.work": "Work",
|
||||
"desktop.nav.analytics": "Analytics",
|
||||
"desktop.nav.system": "System",
|
||||
"desktop.status.unknown": "unknown",
|
||||
"desktop.status.design": "Design",
|
||||
"desktop.status.noApiKey": "No API Key",
|
||||
"desktop.status.noUsageData": "No usage data",
|
||||
"desktop.settings.discard": "Discard",
|
||||
"desktop.settings.save": "Save",
|
||||
"desktop.settings.instance": "INSTANCE",
|
||||
"desktop.settings.instanceName": "Instance Name",
|
||||
"desktop.settings.apiKey": "OpenRouter API Key",
|
||||
"desktop.settings.autostart": "Autostart by Manager",
|
||||
"desktop.settings.autostartHint": "The instance manager starts this instance on launch and restarts it if it crashes.",
|
||||
"desktop.settings.logDir": "Log Directory",
|
||||
"desktop.settings.logDirHint": "Applies only to this instance. Empty means: Logs subfolder in instance directory.",
|
||||
"desktop.settings.dailyCost": "Daily Budget ($ USD)",
|
||||
"desktop.settings.dailyTokens": "Daily Budget (Tokens)",
|
||||
"desktop.settings.general": "GENERAL",
|
||||
"desktop.settings.instancesDir": "Instances Directory",
|
||||
"desktop.settings.minLogLevel": "Minimum Log Level",
|
||||
"desktop.settings.openRouterUrl": "OpenRouter Base URL",
|
||||
"desktop.settings.language": "Language",
|
||||
"desktop.settings.dcAndLicense": "DEPLOYMENTCENTER & LICENSE",
|
||||
"desktop.settings.dcUrl": "Server URL",
|
||||
"desktop.settings.dcToken": "Master Token",
|
||||
"desktop.settings.dcEnv": "Environment",
|
||||
"desktop.settings.errorReporting": "Automatically report errors",
|
||||
"desktop.settings.updateCheck": "Check for updates on startup",
|
||||
"desktop.settings.updateChannel": "Update Channel",
|
||||
"desktop.settings.licenseKey": "License Key",
|
||||
"desktop.chat.inputPlaceholder": "Type message... (Enter to send, Shift+Enter for new line)",
|
||||
"desktop.chat.send": "Send",
|
||||
"desktop.chat.statusReady": "Ready",
|
||||
"desktop.chat.statusSending": "Sending…",
|
||||
"desktop.chat.statusDesign": "Design Mode",
|
||||
"desktop.dialog.addAgent": "Add Agent",
|
||||
"desktop.dialog.addJob": "Add Job",
|
||||
"desktop.dialog.addService": "Add Service",
|
||||
"desktop.dialog.restoreBackup": "Restore Backup",
|
||||
"desktop.dialog.license": "License Activation",
|
||||
"desktop.dialog.instancePicker": "Choose Instance"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user