Replace flat/grouped view toggle with a show-completed filter dropdown, add expand/collapse-all control, extract status icon component, and simplify the sidebar header.
2121 lines
88 KiB
JSON
2121 lines
88 KiB
JSON
{
|
|
"Language": {
|
|
"followSystem": "Follow System",
|
|
"english": "English",
|
|
"simplifiedChinese": "Simplified Chinese",
|
|
"traditionalChinese": "Traditional Chinese",
|
|
"japanese": "Japanese",
|
|
"korean": "Korean",
|
|
"spanish": "Spanish",
|
|
"german": "German",
|
|
"french": "French",
|
|
"portuguese": "Portuguese",
|
|
"arabic": "Arabic"
|
|
},
|
|
"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",
|
|
"projectBoot": "Project Boot",
|
|
"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",
|
|
"openProjectBootFailed": "Failed to open Project Boot"
|
|
},
|
|
"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",
|
|
"clonePath": "Clone path: {path}"
|
|
}
|
|
},
|
|
"GitCredentialDialog": {
|
|
"title": "Authentication Required",
|
|
"description": "The remote server requires credentials. Enter your username and password (or personal access token).",
|
|
"username": "Username",
|
|
"usernamePlaceholder": "Username or email",
|
|
"password": "Password / Token",
|
|
"passwordPlaceholder": "Password or personal access token",
|
|
"passwordHint": "For non-GitHub servers, enter your username and password.",
|
|
"cancel": "Cancel",
|
|
"authenticate": "Authenticate",
|
|
"authenticating": "Authenticating...",
|
|
"invalidCredentials": "Invalid credentials. Please try again.",
|
|
"saveCredentials": "Save credentials for future operations",
|
|
"githubTitle": "GitHub Authentication",
|
|
"githubDescription": "Enter a personal access token to authenticate with GitHub. The token will be validated and saved to your accounts.",
|
|
"githubToken": "Personal Access Token",
|
|
"githubTokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"githubTokenHint": "Generate a token at GitHub → Settings → Developer settings → Personal access tokens.",
|
|
"githubAuthenticate": "Validate & Connect",
|
|
"generateToken": "Generate token"
|
|
},
|
|
"SettingsShell": {
|
|
"title": "Settings",
|
|
"preferences": "Preferences",
|
|
"nav": {
|
|
"appearance": "Appearance",
|
|
"agents": "Agents",
|
|
"mcp": "MCP",
|
|
"skills": "Skills",
|
|
"shortcuts": "Shortcuts",
|
|
"version_control": "Version Control",
|
|
"system": "System",
|
|
"chat_channels": "Chat Channels",
|
|
"web_service": "Web Service",
|
|
"model_providers": "Model Providers",
|
|
"experts": "Experts"
|
|
}
|
|
},
|
|
"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": "--"
|
|
},
|
|
"themeColor": {
|
|
"sectionTitle": "Theme color",
|
|
"sectionDescription": "Pick a color palette for accents, buttons, and highlights.",
|
|
"current": "Current color: {color}",
|
|
"options": {
|
|
"neutral": "Neutral",
|
|
"zinc": "Zinc",
|
|
"slate": "Slate",
|
|
"stone": "Stone",
|
|
"gray": "Gray",
|
|
"red": "Red",
|
|
"rose": "Rose",
|
|
"orange": "Orange",
|
|
"green": "Green",
|
|
"blue": "Blue",
|
|
"yellow": "Yellow",
|
|
"violet": "Violet"
|
|
}
|
|
},
|
|
"zoomLevel": {
|
|
"sectionTitle": "Window zoom",
|
|
"sectionDescription": "Scale the entire interface. Applies immediately and persists per device.",
|
|
"placeholder": "Select zoom level",
|
|
"default": "Default",
|
|
"current": "Current zoom: {zoom}%"
|
|
},
|
|
"resetToDefaults": "Reset to defaults",
|
|
"resetHint": "Reset theme color and window zoom to defaults."
|
|
},
|
|
"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",
|
|
"versionTitle": "Software Update",
|
|
"updateDescription": "Check the configured release source for newer versions and install directly when available.",
|
|
"currentVersion": "Current version",
|
|
"upgradableVersion": "Latest version",
|
|
"none": "None",
|
|
"lastChecked": "Last checked: {time}",
|
|
"updateError": "Update error: {message}",
|
|
"checking": "Checking...",
|
|
"checkUpdate": "Check for updates",
|
|
"updating": "Installing...",
|
|
"downloading": "Downloading...",
|
|
"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}",
|
|
"updateErrors": {
|
|
"sourceUnavailable": "Cannot reach the update source. Check your network or proxy and try again.",
|
|
"network": "Network connection failed. Check your network or proxy and try again.",
|
|
"downloadFailed": "Failed to download update package. Please try again later.",
|
|
"installFailed": "Failed to install update. Please close the app and try again.",
|
|
"unknown": "Update failed. Please try again later."
|
|
}
|
|
},
|
|
"VersionControlSettings": {
|
|
"loading": "Loading...",
|
|
"sectionTitle": "Version Control",
|
|
"sectionDescription": "Configure Git executable and manage GitHub accounts.",
|
|
"gitTitle": "Git Configuration",
|
|
"gitDescription": "Configure the Git executable used by the application.",
|
|
"gitDetected": "Git detected",
|
|
"gitNotFound": "Git not found on this system",
|
|
"gitVersion": "Version",
|
|
"gitPath": "Path",
|
|
"customGitPath": "Custom Git Path",
|
|
"customGitPathPlaceholder": "/usr/bin/git",
|
|
"customGitPathHint": "Leave empty to use the auto-detected path.",
|
|
"test": "Test",
|
|
"testing": "Testing...",
|
|
"testSuccess": "Git executable is valid.",
|
|
"testFailed": "Git test failed: {message}",
|
|
"save": "Save",
|
|
"saving": "Saving...",
|
|
"saveSuccess": "Git settings saved.",
|
|
"saveFailed": "Failed to save: {message}",
|
|
"githubTitle": "GitHub Accounts",
|
|
"githubDescription": "Manage GitHub accounts for authentication. Tokens are stored locally.",
|
|
"noAccounts": "No GitHub accounts configured.",
|
|
"addAccount": "Add Account",
|
|
"serverUrl": "Server URL",
|
|
"serverUrlPlaceholder": "https://github.com",
|
|
"token": "Personal Access Token",
|
|
"tokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"generateToken": "Generate token",
|
|
"tokenHint": "Generate a token at GitHub → Settings → Developer settings → Personal access tokens.",
|
|
"validateAndAdd": "Validate & Add",
|
|
"validating": "Validating...",
|
|
"addSuccess": "Account {username} added successfully.",
|
|
"addFailed": "Failed to add account: {message}",
|
|
"testConnection": "Test",
|
|
"connectionSuccess": "Connection successful.",
|
|
"connectionFailed": "Connection failed: {message}",
|
|
"setDefault": "Set Default",
|
|
"defaultLabel": "Default",
|
|
"defaultSet": "Default account updated.",
|
|
"removeAccount": "Remove",
|
|
"removeConfirmTitle": "Remove Account",
|
|
"removeConfirmMessage": "Are you sure you want to remove the account \"{username}\"?",
|
|
"removeConfirm": "Remove",
|
|
"removeCancel": "Cancel",
|
|
"removeSuccess": "Account removed.",
|
|
"scopes": "Scopes",
|
|
"loadFailed": "Failed to load settings: {message}",
|
|
"gitAccount": {
|
|
"sectionTitle": "Git Accounts",
|
|
"sectionDescription": "Manage credentials for non-GitHub Git servers (GitLab, Bitbucket, self-hosted, etc.).",
|
|
"noAccounts": "No Git server accounts configured.",
|
|
"addAccount": "Add Account",
|
|
"addTitle": "Add Git Account",
|
|
"addDescription": "Enter the server address, username, and password or access token.",
|
|
"serverUrl": "Server URL",
|
|
"serverUrlPlaceholder": "https://gitlab.example.com",
|
|
"username": "Username",
|
|
"usernamePlaceholder": "Username or email",
|
|
"password": "Password / Token",
|
|
"passwordPlaceholder": "Password or access token",
|
|
"passwordHint": "Enter your password or a personal access token for the server.",
|
|
"add": "Add",
|
|
"serverRequired": "Server URL is required.",
|
|
"usernameRequired": "Username is required.",
|
|
"passwordRequired": "Password is required."
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"send_message": {
|
|
"title": "Send Message",
|
|
"description": "Send the current message in the input box"
|
|
},
|
|
"newline_in_message": {
|
|
"title": "Newline in Message",
|
|
"description": "Insert a newline in the message input box"
|
|
}
|
|
}
|
|
},
|
|
"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.",
|
|
"noSelectionHint": "Select a skill on the left, or click \"New Skill\" to create one.",
|
|
"scope": {
|
|
"global": "Global",
|
|
"folder": "Folder",
|
|
"selectFolderPlaceholder": "Select a folder",
|
|
"noFolders": "No folders found",
|
|
"pickFolderHint": "Select a folder to view its skills."
|
|
},
|
|
"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",
|
|
"saveClineConfig": "Save Cline Config"
|
|
},
|
|
"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`.",
|
|
"authMode": "Auth Mode",
|
|
"chatgptSubscription": "Official Subscription",
|
|
"chatgptSubscriptionHint": "Log in with ChatGPT official subscription, no API Key required",
|
|
"apiKeyHint": "Connect using API Key to OpenAI or compatible API services",
|
|
"selectProvider": "Select Provider",
|
|
"modelName": "Model Name",
|
|
"selectReasoningEffort": "Select Reasoning Effort",
|
|
"enableWebsocket": "Enable WebSocket",
|
|
"enableWebsocketAria": "Enable WebSocket for Codex Provider",
|
|
"enableSkills": "Enable Skills",
|
|
"enableSkillsAria": "Enable Skills for Codex",
|
|
"enableFast": "Enable Fast",
|
|
"enableFastAria": "Enable Fast service tier for Codex",
|
|
"authJsonNative": "auth.json (native)",
|
|
"configTomlNative": "config.toml (native)",
|
|
"loginButton": "Log in with ChatGPT",
|
|
"loginRequesting": "Requesting login code...",
|
|
"loginStep1": "Open the following URL in your browser:",
|
|
"loginStep2": "Enter the code below:",
|
|
"loginPolling": "Waiting for authorization...",
|
|
"loginCancel": "Cancel",
|
|
"loginSuccess": "Logged in successfully, config saved!",
|
|
"loginFailed": "Login failed: {message}",
|
|
"loginRetry": "Retry",
|
|
"loginCodeCopied": "Code copied",
|
|
"loggedIn": "Account logged in",
|
|
"loginRelogin": "Re-login / Switch account",
|
|
"loginTimeout": "Login timed out, please try again",
|
|
"loginSaveFailed": "Login succeeded but failed to save config"
|
|
},
|
|
"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",
|
|
"mainModel": "Main Model",
|
|
"smallModel": "Small Model",
|
|
"noMatchingModels": "No matching models"
|
|
},
|
|
"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."
|
|
},
|
|
"authModeOfficialSubscription": "Official Subscription",
|
|
"authModeCustomEndpoint": "Custom Endpoint",
|
|
"authModeCustomEndpointHint": "Manually configure API URL and API Key for a custom endpoint.",
|
|
"authModeModelProvider": "Model Provider",
|
|
"modelProvider": "Model Provider",
|
|
"modelProviderHint": "Use API URL and API Key from a configured model provider.",
|
|
"selectModelProvider": "Select Model Provider",
|
|
"noModelProviderAvailable": "No model provider configured for this agent. Go to Model Provider Settings to add one.",
|
|
"claude": {
|
|
"authMode": "Auth Mode",
|
|
"officialSubscription": "Official Subscription",
|
|
"officialSubscriptionHint": "Use official Anthropic subscription, no API Key required.",
|
|
"mainModel": "Main Model",
|
|
"reasoningModel": "Reasoning Model (thinking)",
|
|
"haikuDefaultModel": "Default Haiku Model",
|
|
"sonnetDefaultModel": "Default Sonnet Model",
|
|
"opusDefaultModel": "Default Opus Model",
|
|
"effortLevel": "Reasoning Effort Level",
|
|
"effortLevelDefault": "Default Level",
|
|
"effortLevel_low": "Low",
|
|
"effortLevel_medium": "Medium",
|
|
"effortLevel_high": "High",
|
|
"effortLevel_xhigh": "Extra High"
|
|
},
|
|
"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",
|
|
"configSavedHint": "Existing sessions need to be reopened to take effect",
|
|
"saveConfigManagementFailed": "Failed to save config management",
|
|
"clineSaved": "Cline config saved",
|
|
"saveClineFailed": "Failed to save Cline config",
|
|
"modelProviderRequired": "Please select a model provider before saving."
|
|
},
|
|
"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."
|
|
},
|
|
"cline": {
|
|
"configDescription": "Configure Cline API provider and credentials. Settings are saved to ~/.cline/data/."
|
|
},
|
|
"opencodePlugins": {
|
|
"title": "OpenCode Plugins",
|
|
"declared": "Declared Plugins",
|
|
"noPlugins": "No plugins declared.",
|
|
"status": {
|
|
"installed": "Installed",
|
|
"missing": "Missing"
|
|
},
|
|
"installAll": "Install All Missing",
|
|
"pinVersions": "Pin @latest Versions",
|
|
"install": "Install",
|
|
"uninstall": "Uninstall",
|
|
"refresh": "Refresh",
|
|
"success": "All plugins installed successfully.",
|
|
"failed": "Installation failed"
|
|
}
|
|
},
|
|
"SettingsPages": {
|
|
"agentsLoading": "Loading agent settings..."
|
|
},
|
|
"CommitPage": {
|
|
"title": "Commit",
|
|
"invalidFolderId": "Invalid folder ID",
|
|
"loadingRepo": "Loading repository..."
|
|
},
|
|
"MergePage": {
|
|
"title": "Resolve Conflicts",
|
|
"invalidFolderId": "Invalid folder ID",
|
|
"loadingRepo": "Loading repository...",
|
|
"localVersion": "Local (Ours)",
|
|
"result": "Result",
|
|
"remoteVersion": "Remote (Theirs)",
|
|
"acceptLocal": "Accept Local",
|
|
"acceptRemote": "Accept Remote",
|
|
"markResolved": "Mark Resolved",
|
|
"abortMerge": "Abort",
|
|
"completeMerge": "Complete Merge",
|
|
"unresolvedConflicts": "There are still unresolved conflict markers in this file",
|
|
"fileResolved": "File resolved successfully",
|
|
"allResolved": "All conflicts resolved",
|
|
"conflictFiles": "Conflict Files",
|
|
"loadingFile": "Loading file...",
|
|
"preparingMerge": "Preparing merge...",
|
|
"selectFile": "Select a file to resolve",
|
|
"noConflicts": "No conflict files",
|
|
"skipFile": "Skip",
|
|
"abortSuccess": "Operation aborted",
|
|
"applyAllNonConflicting": "Apply All Non-Conflicting",
|
|
"applyLeftNonConflicting": "Apply Local",
|
|
"applyRightNonConflicting": "Apply Remote"
|
|
},
|
|
"Folder": {
|
|
"workspaceStatus": {
|
|
"degradedTitle": "Live updates unavailable",
|
|
"degradedHint": "Watcher failed to start (e.g. permission denied). Refresh manually to see changes.",
|
|
"retry": "Retry",
|
|
"retrying": "Retrying..."
|
|
},
|
|
"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",
|
|
"push": "Push..."
|
|
},
|
|
"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}",
|
|
"folderOpened": "Opened folder {name}",
|
|
"folderRemoved": "Removed folder {name}",
|
|
"openFolderFailed": "Failed to open folder",
|
|
"removeFolderFailed": "Failed to remove folder: {message}"
|
|
},
|
|
"statsLabel": "{folders} folders · {convos} conversations",
|
|
"openFolder": "Open Folder",
|
|
"searchPlaceholder": "Search conversations...",
|
|
"showCompleted": "Show completed conversations",
|
|
"moreOptions": "More options",
|
|
"statusRunningBadge": "Running",
|
|
"statusFailedBadge": "Failed",
|
|
"conversationCountUnit": "{count, plural, one {# conversation} other {# conversations}}",
|
|
"emptyFolderHint": "No conversations",
|
|
"noMatchingConversations": "No matching conversations",
|
|
"removeFolderConfirmTitle": "Remove folder from workspace?",
|
|
"removeFolderConfirmDescription": "Remove \"{name}\" from the workspace? Its tabs and terminals will close.",
|
|
"folderHeaderMenu": {
|
|
"focus": "Focus",
|
|
"closeFolderTabs": "Close all tabs of this folder",
|
|
"removeFromWorkspace": "Remove from workspace"
|
|
}
|
|
},
|
|
"conversation": {
|
|
"reloadFailed": "Failed to reload conversation: {message}",
|
|
"reloaded": "Conversation reloaded",
|
|
"reload": "Reload",
|
|
"newConversation": "New Conversation",
|
|
"closeConversation": "Close Conversation",
|
|
"copyText": "Copy Text",
|
|
"copyTextSuccess": "Copied",
|
|
"copyTextFailed": "Copy failed",
|
|
"forkSession": "Fork Session",
|
|
"forkSessionSuccess": "Session forked successfully",
|
|
"forkSessionFailed": "Failed to fork session: {error}",
|
|
"exportConversation": "Export Conversation",
|
|
"exportImage": "Image",
|
|
"exportMarkdown": "Markdown",
|
|
"exportHtml": "HTML",
|
|
"exportSuccess": "Conversation exported",
|
|
"exportFailed": "Export failed",
|
|
"exportImageTooLong": "Conversation is too long to export as image",
|
|
"exportLabels": {
|
|
"untitledConversation": "Untitled Conversation",
|
|
"agent": "Agent",
|
|
"model": "Model",
|
|
"status": "Status",
|
|
"started": "Started",
|
|
"updated": "Updated",
|
|
"tokens": "Token Stats",
|
|
"duration": "Duration",
|
|
"inputTokens": "Input",
|
|
"outputTokens": "Output",
|
|
"cacheRead": "Cache Read",
|
|
"cacheWrite": "Cache Write",
|
|
"user": "User",
|
|
"assistant": "Assistant",
|
|
"system": "System",
|
|
"toolResult": "Result",
|
|
"toolError": "Error"
|
|
}
|
|
},
|
|
"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",
|
|
"tabConversations": "Conversations",
|
|
"tabFiles": "Files",
|
|
"placeholder": "Search conversations...",
|
|
"filePlaceholder": "Search files or directories...",
|
|
"allAgents": "All",
|
|
"searching": "Searching...",
|
|
"typeToSearch": "Type to search conversations",
|
|
"typeToSearchFiles": "Type to search files or directories",
|
|
"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...",
|
|
"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",
|
|
"tileDisplay": "Tile Display",
|
|
"untileDisplay": "Exit Tile",
|
|
"closeFolderTabs": "Close all tabs of {folder}",
|
|
"revealInSidebar": "Reveal in sidebar"
|
|
},
|
|
"fileWorkspace": {
|
|
"files": "Files",
|
|
"closeFileTab": "Close file tab",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All",
|
|
"preview": "Preview",
|
|
"editSource": "Edit Source"
|
|
},
|
|
"terminal": {
|
|
"rename": "Rename",
|
|
"close": "Close",
|
|
"closeOthers": "Close Others",
|
|
"closeAll": "Close All",
|
|
"hideTerminal": "Hide Terminal ({shortcut})",
|
|
"openFolderFirst": "Open a folder first"
|
|
},
|
|
"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",
|
|
"projectBoot": "Project Boot",
|
|
"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...",
|
|
"imageZoomIn": "Zoom in",
|
|
"imageZoomOut": "Zoom out",
|
|
"imageZoomReset": "Reset zoom"
|
|
},
|
|
"branchDropdown": {
|
|
"toasts": {
|
|
"commitCodeCompleted": "Code commit completed",
|
|
"pushCodeCompleted": "Code push 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",
|
|
"openPushWindowFailed": "Failed to open push 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}",
|
|
"deleteRemoteBranch": "Delete remote 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.",
|
|
"forceDeleteTitle": "Force Delete Branch",
|
|
"forceDeleteDescription": "Branch {branchName} is not fully merged. Are you sure you want to force delete it? This action cannot be undone.",
|
|
"deleteRemoteTitle": "Delete Remote Branch",
|
|
"deleteRemoteDescription": "Delete remote branch {branchName}? This will remove it from the remote repository and 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": "Unstash...",
|
|
"manageRemotes": "Manage Remotes...",
|
|
"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",
|
|
"manageRemotesTitle": "Manage Remotes",
|
|
"manageRemotesEmpty": "No remotes configured",
|
|
"remoteNamePlaceholder": "Remote name",
|
|
"remoteUrlPlaceholder": "Remote URL",
|
|
"addRemote": "Add",
|
|
"savingRemotes": "Saving..."
|
|
},
|
|
"conflict": {
|
|
"title": "Merge Conflicts",
|
|
"description": "The following files have conflicts that need to be resolved:",
|
|
"abort": "Abort Merge",
|
|
"openMergeTool": "Open Merge Tool",
|
|
"completeMerge": "Complete Merge",
|
|
"abortSuccess": "Merge aborted successfully",
|
|
"completeSuccess": "Merge completed successfully"
|
|
},
|
|
"stashDialog": {
|
|
"title": "Stash Changes",
|
|
"description": "Save your current changes to a stash",
|
|
"messageLabel": "Message",
|
|
"messagePlaceholder": "Stash message (optional)",
|
|
"keepIndex": "Keep index (staged changes remain staged)",
|
|
"cancel": "Cancel",
|
|
"stash": "Stash",
|
|
"success": "Changes stashed successfully",
|
|
"error": "Failed to stash changes"
|
|
},
|
|
"unstashDialog": {
|
|
"title": "Unstash Changes",
|
|
"noStashes": "No stashes found",
|
|
"selectFile": "Select a file to view diff",
|
|
"viewDiff": "View Diff",
|
|
"original": "Original",
|
|
"modified": "Modified",
|
|
"apply": "Apply",
|
|
"drop": "Drop",
|
|
"applySuccess": "Stash applied successfully",
|
|
"dropSuccess": "Stash dropped",
|
|
"confirmApply": "Apply stash {ref} to working directory?",
|
|
"cancel": "Cancel"
|
|
}
|
|
},
|
|
"commitDialog": {
|
|
"toasts": {
|
|
"commitCompleted": "Code commit completed",
|
|
"pushFailed": "Push failed",
|
|
"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",
|
|
"dirRolledBack": "Directory rolled back",
|
|
"dirDeleted": "Directory deleted"
|
|
},
|
|
"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.",
|
|
"rollbackDirDescription": "Rollback directory \"{dir}\" to HEAD? Unsaved changes will be lost.",
|
|
"deleteDirDescription": "Delete directory \"{dir}\"? This action cannot be undone."
|
|
},
|
|
"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})",
|
|
"commitAndPushButton": "Commit and Push ({count})",
|
|
"head": "HEAD",
|
|
"workingTree": "Working Tree",
|
|
"clickFileToDiff": "Click a file name to view diff",
|
|
"loadingDiff": "Loading diff..."
|
|
},
|
|
"pushWindow": {
|
|
"title": "Push Code",
|
|
"noUnpushedCommits": "No unpushed commits",
|
|
"noRemoteConfigured": "No Git remote configured\nAdd a remote in Manage Remotes",
|
|
"newBranchNoPushedCommits": "New branch — push to create remote tracking branch",
|
|
"unpushed": "Unpushed",
|
|
"selectFileToViewDiff": "Select a file to view diff",
|
|
"before": "Before",
|
|
"after": "After",
|
|
"push": "Push",
|
|
"toasts": {
|
|
"pushSuccess": "Push successful",
|
|
"pushFailed": "Push failed",
|
|
"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}}"
|
|
}
|
|
},
|
|
"gitLogTab": {
|
|
"filesTitle": "Files",
|
|
"expandAllFiles": "Expand all files",
|
|
"collapseAllFiles": "Collapse all files",
|
|
"workspace": "workspace",
|
|
"retry": "Retry",
|
|
"noCommitsFound": "No commits found",
|
|
"notAGitRepoTitle": "Not a Git repository",
|
|
"notAGitRepoHint": "Initialize Git from the branch menu above, or open a folder that is already tracked.",
|
|
"hash": "Hash",
|
|
"copyHash": "Copy hash",
|
|
"copyMessage": "Copy message",
|
|
"author": "Author",
|
|
"noFileChangeDetails": "No file change details available.",
|
|
"branchesTitle": "Branches",
|
|
"loadingBranches": "Loading branches...",
|
|
"noContainingBranches": "No containing branches found.",
|
|
"newBranch": "New branch...",
|
|
"resetToHere": "Reset to Here",
|
|
"resetDisabledReasonNotCurrentBranchView": "Available only when viewing current 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",
|
|
"openPushWindowFailed": "Failed to open push window",
|
|
"resetSuccess": "Reset successful",
|
|
"resetSuccessDescription": "{branch} reset to {shortHash} with {mode}",
|
|
"resetFailed": "Reset failed"
|
|
},
|
|
"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",
|
|
"reset": {
|
|
"title": "Reset Current Branch to Here",
|
|
"branchLabel": "Branch",
|
|
"targetLabel": "Target",
|
|
"messageLabel": "Message",
|
|
"modeLabel": "Reset mode",
|
|
"confirmButton": "Reset",
|
|
"modes": {
|
|
"soft": {
|
|
"label": "--soft",
|
|
"description": "Move HEAD and the current branch pointer to the target commit.\nKeep Index and Working Tree unchanged.\nChanges from the removed commits stay staged."
|
|
},
|
|
"mixed": {
|
|
"label": "--mixed (default)",
|
|
"description": "Move HEAD to the target commit.\nReset Index to the target commit while keeping Working Tree changes.\nThose changes become unstaged."
|
|
},
|
|
"hard": {
|
|
"label": "--hard",
|
|
"description": "Move HEAD and reset both Index and Working Tree to the target commit.\nLocal tracked changes after the target commit are discarded.\nThis is a destructive operation."
|
|
},
|
|
"keep": {
|
|
"label": "--keep",
|
|
"description": "Move HEAD to the target commit and keep local changes when possible.\nOnly non-conflicting local changes are preserved.\nIf conflicts are detected, reset aborts to protect your work."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"gitChangesTab": {
|
|
"workspace": "workspace",
|
|
"noChanges": "No local changes",
|
|
"notAGitRepoTitle": "Not a Git repository",
|
|
"notAGitRepoHint": "Initialize Git from the branch menu above, or open a folder that is already tracked.",
|
|
"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": {
|
|
"commitCode": "Commit code",
|
|
"rollback": "Rollback",
|
|
"addToVcs": "Add to VCS",
|
|
"delete": "Delete"
|
|
},
|
|
"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",
|
|
"openCommitWindowFailed": "Failed to open commit window",
|
|
"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}}",
|
|
"deleted": "Deleted {name}",
|
|
"deleteFailed": "Delete failed",
|
|
"deletedFiles": "Deleted {count, plural, one {# file} other {# files}}",
|
|
"noDeletableFilesInDir": "No changed files in this directory can be deleted"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "Select files under directory {path} to add to VCS.",
|
|
"descriptionRollback": "Select files under directory {path} to roll back.",
|
|
"descriptionDelete": "Select files under directory {path} to delete. This action cannot be undone.",
|
|
"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"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "Confirm deletion",
|
|
"descriptionWithTarget": "Delete {kind} \"{name}\"? This action cannot be undone.",
|
|
"descriptionFallback": "This action cannot be undone.",
|
|
"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": "Add to session",
|
|
"compareWithBranch": "Compare with branch...",
|
|
"reloadFromDisk": "Reload from disk",
|
|
"new": "New",
|
|
"newFile": "File",
|
|
"newDirectory": "Directory",
|
|
"openIn": "Open in",
|
|
"openInTerminal": "Open in terminal",
|
|
"actions": {
|
|
"select": "Select",
|
|
"unselect": "Unselect",
|
|
"commitCode": "Commit code",
|
|
"rollback": "Rollback",
|
|
"addToVcs": "Add to VCS"
|
|
},
|
|
"aria": {
|
|
"selectPath": "{action} {path}"
|
|
},
|
|
"toasts": {
|
|
"openDirectoryFailed": "Failed to open directory",
|
|
"openBuiltinTerminalFailed": "Unable to open built-in terminal",
|
|
"openCommitWindowFailed": "Failed to open commit window",
|
|
"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",
|
|
"createFailed": "Failed to create"
|
|
},
|
|
"createDialog": {
|
|
"newFile": "New file",
|
|
"newDirectory": "New directory",
|
|
"description": "Enter a name for the new {kind}.",
|
|
"placeholderFile": "file-name.ext",
|
|
"placeholderDirectory": "folder-name"
|
|
},
|
|
"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"
|
|
},
|
|
"backendErrors": {
|
|
"initializeTimeout": "{agent} connection handshake timed out after 60 seconds. Please open Settings to check Agent configuration and network settings.",
|
|
"processExited": "{agent} process exited unexpectedly.",
|
|
"spawnFailed": "Failed to start {agent}: {message}",
|
|
"downloadFailed": "{agent} download failed: {message}"
|
|
},
|
|
"unableReadAgentConfig": "Unable to read Agent config: {message}",
|
|
"connectFailedTitle": "{agent} connection failed",
|
|
"toolFallbackTitle": "Tool",
|
|
"eventErrorTitle": "Agent Error",
|
|
"notificationTurnComplete": "{agent} has finished responding",
|
|
"notificationError": "{agent} error: {message}",
|
|
"claudeApiRetry": {
|
|
"fallbackError": "authentication_failed",
|
|
"retryingWithMax": "retrying {attempt}/{max}",
|
|
"retryingAttempt": "retrying attempt {attempt}",
|
|
"retrying": "retrying",
|
|
"nextRetryIn": "next in {seconds}s",
|
|
"line": "{error}{status} · {retry}",
|
|
"lineWithDelay": "{error}{status} · {retry}, {delay}",
|
|
"httpStatus": " (HTTP {status})"
|
|
}
|
|
},
|
|
"connectionLifecycle": {
|
|
"tasks": {
|
|
"connectingTitle": "Connecting to {agent}",
|
|
"connectingDescription": "Establishing connection",
|
|
"loadingSelectorsTitle": "Loading {agent} selectors",
|
|
"loadingSelectorsDescription": "Fetching mode and session config options",
|
|
"initSessionTitle": "Initializing {agent} session",
|
|
"initSessionDescription": "Creating session and loading configuration"
|
|
},
|
|
"errors": {
|
|
"connectionFailed": "Connection failed"
|
|
}
|
|
},
|
|
"shared": {
|
|
"attachedResources": "Attached resources",
|
|
"toolCallFailed": "Tool call 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",
|
|
"dropFilesToAttach": "Drop files to attach",
|
|
"loadingSettings": "Loading settings...",
|
|
"loadingMode": "Loading mode...",
|
|
"cancel": "Cancel",
|
|
"send": "Send",
|
|
"forkAndSend": "Fork & Send",
|
|
"slashCommands": "Slash commands",
|
|
"expertSkills": "Expert skills",
|
|
"expertsEmptyForAgent": "This agent has no enabled experts. Enable them in Settings > Experts.",
|
|
"slashSearchPlaceholder": "Search commands...",
|
|
"slashSearchEmpty": "No matching commands"
|
|
},
|
|
"messageQueue": {
|
|
"addToQueue": "Queue message",
|
|
"saveEdit": "Save",
|
|
"cancelEdit": "Cancel edit",
|
|
"editItem": "Edit",
|
|
"deleteItem": "Remove"
|
|
},
|
|
"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"
|
|
},
|
|
"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",
|
|
"allowedActions": "Allowed actions",
|
|
"targetMode": "Target mode: {mode}"
|
|
},
|
|
"questionDialog": {
|
|
"title": "Agent is asking a question",
|
|
"placeholder": "Type your answer...",
|
|
"send": "Send"
|
|
},
|
|
"messageBranch": {
|
|
"previousBranchAria": "Previous branch",
|
|
"nextBranchAria": "Next branch",
|
|
"pageOf": "{current} of {total}"
|
|
},
|
|
"terminal": {
|
|
"title": "Terminal",
|
|
"running": "Running"
|
|
},
|
|
"reasoning": {
|
|
"thinking": "Thinking…",
|
|
"thoughtForFewSeconds": "Thought",
|
|
"thoughtForSeconds": "Thought"
|
|
},
|
|
"linkSafety": {
|
|
"localFileTitle": "Open local file?",
|
|
"externalLinkTitle": "Open external link?",
|
|
"localFileDescription": "You're about to open a local file in the Files panel.",
|
|
"externalLinkDescription": "You're about to visit an external website.",
|
|
"cancel": "Cancel",
|
|
"opening": "Opening...",
|
|
"openFile": "Open file",
|
|
"openLink": "Open link",
|
|
"errorCannotOpen": "Cannot open local file",
|
|
"errorNoWorkspace": "No workspace folder is currently active.",
|
|
"errorOutsideWorkspace": "The file is outside the current workspace folder.",
|
|
"errorFailedOpen": "Failed to open local file",
|
|
"errorFailedLink": "Failed to open link"
|
|
},
|
|
"messageList": {
|
|
"attachedResources": "Attached resources",
|
|
"loading": "Loading...",
|
|
"error": "Error: {message}",
|
|
"emptyConversation": "No messages in this conversation.",
|
|
"systemMessage": "System message",
|
|
"copyMessage": "Copy",
|
|
"copied": "Copied"
|
|
},
|
|
"liveTurnStats": {
|
|
"thinking": "Thinking...",
|
|
"streaming": "Streaming",
|
|
"elapsedHours": "{value}h",
|
|
"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",
|
|
"inputTruncated": "Input was truncated — diff may be incomplete.",
|
|
"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:",
|
|
"agentPromptLabel": "Prompt",
|
|
"agentModelLabel": "Model",
|
|
"agentRunning": "Running...",
|
|
"agentStatsBash": "Commands",
|
|
"agentStatsRead": "Files read",
|
|
"agentStatsSearch": "Searches",
|
|
"agentStatsEdit": "Edits",
|
|
"agentStatsOther": "Other",
|
|
"field": {
|
|
"file": "File",
|
|
"notebook": "Notebook",
|
|
"command": "Command",
|
|
"old": "Old",
|
|
"new": "New",
|
|
"pattern": "Pattern",
|
|
"path": "Path",
|
|
"query": "Query",
|
|
"url": "URL",
|
|
"description": "Description",
|
|
"content": "Content",
|
|
"source": "Source",
|
|
"prompt": "Prompt",
|
|
"subject": "Subject",
|
|
"taskId": "Task ID",
|
|
"status": "Status",
|
|
"skill": "Skill",
|
|
"args": "Args",
|
|
"offset": "Offset",
|
|
"limit": "Limit",
|
|
"glob": "Glob",
|
|
"type": "Type",
|
|
"output": "Output",
|
|
"replaceAll": "Replace All",
|
|
"language": "Language",
|
|
"timeout": "Timeout",
|
|
"background": "Background",
|
|
"agentType": "Agent Type",
|
|
"library": "Library",
|
|
"libraryId": "Library ID"
|
|
},
|
|
"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"
|
|
},
|
|
"conversationContextBar": {
|
|
"searchFolder": "Search folder...",
|
|
"searchBranch": "Search branch...",
|
|
"noFolders": "No folders",
|
|
"noBranches": "No branches",
|
|
"noBranch": "(no branch)",
|
|
"openNewFolder": "Open folder from disk...",
|
|
"cancel": "Cancel",
|
|
"create": "Create",
|
|
"commit": "Commit",
|
|
"push": "Push",
|
|
"merge": "Merge",
|
|
"toasts": {
|
|
"folderChanged": "Switched to {name}",
|
|
"openFolderFailed": "Failed to open folder",
|
|
"openStashFailed": "Failed to open stash window",
|
|
"openMergeFailed": "Failed to open merge window"
|
|
}
|
|
}
|
|
},
|
|
"ProjectBoot": {
|
|
"title": "Project Boot",
|
|
"tabs": {
|
|
"shadcn": "shadcn"
|
|
},
|
|
"config": {
|
|
"base": "Base",
|
|
"style": "Style",
|
|
"baseColor": "Base Color",
|
|
"theme": "Theme",
|
|
"chartColor": "Chart Color",
|
|
"iconLibrary": "Icon Library",
|
|
"font": "Font",
|
|
"fontHeading": "Heading Font",
|
|
"menuAccent": "Menu Accent",
|
|
"menuColor": "Menu Color",
|
|
"radius": "Radius",
|
|
"template": "Template",
|
|
"createProject": "Create Project",
|
|
"sectionStyle": "Style",
|
|
"sectionColors": "Colors",
|
|
"sectionTypography": "Typography",
|
|
"sectionInterface": "Interface"
|
|
},
|
|
"preview": {
|
|
"loading": "Loading preview..."
|
|
},
|
|
"createDialog": {
|
|
"title": "Create Project",
|
|
"projectName": "Project Name",
|
|
"projectNamePlaceholder": "my-app",
|
|
"frameworkTemplate": "Framework Template",
|
|
"packageManager": "Package Manager",
|
|
"saveDirectory": "Save Directory",
|
|
"saveDirectoryPlaceholder": "Select directory...",
|
|
"browseDirectory": "Browse",
|
|
"projectPath": "Project will be created at: {path}",
|
|
"advancedOptions": "Advanced Options",
|
|
"base": "Base Library",
|
|
"enableRtl": "Enable RTL Support",
|
|
"enableRtlDescription": "Enable layout support for right-to-left languages (e.g. Arabic, Hebrew)",
|
|
"pmChecking": "Checking...",
|
|
"pmNotInstalled": "Not installed",
|
|
"cancel": "Cancel",
|
|
"create": "Create",
|
|
"creating": "Creating project..."
|
|
},
|
|
"toasts": {
|
|
"createFailed": "Failed to create project",
|
|
"createSuccess": "Project created successfully"
|
|
},
|
|
"errors": {
|
|
"directoryExists": "Target directory already exists",
|
|
"commandFailed": "Project creation command failed."
|
|
}
|
|
},
|
|
"WebServiceSettings": {
|
|
"sectionTitle": "Web Service",
|
|
"sectionDescription": "Enable to access Codeg remotely via browser",
|
|
"port": "Port",
|
|
"status": "Status",
|
|
"running": "Running",
|
|
"stopped": "Stopped",
|
|
"processing": "Processing...",
|
|
"start": "Start",
|
|
"stop": "Stop",
|
|
"startFailed": "Failed to start",
|
|
"stopFailed": "Failed to stop",
|
|
"open": "Open",
|
|
"hide": "Hide",
|
|
"show": "Show",
|
|
"copy": "Copy",
|
|
"addressLabel": "Access Address",
|
|
"tokenLabel": "Access Token",
|
|
"tokenHint": "Enter this token when accessing the Web client for the first time",
|
|
"tokenPlaceholder": "Leave empty to auto-generate",
|
|
"regenerate": "Regenerate",
|
|
"errors": {
|
|
"alreadyRunning": "Web service is already running",
|
|
"invalidAddress": "Invalid host or port format",
|
|
"portInUse": "Port {port} is already in use. Close the process using it or choose another port.",
|
|
"permissionDenied": "Permission denied. Try a port above 1024 or run with higher privileges.",
|
|
"addressUnavailable": "The address is not available on this machine",
|
|
"bindFailed": "Failed to bind address"
|
|
}
|
|
},
|
|
"DirectoryBrowser": {
|
|
"title": "Browse Directory",
|
|
"pathPlaceholder": "Enter directory path...",
|
|
"goHome": "Go to home directory",
|
|
"navigateUp": "Go to parent directory",
|
|
"select": "Select",
|
|
"cancel": "Cancel",
|
|
"loading": "Loading...",
|
|
"emptyDirectory": "This directory is empty",
|
|
"errorLoadingDir": "Failed to load directory",
|
|
"permissionDenied": "Permission denied"
|
|
},
|
|
"ChatChannelSettings": {
|
|
"loading": "Loading...",
|
|
"sectionTitle": "Chat Channels",
|
|
"sectionDescription": "Configure IM bots to receive event notifications and query coding activity.",
|
|
"addChannel": "Add Channel",
|
|
"noChannels": "No chat channels configured yet.",
|
|
"channelName": "Name",
|
|
"channelNamePlaceholder": "My Telegram Bot",
|
|
"channelType": "Channel Type",
|
|
"lark": "Lark (Feishu)",
|
|
"weixin": "WeChat",
|
|
"dailyReport": "Daily Report",
|
|
"dailyReportTime": "Report Time",
|
|
"nameRequired": "Channel name is required.",
|
|
"tokenRequired": "Token is required.",
|
|
"chatIdRequired": "Chat ID is required.",
|
|
"loadFailed": "Failed to load channels.",
|
|
"saveFailed": "Failed to save changes.",
|
|
"connectSuccess": "Channel connected.",
|
|
"connectFailed": "Failed to connect",
|
|
"disconnectSuccess": "Channel disconnected.",
|
|
"disconnectFailed": "Failed to disconnect.",
|
|
"testSuccess": "Connection test passed.",
|
|
"testFailed": "Connection test failed",
|
|
"deleteSuccess": "Channel deleted.",
|
|
"deleteFailed": "Failed to delete channel.",
|
|
"deleteConfirmTitle": "Delete Channel",
|
|
"deleteConfirmMessage": "This will permanently delete the channel and its message logs. Are you sure?",
|
|
"cancel": "Cancel",
|
|
"delete": "Delete",
|
|
"create": "Create",
|
|
"save": "Save",
|
|
"channelListTitle": "Configured Channels",
|
|
"channelListDescription": "Enabled channels will auto-connect when the service starts.",
|
|
"editChannel": "Edit Channel",
|
|
"editSuccess": "Channel updated.",
|
|
"tokenPlaceholderKeep": "Leave blank to keep current",
|
|
"weixinScanTitle": "Scan QR Code",
|
|
"weixinScanDescription": "Open WeChat and scan the QR code to connect.",
|
|
"weixinQrcodeExpired": "QR code expired.",
|
|
"weixinRefreshQrcode": "Refresh",
|
|
"weixinWaitingScan": "Waiting for scan...",
|
|
"weixinPollError": "Connection unstable, retrying...",
|
|
"weixinReconnectNotice": "Due to iLink protocol limitations, after each reconnection you must send a message to the bot before event triggers take effect.",
|
|
"connect": "Connect",
|
|
"disconnect": "Disconnect",
|
|
"test": "Test Connection",
|
|
"tabs": {
|
|
"channels": "Channels",
|
|
"commands": "Commands",
|
|
"events": "Events",
|
|
"other": "Other"
|
|
},
|
|
"commands": {
|
|
"title": "Built-in Commands",
|
|
"description": "Bot commands available in chat channels. In group chats, @Bot is required to process messages.",
|
|
"prefixLabel": "Command Prefix",
|
|
"prefixDescription": "1-3 non-alphanumeric characters used to trigger bot commands (default /).",
|
|
"prefixSaved": "Command prefix saved.",
|
|
"prefixSaveFailed": "Failed to save command prefix.",
|
|
"prefixInvalid": "Prefix must be 1-3 non-alphanumeric characters.",
|
|
"save": "Save",
|
|
"folderDesc": "Select working folder",
|
|
"agentDesc": "Select AI agent",
|
|
"taskDesc": "Create session and run task",
|
|
"sessionsDesc": "List active sessions in folder",
|
|
"resumeDesc": "Recent conversations / resume a session",
|
|
"cancelDesc": "Cancel current task",
|
|
"approveDesc": "Approve agent permission request",
|
|
"denyDesc": "Deny agent permission request",
|
|
"searchDesc": "Search conversations by keyword",
|
|
"todayDesc": "Today's activity summary",
|
|
"statusDesc": "Channel connection status",
|
|
"helpDesc": "Show help message"
|
|
},
|
|
"events": {
|
|
"title": "Event Notifications",
|
|
"description": "When enabled, triggered events will be pushed to the channel.",
|
|
"turnComplete": "Turn Complete",
|
|
"turnCompleteDesc": "When an agent turn ends",
|
|
"error": "Agent Error",
|
|
"errorDesc": "When an agent encounters an error",
|
|
"saved": "Event filter updated.",
|
|
"saveFailed": "Failed to save event filter."
|
|
},
|
|
"language": {
|
|
"title": "Message Language",
|
|
"description": "Language used for event notifications, command responses, and daily reports sent to chat channels.",
|
|
"saved": "Message language saved.",
|
|
"saveFailed": "Failed to save message language.",
|
|
"en": "English",
|
|
"zh-cn": "Simplified Chinese",
|
|
"zh-tw": "Traditional Chinese",
|
|
"ja": "Japanese",
|
|
"ko": "Korean",
|
|
"es": "Spanish",
|
|
"de": "German",
|
|
"fr": "French",
|
|
"pt": "Portuguese",
|
|
"ar": "Arabic"
|
|
}
|
|
},
|
|
"ModelProviderSettings": {
|
|
"sectionTitle": "Model Providers",
|
|
"sectionDescription": "Manage API provider credentials for agents.",
|
|
"filterAll": "All",
|
|
"providerListTitle": "Configured Providers",
|
|
"addProvider": "Add Provider",
|
|
"editProvider": "Edit Provider",
|
|
"noProviders": "No model providers configured yet.",
|
|
"providerName": "Name",
|
|
"providerNamePlaceholder": "e.g. OpenAI, Anthropic",
|
|
"apiUrl": "API URL",
|
|
"apiUrlPlaceholder": "https://api.openai.com/v1",
|
|
"apiKey": "API Key",
|
|
"apiKeyPlaceholder": "sk-...",
|
|
"apiKeyKeepCurrent": "Leave blank to keep current",
|
|
"agentTypes": "Agent Types",
|
|
"agentTypesRequired": "At least one agent type is required.",
|
|
"nameRequired": "Provider name is required.",
|
|
"apiUrlRequired": "API URL is required.",
|
|
"apiKeyRequired": "API Key is required.",
|
|
"loadFailed": "Failed to load providers.",
|
|
"saveFailed": "Failed to save changes.",
|
|
"createSuccess": "Provider created.",
|
|
"editSuccess": "Provider updated.",
|
|
"deleteSuccess": "Provider deleted.",
|
|
"deleteConfirmTitle": "Delete Provider",
|
|
"deleteConfirmMessage": "This will permanently delete the provider \"{name}\". Are you sure?",
|
|
"deleteBlockedByAgent": "{agents} is currently using this provider. Please unlink before deleting.",
|
|
"cancel": "Cancel",
|
|
"delete": "Delete",
|
|
"create": "Create",
|
|
"save": "Save"
|
|
},
|
|
"ExpertsSettings": {
|
|
"title": "Expert Skills",
|
|
"description": "Enable curated, battle-tested skill workflows for your AI coding agents. Each expert is a standalone skill from the superpowers project — codeg manages the central copy and links it into the agents you choose.",
|
|
"loading": "Loading experts…",
|
|
"loadingContent": "Loading content…",
|
|
"emptyExperts": "No experts available. Check the application logs.",
|
|
"emptySelection": "Select an expert to see its content and manage activation.",
|
|
"emptySearch": "No experts match the current search.",
|
|
"searchPlaceholder": "Search experts by name, id, or description",
|
|
"enableForAgents": "Enable for agents",
|
|
"noAgents": "No ACP agents detected.",
|
|
"copyModeWarning": "Copied (not linked). Re-enable after codeg updates to get the latest version.",
|
|
"previewTitle": "SKILL.md preview",
|
|
"categories": {
|
|
"discovery": "Discovery & Design",
|
|
"planning": "Planning",
|
|
"execution": "Execution",
|
|
"quality": "Quality & Testing",
|
|
"debugging": "Debugging",
|
|
"review": "Review & Integration",
|
|
"meta": "Meta"
|
|
},
|
|
"states": {
|
|
"not_linked": "Not enabled",
|
|
"linked_to_codeg": "Enabled",
|
|
"linked_elsewhere": "Blocked — another link exists",
|
|
"blocked_by_real_directory": "Blocked — a custom skill occupies this name",
|
|
"broken": "Broken link"
|
|
},
|
|
"badges": {
|
|
"userModified": "User modified"
|
|
},
|
|
"actions": {
|
|
"openCentralDir": "Open central folder",
|
|
"refresh": "Refresh"
|
|
},
|
|
"toasts": {
|
|
"loadFailed": "Failed to load expert details",
|
|
"enabled": "Expert enabled for this agent",
|
|
"disabled": "Expert disabled for this agent",
|
|
"enableFailed": "Failed to enable expert",
|
|
"disableFailed": "Failed to disable expert",
|
|
"openFolderFailed": "Failed to open folder"
|
|
}
|
|
}
|
|
}
|