{ "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" } } }