mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-03-05 14:07:40 +00:00
feat: complete internationalization (i18n) for components
Implemented comprehensive i18n translation support for the following components: 1. GitSettings.jsx - Git configuration interface 2. ApiKeysSettings.jsx - API keys settings 3. CredentialsSettings.jsx - Credentials settings (GitHub tokens) 4. TasksSettings.jsx - TaskMaster task management settings 5. ChatInterface.jsx - Chat interface (major translation work) New translation files: - src/i18n/locales/en/chat.json - English chat interface translations - src/i18n/locales/zh-CN/chat.json - Chinese chat interface translations ChatInterface.jsx translations: - Code block copy buttons (Copy, Copied, Copy code) - Message type labels (User, Error, Tool, Claude, Cursor, Codex) - Tool settings tooltip - Search result display (pattern, in, results) - Codex permission modes (Default, Accept Edits, Bypass Permissions, Plan) - Input placeholder and hint text - Keyboard shortcut hints (Ctrl+Enter/Enter modes) - Command menu button i18n configuration updates: - Registered chat namespace in config.js - Extended settings.json translations (git, apiKeys, tasks, agents, mcpServers sections) 完成以下组件的 i18n 翻译工作: 1. GitSettings.jsx - Git 配置界面 2. ApiKeysSettings.jsx - API 密钥设置 3. CredentialsSettings.jsx - 凭据设置(GitHub Token) 4. TasksSettings.jsx - TaskMaster 任务管理设置 5. ChatInterface.jsx - 聊天界面(主要翻译工作) 新增翻译文件: - src/i18n/locales/en/chat.json - 英文聊天界面翻译 - src/i18n/locales/zh-CN/chat.json - 中文聊天界面翻译 ChatInterface.jsx 翻译内容: - 代码块复制按钮 - 消息类型标签 - 工具设置提示 - 搜索结果显示 - Codex 权限模式(默认、编辑、无限制、计划模式) - 输入框占位符和提示文本 - 键盘快捷键提示 - 命令菜单按钮 更新 i18n 配置: - 在 config.js 中注册 chat 命名空间 - 扩展 settings.json 翻译(git、apiKeys、tasks、agents、mcpServers 等部分)
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
"appearance": "Appearance"
|
||||
},
|
||||
"account": {
|
||||
"title": "Account",
|
||||
"language": "Language",
|
||||
"languageLabel": "Display Language",
|
||||
"languageDescription": "Choose your preferred language for the interface",
|
||||
@@ -15,13 +16,6 @@
|
||||
"profile": "Profile",
|
||||
"changePassword": "Change Password"
|
||||
},
|
||||
"permissions": {
|
||||
"allowedTools": "Allowed Tools",
|
||||
"disallowedTools": "Disallowed Tools",
|
||||
"addTool": "Add Tool",
|
||||
"removeTool": "Remove Tool",
|
||||
"description": "Configure which tools Claude can use. Tools must be enabled here before Claude can access them."
|
||||
},
|
||||
"mcp": {
|
||||
"title": "MCP Servers",
|
||||
"addServer": "Add Server",
|
||||
@@ -71,5 +65,337 @@
|
||||
"autoScrollToBottom": "Auto-scroll to bottom",
|
||||
"sendByCtrlEnter": "Send by Ctrl+Enter",
|
||||
"sendByCtrlEnterDescription": "When enabled, pressing Ctrl+Enter will send the message instead of just Enter. This is useful for IME users to avoid accidental sends."
|
||||
},
|
||||
"mainTabs": {
|
||||
"agents": "Agents",
|
||||
"appearance": "Appearance",
|
||||
"git": "Git",
|
||||
"apiTokens": "API & Tokens",
|
||||
"tasks": "Tasks"
|
||||
},
|
||||
"appearanceSettings": {
|
||||
"darkMode": {
|
||||
"label": "Dark Mode",
|
||||
"description": "Toggle between light and dark themes"
|
||||
},
|
||||
"projectSorting": {
|
||||
"label": "Project Sorting",
|
||||
"description": "How projects are ordered in the sidebar",
|
||||
"alphabetical": "Alphabetical",
|
||||
"recentActivity": "Recent Activity"
|
||||
},
|
||||
"codeEditor": {
|
||||
"title": "Code Editor",
|
||||
"theme": {
|
||||
"label": "Editor Theme",
|
||||
"description": "Default theme for the code editor"
|
||||
},
|
||||
"wordWrap": {
|
||||
"label": "Word Wrap",
|
||||
"description": "Enable word wrapping by default in the editor"
|
||||
},
|
||||
"showMinimap": {
|
||||
"label": "Show Minimap",
|
||||
"description": "Display a minimap for easier navigation in diff view"
|
||||
},
|
||||
"lineNumbers": {
|
||||
"label": "Show Line Numbers",
|
||||
"description": "Display line numbers in the editor"
|
||||
},
|
||||
"fontSize": {
|
||||
"label": "Font Size",
|
||||
"description": "Editor font size in pixels"
|
||||
}
|
||||
}
|
||||
},
|
||||
"mcpForm": {
|
||||
"title": {
|
||||
"add": "Add MCP Server",
|
||||
"edit": "Edit MCP Server"
|
||||
},
|
||||
"importMode": {
|
||||
"form": "Form Input",
|
||||
"json": "JSON Import"
|
||||
},
|
||||
"scope": {
|
||||
"label": "Scope",
|
||||
"userGlobal": "User (Global)",
|
||||
"projectLocal": "Project (Local)",
|
||||
"userDescription": "User scope: Available across all projects on your machine",
|
||||
"projectDescription": "Local scope: Only available in the selected project",
|
||||
"cannotChange": "Scope cannot be changed when editing an existing server"
|
||||
},
|
||||
"fields": {
|
||||
"serverName": "Server Name",
|
||||
"transportType": "Transport Type",
|
||||
"command": "Command",
|
||||
"arguments": "Arguments (one per line)",
|
||||
"jsonConfig": "JSON Configuration",
|
||||
"url": "URL",
|
||||
"envVars": "Environment Variables (KEY=value, one per line)",
|
||||
"headers": "Headers (KEY=value, one per line)",
|
||||
"selectProject": "Select a project..."
|
||||
},
|
||||
"placeholders": {
|
||||
"serverName": "my-server"
|
||||
},
|
||||
"validation": {
|
||||
"missingType": "Missing required field: type",
|
||||
"stdioRequiresCommand": "stdio type requires a command field",
|
||||
"httpRequiresUrl": "{{type}} type requires a url field",
|
||||
"invalidJson": "Invalid JSON format",
|
||||
"jsonHelp": "Paste your MCP server configuration in JSON format. Example formats:",
|
||||
"jsonExampleStdio": "• stdio: {\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"@upstash/context7-mcp\"]}",
|
||||
"jsonExampleHttp": "• http/sse: {\"type\":\"http\",\"url\":\"https://api.example.com/mcp\"}"
|
||||
},
|
||||
"configDetails": "Configuration Details (from {{configFile}})",
|
||||
"projectPath": "Path: {{path}}",
|
||||
"actions": {
|
||||
"cancel": "Cancel",
|
||||
"saving": "Saving...",
|
||||
"addServer": "Add Server",
|
||||
"updateServer": "Update Server"
|
||||
}
|
||||
},
|
||||
"saveStatus": {
|
||||
"success": "Settings saved successfully!",
|
||||
"error": "Failed to save settings",
|
||||
"saving": "Saving..."
|
||||
},
|
||||
"footerActions": {
|
||||
"save": "Save Settings",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"git": {
|
||||
"title": "Git Configuration",
|
||||
"description": "Configure your git identity for commits. These settings will be applied globally via <code />git config --global<code />",
|
||||
"name": {
|
||||
"label": "Git Name",
|
||||
"help": "Your name for git commits"
|
||||
},
|
||||
"email": {
|
||||
"label": "Git Email",
|
||||
"help": "Your email for git commits"
|
||||
},
|
||||
"actions": {
|
||||
"save": "Save Configuration",
|
||||
"saving": "Saving..."
|
||||
},
|
||||
"status": {
|
||||
"success": "Saved successfully"
|
||||
}
|
||||
},
|
||||
"apiKeys": {
|
||||
"title": "API Keys",
|
||||
"description": "Generate API keys to access the external API from other applications.",
|
||||
"newKey": {
|
||||
"alertTitle": "⚠️ Save Your API Key",
|
||||
"alertMessage": "This is the only time you'll see this key. Store it securely.",
|
||||
"iveSavedIt": "I've saved it"
|
||||
},
|
||||
"form": {
|
||||
"placeholder": "API Key Name (e.g., Production Server)",
|
||||
"createButton": "Create",
|
||||
"cancelButton": "Cancel"
|
||||
},
|
||||
"newButton": "New API Key",
|
||||
"empty": "No API keys created yet.",
|
||||
"list": {
|
||||
"created": "Created:",
|
||||
"lastUsed": "Last used:"
|
||||
},
|
||||
"confirmDelete": "Are you sure you want to delete this API key?",
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"inactive": "Inactive"
|
||||
},
|
||||
"github": {
|
||||
"title": "GitHub Tokens",
|
||||
"description": "Add GitHub Personal Access Tokens to clone private repositories via the external API.",
|
||||
"descriptionAlt": "Add GitHub Personal Access Tokens to clone private repositories. You can also pass tokens directly in API requests without storing them.",
|
||||
"addButton": "Add Token",
|
||||
"form": {
|
||||
"namePlaceholder": "Token Name (e.g., Personal Repos)",
|
||||
"tokenPlaceholder": "GitHub Personal Access Token (ghp_...)",
|
||||
"descriptionPlaceholder": "Description (optional)",
|
||||
"addButton": "Add Token",
|
||||
"cancelButton": "Cancel",
|
||||
"howToCreate": "How to create a GitHub Personal Access Token →"
|
||||
},
|
||||
"empty": "No GitHub tokens added yet.",
|
||||
"added": "Added:",
|
||||
"confirmDelete": "Are you sure you want to delete this GitHub token?"
|
||||
},
|
||||
"apiDocsLink": "API Documentation",
|
||||
"documentation": {
|
||||
"title": "External API Documentation",
|
||||
"description": "Learn how to use the external API to trigger Claude/Cursor sessions from your applications.",
|
||||
"viewLink": "View API Documentation →"
|
||||
},
|
||||
"loading": "Loading...",
|
||||
"version": {
|
||||
"updateAvailable": "Update available: v{{version}}"
|
||||
}
|
||||
},
|
||||
"tasks": {
|
||||
"checking": "Checking TaskMaster installation...",
|
||||
"notInstalled": {
|
||||
"title": "TaskMaster AI CLI Not Installed",
|
||||
"description": "TaskMaster CLI is required to use task management features. Install it to get started:",
|
||||
"installCommand": "npm install -g task-master-ai",
|
||||
"viewOnGitHub": "View on GitHub",
|
||||
"afterInstallation": "After installation:",
|
||||
"steps": {
|
||||
"restart": "Restart this application",
|
||||
"autoAvailable": "TaskMaster features will automatically become available",
|
||||
"initCommand": "Use task-master init in your project directory"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"enableLabel": "Enable TaskMaster Integration",
|
||||
"enableDescription": "Show TaskMaster tasks, banners, and sidebar indicators across the interface"
|
||||
}
|
||||
},
|
||||
"agents": {
|
||||
"authStatus": {
|
||||
"checking": "Checking...",
|
||||
"connected": "Connected",
|
||||
"notConnected": "Not connected",
|
||||
"disconnected": "Disconnected",
|
||||
"checkingAuth": "Checking authentication status...",
|
||||
"loggedInAs": "Logged in as {{email}}",
|
||||
"authenticatedUser": "authenticated user"
|
||||
},
|
||||
"account": {
|
||||
"claude": {
|
||||
"description": "Anthropic Claude AI assistant"
|
||||
},
|
||||
"cursor": {
|
||||
"description": "Cursor AI-powered code editor"
|
||||
},
|
||||
"codex": {
|
||||
"description": "OpenAI Codex AI assistant"
|
||||
}
|
||||
},
|
||||
"connectionStatus": "Connection Status",
|
||||
"login": {
|
||||
"title": "Login",
|
||||
"reAuthenticate": "Re-authenticate",
|
||||
"description": "Sign in to your {{agent}} account to enable AI features",
|
||||
"reAuthDescription": "Sign in with a different account or refresh credentials",
|
||||
"button": "Login",
|
||||
"reLoginButton": "Re-login"
|
||||
},
|
||||
"error": "Error: {{error}}"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Permission Settings",
|
||||
"skipPermissions": {
|
||||
"label": "Skip permission prompts (use with caution)",
|
||||
"claudeDescription": "Equivalent to --dangerously-skip-permissions flag",
|
||||
"cursorDescription": "Equivalent to -f flag in Cursor CLI"
|
||||
},
|
||||
"allowedTools": {
|
||||
"title": "Allowed Tools",
|
||||
"description": "Tools that are automatically allowed without prompting for permission",
|
||||
"placeholder": "e.g., \"Bash(git log:*)\" or \"Write\"",
|
||||
"quickAdd": "Quick add common tools:",
|
||||
"empty": "No allowed tools configured"
|
||||
},
|
||||
"blockedTools": {
|
||||
"title": "Blocked Tools",
|
||||
"description": "Tools that are automatically blocked without prompting for permission",
|
||||
"placeholder": "e.g., \"Bash(rm:*)\"",
|
||||
"empty": "No blocked tools configured"
|
||||
},
|
||||
"allowedCommands": {
|
||||
"title": "Allowed Shell Commands",
|
||||
"description": "Shell commands that are automatically allowed without prompting",
|
||||
"placeholder": "e.g., \"Shell(ls)\" or \"Shell(git status)\"",
|
||||
"quickAdd": "Quick add common commands:",
|
||||
"empty": "No allowed commands configured"
|
||||
},
|
||||
"blockedCommands": {
|
||||
"title": "Blocked Shell Commands",
|
||||
"description": "Shell commands that are automatically blocked",
|
||||
"placeholder": "e.g., \"Shell(rm -rf)\" or \"Shell(sudo)\"",
|
||||
"empty": "No blocked commands configured"
|
||||
},
|
||||
"toolExamples": {
|
||||
"title": "Tool Pattern Examples:",
|
||||
"bashGitLog": "- Allow all git log commands",
|
||||
"bashGitDiff": "- Allow all git diff commands",
|
||||
"write": "- Allow all Write tool usage",
|
||||
"bashRm": "- Block all rm commands (dangerous)"
|
||||
},
|
||||
"shellExamples": {
|
||||
"title": "Shell Command Examples:",
|
||||
"ls": "- Allow ls command",
|
||||
"gitStatus": "- Allow git status",
|
||||
"npmInstall": "- Allow npm install",
|
||||
"rmRf": "- Block recursive delete"
|
||||
},
|
||||
"codex": {
|
||||
"permissionMode": "Permission Mode",
|
||||
"description": "Controls how Codex handles file modifications and command execution",
|
||||
"modes": {
|
||||
"default": {
|
||||
"title": "Default",
|
||||
"description": "Only trusted commands (ls, cat, grep, git status, etc.) run automatically. Other commands are skipped. Can write to workspace."
|
||||
},
|
||||
"acceptEdits": {
|
||||
"title": "Accept Edits",
|
||||
"description": "All commands run automatically within the workspace. Full auto mode with sandboxed execution."
|
||||
},
|
||||
"bypassPermissions": {
|
||||
"title": "Bypass Permissions",
|
||||
"description": "Full system access with no restrictions. All commands run automatically with full disk and network access. Use with caution."
|
||||
}
|
||||
},
|
||||
"technicalDetails": "Technical details",
|
||||
"technicalInfo": {
|
||||
"default": "sandboxMode=workspace-write, approvalPolicy=untrusted. Trusted commands: cat, cd, grep, head, ls, pwd, tail, git status/log/diff/show, find (without -exec), etc.",
|
||||
"acceptEdits": "sandboxMode=workspace-write, approvalPolicy=never. All commands auto-execute within project directory.",
|
||||
"bypassPermissions": "sandboxMode=danger-full-access, approvalPolicy=never. Full system access, use only in trusted environments.",
|
||||
"overrideNote": "You can override this per-session using the mode button in the chat interface."
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"add": "Add"
|
||||
}
|
||||
},
|
||||
"mcpServers": {
|
||||
"title": "MCP Servers",
|
||||
"description": {
|
||||
"claude": "Model Context Protocol servers provide additional tools and data sources to Claude",
|
||||
"cursor": "Model Context Protocol servers provide additional tools and data sources to Cursor",
|
||||
"codex": "Model Context Protocol servers provide additional tools and data sources to Codex"
|
||||
},
|
||||
"addButton": "Add MCP Server",
|
||||
"empty": "No MCP servers configured",
|
||||
"serverType": "Type",
|
||||
"scope": {
|
||||
"local": "local",
|
||||
"user": "user"
|
||||
},
|
||||
"config": {
|
||||
"command": "Command",
|
||||
"url": "URL",
|
||||
"args": "Args",
|
||||
"environment": "Environment"
|
||||
},
|
||||
"tools": {
|
||||
"title": "Tools",
|
||||
"count": "({{count}}):",
|
||||
"more": "+{{count}} more"
|
||||
},
|
||||
"actions": {
|
||||
"edit": "Edit server",
|
||||
"delete": "Delete server"
|
||||
},
|
||||
"help": {
|
||||
"title": "About Codex MCP",
|
||||
"description": "Codex supports stdio-based MCP servers. You can add servers that extend Codex's capabilities with additional tools and resources."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user