import type { TranslationKey } from './en' export const zh: Record = { // ─── 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//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 3,macOS 上还需要辅助功能权限。', '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': '预先授权 App,Claude 将可以直接控制这些 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 将拥有不受限制的权限来执行 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': '隐藏工作区', }