diff --git a/cc-haha/desktop/src/i18n/locales/en.ts b/cc-haha/desktop/src/i18n/locales/en.ts index c5693ad..778983e 100644 --- a/cc-haha/desktop/src/i18n/locales/en.ts +++ b/cc-haha/desktop/src/i18n/locales/en.ts @@ -151,7 +151,7 @@ export const en = { // Settings > Adapters 'settings.tab.adapters': 'IM Adapters', - 'settings.adapters.description': 'Configure IM adapters to chat with Claude Code via Telegram or Feishu.', + 'settings.adapters.description': 'Configure IM adapters to chat with Heicode via Telegram or Feishu.', 'settings.adapters.telegram': 'Telegram', 'settings.adapters.feishu': 'Feishu', 'settings.adapters.botToken': 'Bot Token', @@ -195,7 +195,7 @@ export const en = { // Settings > MCP 'settings.mcp.title': 'MCP servers', - 'settings.mcp.description': 'Connect external tools and data sources for Claude Code. Add, edit, reconnect, and disable servers without leaving the desktop app.', + 'settings.mcp.description': 'Connect external tools and data sources for Heicode. Add, edit, reconnect, and disable servers without leaving the desktop app.', 'settings.mcp.addServer': 'Add server', 'settings.mcp.empty': 'No MCP servers configured yet', 'settings.mcp.emptyHint': 'Add a custom stdio, HTTP, or SSE MCP server to start extending tool access.', @@ -217,7 +217,7 @@ export const en = { 'settings.mcp.globalOnlyHint': 'This page manages only user-global MCP servers for speed. Project-specific MCP will move into the chat slash-command experience.', 'settings.mcp.form.back': 'Back to servers', 'settings.mcp.form.createTitle': 'Connect to a custom MCP', - 'settings.mcp.form.createHint': 'Set up a custom MCP server with the fields supported by Claude Code today.', + 'settings.mcp.form.createHint': 'Set up a custom MCP server with the fields supported by Heicode today.', 'settings.mcp.form.editTitle': 'Update {name} MCP', 'settings.mcp.form.editHint': 'Review connection details, save changes, or reconnect this server from the desktop app.', 'settings.mcp.form.transportLocked': 'If you would like to switch MCP server type, uninstall first.', @@ -266,7 +266,7 @@ export const en = { 'settings.mcp.targetProject.projectSelected': 'This server will be shared through: {path}/.mcp.json', 'settings.mcp.targetProject.projectEmpty': 'Choose the project whose `.mcp.json` should receive this shared MCP server.', 'settings.mcp.targetProject.globalTitle': 'Global install target', - 'settings.mcp.targetProject.globalHint': 'User scope does not need a target project. It is stored in your global Claude config and is available everywhere.', + 'settings.mcp.targetProject.globalHint': 'User scope does not need a target project. It is stored in your global Heicode config and is available everywhere.', 'settings.mcp.toast.created': 'Created MCP server "{name}"', 'settings.mcp.toast.saved': 'Saved MCP server "{name}"', 'settings.mcp.toast.deleted': 'Deleted MCP server "{name}"', @@ -281,12 +281,12 @@ export const en = { // Settings > Agents 'settings.tab.agents': 'Agents', 'settings.agents.title': 'Installed Agents', - 'settings.agents.description': 'Browse agents available to Claude across built-in, project, and user sources. Use /agents in TUI to inspect active sources and overrides.', + 'settings.agents.description': 'Browse agents available to Heicode across built-in, project, and user sources. Use /agents in TUI to inspect active sources and overrides.', 'settings.agents.browserTitle': 'Browse installed agents', 'settings.agents.browserEyebrow': 'Agent Browser', 'settings.agents.entryEyebrow': 'Agent Profile', 'settings.agents.empty': 'No agents available yet.', - 'settings.agents.emptyHint': 'Add agent definitions in your Claude settings or project to see them here.', + 'settings.agents.emptyHint': 'Add agent definitions in your Heicode settings or project to see them here.', 'settings.agents.model': 'Model', 'settings.agents.tools': 'Tools', 'settings.agents.systemPrompt': 'System Prompt', @@ -392,7 +392,7 @@ export const en = { 'settings.plugins.scope.managed': 'Managed', 'settings.plugins.scope.builtin': 'Built-in', 'settings.plugins.empty': 'No plugins installed', - 'settings.plugins.emptyHint': 'Install plugins from Claude Code to manage them here.', + 'settings.plugins.emptyHint': 'Install plugins from Heicode to manage them here.', 'settings.plugins.back': 'Back to list', 'settings.plugins.noDescription': 'No description available for this plugin.', 'settings.plugins.errorCount': '{count} errors', @@ -437,7 +437,7 @@ export const en = { // Settings > Computer Use 'settings.tab.computerUse': 'Computer Use', 'settings.computerUse.title': 'Computer Use', - 'settings.computerUse.description': 'Allow Claude to take screenshots, click, type, and control your computer. Requires Python 3. On macOS, accessibility permissions are also needed.', + 'settings.computerUse.description': 'Allow Heicode to take screenshots, click, type, and control your computer. Requires Python 3. On macOS, accessibility permissions are also needed.', 'settings.computerUse.notSupported': 'Computer Use is only supported on macOS and Windows.', 'settings.computerUse.python': 'Python 3', 'settings.computerUse.pythonNotFound': 'Not installed. Please install Python 3 first.', @@ -464,7 +464,7 @@ export const en = { 'settings.computerUse.recheckBtn': 'Recheck Status', 'settings.computerUse.requirementsLabel': 'Required packages', 'settings.computerUse.appsTitle': 'Authorized Apps', - 'settings.computerUse.appsDescription': 'Pre-authorize apps for Computer Use. Authorized apps can be controlled by Claude without runtime prompts.', + 'settings.computerUse.appsDescription': 'Pre-authorize apps for Computer Use. Authorized apps can be controlled by Heicode without runtime prompts.', 'settings.computerUse.appsLoading': 'Loading installed apps...', 'settings.computerUse.appsEmpty': 'No installed apps found. Please setup the environment first.', 'settings.computerUse.appsSearch': 'Search apps...', @@ -489,20 +489,20 @@ export const en = { 'settings.general.effort.high': 'High', 'settings.general.effort.max': 'Max', 'settings.general.webFetchPreflightTitle': 'WebFetch Preflight', - 'settings.general.webFetchPreflightDescription': 'Desktop sessions skip Claude\'s domain preflight by default to avoid false failures on third-party providers and restricted networks.', + 'settings.general.webFetchPreflightDescription': 'Desktop sessions skip Heicode\'s domain preflight by default to avoid false failures on third-party providers and restricted networks.', 'settings.general.webFetchPreflightEnabled': 'Skip WebFetch domain preflight', 'settings.general.webFetchPreflightHint': 'Turn this off only if you explicitly want to restore the upstream safety preflight before each WebFetch request.', // ─── Empty Session ────────────────────────────────────── 'empty.title': 'New session', - 'empty.subtitle': 'Start a fresh coding session. Claude is ready to help you build, debug, and architect your project.', + 'empty.subtitle': 'Start a fresh coding session. Heicode is ready to help you build, debug, and architect your project.', 'empty.placeholder': 'Ask anything...', 'empty.addFiles': 'Add files or photos', 'empty.slashCommands': 'Slash commands', 'empty.failedToCreate': 'Failed to create session', // ─── Chat Input ────────────────────────────────────── - 'chat.placeholder': 'Ask Claude to edit, debug or explain...', + 'chat.placeholder': 'Ask Heicode to edit, debug or explain...', 'chat.placeholderMissing': 'This session points to a missing workspace. Create a new session or pick another project.', 'chat.addFiles': 'Add files or photos', 'chat.slashCommands': 'Slash commands', @@ -619,10 +619,10 @@ export const en = { 'streaming.working': 'Working', // ─── Permission Dialog ────────────────────────────────────── - 'permission.allowEditFile': 'Allow Claude to {toolName} {fileName}?', - 'permission.allowEditFileGeneric': 'Allow Claude to {toolName} this file?', - 'permission.allowBash': 'Allow Claude to run this command?', - 'permission.allowTool': 'Allow Claude to use {toolName}?', + 'permission.allowEditFile': 'Allow Heicode to {toolName} {fileName}?', + 'permission.allowEditFileGeneric': 'Allow Heicode to {toolName} this file?', + 'permission.allowBash': 'Allow Heicode to run this command?', + 'permission.allowTool': 'Allow Heicode to use {toolName}?', 'permission.awaitingApproval': 'Awaiting approval', 'permission.responded': 'Responded', 'permission.allow': 'Allow', @@ -635,15 +635,15 @@ export const en = { // ─── Computer Use Approval ────────────────────────────────────── 'computerUseApproval.titleApps': 'Computer Use wants to control these apps', 'computerUseApproval.titleTcc': 'Computer Use needs macOS permissions', - 'computerUseApproval.reason': 'Why Claude is asking', + 'computerUseApproval.reason': 'Why Heicode is asking', 'computerUseApproval.allow': 'Allow for session', 'computerUseApproval.deny': 'Deny', 'computerUseApproval.alreadyGranted': 'Already granted for this session', 'computerUseApproval.notInstalled': 'App not installed', 'computerUseApproval.sensitiveApp': 'This app is treated as sensitive and deserves extra review.', 'computerUseApproval.alsoRequested': 'Also requested', - 'computerUseApproval.hideWhileWorking': '{count} other apps will be hidden while Claude works.', - 'computerUseApproval.hideWhileWorkingRestore': '{count} other apps will be hidden while Claude works, then restored when Claude is done.', + 'computerUseApproval.hideWhileWorking': '{count} other apps will be hidden while Heicode works.', + 'computerUseApproval.hideWhileWorkingRestore': '{count} other apps will be hidden while Heicode works, then restored when Heicode is done.', 'computerUseApproval.accessibility': 'Accessibility', 'computerUseApproval.screenRecording': 'Screen Recording', 'computerUseApproval.granted': 'Granted', @@ -652,10 +652,10 @@ export const en = { 'computerUseApproval.openScreenRecording': 'Open Screen Recording', 'computerUseApproval.tryAgain': 'Try again', 'computerUseApproval.tccHint': 'Grant the missing permissions in System Settings, then come back and choose "Try again".', - 'computerUseApproval.tryAgainHint': 'Try again returns control to Claude so it can call request_access once more after macOS permission changes take effect.', + 'computerUseApproval.tryAgainHint': 'Try again returns control to Heicode so it can call request_access once more after macOS permission changes take effect.', // ─── Ask User Question ────────────────────────────────────── - 'question.needsInput': 'Claude needs your input', + 'question.needsInput': 'Heicode needs your input', 'question.answered': 'Answered', 'question.customResponse': 'Or type a custom response:', 'question.typePlaceholder': 'Type your answer...', @@ -815,7 +815,7 @@ export const en = { 'permMode.askPermissions': 'Ask permissions', 'permMode.askPermDesc': 'Confirm file edits and higher-risk commands when CLI asks', 'permMode.autoAccept': 'Auto accept edits', - 'permMode.autoAcceptDesc': 'Claude writes to disk without asking', + 'permMode.autoAcceptDesc': 'Heicode writes to disk without asking', 'permMode.planMode': 'Plan mode', 'permMode.planModeDesc': 'Architecture & reasoning only, no files', 'permMode.bypass': 'Bypass permissions', @@ -823,7 +823,7 @@ export const en = { 'permMode.dontAsk': "Don't ask", 'permMode.enableBypassTitle': 'Enable bypass permissions?', 'permMode.enableBypassSubtitle': 'This grants full access to your system', - 'permMode.enableBypassBody': 'Claude will have unrestricted access to execute shell commands and modify files within:', + 'permMode.enableBypassBody': 'Heicode will have unrestricted access to execute shell commands and modify files within:', 'permMode.permReadWrite': 'Read, write, and delete any files', 'permMode.permShell': 'Execute arbitrary shell commands', 'permMode.permPackages': 'Install or remove packages', diff --git a/cc-haha/desktop/src/i18n/locales/zh.ts b/cc-haha/desktop/src/i18n/locales/zh.ts index f3da603..b9806ac 100644 --- a/cc-haha/desktop/src/i18n/locales/zh.ts +++ b/cc-haha/desktop/src/i18n/locales/zh.ts @@ -96,7 +96,7 @@ export const zh: Record = { 'settings.providers.title': '服务商', 'settings.providers.description': '管理 API 服务商以访问模型。', 'settings.providers.addProvider': '添加服务商', - 'settings.providers.officialName': 'Claude 官方', + 'settings.providers.officialName': 'Heicode 官方', 'settings.providers.officialDesc': 'Anthropic 原生接入 — 无需 API 密钥', 'settings.providers.connected': '已连接 ({latency}ms)', 'settings.providers.failed': '失败: {error}', @@ -153,7 +153,7 @@ export const zh: Record = { // Settings > Adapters 'settings.tab.adapters': 'IM 接入', - 'settings.adapters.description': '配置即时通讯适配器,通过 Telegram 或飞书与 Claude Code 对话。', + 'settings.adapters.description': '配置即时通讯适配器,通过 Telegram 或飞书与 Heicode 对话。', 'settings.adapters.telegram': 'Telegram', 'settings.adapters.feishu': '飞书 (Feishu)', 'settings.adapters.botToken': 'Bot Token', @@ -210,7 +210,7 @@ export const zh: Record = { 'settings.mcp.scope.plugin': '插件', 'settings.mcp.scopeDesc.local': '只对你自己生效,但绑定到某一个项目。配置写在用户配置里,同时带上选中的项目上下文。', 'settings.mcp.scopeDesc.project': '写入选中项目的 `.mcp.json`,项目成员共享。', - 'settings.mcp.scopeDesc.user': '写入你的全局 Claude 配置,对所有项目生效。', + 'settings.mcp.scopeDesc.user': '写入你的全局 Heicode 配置,对所有项目生效。', 'settings.mcp.scope.dynamic': '内置', 'settings.mcp.scope.enterprise': '企业托管', 'settings.mcp.scope.claudeai': 'Claude.ai', @@ -219,7 +219,7 @@ export const zh: Record = { 'settings.mcp.globalOnlyHint': '这个页面只管理全局用户 MCP,以保证速度和清晰度。项目级 MCP 将放到聊天页的斜杠命令体验里。', 'settings.mcp.form.back': '返回服务列表', 'settings.mcp.form.createTitle': '连接自定义 MCP', - 'settings.mcp.form.createHint': '按当前 Claude Code 支持的字段添加一个自定义 MCP 服务。', + 'settings.mcp.form.createHint': '按当前 Heicode 支持的字段添加一个自定义 MCP 服务。', 'settings.mcp.form.editTitle': '更新 {name} MCP', 'settings.mcp.form.editHint': '查看连接信息、保存修改,或直接在桌面端重连这个服务。', 'settings.mcp.form.transportLocked': '如果你想切换 MCP 服务类型,请先卸载后重新添加。', @@ -268,7 +268,7 @@ export const zh: Record = { 'settings.mcp.targetProject.projectSelected': '这个 MCP 会写入:{path}/.mcp.json,作为项目共享配置。', 'settings.mcp.targetProject.projectEmpty': '请选择要写入 `.mcp.json` 的项目。', 'settings.mcp.targetProject.globalTitle': '全局安装目标', - 'settings.mcp.targetProject.globalHint': '全局用户不需要选择项目。它会写入你的全局 Claude 配置,并对所有项目生效。', + 'settings.mcp.targetProject.globalHint': '全局用户不需要选择项目。它会写入你的全局 Heicode 配置,并对所有项目生效。', 'settings.mcp.toast.created': '已创建 MCP 服务 “{name}”', 'settings.mcp.toast.saved': '已保存 MCP 服务 “{name}”', 'settings.mcp.toast.deleted': '已删除 MCP 服务 “{name}”', @@ -283,12 +283,12 @@ export const zh: Record = { // Settings > Agents 'settings.tab.agents': 'Agents', 'settings.agents.title': '已安装的 Agents', - 'settings.agents.description': '浏览 Claude 当前可用的 Agents,包括内置、项目和用户来源。可在 TUI 中使用 /agents 查看当前生效项与覆盖关系。', + 'settings.agents.description': '浏览 Heicode 当前可用的 Agents,包括内置、项目和用户来源。可在 TUI 中使用 /agents 查看当前生效项与覆盖关系。', 'settings.agents.browserTitle': '浏览已安装 Agents', 'settings.agents.browserEyebrow': 'Agent 浏览器', 'settings.agents.entryEyebrow': 'Agent 档案', 'settings.agents.empty': '暂无可用 Agent。', - 'settings.agents.emptyHint': '在 Claude 设置或当前项目中添加 Agent 定义后,就会显示在这里。', + 'settings.agents.emptyHint': '在 Heicode 设置或当前项目中添加 Agent 定义后,就会显示在这里。', 'settings.agents.model': '模型', 'settings.agents.tools': '工具', 'settings.agents.systemPrompt': '系统提示词', @@ -394,7 +394,7 @@ export const zh: Record = { 'settings.plugins.scope.managed': '托管', 'settings.plugins.scope.builtin': '内置', 'settings.plugins.empty': '暂无已安装插件', - 'settings.plugins.emptyHint': '先在 Claude Code 里安装插件,桌面端就可以在这里管理。', + 'settings.plugins.emptyHint': '先在 Heicode 里安装插件,桌面端就可以在这里管理。', 'settings.plugins.back': '返回列表', 'settings.plugins.noDescription': '这个插件没有可用描述。', 'settings.plugins.errorCount': '{count} 个错误', @@ -439,7 +439,7 @@ export const zh: Record = { // Settings > Computer Use 'settings.tab.computerUse': 'Computer Use', 'settings.computerUse.title': 'Computer Use', - 'settings.computerUse.description': '允许 Claude 截屏、点击、打字并控制你的电脑。需要 Python 3,macOS 上还需要辅助功能权限。', + 'settings.computerUse.description': '允许 Heicode 截屏、点击、打字并控制你的电脑。需要 Python 3,macOS 上还需要辅助功能权限。', 'settings.computerUse.notSupported': 'Computer Use 仅支持 macOS 和 Windows。', 'settings.computerUse.python': 'Python 3', 'settings.computerUse.pythonNotFound': '未安装,请先安装 Python 3。', @@ -466,7 +466,7 @@ export const zh: Record = { 'settings.computerUse.recheckBtn': '重新检测', 'settings.computerUse.requirementsLabel': '需要的 Python 包', 'settings.computerUse.appsTitle': '已授权应用', - 'settings.computerUse.appsDescription': '预先授权 App,Claude 将可以直接控制这些 App,无需运行时弹窗确认。', + 'settings.computerUse.appsDescription': '预先授权 App,Heicode 将可以直接控制这些 App,无需运行时弹窗确认。', 'settings.computerUse.appsLoading': '加载已安装的 App...', 'settings.computerUse.appsEmpty': '未找到已安装的 App,请先安装环境。', 'settings.computerUse.appsSearch': '搜索 App...', @@ -491,20 +491,20 @@ export const zh: Record = { 'settings.general.effort.high': '高', 'settings.general.effort.max': '最大', 'settings.general.webFetchPreflightTitle': 'WebFetch 预检', - 'settings.general.webFetchPreflightDescription': '桌面端默认跳过 Claude 的域名预检,避免第三方服务商或受限网络下出现误报失败。', + 'settings.general.webFetchPreflightDescription': '桌面端默认跳过 Heicode 的域名预检,避免第三方服务商或受限网络下出现误报失败。', 'settings.general.webFetchPreflightEnabled': '跳过 WebFetch 域名预检', 'settings.general.webFetchPreflightHint': '只有在你明确需要恢复上游默认安全预检时,才建议关闭这个选项。', // ─── Empty Session ────────────────────────────────────── 'empty.title': '新建会话', - 'empty.subtitle': '开始一个新的编码会话。Claude 已准备好帮你构建、调试和架构你的项目。', + 'empty.subtitle': '开始一个新的编码会话。Heicode 已准备好帮你构建、调试和架构你的项目。', 'empty.placeholder': '随便问点什么...', 'empty.addFiles': '添加文件或图片', 'empty.slashCommands': '斜杠命令', 'empty.failedToCreate': '创建会话失败', // ─── Chat Input ────────────────────────────────────── - 'chat.placeholder': '让 Claude 编辑、调试或解释代码...', + 'chat.placeholder': '让 Heicode 编辑、调试或解释代码...', 'chat.placeholderMissing': '此会话指向的工作目录缺失。请新建会话或选择其他项目。', 'chat.addFiles': '添加文件或图片', 'chat.slashCommands': '斜杠命令', @@ -621,10 +621,10 @@ export const zh: Record = { 'streaming.working': '工作中', // ─── Permission Dialog ────────────────────────────────────── - 'permission.allowEditFile': '允许 Claude {toolName} {fileName}?', - 'permission.allowEditFileGeneric': '允许 Claude {toolName}此文件?', - 'permission.allowBash': '允许 Claude 执行此命令?', - 'permission.allowTool': '允许 Claude 使用 {toolName}?', + 'permission.allowEditFile': '允许 Heicode {toolName} {fileName}?', + 'permission.allowEditFileGeneric': '允许 Heicode {toolName}此文件?', + 'permission.allowBash': '允许 Heicode 执行此命令?', + 'permission.allowTool': '允许 Heicode 使用 {toolName}?', 'permission.awaitingApproval': '等待审批', 'permission.responded': '已响应', 'permission.allow': '允许', @@ -644,8 +644,8 @@ export const zh: Record = { 'computerUseApproval.notInstalled': '应用未安装', 'computerUseApproval.sensitiveApp': '该应用属于高敏感类别,请额外确认后再授权。', 'computerUseApproval.alsoRequested': '同时请求了', - 'computerUseApproval.hideWhileWorking': 'Claude 工作时会隐藏另外 {count} 个应用。', - 'computerUseApproval.hideWhileWorkingRestore': 'Claude 工作时会隐藏另外 {count} 个应用,结束后会自动恢复。', + 'computerUseApproval.hideWhileWorking': 'Heicode 工作时会隐藏另外 {count} 个应用。', + 'computerUseApproval.hideWhileWorkingRestore': 'Heicode 工作时会隐藏另外 {count} 个应用,结束后会自动恢复。', 'computerUseApproval.accessibility': '辅助功能', 'computerUseApproval.screenRecording': '屏幕录制', 'computerUseApproval.granted': '已授权', @@ -654,10 +654,10 @@ export const zh: Record = { 'computerUseApproval.openScreenRecording': '打开屏幕录制设置', 'computerUseApproval.tryAgain': '稍后重试', 'computerUseApproval.tccHint': '先在系统设置里授予缺失权限,返回后再点“稍后重试”。', - 'computerUseApproval.tryAgainHint': '“稍后重试”会把控制权交还给 Claude,让它在 macOS 权限生效后重新调用 request_access。', + 'computerUseApproval.tryAgainHint': '“稍后重试”会把控制权交还给 Heicode,让它在 macOS 权限生效后重新调用 request_access。', // ─── Ask User Question ────────────────────────────────────── - 'question.needsInput': 'Claude 需要你的输入', + 'question.needsInput': 'Heicode 需要你的输入', 'question.answered': '已回答', 'question.customResponse': '或输入自定义回复:', 'question.typePlaceholder': '输入你的回答...', @@ -817,7 +817,7 @@ export const zh: Record = { 'permMode.askPermissions': '询问权限', 'permMode.askPermDesc': 'CLI 请求时确认文件编辑和高风险命令', 'permMode.autoAccept': '自动接受编辑', - 'permMode.autoAcceptDesc': 'Claude 无需询问即可写入磁盘', + 'permMode.autoAcceptDesc': 'Heicode 无需询问即可写入磁盘', 'permMode.planMode': '计划模式', 'permMode.planModeDesc': '仅架构和推理,不操作文件', 'permMode.bypass': '跳过权限', @@ -825,7 +825,7 @@ export const zh: Record = { 'permMode.dontAsk': '不询问', 'permMode.enableBypassTitle': '启用跳过权限?', 'permMode.enableBypassSubtitle': '这将授予对系统的完全访问权限', - 'permMode.enableBypassBody': 'Claude 将拥有不受限制的权限来执行 Shell 命令和修改以下目录中的文件:', + 'permMode.enableBypassBody': 'Heicode 将拥有不受限制的权限来执行 Shell 命令和修改以下目录中的文件:', 'permMode.permReadWrite': '读取、写入和删除任何文件', 'permMode.permShell': '执行任意 Shell 命令', 'permMode.permPackages': '安装或移除软件包',