1263 lines
52 KiB
JSON
1263 lines
52 KiB
JSON
{
|
|
"Language": {
|
|
"followSystem": "Follow System",
|
|
"english": "English",
|
|
"simplifiedChinese": "Simplified Chinese",
|
|
"traditionalChinese": "Traditional Chinese"
|
|
},
|
|
"WelcomePage": {
|
|
"title": "Welcome to Codeg",
|
|
"openSettings": "Open Settings",
|
|
"searchPlaceholder": "Search folders...",
|
|
"loading": "Loading...",
|
|
"emptyFolders": "No folders yet",
|
|
"removeFromHistory": "Remove from history",
|
|
"openFolder": "Open Folder",
|
|
"cloneRepository": "Clone Repository",
|
|
"softwareVersion": "version {version}",
|
|
"toasts": {
|
|
"loadFolderHistoryFailed": "Failed to load folder history",
|
|
"openFolderFailed": "Failed to open folder",
|
|
"removeFromHistoryFailed": "Failed to remove folder",
|
|
"openSettingsFailed": "Failed to open settings",
|
|
"cloneFailed": "Failed to clone repository"
|
|
},
|
|
"errors": {
|
|
"unknown": "Unexpected error",
|
|
"invalidInput": "Invalid input.",
|
|
"notFound": "Resource not found.",
|
|
"alreadyExists": "Resource already exists.",
|
|
"dependencyMissing": "Required dependency is missing.",
|
|
"databaseError": "Database operation failed.",
|
|
"ioError": "File operation failed.",
|
|
"externalCommandFailed": "External command failed.",
|
|
"windowOperationFailed": "Window operation failed.",
|
|
"gitNotInstalled": "Git is not installed. Please install Git first.",
|
|
"targetDirectoryNotEmpty": "Target directory already exists and is not empty.",
|
|
"repositoryNotFound": "Repository not found. Check URL and access permissions.",
|
|
"networkUnavailable": "Network is unavailable. Check your connection and try again.",
|
|
"authenticationFailed": "Authentication failed. Check credentials or SSH key.",
|
|
"permissionDenied": "Permission denied. Check directory permissions."
|
|
},
|
|
"cloneDialog": {
|
|
"title": "Clone Repository",
|
|
"repositoryUrl": "Repository URL",
|
|
"repositoryUrlPlaceholder": "https://github.com/user/repo.git",
|
|
"directory": "Directory",
|
|
"directoryPlaceholder": "Select target directory...",
|
|
"browseDirectory": "Browse directory",
|
|
"cancel": "Cancel",
|
|
"clone": "Clone"
|
|
}
|
|
},
|
|
"SettingsShell": {
|
|
"title": "Settings",
|
|
"preferences": "Preferences",
|
|
"nav": {
|
|
"appearance": "Appearance",
|
|
"agents": "Agents",
|
|
"mcp": "MCP",
|
|
"skills": "Skills",
|
|
"shortcuts": "Shortcuts",
|
|
"system": "System"
|
|
}
|
|
},
|
|
"AppearanceSettings": {
|
|
"sectionTitle": "Theme Appearance",
|
|
"sectionDescription": "Choose light, dark, or follow system. Settings are saved automatically.",
|
|
"themeMode": "Theme mode",
|
|
"placeholder": "Select theme mode",
|
|
"system": "Follow system",
|
|
"light": "Light",
|
|
"dark": "Dark",
|
|
"currentTheme": "Current effective theme: {theme}",
|
|
"resolvedTheme": {
|
|
"light": "Light",
|
|
"dark": "Dark",
|
|
"unknown": "--"
|
|
}
|
|
},
|
|
"SystemSettings": {
|
|
"loading": "Loading...",
|
|
"sectionTitle": "System Management",
|
|
"sectionDescription": "Manage network proxy, app updates and language preferences.",
|
|
"proxyTitle": "Network Proxy",
|
|
"proxyDescription": "When enabled, subsequent network requests prefer this proxy (including ACP chat, agent installation and Git remote operations).",
|
|
"loadFailed": "Load failed: {message}",
|
|
"enableProxy": "Enable system proxy",
|
|
"proxyAddress": "Proxy address",
|
|
"proxyHint": "Supports http(s)/socks5, example: {example}. Only effective when system proxy is enabled.",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"proxyRequired": "Proxy URL is required when proxy is enabled",
|
|
"saveSuccess": "System proxy settings saved",
|
|
"saveFailed": "Save failed: {message}",
|
|
"languageTitle": "Language",
|
|
"languageDescription": "Set app language. When following system locale, unsupported languages fall back to English.",
|
|
"appLanguage": "App language",
|
|
"languageSaveSuccess": "Language settings saved",
|
|
"languageSaveFailed": "Failed to save language settings: {message}",
|
|
"updateTitle": "App Update",
|
|
"updateDescription": "Check the configured release source for newer versions and install directly when available.",
|
|
"currentVersion": "Current version",
|
|
"upgradableVersion": "Available version",
|
|
"none": "None",
|
|
"lastChecked": "Last checked: {time}",
|
|
"updateError": "Update error: {message}",
|
|
"checking": "Checking...",
|
|
"checkUpdate": "Check for updates",
|
|
"updating": "Installing...",
|
|
"upgradeTo": "Upgrade to v{version}",
|
|
"foundUpdate": "New version v{version} found",
|
|
"alreadyLatest": "You're on the latest version",
|
|
"checkUpdateFailed": "Failed to check for updates: {message}",
|
|
"installSuccess": "Update installed. Relaunching app.",
|
|
"installFailed": "Update failed: {message}"
|
|
},
|
|
"ShortcutSettings": {
|
|
"sectionTitle": "Shortcuts",
|
|
"resetDefault": "Reset defaults",
|
|
"recordInstruction": "Click the right-side button, then press a key combination. Use Ctrl/Cmd, Alt, and Shift. Press Esc to cancel recording.",
|
|
"recording": "Press shortcut...",
|
|
"toasts": {
|
|
"conflict": "Shortcut is already used by \"{title}\"",
|
|
"updated": "Shortcut updated",
|
|
"invalid": "Invalid shortcut, please try again",
|
|
"reset": "Default shortcuts restored"
|
|
},
|
|
"actions": {
|
|
"toggle_search": {
|
|
"title": "Open Search",
|
|
"description": "Show or hide the conversation search panel"
|
|
},
|
|
"toggle_sidebar": {
|
|
"title": "Toggle Left Sidebar",
|
|
"description": "Show or hide the conversation list sidebar"
|
|
},
|
|
"toggle_terminal": {
|
|
"title": "Toggle Terminal",
|
|
"description": "Show or hide the bottom terminal panel"
|
|
},
|
|
"new_terminal_tab": {
|
|
"title": "New Terminal",
|
|
"description": "Create a new terminal tab when focus is on terminal"
|
|
},
|
|
"close_current_terminal_tab": {
|
|
"title": "Close Current Terminal",
|
|
"description": "Close the current terminal tab when focus is on terminal"
|
|
},
|
|
"toggle_aux_panel": {
|
|
"title": "Toggle Right Panel",
|
|
"description": "Show or hide the auxiliary info panel"
|
|
},
|
|
"new_conversation": {
|
|
"title": "New Conversation",
|
|
"description": "Create a new conversation tab in current folder"
|
|
},
|
|
"open_folder": {
|
|
"title": "Open Folder",
|
|
"description": "Open folder picker and open in a new window"
|
|
},
|
|
"open_settings": {
|
|
"title": "Open Settings",
|
|
"description": "Open settings window"
|
|
},
|
|
"close_current_tab": {
|
|
"title": "Close Current Tab",
|
|
"description": "Close current conversation or file tab"
|
|
},
|
|
"close_all_file_tabs": {
|
|
"title": "Close All File Tabs",
|
|
"description": "Close all file tabs in file mode only"
|
|
}
|
|
}
|
|
},
|
|
"SkillsSettings": {
|
|
"title": "Skills",
|
|
"description": "Select a skill on the left. The right side previews Markdown by default; switch to edit to modify and save.",
|
|
"loadingAgents": "Loading agents that support Skills...",
|
|
"emptyNoManageableAgents": "No agents available for Skills management.",
|
|
"managedTarget": "Managed target",
|
|
"selectAgentPlaceholder": "Select an agent",
|
|
"searchPlaceholder": "Search by name / ID / path...",
|
|
"skillsList": "Skills list",
|
|
"loadingSkills": "Loading skills...",
|
|
"agentNotSupported": "Current agent does not support Skills management.",
|
|
"emptySkills": "No skills yet. Click \"New Skill\" to create one.",
|
|
"newSkillTitle": "New Skill",
|
|
"skillInfo": "Skill Info",
|
|
"skillIdPlaceholder": "skill-id (letters/numbers/-/_/.)",
|
|
"skillsDirectoryWithPath": "Skills directory: {path}",
|
|
"skillsDirectoryNeedId": "Skills directory: enter Skill ID to generate full path",
|
|
"markdownContent": "Markdown Content",
|
|
"editingStatus": "Editing",
|
|
"previewStatus": "Previewing",
|
|
"contentPlaceholder": "Enter Skill markdown content...",
|
|
"metadataTitle": "Skills Metadata",
|
|
"onlyYamlMetadata": "This skill only contains YAML metadata.",
|
|
"emptyContentHint": "No content yet. Click \"Edit\" to start.",
|
|
"loadingSkill": "Loading skill...",
|
|
"emptyNoAgents": "No available agent.",
|
|
"actions": {
|
|
"preview": "Preview",
|
|
"edit": "Edit",
|
|
"openInWindow": "Open in new window",
|
|
"delete": "Delete",
|
|
"deleting": "Deleting...",
|
|
"refresh": "Refresh",
|
|
"newSkill": "New Skill",
|
|
"reset": "Reset",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"cancel": "Cancel"
|
|
},
|
|
"deleteDialog": {
|
|
"title": "Delete Skill",
|
|
"confirm": "Delete current skill? This action cannot be undone.",
|
|
"confirmWithNamePrefix": "Delete skill",
|
|
"confirmWithNameSuffix": "? This action cannot be undone."
|
|
},
|
|
"toasts": {
|
|
"loadFailed": "Failed to load skill",
|
|
"openFolderFailed": "Failed to open folder",
|
|
"noSkillDirectory": "No available Skills directory found for current agent",
|
|
"nameRequired": "Skill name cannot be empty",
|
|
"updated": "Skill updated",
|
|
"created": "Skill created",
|
|
"saveFailed": "Failed to save skill",
|
|
"deleted": "Skill deleted",
|
|
"deleteFailed": "Failed to delete skill"
|
|
},
|
|
"templates": {
|
|
"gemini": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Skill Name\n\nInstructions for the agent when this skill is active.\n\n## Workflow\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openCode": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Steps\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openClaw": "---\nname: example-skill\ndescription: Describe when this skill should be used.\nuser-invocable: true\ndisable-model-invocation: false\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n",
|
|
"default": "# Skill: example-skill\n\n## When to use\n\n- Describe trigger conditions.\n\n## Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n"
|
|
}
|
|
},
|
|
"McpSettings": {
|
|
"loading": "Loading...",
|
|
"summary": {
|
|
"missingCommand": "(missing command)",
|
|
"missingUrl": "(missing url)"
|
|
},
|
|
"protocol": {
|
|
"stdio": "Stdio"
|
|
},
|
|
"errors": {
|
|
"selectInstallProtocol": "Please select an install protocol",
|
|
"fieldRequired": "{field} is required",
|
|
"fieldNeedsBoolean": "{field} must be true or false",
|
|
"fieldNeedsNumber": "{field} must be a number",
|
|
"fieldNeedsInteger": "{field} must be an integer",
|
|
"fieldInvalidJson": "{field} has invalid JSON: {message}",
|
|
"fieldOutOfRange": "{field} value is out of allowed range",
|
|
"jsonEmpty": "{name} cannot be empty",
|
|
"jsonInvalid": "{name} is not valid JSON: {message}",
|
|
"jsonMustBeObject": "{name} must be a JSON object"
|
|
},
|
|
"jsonNames": {
|
|
"localConfig": "MCP Config",
|
|
"installConfig": "Install Config"
|
|
},
|
|
"toasts": {
|
|
"uninstalled": "MCP uninstalled",
|
|
"uninstallFailed": "Uninstall failed: {message}",
|
|
"selectAtLeastOneApp": "Please select at least one target app",
|
|
"saveSuccess": "Saved",
|
|
"saveFailed": "Save failed: {message}",
|
|
"installed": "{name} installed",
|
|
"installFailed": "Install failed: {message}"
|
|
},
|
|
"installDialog": {
|
|
"title": "Confirm MCP Installation",
|
|
"descriptionWithName": "Install {name} to local configuration.",
|
|
"description": "Select target apps for installation.",
|
|
"protocol": "Protocol",
|
|
"selectProtocol": "Select protocol",
|
|
"parameters": "Configuration Parameters",
|
|
"booleanPlaceholder": "Please select true/false",
|
|
"selectOneValue": "Select a value",
|
|
"targetApps": "Target Apps"
|
|
},
|
|
"actions": {
|
|
"cancel": "Cancel",
|
|
"confirmInstall": "Confirm Install",
|
|
"installing": "Installing",
|
|
"uninstall": "Uninstall",
|
|
"uninstalling": "Uninstalling",
|
|
"viewDetails": "View Details",
|
|
"save": "Save",
|
|
"saving": "Saving",
|
|
"install": "Install"
|
|
},
|
|
"tabs": {
|
|
"local": "Local MCP",
|
|
"market": "MCP Marketplace"
|
|
},
|
|
"local": {
|
|
"filterPlaceholder": "Filter local MCP...",
|
|
"loadFailed": "Load failed: {message}",
|
|
"empty": "No local MCP detected.",
|
|
"description": "Local MCP configuration can be edited and saved directly.",
|
|
"enabledApps": "Enabled Apps",
|
|
"configJson": "MCP Config (JSON)"
|
|
},
|
|
"market": {
|
|
"selectMarketplace": "Select marketplace",
|
|
"searchPlaceholder": "Search MCP...",
|
|
"searchFailed": "Search failed: {message}",
|
|
"loadingList": "Loading MCP list...",
|
|
"empty": "No MCP results.",
|
|
"loadingDetail": "Loading marketplace details...",
|
|
"detailLoadFailed": "Failed to load details: {message}",
|
|
"owner": "Owner: {owner}",
|
|
"namespace": "Namespace: {namespace}",
|
|
"defaultInstallProtocol": "Default Install Protocol",
|
|
"currentOptionParameterCount": "Current option parameter count: {count}",
|
|
"installConfigDescription": "Install Config (JSON, editable before install; edits will override protocol/parameter form)",
|
|
"selectLeftToView": "Select a marketplace MCP on the left to view details."
|
|
},
|
|
"badges": {
|
|
"verified": "Verified",
|
|
"remote": "Remote",
|
|
"hasHomepage": "Has Homepage",
|
|
"uses": "{count} uses",
|
|
"deployed": "Deployed",
|
|
"notDeployed": "Not Deployed"
|
|
},
|
|
"selectLeftMcp": "Select an MCP on the left."
|
|
},
|
|
"AcpAgentSettings": {
|
|
"title": "Agent SDK Management",
|
|
"description": "Manage Agent SDK connection, enabled state, environment variables, config management and version preflight info in one place.",
|
|
"loadingAgents": "Loading agent list...",
|
|
"agentList": "Agent List",
|
|
"emptyNoAgent": "No available agent.",
|
|
"configManagement": "Config Management",
|
|
"envVars": "Environment Variables",
|
|
"nativeJsonConfig": "Native JSON Config",
|
|
"modelHintDefault": "Leave empty to use system default model.",
|
|
"generalConfigDescriptionClaude": "Supports quick configuration for API URL, API Key and Claude models, and syncs with native JSON config.",
|
|
"generalConfigDescriptionDefault": "Supports important config input (API URL, API Key, Model) and native JSON config management.",
|
|
"actions": {
|
|
"dragSort": "Drag to reorder",
|
|
"dragSortAgent": "Drag to reorder {name}",
|
|
"refreshCheck": "Refresh check",
|
|
"refreshCheckAgent": "Refresh check {name}",
|
|
"clickEnable": "Click to enable {name}",
|
|
"clickDisable": "Click to disable {name}",
|
|
"install": "Install",
|
|
"upgrade": "Upgrade",
|
|
"uninstall": "Uninstall",
|
|
"uninstalling": "Uninstalling...",
|
|
"saveEnvVars": "Save environment variables",
|
|
"saving": "Saving...",
|
|
"saveCodexConfig": "Save Codex Config",
|
|
"saveGeminiConfig": "Save Gemini Config",
|
|
"saveOpenCodeConfig": "Save OpenCode Config",
|
|
"saveOpenClawConfig": "Save OpenClaw Config",
|
|
"saveConfigManagement": "Save Config Management",
|
|
"saveCurrentProvider": "Save Current Provider",
|
|
"showApiKey": "Show API Key",
|
|
"hideApiKey": "Hide API Key",
|
|
"showKey": "Show Key",
|
|
"hideKey": "Hide Key",
|
|
"showToken": "Show Token",
|
|
"hideToken": "Hide Token",
|
|
"cancel": "Cancel",
|
|
"delete": "Delete",
|
|
"deleting": "Deleting...",
|
|
"confirmDelete": "Confirm Delete",
|
|
"confirmUninstall": "Confirm Uninstall"
|
|
},
|
|
"status": {
|
|
"enabled": "Enabled",
|
|
"disabled": "Disabled",
|
|
"unchecked": "Unchecked",
|
|
"agentEnabledAria": "{name} enabled",
|
|
"agentEnabledSwitch": "{name} enable switch"
|
|
},
|
|
"preflight": {
|
|
"count": "Preflight items: {count}",
|
|
"notRun": "Checks have not run yet."
|
|
},
|
|
"codex": {
|
|
"configDescription": "Supports quick configuration for API URL, API Key, model name and reasoning effort, and syncs with `auth.json` / `config.toml`.",
|
|
"selectProvider": "Select Provider",
|
|
"modelName": "Model Name",
|
|
"selectReasoningEffort": "Select Reasoning Effort",
|
|
"enableWebsocket": "Enable WebSocket",
|
|
"enableWebsocketAria": "Enable WebSocket for Codex Provider",
|
|
"authJsonNative": "auth.json (native)",
|
|
"configTomlNative": "config.toml (native)"
|
|
},
|
|
"gemini": {
|
|
"authConfig": "Gemini Auth Config",
|
|
"authConfigDescription": "Aligned with Gemini CLI authentication docs, supporting custom endpoint, Google login, Gemini API Key and Vertex AI (ADC / service account / API Key).",
|
|
"authMode": "Auth Mode",
|
|
"selectAuthMode": "Select auth mode",
|
|
"viewAuthDoc": "View auth docs",
|
|
"mode": {
|
|
"custom": "Custom Endpoint",
|
|
"loginGoogle": "Google Login (OAuth)",
|
|
"vertexServiceAccount": "Vertex AI (Service Account)"
|
|
},
|
|
"hint": {
|
|
"custom": "Fill API URL, API Key and Model, mapped to GOOGLE_GEMINI_BASE_URL / GEMINI_API_KEY / GEMINI_MODEL.",
|
|
"loginGoogle": "Run gemini in terminal and complete Google login first; API key is not required.",
|
|
"geminiApiKey": "Fill GEMINI_API_KEY when using Gemini API.",
|
|
"vertexAdc": "Use gcloud ADC; GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION are recommended.",
|
|
"vertexServiceAccount": "Set service account JSON path to GOOGLE_APPLICATION_CREDENTIALS.",
|
|
"vertexApiKey": "Fill GOOGLE_API_KEY when using Vertex AI API key."
|
|
}
|
|
},
|
|
"openCode": {
|
|
"configManagement": "OpenCode Config Management",
|
|
"configDescription": "Aligned with OpenCode `provider` schema, supports multi-provider management and two-way sync with native JSON files.",
|
|
"providerManagement": "Provider Management",
|
|
"providerCount": "{count} providers",
|
|
"addProvider": "Add Provider",
|
|
"emptyProvider": "No provider yet. Enter an ID then click \"Add Provider\".",
|
|
"providerEnabledState": "{providerId} enabled state",
|
|
"selectProviderNpm": "Select provider.npm",
|
|
"notSet": "Not set",
|
|
"modelManagement": "Model Management",
|
|
"modelCount": "{count} models",
|
|
"modelDescription": "Aligned with OpenCode `provider.models`. Fast management currently supports `name` / `id`; other advanced fields are preserved and can be edited in native JSON below.",
|
|
"addModel": "Add model",
|
|
"emptyModel": "No model yet. Enter model id then click \"Add model\".",
|
|
"modelId": "Model ID",
|
|
"modelName": "Model Name",
|
|
"deleteModel": "Delete model {modelId}",
|
|
"nativeJsonConfig": "OpenCode Native JSON Config"
|
|
},
|
|
"openClaw": {
|
|
"gatewayConfig": "Gateway Config",
|
|
"gatewayDescription": "Configure OpenClaw Gateway connection. Supports local or remote gateway.",
|
|
"gatewayUrlHint": "Leave empty to use gateway.remote.url from local openclaw config.",
|
|
"gatewayTokenPlaceholder": "Gateway auth token",
|
|
"gatewayTokenHint": "Use token-file instead of plain token when possible; configure via openclaw CLI.",
|
|
"sessionKeyHint": "Optional. Specify gateway session key; leave empty to auto-assign isolated session."
|
|
},
|
|
"claude": {
|
|
"mainModel": "Main Model",
|
|
"reasoningModel": "Reasoning Model (thinking)",
|
|
"haikuDefaultModel": "Default Haiku Model",
|
|
"sonnetDefaultModel": "Default Sonnet Model",
|
|
"opusDefaultModel": "Default Opus Model"
|
|
},
|
|
"dialogs": {
|
|
"confirmDeleteProvider": "Delete Provider {providerId}?",
|
|
"confirmDeleteProviderDescription": "OpenCode config and auth JSON will be updated together. This action cannot be undone.",
|
|
"confirmUninstall": "Uninstall {name}?",
|
|
"confirmUninstallDescription": "This removes local installed version. You can reinstall later."
|
|
},
|
|
"errors": {
|
|
"nativeJsonMustBeObject": "Native JSON config must be an object",
|
|
"nativeJsonInvalid": "Native JSON config format error: {message}",
|
|
"openCodeAuthMustBeObject": "OpenCode auth.json must be a JSON object",
|
|
"openCodeAuthInvalid": "OpenCode auth.json format error: {message}",
|
|
"authMustBeObject": "auth.json must be a JSON object",
|
|
"authInvalid": "auth.json format error: {message}",
|
|
"providerIdPattern": "Provider ID only supports letters, numbers, underscore, dot and hyphen",
|
|
"providerExists": "Provider '{providerId}' already exists",
|
|
"modelIdPattern": "Model ID only supports letters, numbers, underscore, dot, colon and hyphen",
|
|
"modelExists": "Model '{modelId}' already exists"
|
|
},
|
|
"warnings": {
|
|
"nativeJsonRecoveredStructured": "Native JSON config is invalid; reset to structured config",
|
|
"nativeJsonRecoveredOpenCode": "Native JSON config is invalid; reset to OpenCode structured config",
|
|
"openCodeAuthRecovered": "OpenCode auth.json is invalid; reset to default config",
|
|
"authRecoveredStructured": "auth.json is invalid; reset to structured config"
|
|
},
|
|
"toasts": {
|
|
"agentActionCompleted": "{name} {action} completed",
|
|
"agentActionFailed": "{name} {action} failed",
|
|
"localVersion": "Local version: {version}",
|
|
"installCompletedVersionLater": "Install completed, version will update on next check",
|
|
"uninstallCompleted": "{name} uninstall completed",
|
|
"uninstallFailed": "{name} uninstall failed",
|
|
"localVersionRemoved": "Local version removed",
|
|
"saveAgentOrderFailed": "Failed to save Agent order",
|
|
"saveAgentSwitchFailed": "Failed to save Agent switch",
|
|
"saveEnvFailed": "Failed to save environment variables",
|
|
"codexSaved": "Codex config saved",
|
|
"saveCodexNativeFailed": "Failed to save Codex native config",
|
|
"geminiSaved": "Gemini config saved",
|
|
"saveGeminiFailed": "Failed to save Gemini config",
|
|
"providerDeleted": "Provider {providerId} deleted",
|
|
"providerDeleteFailed": "Failed to delete Provider {providerId}",
|
|
"providerSaved": "Provider {providerId} saved",
|
|
"saveProviderFailed": "Failed to save Provider {providerId}",
|
|
"openCodeConfigSynced": "OpenCode config and auth JSON have been synced.",
|
|
"openCodeSaved": "OpenCode config saved",
|
|
"saveOpenCodeFailed": "Failed to save OpenCode config",
|
|
"openClawSaved": "OpenClaw config saved",
|
|
"saveOpenClawFailed": "Failed to save OpenClaw config",
|
|
"configSaved": "Config saved",
|
|
"saveConfigManagementFailed": "Failed to save config management"
|
|
},
|
|
"version": {
|
|
"statusLabel": "Version Status",
|
|
"notInstalled": "Not installed",
|
|
"remoteLocal": "Remote: {remoteVersion} · Local: {localVersion}",
|
|
"platformUnsupported": "{versionText}. Current platform does not support this agent.",
|
|
"clickInstall": "{versionText}. Click Install on the right.",
|
|
"localUnrecognized": "{versionText}. Local version is not comparable; try upgrade to overwrite install.",
|
|
"upgradeAvailable": "{versionText}. Upgrade available.",
|
|
"remoteUnavailable": "{versionText}. Remote version is currently unavailable.",
|
|
"latest": "{versionText}. Already latest."
|
|
}
|
|
},
|
|
"SettingsPages": {
|
|
"agentsLoading": "Loading agent settings..."
|
|
},
|
|
"CommitPage": {
|
|
"title": "Commit",
|
|
"invalidFolderId": "Invalid folder ID",
|
|
"loadingRepo": "Loading repository..."
|
|
},
|
|
"Folder": {
|
|
"common": {
|
|
"all": "All",
|
|
"cancel": "Cancel",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All",
|
|
"confirm": "Confirm",
|
|
"save": "Save",
|
|
"delete": "Delete",
|
|
"rename": "Rename",
|
|
"loading": "Loading...",
|
|
"refresh": "Refresh",
|
|
"refreshing": "Refreshing...",
|
|
"create": "Create",
|
|
"createAndSwitch": "Create and Switch",
|
|
"openFile": "Open File",
|
|
"viewDiff": "View Diff"
|
|
},
|
|
"modes": {
|
|
"conversation": "Conversation Mode",
|
|
"fusion": "Fusion Mode",
|
|
"files": "Files Mode",
|
|
"workspaceModesAria": "Workspace modes"
|
|
},
|
|
"statusLabels": {
|
|
"in_progress": "In Progress",
|
|
"pending_review": "Review",
|
|
"completed": "Completed",
|
|
"cancelled": "Cancelled"
|
|
},
|
|
"sidebar": {
|
|
"title": "Conversations",
|
|
"locateActiveConversation": "Locate Active Conversation",
|
|
"expandAllGroups": "Expand All Groups",
|
|
"collapseAllGroups": "Collapse All Groups",
|
|
"newConversation": "New Conversation",
|
|
"noConversationsFound": "No conversations found.",
|
|
"importLocalSessions": "Import local sessions",
|
|
"importing": "Importing...",
|
|
"error": "Error: {message}",
|
|
"completeAllSessions": "Complete all sessions",
|
|
"completeAllReviewTitle": "Complete all review sessions?",
|
|
"completeAllReviewDescription": "This will mark all {count, plural, one {# session} other {# sessions}} in Review as completed.",
|
|
"completing": "Completing...",
|
|
"toasts": {
|
|
"importedSessions": "Imported {imported, plural, one {# session} other {# sessions}}, skipped {skipped}",
|
|
"noNewSessionsFound": "No new sessions found (skipped {skipped})",
|
|
"importFailed": "Import failed: {message}",
|
|
"reviewCompleted": "Marked {count, plural, one {# review session} other {# review sessions}} as completed",
|
|
"completeReviewFailed": "Failed to complete review sessions: {message}"
|
|
}
|
|
},
|
|
"conversation": {
|
|
"reloadFailed": "Failed to reload conversation: {message}",
|
|
"reloaded": "Conversation reloaded",
|
|
"reload": "Reload",
|
|
"newConversation": "New Conversation",
|
|
"closeConversation": "Close Conversation"
|
|
},
|
|
"conversationCard": {
|
|
"untitledConversation": "Untitled conversation",
|
|
"newConversation": "New Conversation",
|
|
"rename": "Rename",
|
|
"status": "Status",
|
|
"delete": "Delete",
|
|
"importLocalSessions": "Import local sessions",
|
|
"importing": "Importing...",
|
|
"renameConversation": "Rename conversation",
|
|
"deleteConversationTitle": "Delete conversation?",
|
|
"deleteConversationDescription": "This will delete \"{title}\". This action cannot be undone.",
|
|
"cancel": "Cancel",
|
|
"save": "Save"
|
|
},
|
|
"search": {
|
|
"dialogTitle": "Search conversations",
|
|
"placeholder": "Search conversations...",
|
|
"allAgents": "All",
|
|
"searching": "Searching...",
|
|
"typeToSearch": "Type to search conversations",
|
|
"noResults": "No results found.",
|
|
"untitledConversation": "Untitled conversation"
|
|
},
|
|
"folderTitleBar": {
|
|
"showSidebar": "Show Sidebar",
|
|
"hideSidebar": "Hide Sidebar",
|
|
"toggleTerminal": "Toggle Terminal",
|
|
"toggleAuxPanel": "Toggle Auxiliary Panel",
|
|
"search": "Search",
|
|
"openSettings": "Open Settings",
|
|
"withShortcut": "{label} ({shortcut})"
|
|
},
|
|
"statusBar": {
|
|
"connection": {
|
|
"connected": "Connected",
|
|
"connecting": "Connecting...",
|
|
"downloading": "Downloading...",
|
|
"prompting": "Responding...",
|
|
"error": "Connection error",
|
|
"disconnected": "Disconnected",
|
|
"tooltip": "{agent} - {status}",
|
|
"tooltipError": "{agent} - {error}"
|
|
},
|
|
"tasks": {
|
|
"title": "Tasks"
|
|
},
|
|
"alerts": {
|
|
"title": "Alerts",
|
|
"empty": "No alerts"
|
|
},
|
|
"stats": {
|
|
"conversations": "{count} conversations",
|
|
"summary": "{conversations} conversations / {messages} messages"
|
|
},
|
|
"tokens": {
|
|
"contextWindowUsageAria": "Context window usage",
|
|
"contextWindow": "Context Window",
|
|
"usedMax": "Used / Max",
|
|
"tokenUsage": "Token Usage",
|
|
"input": "Input",
|
|
"output": "Output",
|
|
"cacheRead": "Cache Read",
|
|
"cacheWrite": "Cache Write",
|
|
"total": "Total"
|
|
}
|
|
},
|
|
"auxPanel": {
|
|
"tabs": {
|
|
"diff": "Diff",
|
|
"files": "Files",
|
|
"changes": "Changes",
|
|
"commits": "Commits"
|
|
}
|
|
},
|
|
"windowControls": {
|
|
"minimizeWindow": "Minimize window",
|
|
"minimize": "Minimize",
|
|
"maximizeWindow": "Maximize window",
|
|
"maximize": "Maximize",
|
|
"restoreWindow": "Restore window",
|
|
"restore": "Restore",
|
|
"closeWindow": "Close window",
|
|
"close": "Close"
|
|
},
|
|
"tabs": {
|
|
"closeConversationTab": "Close conversation tab",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All"
|
|
},
|
|
"fileWorkspace": {
|
|
"files": "Files",
|
|
"closeFileTab": "Close file tab",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All"
|
|
},
|
|
"terminal": {
|
|
"rename": "Rename",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All",
|
|
"hideTerminal": "Hide Terminal ({shortcut})"
|
|
},
|
|
"sessionFiles": {
|
|
"currentResponse": "Current response",
|
|
"noDiffDataAvailable": "No diff data available for {filePath}",
|
|
"loading": "Loading...",
|
|
"noFileChangesInConversation": "No file changes found in this conversation",
|
|
"openConversationToSeeChanges": "Open a conversation to see its file changes",
|
|
"remove": "Remove",
|
|
"changeCount": "{count, plural, one {# change} other {# changes}}",
|
|
"fileCount": "{count, plural, one {# file} other {# files}}"
|
|
},
|
|
"folderNameDropdown": {
|
|
"fallbackFolderName": "Folder",
|
|
"openFolder": "Open Folder",
|
|
"cloneRepository": "Clone Repository",
|
|
"opened": "Opened",
|
|
"recentOpen": "Recently Opened"
|
|
},
|
|
"fileWorkspacePanel": {
|
|
"viewDiff": "View Diff",
|
|
"openFile": "Open File",
|
|
"fileCount": "{count, plural, one {# file} other {# files}}",
|
|
"openFileOrDiff": "Open a file or diff from the right panel",
|
|
"disk": "Disk",
|
|
"head": "HEAD",
|
|
"unsaved": "Unsaved",
|
|
"workingTree": "Working Tree",
|
|
"loading": "Loading...",
|
|
"compareWithBranch": "{path} · compare with {branch}",
|
|
"hunkCount": "{count, plural, one {# hunk} other {# hunks}}",
|
|
"prev": "Prev",
|
|
"next": "Next",
|
|
"jumpToLine": "Jump to line {line}",
|
|
"noParsedDiffSections": "No parsed diff sections",
|
|
"loadingEditor": "Loading editor..."
|
|
},
|
|
"branchDropdown": {
|
|
"toasts": {
|
|
"commitCodeCompleted": "Code commit completed",
|
|
"committedFiles": "Committed {count, plural, one {# file} other {# files}}",
|
|
"taskCompleted": "{label} completed",
|
|
"taskFailed": "{label} failed",
|
|
"mergeNoNewCommits": "{branchName} has no new commits",
|
|
"mergedCommits": "Merged {count, plural, one {# commit} other {# commits}}",
|
|
"allFilesUpToDate": "All files are up to date",
|
|
"updatedFiles": "Updated {count, plural, one {# file} other {# files}}",
|
|
"openCommitWindowFailed": "Failed to open commit window",
|
|
"upstreamSet": "Upstream branch has been set",
|
|
"upstreamSetAndPushed": "Upstream branch set and pushed {count, plural, one {# commit} other {# commits}}",
|
|
"noCommitsToPush": "No commits to push",
|
|
"pushedCommits": "Pushed {count, plural, one {# commit} other {# commits}}"
|
|
},
|
|
"tasks": {
|
|
"newBranch": "Create branch {name}",
|
|
"newWorktree": "Create worktree {name}",
|
|
"checkoutTo": "Checkout to {branchName}",
|
|
"mergeBranch": "Merge {branchName}",
|
|
"rebaseTo": "Rebase to {branchName}",
|
|
"deleteBranch": "Delete branch {branchName}",
|
|
"initGitRepo": "Initialize Git repository",
|
|
"pullCode": "Pull code",
|
|
"fetchInfo": "Fetch info",
|
|
"pushCode": "Push code",
|
|
"stashChanges": "Stash changes",
|
|
"stashPop": "Pop stash"
|
|
},
|
|
"confirm": {
|
|
"mergeTitle": "Merge branch",
|
|
"rebaseTitle": "Rebase branch",
|
|
"deleteTitle": "Delete branch",
|
|
"mergeDescription": "Merge {branchName} into current branch {currentBranch}?",
|
|
"rebaseDescription": "Rebase current branch {currentBranch} onto {branchName}?",
|
|
"deleteDescription": "Delete branch {branchName}? This action cannot be undone."
|
|
},
|
|
"current": "Current",
|
|
"switchToBranch": "Switch to this branch",
|
|
"mergeBranchIntoCurrent": "Merge {branchName} into {currentBranch}",
|
|
"rebaseCurrentToBranch": "Rebase {currentBranch} onto {branchName}",
|
|
"deleteBranch": "Delete branch",
|
|
"versionControl": "Version Control",
|
|
"initGitRepo": "Initialize Git repository",
|
|
"pullCode": "Pull code",
|
|
"fetchRemoteBranches": "Fetch remote branches",
|
|
"openCommitWindow": "Commit code...",
|
|
"pushCode": "Push...",
|
|
"newBranch": "New branch...",
|
|
"newWorktree": "New worktree...",
|
|
"stashChanges": "Stash changes",
|
|
"stashPop": "Pop stash...",
|
|
"localBranches": "Local branches ({count, plural, one {#} other {#}})",
|
|
"noLocalBranches": "No local branches",
|
|
"remoteBranches": "Remote branches ({count, plural, one {#} other {#}})",
|
|
"noRemoteBranches": "No remote branches",
|
|
"parentBranchHint": "Current branch was created from {parentBranch}. Click to merge {parentBranch} into current branch.",
|
|
"dialogs": {
|
|
"newBranchTitle": "New branch",
|
|
"newBranchDescription": "Create a new branch from current branch {branch}",
|
|
"branchNamePlaceholder": "Branch name",
|
|
"newWorktreeTitle": "New worktree",
|
|
"newWorktreeDescription": "Create a new worktree from current branch {branch}",
|
|
"branchNameLabel": "Branch name",
|
|
"worktreePathLabel": "Worktree path",
|
|
"worktreePathPlaceholder": "Worktree path"
|
|
}
|
|
},
|
|
"commitDialog": {
|
|
"toasts": {
|
|
"commitCompleted": "Code commit completed",
|
|
"committedFiles": "Committed {count, plural, one {# file} other {# files}}",
|
|
"addedToVcs": "Added to VCS",
|
|
"addToVcsFailed": "Failed to add to VCS",
|
|
"fileDeleted": "File deleted",
|
|
"deleteFailed": "Delete failed",
|
|
"fileRolledBack": "File rolled back",
|
|
"rollbackFailed": "Rollback failed"
|
|
},
|
|
"confirm": {
|
|
"deleteTitle": "Confirm deletion",
|
|
"deleteDescription": "Delete file \"{file}\"? This action cannot be undone.",
|
|
"rollbackTitle": "Confirm rollback",
|
|
"rollbackDescription": "Rollback file \"{file}\" to HEAD? Unsaved changes will be lost."
|
|
},
|
|
"actions": {
|
|
"select": "Select",
|
|
"unselect": "Unselect",
|
|
"rollback": "Rollback",
|
|
"addToVcs": "Add to VCS"
|
|
},
|
|
"aria": {
|
|
"selectFile": "{action} {path}",
|
|
"unselectAllFiles": "Unselect all files",
|
|
"selectAllFiles": "Select all files",
|
|
"unselectTracked": "Unselect tracked changes",
|
|
"selectTracked": "Select tracked changes",
|
|
"unselectUntracked": "Unselect untracked files",
|
|
"selectUntracked": "Select untracked files"
|
|
},
|
|
"loading": "Loading...",
|
|
"selectionCount": "{selected} / {total} files",
|
|
"emptyFiles": "No changed files",
|
|
"trackedChanges": "Tracked changes ({count})",
|
|
"untrackedFiles": "Untracked files ({count})",
|
|
"commitMessage": "Commit message",
|
|
"commitMessagePlaceholder": "Enter commit message...",
|
|
"commitButton": "Commit ({count})",
|
|
"head": "HEAD",
|
|
"workingTree": "Working Tree",
|
|
"clickFileToDiff": "Click a file name to view diff",
|
|
"loadingDiff": "Loading diff..."
|
|
},
|
|
"gitLogTab": {
|
|
"filesTitle": "Files",
|
|
"expandAllFiles": "Expand all files",
|
|
"collapseAllFiles": "Collapse all files",
|
|
"workspace": "workspace",
|
|
"retry": "Retry",
|
|
"noCommitsFound": "No commits found",
|
|
"hash": "Hash",
|
|
"copyHash": "Copy hash",
|
|
"author": "Author",
|
|
"noFileChangeDetails": "No file change details available.",
|
|
"branchesTitle": "Branches",
|
|
"loadingBranches": "Loading branches...",
|
|
"noContainingBranches": "No containing branches found.",
|
|
"newBranch": "New branch...",
|
|
"viewCommitDiffAria": "View diff for commit {hash}",
|
|
"copyFullCommitHashAria": "Copy full commit hash {hash}",
|
|
"pushStatus": {
|
|
"pushed": "Pushed to remote",
|
|
"notPushed": "Not pushed to remote",
|
|
"unknown": "Push status unknown (no upstream configured)"
|
|
},
|
|
"time": {
|
|
"monthsAgo": "{count, plural, one {# month ago} other {# months ago}}",
|
|
"daysAgo": "{count, plural, one {# day ago} other {# days ago}}",
|
|
"hoursAgo": "{count, plural, one {# hour ago} other {# hours ago}}",
|
|
"minsAgo": "{count, plural, one {# min ago} other {# mins ago}}",
|
|
"justNow": "just now"
|
|
},
|
|
"toasts": {
|
|
"createdAndSwitchedNewBranch": "Created and switched to new branch",
|
|
"newBranchFromCommit": "{name} (from {shortHash})",
|
|
"createBranchFailed": "Failed to create branch"
|
|
},
|
|
"branchSelector": {
|
|
"selectBranchPlaceholder": "Select branch...",
|
|
"localBranches": "Local branches",
|
|
"current": "Current",
|
|
"remoteBranches": "Remote branches",
|
|
"refreshCommitHistory": "Refresh commit history"
|
|
},
|
|
"dialogs": {
|
|
"newBranchTitle": "New branch",
|
|
"newBranchDescription": "Create a new branch with commit {shortHash} as the latest commit.",
|
|
"branchNamePlaceholder": "Branch name"
|
|
}
|
|
},
|
|
"gitChangesTab": {
|
|
"workspace": "workspace",
|
|
"noChanges": "No local changes",
|
|
"trackedChanges": "Tracked changes ({count})",
|
|
"untrackedFiles": "Untracked files ({count})",
|
|
"expandTracked": "Expand tracked changes",
|
|
"collapseTracked": "Collapse tracked changes",
|
|
"expandUntracked": "Expand untracked files",
|
|
"collapseUntracked": "Collapse untracked files",
|
|
"actions": {
|
|
"rollback": "Rollback",
|
|
"addToVcs": "Add to VCS"
|
|
},
|
|
"toasts": {
|
|
"noAddableFilesInDir": "No changed files in this directory can be added to VCS",
|
|
"noRollbackFilesInDir": "No changed files in this directory can be rolled back",
|
|
"addedToVcs": "Added {name} to VCS",
|
|
"addToVcsFailed": "Failed to add to VCS",
|
|
"rolledBack": "Rolled back {name}",
|
|
"rollbackFailed": "Rollback failed",
|
|
"addedFilesToVcs": "Added {count, plural, one {# file} other {# files}} to VCS",
|
|
"rolledBackFiles": "Rolled back {count, plural, one {# file} other {# files}}"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "Select files under directory {path} to add to VCS.",
|
|
"descriptionRollback": "Select files under directory {path} to roll back.",
|
|
"descriptionFallback": "Select files to proceed.",
|
|
"selectionCount": "Selected {selected} / {total} files",
|
|
"selectAll": "Select all",
|
|
"unselectAll": "Unselect all",
|
|
"loadingCandidates": "Loading directory changes...",
|
|
"noOperableFiles": "No operable files"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "Confirm rollback",
|
|
"descriptionWithTarget": "Roll back local changes for {kind} \"{name}\"?",
|
|
"descriptionFallback": "Roll back local changes?",
|
|
"kindDirectory": "directory",
|
|
"kindFile": "file"
|
|
}
|
|
},
|
|
"tabContext": {
|
|
"loadingConversation": "Loading...",
|
|
"untitledConversation": "Untitled conversation",
|
|
"newConversation": "New Conversation"
|
|
},
|
|
"fileTreeTab": {
|
|
"workspace": "Workspace",
|
|
"retry": "Retry",
|
|
"git": "Git",
|
|
"openInFileManager": "Open in file manager",
|
|
"openInFinder": "Open in Finder",
|
|
"openInExplorer": "Open in Explorer",
|
|
"attachToCurrentSession": "Attach to current session",
|
|
"compareWithBranch": "Compare with branch...",
|
|
"reloadFromDisk": "Reload from disk",
|
|
"openIn": "Open in",
|
|
"openInTerminal": "Open in terminal",
|
|
"actions": {
|
|
"select": "Select",
|
|
"unselect": "Unselect",
|
|
"rollback": "Rollback",
|
|
"addToVcs": "Add to VCS"
|
|
},
|
|
"aria": {
|
|
"selectPath": "{action} {path}"
|
|
},
|
|
"toasts": {
|
|
"openDirectoryFailed": "Failed to open directory",
|
|
"openBuiltinTerminalFailed": "Unable to open built-in terminal",
|
|
"noAddableFilesInDir": "No changed files in this directory can be added to VCS",
|
|
"noRollbackFilesInDir": "No changed files in this directory can be rolled back",
|
|
"addedToVcs": "Added {name} to VCS",
|
|
"addToVcsFailed": "Failed to add to VCS",
|
|
"loadBranchesFailed": "Failed to load branches",
|
|
"renameFailed": "Rename failed",
|
|
"deleteFailed": "Delete failed",
|
|
"rolledBack": "Rolled back {name}",
|
|
"rollbackFailed": "Rollback failed",
|
|
"addedFilesToVcs": "Added {count, plural, one {# file} other {# files}} to VCS",
|
|
"rolledBackFiles": "Rolled back {count, plural, one {# file} other {# files}}",
|
|
"savedAsCopy": "Saved as a copy",
|
|
"saveCopyFailed": "Failed to save as copy",
|
|
"watchStartFailed": "Failed to start file watch"
|
|
},
|
|
"renameDialog": {
|
|
"renameDirectory": "Rename directory",
|
|
"renameFile": "Rename file",
|
|
"description": "Enter a new name (name only, no path).",
|
|
"placeholderDirectory": "new-folder-name",
|
|
"placeholderFile": "new-file-name.ext"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "Select files under directory {path} to add to VCS.",
|
|
"descriptionRollback": "Select files under directory {path} to roll back.",
|
|
"descriptionFallback": "Select files to proceed.",
|
|
"selectionCount": "Selected {selected} / {total} files",
|
|
"selectAll": "Select all",
|
|
"unselectAll": "Unselect all",
|
|
"loadingCandidates": "Loading directory changes...",
|
|
"noOperableFiles": "No operable files"
|
|
},
|
|
"compareDialog": {
|
|
"title": "Compare with branch",
|
|
"descriptionWithTarget": "Select a branch and compare with {kind} {path}",
|
|
"descriptionFallback": "Select a branch to compare.",
|
|
"kindDirectory": "directory",
|
|
"kindFile": "file",
|
|
"filterPlaceholder": "Filter branches, e.g. main / origin/main",
|
|
"singleClickHint": "Click a branch to compare directly",
|
|
"loadingBranches": "Loading branches...",
|
|
"recentBranches": "Recent branches ({count})",
|
|
"noCurrentBranch": "No current branch",
|
|
"localBranches": "Local branches ({count})",
|
|
"remoteBranches": "Remote branches ({count})",
|
|
"noMatchingBranches": "No matching branches"
|
|
},
|
|
"externalConflictDialog": {
|
|
"title": "External file changes detected",
|
|
"descriptionWithPath": "File {path} has changed on disk, and current edits are unsaved.",
|
|
"descriptionFallback": "Current file has changed on disk, and current edits are unsaved.",
|
|
"compare": "Compare",
|
|
"savingCopy": "Saving copy...",
|
|
"saveAsCopy": "Save as copy",
|
|
"reload": "Reload"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "Confirm deletion",
|
|
"descriptionWithTarget": "Delete {kind} \"{name}\"? This action cannot be undone.",
|
|
"descriptionFallback": "This action cannot be undone.",
|
|
"kindDirectory": "directory",
|
|
"kindFile": "file"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "Confirm rollback",
|
|
"descriptionWithTarget": "Rollback local changes for file \"{name}\"?",
|
|
"descriptionFallback": "Rollback local changes for this file?"
|
|
},
|
|
"terminalTitle": "Terminal · {name}"
|
|
},
|
|
"commandDropdown": {
|
|
"loading": "Loading...",
|
|
"addCommand": "Add Command",
|
|
"manageCommands": "Manage Commands...",
|
|
"runCommandTitle": "Run: {command}",
|
|
"stopCommandTitle": "Stop: {command}",
|
|
"manageDialog": {
|
|
"title": "Manage Commands",
|
|
"empty": "No commands yet",
|
|
"namePlaceholder": "Name",
|
|
"commandPlaceholder": "Command",
|
|
"add": "Add",
|
|
"saving": "Saving..."
|
|
}
|
|
},
|
|
"workspaceContext": {
|
|
"confirmCloseDirtyTab": "Close \"{title}\" without saving?",
|
|
"confirmCloseOtherDirtyTabs": "Close other tabs with unsaved changes?",
|
|
"confirmCloseAllDirtyTabs": "Close all tabs with unsaved changes?",
|
|
"unableLoadContent": "Unable to load content.\n\n{message}",
|
|
"previewRequestTimedOut": "Preview request timed out",
|
|
"diffRequestTimedOut": "Diff request timed out",
|
|
"branchCompareRequestTimedOut": "Branch compare request timed out",
|
|
"commitDiffRequestTimedOut": "Commit diff request timed out",
|
|
"saveRequestTimedOut": "Save request timed out",
|
|
"reloadRequestTimedOut": "Reload request timed out",
|
|
"noChanges": "No changes.",
|
|
"noDiffOutput": "No diff output.",
|
|
"diffTitleWorkspace": "Diff · Workspace",
|
|
"diffDescriptionWorkingTree": "Working tree (HEAD)",
|
|
"diffTitleFile": "Diff · {name}",
|
|
"compareTitleFile": "Compare · {name}",
|
|
"compareTitleBranch": "Compare · {branch}",
|
|
"compareDescriptionPath": "{path} · compare with {branch}",
|
|
"compareDescriptionBranch": "compare with {branch}",
|
|
"diffTitleCommitFile": "Diff · {name} @ {hash}",
|
|
"diffTitleCommit": "Diff · {hash}",
|
|
"diffDescriptionCommitPath": "{path} · commit {commit}",
|
|
"diffDescriptionCommit": "commit {commit}",
|
|
"diffTitleConflictFile": "Conflict · {name}",
|
|
"diffDescriptionConflict": "{path} · disk vs unsaved"
|
|
},
|
|
"chat": {
|
|
"acpConnections": {
|
|
"actions": {
|
|
"openAgentsSettings": "Open Agents settings",
|
|
"retry": "Retry"
|
|
},
|
|
"agentsSetupHint": "Open Settings > Agents to manage installation.",
|
|
"withSetupHint": "{message}\n{hint}",
|
|
"blocked": {
|
|
"missingConfig": "Unable to read current Agent configuration.",
|
|
"disabled": "{agent} is disabled in Agents settings. Enable it before connecting.",
|
|
"unavailable": "{agent} is unavailable on the current platform.",
|
|
"sdkMissing": "{agent} SDK is not installed"
|
|
},
|
|
"unableReadAgentConfig": "Unable to read Agent config: {message}",
|
|
"autoLinkFailedTitle": "{agent} auto-link failed",
|
|
"preflightCheckFailedDefault": "Preflight checks failed. Check Agent settings.",
|
|
"preflightFailedTitle": "{agent} preflight failed",
|
|
"autoLinkPreflightFailed": "Auto-link preflight failed: {message}",
|
|
"connectFailedTitle": "{agent} connection failed"
|
|
},
|
|
"connectionLifecycle": {
|
|
"tasks": {
|
|
"connectingTitle": "Connecting to {agent}",
|
|
"connectingDescription": "Establishing connection",
|
|
"loadingSelectorsTitle": "Loading {agent} selectors",
|
|
"loadingSelectorsDescription": "Fetching mode and session config options"
|
|
},
|
|
"errors": {
|
|
"connectionFailed": "Connection failed"
|
|
}
|
|
},
|
|
"messageThread": {
|
|
"emptyTitle": "No messages yet",
|
|
"emptyDescription": "Start a conversation to see messages here"
|
|
},
|
|
"chatInput": {
|
|
"connecting": "Connecting...",
|
|
"agentResponding": "Agent is responding...",
|
|
"sendMessage": "Send a message..."
|
|
},
|
|
"messageInput": {
|
|
"askAnything": "Ask anything...",
|
|
"removeAttachmentAria": "Remove {name}",
|
|
"attachFiles": "Attach files",
|
|
"loadingSettings": "Loading settings...",
|
|
"loadingMode": "Loading mode...",
|
|
"cancel": "Cancel",
|
|
"send": "Send"
|
|
},
|
|
"welcomeInputPanel": {
|
|
"agentsSettingsPath": "Settings > Agents",
|
|
"autoConnectFallback": "Click to open {path} and manage installation.",
|
|
"autoConnectAppend": "{message}. Click to open {path} and manage installation.",
|
|
"enableAgentFirstPlaceholder": "Enable at least one agent before starting a session...",
|
|
"askAnythingPlaceholder": "Ask anything..."
|
|
},
|
|
"agentSelector": {
|
|
"noEnabledAgents": "No enabled agents",
|
|
"openAgentsSettings": "Open Agents settings"
|
|
},
|
|
"liveMessageBlock": {
|
|
"assistantThinkingAria": "Assistant is thinking"
|
|
},
|
|
"agentPlanOverlay": {
|
|
"title": "Agent Plan",
|
|
"collapsePlanAria": "Collapse plan",
|
|
"collapsedSummary": "Plan {completed}/{total}",
|
|
"status": {
|
|
"completed": "Completed",
|
|
"inProgress": "In Progress",
|
|
"pending": "Pending",
|
|
"unknown": "Unknown"
|
|
},
|
|
"priority": {
|
|
"high": "High",
|
|
"medium": "Medium",
|
|
"low": "Low",
|
|
"unknown": "Unknown"
|
|
}
|
|
},
|
|
"permissionDialog": {
|
|
"subtitle": "Agent requests permission to continue this turn.",
|
|
"kindFallbackTool": "tool",
|
|
"command": "Command",
|
|
"cwd": "CWD: {cwd}",
|
|
"filesSummary": "Files: {count}",
|
|
"moreFiles": "+{count} more files",
|
|
"plan": "Plan",
|
|
"targetMode": "Target mode: {mode}"
|
|
},
|
|
"messageBranch": {
|
|
"previousBranchAria": "Previous branch",
|
|
"nextBranchAria": "Next branch",
|
|
"pageOf": "{current} of {total}"
|
|
},
|
|
"terminal": {
|
|
"title": "Terminal",
|
|
"running": "Running"
|
|
},
|
|
"reasoning": {
|
|
"thinking": "Thinking...",
|
|
"thoughtForFewSeconds": "Thought for a few seconds",
|
|
"thoughtForSeconds": "Thought for {duration} seconds"
|
|
},
|
|
"messageList": {
|
|
"attachedResources": "Attached resources",
|
|
"loading": "Loading...",
|
|
"error": "Error: {message}",
|
|
"emptyConversation": "No messages in this conversation."
|
|
},
|
|
"liveTurnStats": {
|
|
"thinking": "Thinking...",
|
|
"streaming": "Streaming",
|
|
"elapsedMinutes": "{value}m",
|
|
"elapsedSeconds": "{value}s",
|
|
"toolUseCount": "{count} tool {count, plural, one {use} other {uses}}"
|
|
},
|
|
"tool": {
|
|
"parameters": "Parameters",
|
|
"error": "Error",
|
|
"result": "Result",
|
|
"status": {
|
|
"approvalRequested": "Awaiting Approval",
|
|
"approvalResponded": "Responded",
|
|
"inputAvailable": "Running",
|
|
"inputStreaming": "Pending",
|
|
"outputAvailable": "Completed",
|
|
"outputDenied": "Denied",
|
|
"outputError": "Error"
|
|
}
|
|
},
|
|
"toolCallBlock": {
|
|
"tool": "Tool",
|
|
"error": "Error",
|
|
"result": "Result"
|
|
},
|
|
"contentParts": {
|
|
"showingTailOutput": "Showing tail output while streaming for performance.",
|
|
"result": "Result",
|
|
"unknown": "unknown",
|
|
"replaceAll": "REPLACE ALL",
|
|
"filesCount": "Files: {count}",
|
|
"update": "update",
|
|
"moreFiles": "+{count} more files",
|
|
"timeoutMs": "Timeout: {timeout}ms",
|
|
"backgroundTrue": "Background: true",
|
|
"offset": "Offset: {offset}",
|
|
"limit": "Limit: {limit}",
|
|
"pages": "Pages: {pages}",
|
|
"mode": "Mode: {mode}",
|
|
"cell": "Cell: {cell}",
|
|
"pathLabel": "Path:",
|
|
"globLabel": "Glob:",
|
|
"typeLabel": "Type:",
|
|
"outputLabel": "Output:",
|
|
"caseInsensitive": "Case insensitive",
|
|
"multiline": "Multiline",
|
|
"promptLabel": "Prompt",
|
|
"subjectLabel": "Subject",
|
|
"taskLabel": "Task",
|
|
"nameLabel": "Name:",
|
|
"title": {
|
|
"edit": "Edit",
|
|
"command": "Command",
|
|
"todoWrite": "TodoWrite",
|
|
"read": "Read",
|
|
"write": "Write",
|
|
"notebookEdit": "NotebookEdit",
|
|
"editFiles": "Edit ({count} files)",
|
|
"editWithTarget": "Edit {target}",
|
|
"readWithTarget": "Read {target}",
|
|
"writeWithTarget": "Write {target}",
|
|
"notebookEditWithTarget": "NotebookEdit {target}",
|
|
"globWithPattern": "Glob {pattern}",
|
|
"grepWithPattern": "Grep {pattern}",
|
|
"taskCreateWithSubject": "TaskCreate: {subject}",
|
|
"taskUpdateWithStatus": "TaskUpdate #{id} -> {status}",
|
|
"taskUpdate": "TaskUpdate #{id}",
|
|
"webFetchWithUrl": "WebFetch {url}",
|
|
"webSearchWithQuery": "WebSearch: {query}",
|
|
"todosProgress": "Todos ({done}/{total})",
|
|
"skillWithName": "Skill: {name}",
|
|
"genericWithContext": "{tool}: {context}"
|
|
}
|
|
}
|
|
},
|
|
"diffPreview": {
|
|
"mode": {
|
|
"added": "Added",
|
|
"deleted": "Deleted",
|
|
"renamed": "Renamed",
|
|
"modified": "Modified"
|
|
},
|
|
"hunkLabel": "Hunk {index}",
|
|
"loadingHunk": "Loading hunk...",
|
|
"noDiffData": "No diff data"
|
|
}
|
|
}
|
|
}
|