2026-05-16 19:34:01 +08:00

1454 lines
86 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type { TranslationKey } from './en'
export const zh: Record<TranslationKey, string> = {
// ─── Common ──────────────────────────────────────
'common.cancel': '取消',
'common.save': '保存',
'common.delete': '删除',
'common.add': '添加',
'common.run': '运行',
'common.send': '发送',
'common.stop': '停止',
'common.rename': '重命名',
'common.retry': '重试',
'common.loading': '加载中...',
'common.select': '选择',
'common.enable': '启用',
'common.disable': '禁用',
'common.active': '已激活',
'common.copyFailed': '复制失败。',
// ─── Sidebar ──────────────────────────────────────
'sidebar.newSession': '新建会话',
'sidebar.scheduled': '定时任务',
'sidebar.terminal': '终端',
'sidebar.settings': '设置',
'sidebar.searchPlaceholder': '搜索会话...',
'sidebar.noSessions': '暂无会话',
'sidebar.noMatching': '没有匹配的会话',
'sidebar.sessionListFailed': '会话列表加载失败',
'sidebar.refreshSessions': '刷新会话列表',
'sidebar.projects': '项目',
'sidebar.projectMenu': '项目菜单',
'sidebar.newProject': '新建项目',
'sidebar.archiveAllChats': '归档所有聊天',
'sidebar.organizeSidebar': '整理侧边栏',
'sidebar.sortCondition': '排序条件',
'sidebar.organizeByProject': '按项目',
'sidebar.organizeByRecentProject': '近期项目',
'sidebar.organizeByTime': '按时间顺序',
'sidebar.sortByCreatedAt': '创建时间',
'sidebar.sortByUpdatedAt': '更新时间',
'sidebar.newBlankProject': '新建空白项目',
'sidebar.useExistingFolder': '使用现有文件夹',
'sidebar.chooseProjectFolderUnavailable': '选择文件夹仅在桌面端可用。',
'sidebar.projectActions': '{project} 项目操作',
'sidebar.pinProject': '置顶项目',
'sidebar.unpinProject': '取消置顶项目',
'sidebar.openInFinder': '在“访达”中打开',
'sidebar.openInFinderFailed': '无法在访达中打开项目。',
'sidebar.openInFinderUnavailable': '没有可用的文件管理器。',
'sidebar.hideProjectFromSidebar': '从侧边栏移除',
'sidebar.restoreProjectToSidebar': '恢复到侧边栏',
'sidebar.projectHidden': '已从侧边栏移除 {project}。',
'sidebar.newSessionInProject': '在 {project} 中新建会话',
'sidebar.showMoreSessions': '展开显示',
'sidebar.showFewerSessions': '折叠显示',
'sidebar.expandProject': '展开 {project}',
'sidebar.collapseProject': '折叠 {project}',
'sidebar.worktree': 'worktree',
'sidebar.missingDir': '目录缺失',
'sidebar.confirmDelete': '确定要删除这个会话吗?此操作不可撤销。',
'sidebar.batchManage': '批量管理',
'sidebar.batchSelectedCount': '已选 {count} 个',
'sidebar.batchSelectAll': '全选',
'sidebar.batchDeselectAll': '取消全选',
'sidebar.batchSelectGroup': '选择{group}',
'sidebar.batchDeleteSelected': '删除已选 ({count})',
'sidebar.batchDeleteConfirm': '确定要删除 {count} 个会话吗?此操作不可撤销。',
'sidebar.batchDeleteConfirmBody': '以下会话将被删除:',
'sidebar.batchDeleteMore': '...还有 {count} 条',
'sidebar.batchExit': '退出批量管理',
'sidebar.batchDeleteSucceeded': '已删除 {count} 个会话。',
'sidebar.batchDeleteFailed': '有 {count} 个会话删除失败。',
'sidebar.allProjects': '所有项目',
'sidebar.other': '其他',
'sidebar.timeGroup.today': '今天',
'sidebar.timeGroup.yesterday': '昨天',
'sidebar.timeGroup.last7days': '最近 7 天',
'sidebar.timeGroup.last30days': '最近 30 天',
'sidebar.timeGroup.older': '更早',
'sidebar.collapse': '折叠侧边栏',
'sidebar.expand': '展开侧边栏',
// ─── Title Bar ──────────────────────────────────────
'titlebar.code': '代码',
'titlebar.terminal': '终端',
'titlebar.history': '历史',
// ─── Open Project ──────────────────────────────────────
'openProject.openProject': '打开项目',
'openProject.openIn': '用 {target} 打开',
'openProject.openFailed': '无法打开项目',
// ─── Workspace Panel ───────────────────────────────
'workspace.changedFiles': '已更改文件',
'workspace.allFiles': '所有文件',
'workspace.viewTabs': '工作区视图',
'workspace.previewTabs': '预览标签',
'workspace.filterPlaceholder': '筛选文件...',
'workspace.clearFilter': '清除文件筛选',
'workspace.refresh': '刷新工作区',
'workspace.closePanel': '关闭工作区面板',
'workspace.resizePanel': '调整工作区宽度',
'workspace.closeTab': '关闭标签',
'workspace.preview': '预览',
'workspace.previewEmpty': '选择一个文件进行预览。',
'workspace.notGitRepo': '当前目录不是 Git 仓库。',
'workspace.missingWorkdir': '工作目录不存在。',
'workspace.loadError': '工作区数据加载失败。',
'workspace.noChanges': '没有变更',
'workspace.noFiles': '没有文件',
'workspace.noMatchingFiles': '没有匹配的文件',
'workspace.previewKind.diff': 'Diff',
'workspace.previewKind.file': '文件',
'workspace.previewState.loading': '正在加载预览...',
'workspace.previewState.binary': '二进制文件暂不支持预览。',
'workspace.previewState.tooLarge': '文件过大,无法预览。',
'workspace.previewState.missing': '文件不存在。',
'workspace.imagePreviewUnavailable': '图片无法预览。',
'workspace.previewLineLimit': '正在显示已加载内容的前 {count} / {total} 行。',
'workspace.previewAllLines': '正在显示全部 {total} 行已加载内容。',
'workspace.showAllLoadedLines': '显示全部已加载行',
'workspace.collapsePreview': '收起预览',
'workspace.addToChat': '添加到聊天',
'workspace.addSelectionToChat': '添加至对话',
'workspace.copyPath': '复制路径',
'workspace.pathCopied': '路径已复制。',
'workspace.localComment': '本地评论',
'workspace.commentLine': '评论第 {line} 行',
'workspace.commentLineTarget': '第 {line} 行',
'workspace.commentPlaceholder': '描述你希望这里怎么改...',
'workspace.addCommentToChat': '添加评论',
// ─── Status Bar ──────────────────────────────────────
'status.connected': '已连接',
'status.connecting': '连接中...',
'status.reconnecting': '重连中...',
'status.disconnected': '已断开',
// ─── Settings ──────────────────────────────────────
'settings.title': '设置',
'settings.tab.providers': '服务商',
'settings.tab.permissions': '权限',
'settings.tab.activity': 'Token 用量',
'settings.tab.general': '通用',
'settings.tab.h5Access': 'H5 访问',
'settings.tab.terminal': '终端',
'settings.tab.skills': '技能',
'settings.tab.mcp': 'MCP',
'settings.tab.plugins': '插件',
'settings.tab.diagnostics': '诊断',
// Settings > Usage
'settings.activity.title': 'Token 用量',
'settings.activity.subtitleLoading': '基于本机 Claude Code CLI 会话记录统计',
'settings.activity.metric.yesterday': '昨天',
'settings.activity.metric.today': '今天',
'settings.activity.metric.last4': '近 4 天',
'settings.activity.metric.last30': '30 天',
'settings.activity.metric.streak': '连续活跃',
'settings.activity.metric.bestStreak': '最长 {days} 天',
'settings.activity.heatmapLabel': '按天统计的 Token 用量',
'settings.activity.count.sessionOne': '{count} 次会话',
'settings.activity.count.sessionOther': '{count} 次会话',
'settings.activity.count.dayOne': '{count} 天',
'settings.activity.count.dayOther': '{count} 天',
'settings.activity.weekday.mon': '周一',
'settings.activity.weekday.wed': '周三',
'settings.activity.weekday.fri': '周五',
'settings.activity.selectedDay': '选中日期',
'settings.activity.sessions': '会话',
'settings.activity.tokens': 'Token',
'settings.activity.messages': '消息',
'settings.activity.tools': '工具',
'settings.activity.less': '少',
'settings.activity.more': '多',
// Settings > Terminal
'settings.terminal.title': '终端',
'settings.terminal.description': '直接运行宿主机命令用于安装插件、Skills、MCP 等扩展。桌面端已内置 claude-haha文档里的 claude <参数> 可替换成 claude-haha <参数>,例如 claude-haha plugin install ... 或 claude-haha mcp add ...',
'settings.terminal.clear': '清屏',
'settings.terminal.restart': '重启',
'settings.terminal.windowTitle': '宿主机 Shell',
'settings.terminal.unavailableTitle': '需要桌面端运行时',
'settings.terminal.unavailableBody': '请在打包后的桌面端里打开这个页面,才能启动交互式终端。',
'settings.terminal.status.idle': '空闲',
'settings.terminal.status.starting': '启动中',
'settings.terminal.status.running': '运行中',
'settings.terminal.status.exited': '已退出',
'settings.terminal.status.error': '错误',
'settings.terminal.status.unavailable': '不可用',
'settings.terminal.bashPathLabel': 'Bash 路径',
'settings.terminal.bashPathDescription': 'Windows 下默认使用 CMD 作为终端。如果工具调用 grep、sed 等 Unix 命令,请在此配置 Bash 可执行文件路径(如 Git Bash。',
'settings.terminal.bashPathSave': '保存',
'settings.terminal.bashPathReset': '恢复默认',
'settings.terminal.bashPathSaved': '已保存',
'settings.terminal.bashPathInvalid': '路径不存在,请选择有效的 Bash 可执行文件',
'terminal.newTab': '新建终端',
'terminal.openInTab': '在 Tab 中打开',
'terminal.closePanel': '关闭终端面板',
'terminal.resizePanel': '调整终端面板大小',
// Settings > Diagnostics
'settings.diagnostics.title': '诊断',
'settings.diagnostics.description': '记录服务端与 CLI 的启动、服务商、会话运行错误,便于复现和定位问题。',
'settings.diagnostics.refresh': '刷新',
'settings.diagnostics.totalSize': '日志大小',
'settings.diagnostics.events': '事件数',
'settings.diagnostics.recentErrors': '24h 警告',
'settings.diagnostics.retention': '保留策略',
'settings.diagnostics.retentionValue': '{days} 天 / {size}',
'settings.diagnostics.logDirectory': '日志目录',
'settings.diagnostics.openDirectory': '打开',
'settings.diagnostics.exportBundle': '导出诊断包',
'settings.diagnostics.copySummary': '复制错误摘要',
'settings.diagnostics.clearLogs': '清理日志',
'settings.diagnostics.recentEvents': '最近事件',
'settings.diagnostics.privacyNote': '导出的诊断包会脱敏,不包含聊天内容、文件内容、完整环境变量或 API Key。',
'settings.diagnostics.noEvents': '暂无诊断事件。',
'settings.diagnostics.noRecentErrors': '最近没有警告或错误。',
'settings.diagnostics.loadFailed': '加载诊断信息失败。',
'settings.diagnostics.openFailed': '打开诊断目录失败。',
'settings.diagnostics.exportFailed': '导出诊断包失败。',
'settings.diagnostics.exported': '已导出 {file}',
'settings.diagnostics.summaryCopied': '错误摘要已复制。',
'settings.diagnostics.copyFailed': '复制错误摘要失败。',
'settings.diagnostics.confirmClear': '确定清理所有本地诊断日志和已导出的诊断包?',
'settings.diagnostics.cleared': '诊断日志已清理。',
'settings.diagnostics.clearFailed': '清理诊断日志失败。',
'settings.diagnostics.eventDetails': '详情',
'settings.diagnostics.doctorTitle': 'Doctor',
'settings.diagnostics.doctorDescription': '用于启动和界面状态问题的安全桌面修复。',
'settings.diagnostics.doctorProtectedData': '绝不会触碰聊天历史、模型配置、Skills、MCP、IM 或 OAuth。',
'settings.diagnostics.doctorSafeKeys': '只会清理cc-haha-open-tabs、cc-haha-session-runtime、cc-haha-theme、cc-haha-locale 和 cc-haha.persistence.schemaVersion。',
'settings.diagnostics.runDoctor': '运行 Doctor',
'settings.diagnostics.doctorCompleted': 'Doctor 已执行完成。',
'settings.diagnostics.doctorPartial': 'Doctor 已完成,但有 {count} 个本地清理项处理失败。',
'settings.diagnostics.doctorFailed': 'Doctor 执行失败。',
'settings.diagnostics.doctorResultLocal': '已清理 {count} 个安全 UI 键。',
'settings.diagnostics.doctorResultFailedKeys': '有 {count} 个键无法移除。',
'settings.diagnostics.doctorServerRan': '服务端 Doctor 修复也已执行。',
'settings.diagnostics.doctorServerUnavailable': '服务端 Doctor 不可用,因此只执行了本地修复。',
'errorBoundary.title': '出现异常。',
'errorBoundary.description': '错误已记录到诊断日志。',
// Settings > Claude Official Login
'settings.claudeOfficialLogin.intro': '使用官方 Claude 模型需要登录你的 Claude.ai 账号。点击下方按钮,浏览器会打开 Claude 官方登录页面,授权后自动回到这里。',
'settings.claudeOfficialLogin.loginButton': '登录 Claude 账号',
'settings.claudeOfficialLogin.loginStarting': '正在启动…',
'settings.claudeOfficialLogin.logoutButton': '登出',
'settings.claudeOfficialLogin.logoutProcessing': '处理中…',
'settings.claudeOfficialLogin.loggedInPrefix': '已登录(Claude',
'settings.claudeOfficialLogin.subTypeUnknown': '未知',
'settings.claudeOfficialLogin.errorPrefix': '错误:',
'settings.claudeOfficialLogin.openBrowserFailed': '无法打开浏览器,请手动访问授权链接。',
// Settings > Providers
'settings.providers.title': '服务商',
'settings.providers.description': '管理 API 服务商以访问模型。',
'settings.providers.addProvider': '添加服务商',
'settings.providers.officialName': 'Claude 官方',
'settings.providers.officialDesc': 'Anthropic 原生接入 — 无需 API 密钥',
'settings.providers.connected': '已连接 ({latency}ms)',
'settings.providers.failed': '失败: {error}',
'settings.providers.connectivityOk': '① 连通 ({latency}ms)',
'settings.providers.connectivityFailed': '① 连通失败: {error}',
'settings.providers.proxyOk': '② 代理转换 ({latency}ms)',
'settings.providers.proxyFailed': '② 代理转换失败: {error}',
'settings.providers.confirmDelete': '删除服务商 "{name}"?此操作不可撤销。',
'settings.providers.activate': '激活',
'settings.providers.default': '默认',
'settings.providers.setDefault': '设为默认',
'settings.providers.test': '测试',
'settings.providers.edit': '编辑',
'settings.providers.requestFailed': '请求失败',
'settings.providers.addTitle': '添加服务商',
'settings.providers.editTitle': '编辑服务商',
'settings.providers.preset': '预设',
'settings.providers.name': '名称',
'settings.providers.namePlaceholder': '服务商名称',
'settings.providers.notes': '备注',
'settings.providers.notesPlaceholder': '可选备注...',
'settings.providers.baseUrl': '接口地址',
'settings.providers.baseUrlPlaceholder': 'https://api.example.com/anthropic',
'settings.providers.apiKey': 'API 密钥',
'settings.providers.apiKeyKeep': 'API 密钥(留空保持不变)',
'settings.providers.getApiKey': '获取 API Key',
'settings.providers.modelMapping': '模型映射',
'settings.providers.mainModel': '主模型',
'settings.providers.haikuModel': 'Haiku 模型',
'settings.providers.sonnetModel': 'Sonnet 模型',
'settings.providers.opusModel': 'Opus 模型',
'settings.providers.sameAsMain': '与主模型相同',
'settings.providers.contextSettingsTitle': '上下文与自动压缩',
'settings.providers.contextSettingsDesc': '预设会自动应用模型窗口。只有服务商调整限制,或使用自定义模型 ID 时才需要修改。',
'settings.providers.contextSettingsEdit': '高级',
'settings.providers.contextSettingsHide': '收起',
'settings.providers.contextSummaryAuto': '自动识别已配置模型;未知模型使用内置兜底',
'settings.providers.contextFallbackAuto': '未知模型:自动',
'settings.providers.contextFallbackSummary': '未知模型:{tokens}',
'settings.providers.modelContextWindows': '模型上下文窗口',
'settings.providers.mainContextWindow': '主模型上下文',
'settings.providers.haikuContextWindow': 'Haiku 模型上下文',
'settings.providers.sonnetContextWindow': 'Sonnet 模型上下文',
'settings.providers.opusContextWindow': 'Opus 模型上下文',
'settings.providers.contextWindowPlaceholder': '例如 200000',
'settings.providers.modelContextWindowsDesc': '按每个模型的真实上下文填写,内置预设会自动带出,留空则走内置识别或默认 200K。',
'settings.providers.modelContextWindowNumberError': '请输入整数。',
'settings.providers.modelContextWindowRangeError': '范围必须在 16000 到 10000000 之间。',
'settings.providers.autoCompactWindow': '未知模型兜底窗口',
'settings.providers.autoCompactWindowPlaceholder': '可选,例如 200000',
'settings.providers.autoCompactWindowDesc': '仅用于无法识别的模型;已配置的模型窗口会优先使用。',
'settings.providers.autoCompactWindowNumberError': '请输入整数。',
'settings.providers.autoCompactWindowRangeError': '范围必须在 16000 到 10000000 之间。',
'settings.providers.testConnection': '测试连接',
'settings.providers.settingsJson': '设置 JSON',
'settings.providers.settingsJsonDesc': '~/.claude/cc-haha/settings.json — 直接编辑,保存时写入。',
'settings.providers.jsonError': 'JSON 语法错误: {error}',
'settings.providers.apiFormat': 'API 格式',
'settings.providers.apiFormatAnthropic': 'Anthropic Messages (原生)',
'settings.providers.apiFormatOpenaiChat': 'OpenAI Chat Completions (代理转换)',
'settings.providers.apiFormatOpenaiResponses': 'OpenAI Responses API (代理转换)',
'settings.providers.proxyHint': '请求将通过本地代理转换协议格式',
'settings.providers.authStrategy': '认证变量',
'settings.providers.authStrategyApiKey': 'API Key (ANTHROPIC_API_KEY)',
'settings.providers.authStrategyApiKeyDesc': '直连 Anthropic 官方 API发送 x-api-key。',
'settings.providers.authStrategyAuthToken': 'Bearer Token (ANTHROPIC_AUTH_TOKEN)',
'settings.providers.authStrategyAuthTokenDesc': '大多数第三方 Anthropic 兼容服务,发送 Authorization Bearer。',
'settings.providers.authStrategyAuthTokenEmptyApiKey': 'Bearer + 清空 API_KEY',
'settings.providers.authStrategyAuthTokenEmptyApiKeyDesc': 'OpenRouter/Ollama 等场景,避免回退到 Anthropic API key。',
'settings.providers.authStrategyDualSameToken': '两个变量写同一个 Token',
'settings.providers.authStrategyDualSameTokenDesc': 'Hugging Face Router 等同时检查两个变量的服务。',
'settings.providers.authStrategyDualDummy': '两个变量写 dummy',
'settings.providers.authStrategyDualDummyDesc': 'vLLM 等本地兼容服务,只需要占位认证值。',
// Settings > Permissions
'settings.permissions.title': '权限模式',
'settings.permissions.description': '控制工具执行权限的处理方式。',
'settings.permissions.default': '询问权限',
'settings.permissions.defaultDesc': '执行工具前先询问',
'settings.permissions.acceptEdits': '接受编辑',
'settings.permissions.acceptEditsDesc': '自动批准文件编辑,其他操作仍询问',
'settings.permissions.plan': '计划模式',
'settings.permissions.planDesc': '仅思考和规划,不执行操作',
'settings.permissions.bypass': '跳过全部',
'settings.permissions.bypassDesc': '跳过所有权限检查(危险)',
// Settings > Adapters
'settings.tab.adapters': 'IM 接入',
'settings.adapters.description': '配置即时通讯适配器通过微信、钉钉、Telegram 或飞书与 Claude Code 对话。',
'settings.adapters.telegram': 'Telegram',
'settings.adapters.feishu': '飞书',
'settings.adapters.wechat': '微信',
'settings.adapters.dingtalk': '钉钉',
'settings.adapters.botToken': 'Bot Token',
'settings.adapters.botTokenPlaceholder': '粘贴从 @BotFather 获取的 Token',
'settings.adapters.appId': 'App ID',
'settings.adapters.appIdPlaceholder': '如 cli_xxx',
'settings.adapters.appSecret': 'App Secret',
'settings.adapters.appSecretPlaceholder': '从飞书开放平台获取',
'settings.adapters.encryptKey': 'Encrypt Key',
'settings.adapters.encryptKeyPlaceholder': '可选',
'settings.adapters.verificationToken': 'Verification Token',
'settings.adapters.verificationTokenPlaceholder': '可选',
'settings.adapters.allowedUsers': '允许的用户',
'settings.adapters.allowedUsersHint': '逗号分隔。留空则只允许已配对用户。',
'settings.adapters.tgAllowedUsersPlaceholder': '如 123456789, 987654321',
'settings.adapters.fsAllowedUsersPlaceholder': '如 ou_xxx, ou_yyy',
'settings.adapters.wcAllowedUsersPlaceholder': '如 wx_user_id_1, wx_user_id_2',
'settings.adapters.dtAllowedUsersPlaceholder': '如 manager001, staff_yyy',
'settings.adapters.defaultProject': '默认项目',
'settings.adapters.defaultProjectHint': '新 IM 会话的默认工作目录。留空则使用当前用户工作目录。',
'settings.adapters.streamingCard': '流式卡片模式',
'settings.adapters.streamingCardDesc': '实时更新消息内容,体验更好',
'settings.adapters.serverUrl': '服务器地址',
'settings.adapters.serverUrlPlaceholder': 'ws://127.0.0.1:3456',
'settings.adapters.save': '保存',
'settings.adapters.saved': '已保存',
'settings.adapters.saving': '保存中...',
'settings.adapters.startHint': '保存后运行适配器cd adapters && bun run {platform}',
'settings.adapters.pairing': '配对管理',
'settings.adapters.pairingDesc': '生成配对码后在 IM 私聊中发送给 Bot完成身份绑定。',
'settings.adapters.generateCode': '生成配对码',
'settings.adapters.regenerateCode': '重新生成',
'settings.adapters.codeExpired': '已过期',
'settings.adapters.codeExpiresIn': '有效期剩余',
'settings.adapters.minutes': '分钟',
'settings.adapters.pairingCodeHint': '请在钉钉、飞书、微信或 Telegram 私聊中发送此配对码给 Bot。微信需要先完成扫码绑定。',
'settings.adapters.pairedUsers': '已配对用户',
'settings.adapters.noPairedUsers': '暂无已配对用户',
'settings.adapters.unbind': '解绑',
'settings.adapters.unbindConfirm': '确定要解绑该用户吗?解绑后需重新配对才能使用。',
'settings.adapters.platform.telegram': 'Telegram',
'settings.adapters.platform.feishu': '飞书',
'settings.adapters.platform.wechat': '微信',
'settings.adapters.platform.dingtalk': '钉钉',
'settings.adapters.dingtalkQrTitle': '扫码绑定钉钉机器人',
'settings.adapters.dingtalkQrDesc': '使用钉钉手机 App 扫码,一键创建并授权机器人。成功后会自动保存 Client ID / Secret 并重启适配器。',
'settings.adapters.dingtalkStartAuth': '扫码绑定',
'settings.adapters.dingtalkUnbindBot': '解除机器人绑定',
'settings.adapters.dingtalkQrAlt': '钉钉授权二维码',
'settings.adapters.dingtalkWaiting': '等待钉钉扫码确认...',
'settings.adapters.dingtalkBound': '钉钉机器人已绑定。',
'settings.adapters.dingtalkAuthFailed': '钉钉扫码授权失败。',
'settings.adapters.dingtalkAuthExpired': '钉钉扫码授权已过期,请重新生成二维码。',
'settings.adapters.dingtalkUnbindFailed': '钉钉解绑失败。',
'settings.adapters.dingtalkClientId': 'Client ID',
'settings.adapters.dingtalkClientIdPlaceholder': '扫码后自动填写,也可手动输入',
'settings.adapters.dingtalkClientSecret': 'Client Secret',
'settings.adapters.dingtalkClientSecretPlaceholder': '扫码后自动填写,也可手动输入',
'settings.adapters.dingtalkEndpoint': 'Stream Endpoint',
'settings.adapters.dingtalkEndpointPlaceholder': '默认 https://api.dingtalk.com',
'settings.adapters.dingtalkPermissionCardTemplateId': '权限卡片模板 ID',
'settings.adapters.dingtalkPermissionCardTemplateIdPlaceholder': '可选,互动卡片模板 ID',
'settings.adapters.dingtalkPermissionCardTemplateIdHint': '填写后权限请求会优先发送钉钉互动卡片;留空则使用 /allow、/always、/deny 文本授权。',
'settings.adapters.wechatBind': '扫码绑定',
'settings.adapters.wechatRebind': '重新扫码',
'settings.adapters.wechatConnected': '微信已绑定',
'settings.adapters.wechatNotConnected': '微信未绑定',
'settings.adapters.wechatQrHint': '生成二维码后使用微信扫码并确认,绑定完成后适配器会自动重启。',
'settings.adapters.wechatQrAlt': '微信绑定二维码',
'settings.adapters.wechatWaiting': '等待微信扫码确认...',
'settings.adapters.wechatBindSuccess': '微信绑定成功。',
'settings.adapters.wechatUnbindAccount': '解除微信绑定',
'settings.adapters.wechatUnbound': '微信绑定已解除。',
'settings.adapters.wechatUnbindFailed': '微信解绑失败。',
'settings.adapters.wechatAllowedUsersHint': '微信扫码只绑定账号能力;用户仍需发送配对码,或在这里额外填写允许的微信用户 ID。',
// Settings > MCP
'settings.mcp.title': 'MCP 服务',
'settings.mcp.description': '在桌面端直接管理外部工具与数据源。你可以添加、编辑、重连或禁用 MCP 服务。',
'settings.mcp.addServer': '添加服务',
'settings.mcp.empty': '还没有配置 MCP 服务',
'settings.mcp.emptyHint': '先添加一个自定义的 STDIO、HTTP 或 SSE MCP 服务。',
'settings.mcp.stats.total': '服务总数',
'settings.mcp.stats.connected': '当前已连接',
'settings.mcp.stats.attention': '需要处理',
'settings.mcp.scope.project': '项目共享',
'settings.mcp.scope.local': '项目私有',
'settings.mcp.scope.user': '全局用户',
'settings.mcp.scope.plugin': '插件',
'settings.mcp.scopeDesc.local': '只对你自己生效,但绑定到某一个项目。配置写在用户配置里,同时带上选中的项目上下文。',
'settings.mcp.scopeDesc.project': '写入选中项目的 `.mcp.json`,项目成员共享。',
'settings.mcp.scopeDesc.user': '写入你的全局 Claude 配置,对所有项目生效。',
'settings.mcp.scope.dynamic': '内置',
'settings.mcp.scope.enterprise': '企业托管',
'settings.mcp.scope.claudeai': 'Claude.ai',
'settings.mcp.scope.managed': '受管控',
'settings.mcp.transport.http': 'Streamable HTTP',
'settings.mcp.globalOnlyHint': '这个页面只管理全局用户 MCP以保证速度和清晰度。项目级 MCP 将放到聊天页的斜杠命令体验里。',
'settings.mcp.form.back': '返回服务列表',
'settings.mcp.form.createTitle': '连接自定义 MCP',
'settings.mcp.form.createHint': '按当前 Claude Code 支持的字段添加一个自定义 MCP 服务。',
'settings.mcp.form.editTitle': '更新 {name} MCP',
'settings.mcp.form.editHint': '查看连接信息、保存修改,或直接在桌面端重连这个服务。',
'settings.mcp.form.transportLocked': '如果你想切换 MCP 服务类型,请先卸载后重新添加。',
'settings.mcp.form.uninstall': '卸载',
'settings.mcp.form.reconnect': '重连',
'settings.mcp.form.save': '保存',
'settings.mcp.form.name': '名称',
'settings.mcp.form.namePlaceholder': 'MCP 服务名称',
'settings.mcp.form.scope': '配置范围',
'settings.mcp.form.transport': '传输方式',
'settings.mcp.form.status': '状态',
'settings.mcp.form.location': '配置位置',
'settings.mcp.form.rawConfig': '原始配置',
'settings.mcp.form.command': '启动命令',
'settings.mcp.form.commandPlaceholder': 'npx',
'settings.mcp.form.commandHostHint': 'STDIO MCP 命令会直接在宿主机上运行。像 Node.js、Python、Bun、uv 这类运行时需要用户自己安装,并确保这个命令在 PATH 里可用。',
'settings.mcp.form.arguments': '参数',
'settings.mcp.form.argumentPlaceholder': 'chrome-devtools-mcp@latest',
'settings.mcp.form.addArgument': '添加参数',
'settings.mcp.form.environmentVariables': '环境变量',
'settings.mcp.form.addEnv': '添加环境变量',
'settings.mcp.form.keyPlaceholder': '键',
'settings.mcp.form.valuePlaceholder': '值',
'settings.mcp.form.url': 'URL',
'settings.mcp.form.sseUrl': 'SSE 地址',
'settings.mcp.form.urlPlaceholder': 'https://mcp.example.com/mcp',
'settings.mcp.form.headers': '请求头',
'settings.mcp.form.addHeader': '添加请求头',
'settings.mcp.form.oauthClientId': 'OAuth Client ID',
'settings.mcp.form.oauthClientIdPlaceholder': '可选 Client ID',
'settings.mcp.form.oauthCallbackPort': 'OAuth 回调端口',
'settings.mcp.form.oauthCallbackPortPlaceholder': '可选固定回调端口',
'settings.mcp.form.headersHelper': 'Headers Helper 脚本',
'settings.mcp.form.headersHelperPlaceholder': '可选的辅助脚本路径',
'settings.mcp.form.deleteTitle': '删除 MCP 服务',
'settings.mcp.form.cancel': '取消',
'settings.mcp.form.confirmDelete': '删除',
'settings.mcp.form.deleteConfirm': '确定删除 MCP 服务 “{name}” 吗?此操作不可撤销。',
'settings.mcp.form.deleteConfirmBody': '确定删除 MCP 服务 “{name}” 吗?此操作不可撤销。',
'settings.mcp.targetProject.title': '目标项目',
'settings.mcp.targetProject.selected': '当前展示的是这个项目下的私有/共享 MCP{path}',
'settings.mcp.targetProject.empty': '先选择一个项目,才能查看项目私有或项目共享的 MCP。',
'settings.mcp.targetProject.emptyWithCurrent': '请先选择目标项目。当前激活会话的项目是:{path}',
'settings.mcp.targetProject.localSelected': '这个 MCP 会作为“项目私有”安装到:{path}',
'settings.mcp.targetProject.localEmpty': '请选择要安装这个私有 MCP 的项目。',
'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.toast.created': '已创建 MCP 服务 “{name}”',
'settings.mcp.toast.saved': '已保存 MCP 服务 “{name}”',
'settings.mcp.toast.deleted': '已删除 MCP 服务 “{name}”',
'settings.mcp.toast.enabled': '已启用 MCP 服务 “{name}”',
'settings.mcp.toast.disabled': '已禁用 MCP 服务 “{name}”',
'settings.mcp.toast.reconnected': '已重连 MCP 服务 “{name}”',
'settings.mcp.toast.saveFailed': '保存 MCP 服务失败',
'settings.mcp.toast.deleteFailed': '删除 MCP 服务失败',
'settings.mcp.toast.toggleFailed': '更新 MCP 服务状态失败',
'settings.mcp.toast.reconnectFailed': '重连 MCP 服务失败',
// Settings > Agents
'settings.tab.agents': 'Agents',
'settings.agents.title': '已安装的 Agents',
'settings.agents.description': '浏览 Claude 当前可用的 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.model': '模型',
'settings.agents.tools': '工具',
'settings.agents.systemPrompt': '系统提示词',
'settings.agents.noDescription': '暂无描述',
'settings.agents.noSystemPrompt': '未定义系统提示词。',
'settings.agents.backToList': '返回列表',
'settings.agents.agentCount': '{count} 个 Agent',
'settings.agents.summary.totalAgents': 'Agent 总数',
'settings.agents.summary.activeAgents': '生效中',
'settings.agents.summary.sources': '来源类型',
'settings.agents.summary.source': '来源',
'settings.agents.summary.model': '模型',
'settings.agents.summary.tools': '工具',
'settings.agents.summary.status': '状态',
'settings.agents.groupHint': '{source}中有 {count} 个 Agent 可用',
'settings.agents.status.active': '已生效',
'settings.agents.status.available': '可查看',
'settings.agents.overriddenBy': '被 {source} 覆盖',
'settings.agents.overriddenByShort': '被 {source} 覆盖',
'settings.agents.toolCount': '{count} 个工具',
'settings.agents.noTools': '未限制工具',
'settings.agents.promptHint': '阅读当前 system prompt并对比这个 Agent 的职责范围。',
'settings.agents.source.userSettings': '用户',
'settings.agents.source.projectSettings': '项目',
'settings.agents.source.localSettings': '本地',
'settings.agents.source.policySettings': '托管',
'settings.agents.source.plugin': '插件',
'settings.agents.source.flagSettings': 'CLI 参数',
'settings.agents.source.built-in': '内置',
// Settings > Skills
'settings.skills.title': '已安装技能',
'settings.skills.description': '技能扩展 Claude 的能力。在 ~/.claude/skills/ 中管理技能。',
'settings.skills.browserTitle': '浏览已安装技能',
'settings.skills.browserEyebrow': '技能浏览器',
'settings.skills.browserDescription': '查看内置、项目和用户技能,比较它们的来源与规模,并打开技能目录阅读文档和源码文件。',
'settings.skills.entryEyebrow': '技能入口',
'settings.skills.slashCommand': '/斜杠命令',
'settings.skills.tokenEstimate': '约 {count} tokens',
'settings.skills.tokenEstimateShort': '约 {count}',
'settings.skills.summary.totalSkills': '技能总数',
'settings.skills.summary.totalFiles': '文件数',
'settings.skills.summary.sources': '来源类型',
'settings.skills.summary.tokens': '预估 tokens',
'settings.skills.summary.source': '来源',
'settings.skills.summary.entry': '入口文件',
'settings.skills.groupHint': '{source}中有 {count} 个技能可用',
'settings.skills.ready': '可查看',
'settings.skills.unavailable': '不可用',
'settings.skills.empty': '暂无已安装技能',
'settings.skills.emptyHint': '在 ~/.claude/skills/ 中添加技能即可开始',
'settings.skills.back': '返回列表',
'settings.skills.files': '个文件',
'settings.skills.entryFile': '入口文件',
'settings.skills.metaTitle': '技能元数据',
'settings.skills.filesPanel': '文件',
'settings.skills.filesPanelHint': '浏览入口文件及其配套实现文件。',
'settings.skills.readingMode': '当前为{mode}',
'settings.skills.docMode': '文档模式',
'settings.skills.codeMode': '代码模式',
'settings.skills.source.user': '用户',
'settings.skills.source.project': '项目',
'settings.skills.source.plugin': '插件',
'settings.skills.source.mcp': 'MCP',
'settings.skills.source.bundled': '内置',
// Settings > Memory
'settings.tab.memory': '记忆',
'settings.memory.title': '项目记忆',
'settings.memory.description': '查看和编辑 Claude 为每个项目写入的 Markdown 记忆文件。这些文件存放在 ~/.claude/projects/<project>/memory/,会被 CLI 运行时加载。',
'settings.memory.refresh': '刷新',
'settings.memory.projects': '项目',
'settings.memory.files': '记忆文件',
'settings.memory.resourceManager': '资源管理器',
'settings.memory.editor': '编辑',
'settings.memory.preview': '预览',
'settings.memory.rendered': '已渲染',
'settings.memory.emptyProjects': '还没有找到记忆项目。',
'settings.memory.emptyFiles': '还没有找到记忆文件。',
'settings.memory.selectFile': '选择一个记忆文件。',
'settings.memory.selectProject': '选择一个项目。',
'settings.memory.noFileSelected': '未选择文件',
'settings.memory.current': '当前',
'settings.memory.indexFile': '索引',
'settings.memory.missing': '目录缺失',
'settings.memory.fileCount': '{count} 个文件',
'settings.memory.unsaved': '未保存',
'settings.memory.saved': '已保存',
'settings.memory.revert': '还原',
'settings.memory.projectSearchPlaceholder': '按路径搜索项目...',
'settings.memory.fileSearchPlaceholder': '搜索记忆文件...',
'settings.memory.resourceSearchPlaceholder': '搜索项目或记忆文件...',
'settings.memory.noProjectMatches': '没有匹配的项目。',
'settings.memory.noFileMatches': '没有匹配的记忆文件。',
'settings.memory.clearSearch': '清空搜索',
'settings.memory.toggleFolder': '展开或折叠 {name}',
// Settings > Plugins
'settings.plugins.title': '已安装插件',
'settings.plugins.description': '查看已安装插件、运行状态,并把插件变更应用到桌面端运行时。',
'settings.plugins.browserTitle': '浏览已安装插件',
'settings.plugins.browserEyebrow': '插件管理',
'settings.plugins.browserDescription': '插件会把技能、Agent、Hook、MCP 服务和语言工具打包在一起。这里先聚焦已安装插件、健康状态和应用变更反馈,不把 CLI 的整套复杂交互直接搬过来。',
'settings.plugins.entryEyebrow': '插件详情',
'settings.plugins.summary.total': '插件总数',
'settings.plugins.summary.enabled': '已启用',
'settings.plugins.summary.attention': '需关注',
'settings.plugins.summary.marketplaces': '市场',
'settings.plugins.summary.skills': '技能',
'settings.plugins.summary.agents': 'Agents',
'settings.plugins.summary.mcp': 'MCP',
'settings.plugins.summary.hooks': 'Hooks',
'settings.plugins.group.attention': '需关注',
'settings.plugins.group.enabled': '已启用',
'settings.plugins.group.disabled': '已禁用',
'settings.plugins.groupHint': '此分组下共有 {count} 个插件',
'settings.plugins.refresh': '刷新',
'settings.plugins.apply': '应用变更',
'settings.plugins.applyHint': '启用、禁用或更新后,需要把插件变更重新应用到当前桌面端运行时。',
'settings.plugins.lastReload': '最近一次应用:{enabled} 个活跃插件,{skills} 个插件技能,{errors} 个错误。',
'settings.plugins.reloadToast': '插件变更已应用:{enabled} 个活跃插件,{skills} 个技能,{errors} 个错误。',
'settings.plugins.marketplacesTitle': '已知插件市场',
'settings.plugins.marketplacesHint': '这里只展示当前机器已经配置好的 marketplace 来源摘要。',
'settings.plugins.marketplaceAutoUpdateOn': '自动更新开',
'settings.plugins.marketplaceAutoUpdateOff': '自动更新关',
'settings.plugins.marketplaceInstalledCount': '已安装 {count} 个',
'settings.plugins.marketplaceUpdatedAt': '更新于 {value}',
'settings.plugins.status.enabled': '已启用',
'settings.plugins.status.disabled': '已禁用',
'settings.plugins.status.attention': '需关注',
'settings.plugins.scope.user': '用户',
'settings.plugins.scope.project': '项目',
'settings.plugins.scope.local': '本地',
'settings.plugins.scope.managed': '托管',
'settings.plugins.scope.builtin': '内置',
'settings.plugins.empty': '暂无已安装插件',
'settings.plugins.emptyHint': '先在 Claude Code 里安装插件,桌面端就可以在这里管理。',
'settings.plugins.back': '返回列表',
'settings.plugins.noDescription': '这个插件没有可用描述。',
'settings.plugins.errorCount': '{count} 个错误',
'settings.plugins.enable': '启用',
'settings.plugins.disable': '禁用',
'settings.plugins.update': '更新',
'settings.plugins.uninstall': '卸载',
'settings.plugins.confirmUninstall': '确定卸载插件“{name}”吗?会删除当前 scope 下的安装副本。',
'settings.plugins.author': '作者:{value}',
'settings.plugins.projectPath': '项目:{value}',
'settings.plugins.installPath': '安装位置:{value}',
'settings.plugins.managedHint': '这个插件由策略托管,不能在桌面端修改。',
'settings.plugins.builtinHint': '内置插件支持在这里重新应用,但不开放安装和卸载操作。',
'settings.plugins.errorsTitle': '插件错误',
'settings.plugins.capabilitiesTitle': '打包能力',
'settings.plugins.capabilitiesHint': '根据插件 manifest 和运行时集成解析出的能力列表。',
'settings.plugins.sharedNavigationDisabled': '先启用插件并应用变更才能在共享管理页中打开它的技能、Agent 或 MCP 条目。',
'settings.plugins.capabilityEmpty': '没有暴露',
'settings.plugins.capability.skills': '{count} 个技能',
'settings.plugins.capability.agents': '{count} 个 Agent',
'settings.plugins.capability.mcpServers': '{count} 个 MCP 服务',
'settings.plugins.capabilityLabel.skills': '技能',
'settings.plugins.capabilityLabel.commands': '命令',
'settings.plugins.capabilityLabel.agents': 'Agents',
'settings.plugins.capabilityLabel.hooks': 'Hooks',
'settings.plugins.capabilityLabel.mcpServers': 'MCP 服务',
'settings.plugins.capabilityLabel.lspServers': 'LSP 服务',
// Settings > About
'settings.tab.about': '关于',
'settings.about.version': '版本',
'settings.about.changelog': '更新日志',
'settings.about.repo': 'GitHub 仓库',
'settings.about.starHint': '如果这个项目对你有帮助,欢迎给个 Star',
'settings.about.feedback': '反馈问题',
'settings.about.feedbackDesc': '遇到 Bug 或使用问题,前往 GitHub Issue 提交反馈',
'settings.about.author': '作者',
'settings.about.socialMedia': '社交媒体',
'settings.about.updates': '应用更新',
'settings.about.updatesDesc': '检查 GitHub Releases下载安装包并在安装后自动重启。',
// Settings > Computer Use
'settings.tab.computerUse': 'Computer Use',
'settings.computerUse.title': 'Computer Use',
'settings.computerUse.description': '允许 Claude 截屏、点击、打字并控制你的电脑。需要 Python 3macOS 上还需要辅助功能权限。',
'settings.computerUse.enabledToggle': '启用',
'settings.computerUse.disabledHint': 'Computer Use 已关闭。新会话不会注入 computer-use MCP也不会把桌面控制工具暴露给 Coding Agent。',
'settings.computerUse.notSupported': 'Computer Use 仅支持 macOS 和 Windows。',
'settings.computerUse.python': 'Python 3',
'settings.computerUse.pythonNotFound': '未安装,请先安装 Python 3。',
'settings.computerUse.pythonFound': '已安装',
'settings.computerUse.pythonCustomInvalid': '自定义解释器不可用',
'settings.computerUse.pythonPathLabel': 'Python 解释器路径',
'settings.computerUse.pythonPathPlaceholder': '自动检测,或选择 python.exe / python3',
'settings.computerUse.pythonPathHint': '留空则自动检测;选择 conda、pyenv 或自定义环境里的 Python 可执行文件后会优先使用它创建运行环境。',
'settings.computerUse.pythonPathBrowse': '选择',
'settings.computerUse.pythonPathSave': '应用',
'settings.computerUse.pythonPathAuto': '自动',
'settings.computerUse.pythonPathSaved': '已保存,重新检测会优先使用这个解释器。',
'settings.computerUse.pythonPathSaveFailed': '保存失败,请稍后重试。',
'settings.computerUse.pythonPathDialogTitle': '选择 Python 解释器',
'settings.computerUse.pythonPathDialogFailed': '无法打开文件选择器,请手动粘贴路径。',
'settings.computerUse.venv': '虚拟环境',
'settings.computerUse.venvReady': '已就绪',
'settings.computerUse.venvNotReady': '未创建',
'settings.computerUse.deps': '依赖包',
'settings.computerUse.depsReady': '已安装',
'settings.computerUse.depsNotReady': '未安装',
'settings.computerUse.accessibility': '辅助功能权限',
'settings.computerUse.screenRecording': '屏幕录制权限',
'settings.computerUse.permGranted': '已授权',
'settings.computerUse.permDenied': '未授权 — 请前往「系统设置 > 隐私与安全性」授权',
'settings.computerUse.permUnknown': '请先安装环境后检测',
'settings.computerUse.permScreenRecordingUnknownSoft': '自动检测结果不稳定;如果系统设置里已授权,通常可以直接使用',
'settings.computerUse.permScreenRecordingManual': '无法自动检测 — 请在系统设置中手动确认已授权',
'settings.computerUse.setupBtn': '安装环境',
'settings.computerUse.setupRunning': '安装中...',
'settings.computerUse.setupSuccess': '环境安装完成!',
'settings.computerUse.setupFail': '安装失败',
'settings.computerUse.allReady': '所有检查通过Computer Use 已就绪。',
'settings.computerUse.downloadPython': '下载 Python 3',
'settings.computerUse.recheckBtn': '重新检测',
'settings.computerUse.requirementsLabel': '需要的 Python 包',
'settings.computerUse.appsTitle': '已授权应用',
'settings.computerUse.appsDescription': '预先授权 AppClaude 将可以直接控制这些 App无需运行时弹窗确认。',
'settings.computerUse.appsLoading': '加载已安装的 App...',
'settings.computerUse.appsEmpty': '未找到已安装的 App请先安装环境。',
'settings.computerUse.appsSearch': '搜索 App...',
'settings.computerUse.appsSaved': '已保存',
'settings.computerUse.openAccessibility': '打开辅助功能设置',
'settings.computerUse.openScreenRecording': '打开屏幕录制设置',
'settings.computerUse.permRestartHint': '授权后需重启 App 才能生效。',
'settings.computerUse.flagClipboard': '剪贴板访问',
'settings.computerUse.flagSystemKeys': '系统快捷键',
// Settings > General
// Settings > General - Mode
'settings.general.modeTitle': '运行模式',
'settings.general.modeDescription': '选择应用程序数据的存储位置。默认模式下,如果设置了 CLAUDE_CONFIG_DIR 环境变量则使用该路径,否则使用系统目录。便携模式将数据存储在自定义目录中。',
'settings.general.modeDefault': '默认模式',
'settings.general.modePortable': '便携模式',
'settings.general.modeDefaultHint': 'CLAUDE_CONFIG_DIR 环境变量指定的路径或系统目录Windows 上为 %APPDATA%)。',
'settings.general.modePortableDir': '便携配置目录',
'settings.general.modeSwitchTitle': '切换模式?',
'settings.general.modeSwitchBody': '切换到{mode}?此更改需要重启后生效。',
'settings.general.modeSwitchConfirm': '切换,稍后重启',
'settings.general.modeRestartTitle': '需要重启',
'settings.general.modeRestartHint': '重启应用使模式切换生效。下次启动时将更新配置目录。',
// Settings > General
'settings.general.appearanceTitle': '配色主题',
'settings.general.appearanceDescription': '在经典暖色、暗色与纯白工作区之间切换。',
'settings.general.appearance.light': '经典暖色',
'settings.general.appearance.dark': '暗色',
'settings.general.appearance.white': '纯白',
'settings.general.languageTitle': '语言',
'settings.general.languageDescription': '选择应用程序的显示语言。',
'settings.general.responseLangTitle': '回复语言',
'settings.general.responseLangDescription': '指定 Claude 始终以某种语言回复。',
'settings.general.responseLangDefault': '默认(英语)',
'settings.general.effortTitle': '推理强度',
'settings.general.effortDescription': '控制模型使用的计算量。',
'settings.general.effort.low': '低',
'settings.general.effort.medium': '中',
'settings.general.effort.high': '高',
'settings.general.effort.max': '最大',
'settings.general.thinkingTitle': '思考模式',
'settings.general.thinkingDescription': '控制新会话是否启用模型思考。关闭后DeepSeek 等兼容供应商会收到显式非思考模式参数。',
'settings.general.thinkingEnabled': '启用思考模式',
'settings.general.thinkingHint': '关闭后会以 --thinking disabled 启动新会话;适合 DeepSeek V4 Flash/Pro 等需要非思考模式的模型。',
'settings.general.notificationsTitle': '系统通知',
'settings.general.notificationsDescription': '使用操作系统原生通知提醒授权确认、Agent 回复完成和定时任务结果。',
'settings.general.notificationsEnabled': '启用系统通知',
'settings.general.notificationsHintOn': '开启后会请求系统通知权限,并通过系统通知中心提醒。',
'settings.general.notificationsHintOff': '关闭后授权确认、Agent 回复和定时任务都不会发送桌面通知。',
'settings.general.notificationsStatus': '权限',
'settings.general.notificationsStatusGranted': '已授权',
'settings.general.notificationsStatusDenied': '已被系统设置阻止',
'settings.general.notificationsStatusDefault': '尚未请求',
'settings.general.notificationsStatusUnsupported': '当前环境不可用',
'settings.general.notificationsAuthorize': '授权通知',
'settings.general.notificationsOpenSettings': '打开系统设置',
'settings.general.notificationsTestTitle': 'Claude Code Haha 通知已启用',
'settings.general.notificationsTestBody': '后续授权确认和 Agent 回复完成都会通过系统通知提醒。',
'settings.general.h5AccessTitle': 'H5 访问',
'settings.general.h5AccessDescription': '在局域网内暴露桌面端 H5 应用。手机通过带 H5 token 的二维码快速连接。',
'settings.general.h5AccessEnabled': '启用 H5 访问',
'settings.general.h5AccessEnabledHint': '桌面服务会监听局域网地址,并开放桌面会话相关能力。',
'settings.general.h5AccessStatusEnabled': '已启用',
'settings.general.h5AccessTokenPreview': '令牌预览',
'settings.general.h5AccessDisabledValue': '未启用',
'settings.general.h5AccessDisable': '关闭',
'settings.general.h5AccessGenerateToken': '生成令牌',
'settings.general.h5AccessRegenerate': '重新生成令牌',
'settings.general.h5AccessGeneratedToken': '生成的令牌',
'settings.general.h5AccessGeneratedTokenHint': '仅显示一次,请立即复制并像密码一样保存。',
'settings.general.h5AccessShowToken': '显示令牌',
'settings.general.h5AccessCopy': '复制',
'settings.general.h5AccessCopyUrl': '复制 H5 链接',
'settings.general.h5AccessCopyLaunchUrl': '复制扫码链接',
'settings.general.h5AccessUrlCopied': 'H5 链接已复制。',
'settings.general.h5AccessLaunchUrlCopied': '扫码链接已复制。',
'settings.general.h5AccessHideToken': '隐藏令牌',
'settings.general.h5AccessTokenNotAvailable': '重新生成后可显示新的令牌。',
'settings.general.h5AccessPublicUrl': '公开访问 URL',
'settings.general.h5AccessPublicUrlPlaceholder': 'https://chat.example.com',
'settings.general.h5AccessAllowedOrigins': '允许的来源',
'settings.general.h5AccessAllowedOriginsPlaceholder': 'https://chat.example.com, https://phone.example',
'settings.general.h5AccessOriginsHint': '每行一个来源,或使用逗号分隔多个来源。',
'settings.general.h5AccessOpenHint': '留空时使用自动探测的局域网地址。只有通过固定地址暴露 H5 时才需要填写。',
'settings.general.h5AccessSave': '保存 H5 设置',
'settings.general.h5AccessUrl': 'H5 链接',
'settings.general.h5AccessQrTitle': '手机连接',
'settings.general.h5AccessQrHint': '扫码会直接打开 H5并自动带上 token。',
'settings.general.h5AccessQrRefreshHint': '点击“生成令牌”后会创建可扫码的连接。',
'settings.general.h5AccessQrEmptyHint': '生成令牌后会在这里显示二维码。',
'settings.general.h5AccessQrAlt': 'H5 访问二维码',
'settings.general.h5AccessSafetyNote': '只在可信网络中启用。拿到二维码链接的人可以访问 H5 暴露的桌面能力。',
'settings.general.h5AccessConfirmTitle': '启用局域网 H5 访问?',
'settings.general.h5AccessConfirmBody': '这会把桌面 H5 应用暴露到局域网地址和端口。持有二维码 token 的设备可以访问桌面会话和相关控制能力。请只在可信网络中继续。',
'settings.general.h5AccessConfirmEnable': '启用 H5 访问',
'settings.general.h5AccessError': '更新 H5 设置失败。',
'settings.general.webFetchPreflightTitle': 'WebFetch 预检',
'settings.general.webFetchPreflightDescription': '桌面端默认跳过 Claude 的域名预检,避免第三方服务商或受限网络下出现误报失败。',
'settings.general.webFetchPreflightEnabled': '跳过 WebFetch 域名预检',
'settings.general.webFetchPreflightHint': '只有在你明确需要恢复上游默认安全预检时,才建议关闭这个选项。',
'settings.general.webSearchTitle': 'WebSearch',
'settings.general.webSearchDescription': '配置 Agent 联网搜索在 Claude 原生、第三方供应商和本地 fallback key 之间如何选择。',
'settings.general.webSearch.mode.auto': '自动',
'settings.general.webSearch.mode.tavily': 'Tavily',
'settings.general.webSearch.mode.brave': 'Brave',
'settings.general.webSearch.mode.anthropic': 'Claude',
'settings.general.webSearch.mode.disabled': '关闭',
'settings.general.webSearchTavilyKey': 'Tavily API Key',
'settings.general.webSearchBraveKey': 'Brave Search API Key',
'settings.general.webSearchBravePlaceholder': 'Brave Search token',
'settings.general.webSearchGetApiKey': '获取 API Key',
'settings.general.webSearchTavilyApiKeyLink': '获取 Tavily API Key',
'settings.general.webSearchBraveApiKeyLink': '获取 Brave Search API Key',
'settings.general.webSearchTavilyFreeHint': '注册账号即可复制 API Key免费额度包含 1000 Credits。',
'settings.general.webSearchBraveFreeHint': '注册账号后可创建 Search API Key免费额度可用于测试。',
'settings.general.webSearchHint': '自动模式会对 Claude 模型名优先使用原生 WebSearch失败或非 Claude 模型时再使用 Tavily/Brave。',
'settings.general.webSearchSave': '保存',
'settings.general.uiZoom': '界面缩放',
'settings.general.uiZoomDescription': '调整整个界面的显示大小。',
'settings.general.uiZoomShortcutHint': '快捷键更直接:',
'settings.general.uiZoomShortcutMac': 'macOS',
'settings.general.uiZoomShortcutWindows': 'Windows / Linux',
'settings.general.uiZoomShortcutResetHint': '0 表示恢复到 100%。',
'settings.general.uiZoomReset': '重置界面缩放到 100%',
// ─── Empty Session ──────────────────────────────────────
'empty.title': '新建会话',
'empty.subtitle': '开始一个新的编码会话。Claude 已准备好帮你构建、调试和架构你的项目。',
'empty.placeholder': '随便问点什么...',
'empty.addFiles': '添加文件或图片',
'empty.slashCommands': '斜杠命令',
'empty.failedToCreate': '创建会话失败',
'empty.createError.workdirMissing': '项目目录不存在或不是文件夹。请选择一个存在的项目后重试。',
'empty.createError.notGit': '当前项目不是 Git 仓库,无法选择分支启动。可以直接在当前目录开始,或改选一个 Git 项目。',
'empty.createError.branchNotFound': '选中的分支已经不存在。请刷新项目上下文后重新选择分支。',
'empty.createError.dirtyWorktree': '当前项目有未提交改动,已阻止直接切换分支。请开启“独立工作树”,或先提交/暂存这些改动。',
'empty.createError.branchCheckedOut': '该分支已在其他工作树中检出。请开启“独立工作树”,或选择其他分支。',
'empty.createError.worktreeCreateFailed': '无法创建独立工作树。请确认 Git 可以写入此仓库后重试。详情:{detail}',
'empty.createError.switchFailed': '无法切换当前项目分支。请先确认 Git 错误并保护好本地改动后重试。详情:{detail}',
'empty.createError.contextFailed': '无法检查这个 Git 项目。请确认仓库状态后重试。',
// ─── Repository Launch Controls ──────────────────────────────────────
'repoLaunch.selectBranch': '选择分支',
'repoLaunch.searchBranch': '搜索分支',
'repoLaunch.noBranch': '无分支',
'repoLaunch.noBranchMatch': '没有匹配的分支',
'repoLaunch.currentBranch': '当前分支',
'repoLaunch.localBranch': '本地分支',
'repoLaunch.remoteBranch': '远程分支',
'repoLaunch.checkedOut': '已在其他工作树中检出',
'repoLaunch.worktreeCurrent': '当前工作树',
'repoLaunch.worktreeIsolated': '独立工作树',
'repoLaunch.selectWorktree': '选择工作树模式',
'repoLaunch.missingWorkdir': '工作目录不存在。',
'repoLaunch.dirtyWarning': '检测到未提交变更,直接切换可能会被阻止;使用独立工作树可以继续,且不会改动当前目录。',
'repoLaunch.checkedOutWarning': '选中的分支已在其他工作树中检出。直接启动可能会被 Git 阻止;使用“独立工作树”可以避免切换当前目录。',
// ─── Chat Input ──────────────────────────────────────
'chat.placeholder': '让 Claude 编辑、调试或解释代码...',
'chat.placeholderMissing': '此会话指向的工作目录缺失。请新建会话或选择其他项目。',
'chat.addFiles': '添加文件或图片',
'chat.dropFilesTitle': '松手添加文件',
'chat.dropFilesHint': '会以文件路径附加到当前输入。',
'chat.workspaceReferencesOnly': '已添加 {count} 个工作区引用',
'chat.contextReferencesOnly': '已添加 {count} 个引用',
'chat.addSelectionToChat': '添加至对话',
'chat.userMessageReference': '用户消息',
'chat.assistantMessageReference': 'AI 回复',
'chat.slashCommands': '斜杠命令',
'chat.goalEvent.created': '目标已设置',
'chat.goalEvent.replaced': '目标已设置',
'chat.goalEvent.statusTitle': '目标状态',
'chat.goalEvent.paused': '目标已暂停',
'chat.goalEvent.resumed': '目标已恢复',
'chat.goalEvent.completed': '目标已完成',
'chat.goalEvent.cleared': '目标已清除',
'chat.goalEvent.message': '目标更新',
'chat.goalEvent.objective': '目标:{value}',
'chat.goalEvent.statusValue': '状态:{value}',
'chat.goalEvent.budget': '预算:{value}',
'chat.goalEvent.continuations': '续作次数:{value}',
'chat.activeGoal.title': '当前目标',
'chat.activeGoal.running': '自循环运行中',
'chat.activeGoal.active': '进行中',
'chat.activeGoal.paused': '已暂停',
'chat.activeGoal.completed': '已完成',
'chat.activeGoal.budget': '预算 {value}',
'chat.activeGoal.continuations': '续作次数 {value}',
'chat.activeGoal.elapsed': '已用时 {value}',
'chat.backgroundAgents.title': '后台 Agent',
'chat.backgroundAgents.count': '{count} 个运行中或最近任务',
'chat.backgroundAgents.agent': 'agent',
'chat.backgroundAgents.tokens': '{count} tokens',
'chat.backgroundAgents.status.running': '运行中',
'chat.backgroundAgents.status.completed': '已完成',
'chat.backgroundAgents.status.failed': '失败',
'chat.backgroundAgents.status.stopped': '已停止',
'slash.mcp.title': '可用 MCP 工具',
'slash.mcp.subtitle': '展示当前聊天上下文里的全局 MCP 和当前项目 MCP。',
'slash.mcp.subtitleWithProject': '当前展示全局 MCP 以及这个项目的 MCP{path}',
'slash.mcp.emptyTitle': '没有可用的 MCP 服务',
'slash.mcp.emptyBody': '当前聊天上下文里没有可用的全局或项目 MCP 服务。',
'slash.mcp.projectBadge': '项目:{name}',
'slash.skills.title': '可用技能',
'slash.skills.subtitle': '展示当前上下文里可直接调用的技能。',
'slash.skills.subtitleWithProject': '当前展示项目下的技能:{path}',
'slash.skills.emptyTitle': '没有可用技能',
'slash.skills.emptyBody': '当前上下文里没有找到可直接调用的技能。',
'slash.plugins.title': '插件',
'slash.plugins.subtitle': '插件管理后续会接到这个斜杠命令面板里。',
'slash.plugins.emptyTitle': '插件面板即将接入',
'slash.plugins.emptyBody': '这套共享的斜杠命令面板已经接通,插件数据下一步接进来。',
'slash.help.title': '斜杠命令',
'slash.help.subtitle': '运行 Agent 工作流、查看会话状态,或打开桌面端面板。',
'slash.help.group.context': '上下文',
'slash.help.group.project': '项目',
'slash.help.group.desktop': '桌面端',
'slash.help.group.more': '更多',
'slash.help.moreAvailable': '还有 {count} 条命令可用。输入 / 可以搜索完整命令列表。',
'slash.inspector.title': '会话检查器',
'slash.inspector.close': '关闭会话检查器',
'slash.inspector.loading': '正在加载会话数据',
'slash.inspector.error.noActiveSession': '当前没有选中的活跃会话。',
'slash.inspector.error.unavailable': '会话检查器数据不可用。请重启桌面端后端,让 /api/sessions/:id/inspection 接口生效。',
'slash.inspector.tab.status': '状态',
'slash.inspector.tab.usage': '用量',
'slash.inspector.tab.context': '上下文',
'slash.inspector.status.cliStatus': 'CLI 状态',
'slash.inspector.status.running': '运行中',
'slash.inspector.status.notRunning': '未运行',
'slash.inspector.status.activeModel': '当前模型',
'slash.inspector.status.unknown': '未知',
'slash.inspector.status.mcpConnections': 'MCP 连接',
'slash.inspector.status.connected': '已连接',
'slash.inspector.status.failed': '失败',
'slash.inspector.status.registeredTools': '注册工具',
'slash.inspector.status.commands': '条命令',
'slash.inspector.status.sessionMetadata': '会话元数据',
'slash.inspector.status.version': '版本',
'slash.inspector.status.sessionId': '会话 ID',
'slash.inspector.status.workingDirectory': '工作目录',
'slash.inspector.status.permissionMode': '权限模式',
'slash.inspector.status.authToken': '认证令牌',
'slash.inspector.status.outputStyle': '输出样式',
'slash.inspector.status.default': '默认',
'slash.inspector.status.mcpServers': 'MCP 服务',
'slash.inspector.status.refresh': '刷新',
'slash.inspector.status.contextWindow': '上下文窗口',
'slash.inspector.usage.emptyTitle': '暂无用量数据',
'slash.inspector.usage.emptyBody': 'CLI 会话启动并完成至少一轮回复后,这里会显示用量。',
'slash.inspector.usage.contextSnapshotNotice': '当前展示来自上下文快照的 token 用量。上下文数据刷新后会同步更新。',
'slash.inspector.usage.transcriptNotice': '当前展示从会话记录重建的用量。API 耗时只对正在运行的 CLI 进程可用。',
'slash.inspector.usage.unknownCost': '部分模型价格未知,费用统计可能不准确。',
'slash.inspector.usage.totalCost': '总费用',
'slash.inspector.usage.source': '来源',
'slash.inspector.usage.source.contextSnapshot': '上下文快照',
'slash.inspector.usage.source.transcript': '会话记录',
'slash.inspector.usage.source.currentProcess': '当前进程',
'slash.inspector.usage.apiDuration': 'API 耗时',
'slash.inspector.usage.wallDuration': '总耗时',
'slash.inspector.usage.usageSpan': '用量跨度',
'slash.inspector.usage.codeChanges': '代码改动',
'slash.inspector.usage.input': '输入',
'slash.inspector.usage.output': '输出',
'slash.inspector.usage.cacheReadWrite': '缓存读 / 写',
'slash.inspector.usage.webSearch': '网页搜索',
'slash.inspector.usage.byModel': '按模型统计',
'slash.inspector.usage.tokens': 'Tokens',
'slash.inspector.usage.noModelTitle': '暂无模型用量',
'slash.inspector.usage.noModelBody': '记录到模型回复后,这里会显示 token 用量。',
'slash.inspector.context.loading': '正在加载上下文数据',
'slash.inspector.context.emptyTitle': '暂无上下文数据',
'slash.inspector.context.emptyBody': '上下文用量需要活跃的 CLI 会话。',
'slash.inspector.context.windowUsage': '上下文窗口用量',
'slash.inspector.context.used': '已使用',
'slash.inspector.context.free': '剩余',
'slash.inspector.context.messages': '消息',
'slash.inspector.context.assistant': '助手',
'slash.inspector.context.toolResults': '工具结果',
'slash.inspector.context.context': '上下文',
'slash.inspector.context.categoryTitle': '按类别估算',
'slash.inspector.context.noCategoriesTitle': '暂无上下文分类',
'slash.inspector.context.noCategoriesBody': 'CLI 返回上下文分析后,这里会显示分类数据。',
'slash.inspector.context.memoryFiles': '记忆文件',
'slash.inspector.context.noMemoryFiles': '当前会话没有加载记忆文件。',
'slash.inspector.context.openMemory': '打开记忆',
'contextIndicator.ariaLabel': '上下文用量 {percent}',
'contextIndicator.pendingAria': '上下文用量待计算',
'contextIndicator.loadingAria': '上下文用量加载中',
'contextIndicator.unavailableAria': '上下文用量不可用',
'contextIndicator.title': '上下文',
'contextIndicator.modelUnknown': '未知模型',
'contextIndicator.used': '已使用',
'contextIndicator.free': '剩余',
'contextIndicator.window': '窗口',
'contextIndicator.loading': '正在加载上下文用量...',
'contextIndicator.pendingDetail': '会话启动后计算上下文用量。',
'contextIndicator.unavailable': '不可用',
'contextIndicator.unavailableDetail': '此会话暂时无法获取上下文用量。',
'contextIndicator.updatedUnknown': '尚未刷新',
'contextIndicator.updatedNow': '刚刚更新',
'contextIndicator.updatedMinutes': '{count} 分钟前更新',
'contextIndicator.estimate': '估算',
'chat.navigate': '导航',
'chat.select': '选择',
'chat.dismiss': '关闭',
'chat.stopTitle': '停止生成 (Cmd+.)',
'chat.jumpToLatest': '回到最新',
'chat.memorySavedTitle': '已保存 {count} 个记忆文件',
'chat.memorySavedFromToolsTitle': '保存了 {count} 条记忆',
'chat.memoryReferencedTitle': '{count} 条记忆引用',
'chat.memoryOpenSettings': '打开记忆',
'chat.memoryMoreFiles': '还有 {count} 个',
'chat.memoryTechnicalDetails': '工具详情',
'chat.rewindSuccessWithCode': '已回滚 {count} 条消息,并恢复相关文件。',
'chat.rewindSuccessConversationOnly': '已回滚 {count} 条消息。这一轮没有可用的文件检查点。',
'chat.turnChangesTitle': '{count} 个文件已更改',
'chat.turnChangesLatestCardLabel': '轮次已更改文件',
'chat.turnChangesHistoricalCardLabel': '轮次已更改文件',
'chat.turnChangesLatestSubtitle': '当前轮次检查点',
'chat.turnChangesHistoricalSubtitle': '历史轮次检查点',
'chat.turnChangesLatestUndo': '撤销当前轮次',
'chat.turnChangesHistoricalUndo': '回滚到这一轮之前',
'chat.turnChangesUndoing': '正在撤销...',
'chat.turnChangesLatestUndoAria': '撤销当前轮次变更',
'chat.turnChangesHistoricalUndoAria': '回滚到这一轮之前',
'chat.turnChangesLatestConfirmTitle': '撤销当前轮次?',
'chat.turnChangesHistoricalConfirmTitle': '回滚到这一轮之前?',
'chat.turnChangesLatestConfirmBody': '这会回滚最近一次助手回复,并恢复这一轮中被跟踪的文件变更。',
'chat.turnChangesHistoricalConfirmBody': '这会把会话回滚到这一轮之前,并恢复该检查点对应的文件变更。',
'chat.turnChangesLatestConfirmUndo': '撤销当前轮次',
'chat.turnChangesHistoricalConfirmUndo': '回滚到这一轮之前',
'chat.turnChangesShowDiffAria': '查看 {path} 的 diff',
'chat.turnChangesHideDiffAria': '收起 {path} 的 diff',
'chat.turnChangesDiffLoading': '正在加载 diff...',
'chat.turnChangesDiffUnavailable': 'Diff 不可用。',
// ─── Streaming Indicator ──────────────────────────────────────
'streaming.thinking': '思考中',
'streaming.running': '运行中',
'streaming.working': '工作中',
// ─── Permission Dialog ──────────────────────────────────────
'permission.allowEditFile': '允许 Claude {toolName} {fileName}',
'permission.allowEditFileGeneric': '允许 Claude {toolName}此文件?',
'permission.allowBash': '允许 Claude 执行此命令?',
'permission.allowTool': '允许 Claude 使用 {toolName}',
'permission.awaitingApproval': '等待审批',
'permission.responded': '已响应',
'permission.allow': '允许',
'permission.allowForSession': '本次会话允许',
'permission.deny': '拒绝',
'permission.hideDetails': '隐藏详情',
'permission.showFullInput': '显示完整输入',
'permission.replacingContent': '替换文件内容',
// ─── Computer Use Approval ──────────────────────────────────────
'computerUseApproval.titleApps': 'Computer Use 想控制这些应用',
'computerUseApproval.titleTcc': 'Computer Use 需要 macOS 权限',
'computerUseApproval.reason': '请求原因',
'computerUseApproval.allow': '本次会话允许',
'computerUseApproval.deny': '拒绝',
'computerUseApproval.alreadyGranted': '本次会话已授权',
'computerUseApproval.notInstalled': '应用未安装',
'computerUseApproval.sensitiveApp': '该应用属于高敏感类别,请额外确认后再授权。',
'computerUseApproval.alsoRequested': '同时请求了',
'computerUseApproval.hideWhileWorking': 'Claude 工作时会隐藏另外 {count} 个应用。',
'computerUseApproval.hideWhileWorkingRestore': 'Claude 工作时会隐藏另外 {count} 个应用,结束后会自动恢复。',
'computerUseApproval.accessibility': '辅助功能',
'computerUseApproval.screenRecording': '屏幕录制',
'computerUseApproval.granted': '已授权',
'computerUseApproval.notGranted': '未授权',
'computerUseApproval.openAccessibility': '打开辅助功能设置',
'computerUseApproval.openScreenRecording': '打开屏幕录制设置',
'computerUseApproval.tryAgain': '稍后重试',
'computerUseApproval.tccHint': '先在系统设置里授予缺失权限,返回后再点“稍后重试”。',
'computerUseApproval.tryAgainHint': '“稍后重试”会把控制权交还给 Claude让它在 macOS 权限生效后重新调用 request_access。',
// ─── Ask User Question ──────────────────────────────────────
'question.needsInput': 'Claude 需要你的输入',
'question.answered': '已回答',
'question.customResponse': '或输入自定义回复:',
'question.typePlaceholder': '输入你的回答...',
'question.submit': '提交',
'question.answeredPrefix': '已回答: ',
// ─── Thinking Block ──────────────────────────────────────
'thinking.label': '思考中',
// ─── Tool Calls ──────────────────────────────────────
'tool.errorOutput': '错误输出',
'tool.toolOutput': '工具输出',
'tool.toolInput': '工具输入',
'tool.readFileContents': '读取文件内容',
'tool.createFile': '创建文件',
'tool.updateFileContents': '更新文件内容',
'tool.linesChanged': '{count} 行已更改',
'tool.linesCreated': '{count} 行已创建',
'tool.linesOutput': '{count} 行输出',
'tool.result': '{toolName} 结果',
'tool.resultGeneric': '工具结果',
'tool.error': '错误',
'tool.success': '成功',
'tool.showLess': '收起',
'tool.showMore': '展开 {count} 个字符',
// ─── Tool Group Verbs ──────────────────────────────────────
'toolGroup.readOne': '读取了 1 个文件',
'toolGroup.readMany': '读取了 {count} 个文件',
'toolGroup.createdOne': '创建了一个文件',
'toolGroup.createdMany': '创建了 {count} 个文件',
'toolGroup.editedOne': '编辑了一个文件',
'toolGroup.editedMany': '编辑了 {count} 个文件',
'toolGroup.ranOne': '执行了一条命令',
'toolGroup.ranMany': '执行了 {count} 条命令',
'toolGroup.foundFiles': '查找到文件',
'toolGroup.searchedOne': '搜索了代码',
'toolGroup.searchedMany': '搜索了 {count} 个模式',
'toolGroup.agentOne': '派遣了一个代理',
'toolGroup.agentMany': '派遣了 {count} 个代理',
'agentStatus.starting': '开始中',
'agentStatus.running': '进行中',
'agentStatus.done': '完成',
'agentStatus.failed': '失败',
'agentStatus.stopped': '已停止',
'agentStatus.noActivity': '暂时还没有工具活动',
'agentStatus.viewResult': '查看结果',
'agentStatus.resultTitle': 'Agent 结果',
'toolGroup.searchedWeb': '搜索了网页',
'toolGroup.fetchedOne': '获取了一个页面',
'toolGroup.fetchedMany': '获取了 {count} 个页面',
// ─── Tasks ──────────────────────────────────────
'tasks.title': '任务',
'tasks.completed': '已完成的任务',
'tasks.dismissCompleted': '隐藏已完成任务',
'tasks.newTask': '+ 新建任务',
'tasks.emptyTitle': '暂无定时任务。',
'tasks.emptyDesc': '创建定时任务来自动化你的工程工作流。',
'tasks.createNew': '创建新任务',
'tasks.totalTasks': '总任务数',
'tasks.active': '活跃',
'tasks.disabled': '已禁用',
// ─── New Task Modal ──────────────────────────────────────
'newTask.title': '新建定时任务',
'newTask.localWarning': '本地任务仅在电脑唤醒时运行。',
'newTask.name': '名称',
'newTask.namePlaceholder': 'daily-code-review',
'newTask.description': '描述',
'newTask.descPlaceholder': '审查昨天的提交并标记可疑之处',
'newTask.frequency': '频率',
'newTask.everyNMinutes': '每 N 分钟',
'newTask.everyNHours': '每 N 小时',
'newTask.daily': '每天',
'newTask.weekdays': '工作日(周一至周五)',
'newTask.specificDays': '指定星期几',
'newTask.monthly': '每月',
'newTask.customCron': '自定义 Cron 表达式',
'newTask.intervalMinutes': '每 {n} 分钟',
'newTask.intervalHours': '每 {n} 小时',
'newTask.atMinute': '在第 :{m} 分钟',
'newTask.onMonthDay': '每月第 {d} 天',
'newTask.cronFormatHint': '格式:分 时 日 月 星期',
'newTask.invalidCron': '无效的 Cron 表达式',
'newTask.daySun': '日',
'newTask.dayMon': '一',
'newTask.dayTue': '二',
'newTask.dayWed': '三',
'newTask.dayThu': '四',
'newTask.dayFri': '五',
'newTask.daySat': '六',
'newTask.delayNote': '定时任务会使用随机延迟以优化服务器性能。',
'newTask.create': '创建任务',
'newTask.promptPlaceholder': '查看过去 24 小时的提交。总结变更内容,标记有风险的模式或缺失的测试,并记录值得跟进的事项。',
'newTask.notification': '通知',
'newTask.notifyOnComplete': '完成后推送通知',
'newTask.notifyChannels': '通知渠道',
'newTask.notifyHint': '任务完成后发送原生桌面通知或 IM 消息。',
'newTask.notifyDesktop': '桌面',
'newTask.notConfigured': '未配置',
'newTask.noChannelConfigured': '尚未配置任何 IM 渠道,请前往 设置 → IM 接入 进行配置。',
'newTask.noChannelSelected': '请至少选择一个通知渠道。',
// ─── Cron 描述 ──────────────────────────────────────
'cron.everyMinute': '每分钟执行',
'cron.everyNMinutes': '每 {n} 分钟执行',
'cron.everyHour': '每小时执行',
'cron.everyNHours': '每 {n} 小时执行',
'cron.everyNHoursAtMinute': '每 {n} 小时在第 :{m} 分钟执行',
'cron.dailyAt': '每天 {time} 执行',
'cron.weekdaysAt': '工作日 {time} 执行',
'cron.specificDaysAt': '每{days} {time} 执行',
'cron.monthlyAt': '每月 {day} 日 {time} 执行',
'cron.customSchedule': '自定义:{cron}',
'cron.dow.0': '周日',
'cron.dow.1': '周一',
'cron.dow.2': '周二',
'cron.dow.3': '周三',
'cron.dow.4': '周四',
'cron.dow.5': '周五',
'cron.dow.6': '周六',
// ─── 任务操作与日志 ──────────────────────────────────────
'tasks.runNow': '立即执行',
'tasks.confirmRun': '确定要立即执行此任务吗?',
'tasks.confirmDisable': '确定要禁用此定时任务吗?',
'tasks.confirmEnable': '确定要启用此定时任务吗?',
'tasks.confirmDelete': '确定要永久删除此任务及其所有日志吗?',
'tasks.running': '执行中...',
'tasks.viewLogs': '日志',
'tasks.logsTitle': '执行记录',
'tasks.noLogs': '暂无执行记录',
'tasks.runStatus.running': '运行中',
'tasks.runStatus.completed': '已完成',
'tasks.runStatus.failed': '失败',
'tasks.runStatus.timeout': '超时',
'tasks.duration': '{s}秒',
'tasks.viewOutput': '摘要',
'tasks.hideOutput': '收起',
'tasks.close': '关闭',
'tasks.edit': '编辑',
'tasks.editTitle': '编辑定时任务',
'tasks.saveChanges': '保存修改',
'tasks.openSession': '查看完整对话',
'tasks.createdAt': '创建于 ',
'tasks.lastRunAt': '上次执行 ',
'tasks.outputHintSession': '点击「查看完整对话」可在会话中查看完整输出。',
'tasks.noOutputText': '暂无输出内容。',
// ─── Prompt Editor ──────────────────────────────────────
'promptEditor.worktree': '工作树',
'promptEditor.bypassWarning': '跳过模式将授予完整系统访问权限',
'promptEditor.within': '范围',
'promptEditor.selectFolder': '— 选择文件夹以限制范围',
// ─── Permission Mode Selector ──────────────────────────────────────
'permMode.executionPermissions': '执行权限',
'permMode.askPermissions': '询问权限',
'permMode.askPermDesc': 'CLI 请求时确认文件编辑和高风险命令',
'permMode.autoAccept': '自动接受编辑',
'permMode.autoAcceptDesc': 'Claude 无需询问即可写入磁盘',
'permMode.planMode': '计划模式',
'permMode.planModeDesc': '仅架构和推理,不操作文件',
'permMode.bypass': '跳过权限',
'permMode.bypassDesc': '对 Shell 和文件系统的完整工具访问',
'permMode.dontAsk': '不询问',
'permMode.enableBypassTitle': '启用跳过权限?',
'permMode.enableBypassSubtitle': '这将授予对系统的完全访问权限',
'permMode.enableBypassBody': 'Claude 将拥有<strong>不受限制的</strong>权限来执行 Shell 命令和修改以下目录中的文件:',
'permMode.permReadWrite': '读取、写入和删除任何文件',
'permMode.permShell': '执行任意 Shell 命令',
'permMode.permPackages': '安装或移除软件包',
'permMode.enableBypassBtn': '启用跳过',
// Mode labels (compact, for chips)
'permMode.label.default': '询问权限',
'permMode.label.acceptEdits': '自动接受',
'permMode.label.plan': '计划模式',
'permMode.label.bypassPermissions': '跳过',
'permMode.label.dontAsk': '不询问',
// ─── Model Selector ──────────────────────────────────────
'model.selectModel': '选择模型',
'model.configuration': '模型配置',
'model.effort': '推理强度',
// ─── Directory Picker ──────────────────────────────────────
'dirPicker.selectProject': '选择项目...',
'dirPicker.recent': '最近',
'dirPicker.noRecent': '暂无最近项目',
'dirPicker.chooseFolder': '选择其他文件夹',
'dirPicker.chooseProjectFolder': '选择项目文件夹',
'dirPicker.useThisFolder': '使用此文件夹',
'dirPicker.noSubdirs': '无子目录',
// ─── File Search ──────────────────────────────────────
'fileSearch.searching': '搜索中...',
'fileSearch.noMatch': '没有匹配的文件',
'fileSearch.noFiles': '此目录下无文件',
'fileSearch.accessDenied': '无法访问此目录',
'fileSearch.loadFailed': '目录加载失败',
'fileSearch.navigate': '导航',
'fileSearch.attach': '附加',
'fileSearch.select': '选择',
'fileSearch.open': '打开目录',
'fileSearch.close': '关闭',
'fileSearch.directory': '目录',
'fileSearch.currentDirectory': '当前目录',
'fileSearch.folderTag': '目录',
'fileSearch.fileTag': '文件',
'fileSearch.openFolder': '打开目录',
// ─── Teams ──────────────────────────────────────
'teams.backToLeader': '\u2190 返回主控',
'teams.viewing': '查看:',
'teams.transcript': '记录',
'teams.noMessages': '暂无消息',
'teams.team': '团队:',
'teams.members': '名成员',
'teams.working': '正在工作中...',
'teams.thinking': '正在思考中...',
'teams.running': '运行中',
'teams.leader': '主控',
'teams.memberPlaceholder': '直接给这个 Agent 发消息...',
'teams.memberSessionHint': '这里发送的消息会直接投递给该 Agent同时继续刷新它的 transcript。',
// ─── Scheduled Tasks Pages ──────────────────────────────────────
'scheduledPage.title': '定时任务',
'scheduledPage.subtitle': '按计划或在需要时运行任务。在任意会话中输入 {code} 即可创建。',
'scheduledPage.desktopNotice': '定时任务仅在桌面应用打开时运行。请确保应用持续运行以按时触发任务。',
'scheduledPage.oldSubtitle': '管理自动化运维流程和后台维护任务。',
'scheduledPage.executionMode': '执行模式',
'scheduledPage.localMode': '本地模式',
'scheduledPage.remoteMode': '远程模式',
'scheduledPage.nextRun': '下次运行',
'scheduledPage.systemHealth': '系统健康',
'scheduledPage.activeSession': '活跃会话',
'scheduledPage.colTaskName': '任务名称',
'scheduledPage.colFrequency': '频率',
'scheduledPage.colLastResult': '上次结果',
'scheduledPage.colNextExecution': '下次执行',
'scheduledPage.colActions': '操作',
'scheduledPage.endOfList': '任务列表结束',
'scheduledPage.pausedTasks': '另有 9 个任务当前已暂停或因维护而禁用。',
'scheduledPage.recentLogs': '最近输出日志',
'scheduledPage.viewArtifacts': '查看完整产物',
'scheduledPage.resourceAllocation': '资源分配',
'scheduledPage.cpuCapacity': 'CPU 容量',
'scheduledPage.memoryLoad': '内存负载',
'scheduledPage.connectedLocal': '已连接到本地节点',
'scheduledPage.thisMonth': '本月 {count}',
// ─── 更新检查 ──────────────────────────────────────
'update.available': 'v{version} 可用',
'update.availableLabel': '可更新版本',
'update.checking': '正在检查更新...',
'update.checkNow': '检查更新',
'update.checkedAt': '上次检查时间 {time}',
'update.currentVersionUnknown': '未知版本',
'update.newVersion': '新版本 v{version} 可用',
'update.downloading': '下载中...',
'update.idle': '点击检查更新,对比当前安装版本和 GitHub Releases 的最新版本。',
'update.now': '立即更新',
'update.later': '稍后',
'update.progress': '正在下载更新... {progress}%',
'update.progressBytes': '正在下载更新... 已下载 {downloaded}',
'update.releaseNotes': '更新说明',
'update.restarting': '正在重启以完成更新...',
'update.upToDate': '当前已是最新版本 v{version}。',
'update.failed': '更新失败: {error}',
// ─── 活跃会话 ──────────────────────────────────────
'session.untitled': '未命名会话',
'session.active': '会话活跃中',
'session.lastUpdated': '最后更新 {time}',
'session.messages': '{count} 条消息',
'session.workspaceUnavailable': '工作目录不可用: {dir}',
'session.timeJustNow': '刚刚',
'session.timeMinutes': '{n}分钟前',
'session.timeHours': '{n}小时前',
'session.timeDays': '{n}天前',
// ─── 应用外壳 ──────────────────────────────────────
'app.serverFailed': '本地服务启动失败',
'app.serverFailedHint': '反馈这个问题时,请把这块诊断信息截图一起发到 issue 里。',
'app.startupError': '启动错误',
'app.serverLogs': '服务日志',
'app.copyDiagnostics': '复制诊断信息',
'app.copiedDiagnostics': '已复制',
'app.launching': '正在启动本地工作区...',
// ─── Error Codes ──────────────────────────────────────
'error.CLI_NOT_RUNNING': 'CLI 进程未运行。会话可能已结束或进程已崩溃。',
'error.CLI_START_FAILED': 'CLI 进程启动失败。',
'error.CLI_AUTH_REQUIRED': '需要认证。请先登录。',
'error.CLI_SESSION_CONFLICT': '会话已被其他进程占用。',
'error.CLI_SPAWN_FAILED': 'CLI 子进程启动失败。',
'error.CLI_ERROR': '处理过程中发生错误。',
'error.WORKDIR_INVALID': '工作目录无效或不存在。',
'error.PARSE_ERROR': '消息格式无效。',
'error.UNKNOWN_TYPE': '未知的消息类型。',
'error.BAD_REQUEST': '请求无效。',
'error.NOT_FOUND': '资源未找到。',
'error.INTERNAL_ERROR': '内部服务器错误。',
// ─── Server Status Verbs ──────────────────────────────────────
'serverVerb.Thinking': '思考中',
'serverVerb.Running': '运行中',
'serverVerb.Working': '处理中',
'serverVerb.Creating worktree': '正在创建工作树',
'serverVerb.Task started': '任务已启动',
'serverVerb.Task in progress': '任务进行中',
// ─── Tabs ──────────────────────────────────────
'tabs.close': '关闭',
'tabs.closeOthers': '关闭其他',
'tabs.closeLeft': '关闭左侧',
'tabs.closeRight': '关闭右侧',
'tabs.closeAll': '关闭所有',
'tabs.closeConfirmTitle': '会话运行中',
'tabs.closeConfirmMessage': '此会话仍在运行,你想要怎么做?',
'tabs.closeConfirmKeep': '保持运行',
'tabs.closeConfirmStop': '停止并关闭',
'tabs.openTerminal': '打开终端',
'tabs.showWorkspace': '显示工作区',
'tabs.hideWorkspace': '隐藏工作区',
}