2941 lines
191 KiB
TypeScript
2941 lines
191 KiB
TypeScript
import type { I18nKey } from './en';
|
||
import { settingsDict } from './zh-CN.settings';
|
||
|
||
export const dict: Record<I18nKey, string> = {
|
||
...settingsDict,
|
||
'terminalView.actions.attachSelection': '附加所选输出',
|
||
'terminalView.actions.restart': '重启终端',
|
||
'chat.message.terminalContext': '{terminal},第 {start}-{end} 行',
|
||
'chat.chatInput.terminalContext': '{terminal},第 {start}-{end} 行',
|
||
'chat.chatInput.terminalContextRemove': '移除终端上下文',
|
||
'chat.chatInput.prCommentContext': 'PR 评论',
|
||
'chat.chatInput.prCommentContextRemove': '移除 PR 评论上下文',
|
||
'chat.chatInput.prCheckContext': '失败的 PR 检查',
|
||
'chat.chatInput.prCheckContextRemove': '移除 PR 检查上下文',
|
||
'common.loading': '加载中...',
|
||
'common.unavailable': '不可用',
|
||
'common.language.english': 'English',
|
||
'common.language.german': '德语',
|
||
'common.language.french': '法语',
|
||
'common.language.simplifiedChinese': '简体中文',
|
||
'common.language.traditionalChinese': '繁体中文',
|
||
'common.language.ukrainian': '乌克兰语',
|
||
'common.language.spanish': '西班牙语',
|
||
'common.language.brazilianPortuguese': '巴西葡萄牙语',
|
||
'common.language.korean': '韩语',
|
||
'common.language.polish': '波兰语',
|
||
'common.language.japanese': '日语',
|
||
'common.revealPath.finder': '在 Finder 中显示',
|
||
'common.revealPath.fileExplorer': '在文件资源管理器中打开',
|
||
'common.revealPath.fileManager': '在文件管理器中打开',
|
||
'pwa.installPrompt.description': '安装 OpenChamber 以便更快访问',
|
||
'pwa.installPrompt.action': '安装',
|
||
'pwa.installPrompt.dismiss': '忽略',
|
||
'pwa.installPrompt.started': '已开始安装',
|
||
'pwa.installPrompt.installed': 'OpenChamber 已安装',
|
||
'layout.mainTab.chat': '聊天',
|
||
'layout.mainTab.plan': '计划',
|
||
'layout.mainTab.diff': '差异',
|
||
'layout.mainTab.diagram': '图表',
|
||
'layout.mainTab.files': '文件',
|
||
'layout.mainTab.terminal': '终端',
|
||
'layout.mainTab.context': '上下文',
|
||
'mobile.nav.aria': '移动导航',
|
||
'mobile.connect.welcome.title': '连接到 OpenChamber',
|
||
'mobile.connect.welcome.description': '添加服务器 URL 或扫描配对二维码即可开始使用移动应用。',
|
||
'mobile.connect.url.label': '服务器 URL',
|
||
'mobile.connect.url.placeholder': 'http://192.168.1.74:2606',
|
||
'mobile.connect.token.label': '客户端令牌',
|
||
'mobile.connect.token.placeholder': '粘贴访问令牌',
|
||
'mobile.connect.token.hint': '仅当服务器需要令牌而非密码时才需要填写。',
|
||
'mobile.connect.password.label': '密码',
|
||
'mobile.connect.password.placeholder': 'OpenChamber 密码',
|
||
'mobile.connect.connectButton': '连接',
|
||
'mobile.connect.unlockButton': '解锁并连接',
|
||
'mobile.connect.cancelPassword': '使用其他服务器',
|
||
'mobile.connect.connecting': '连接中...',
|
||
'mobile.connect.notice.unreachable': '无法连接到 {label}。请确认服务器正在运行。',
|
||
'mobile.connect.notice.authExpired': '对 {label} 的访问已过期或被撤销。请重新登录。',
|
||
'mobile.connect.recovery.description': '无法连接到已保存的服务器。请确认它正在运行,或选择其他实例。',
|
||
'mobile.connect.scanQr': '扫描二维码',
|
||
'mobile.connect.welcome.scanHint': '在电脑上打开「添加设备」显示二维码,然后在这里扫描。',
|
||
'mobile.connect.advanced': '高级',
|
||
'mobile.connect.manual.toggle': '通过地址连接',
|
||
'mobile.connect.scan.permissionDenied': '相机访问已关闭。请在“设置”中开启以扫描二维码。',
|
||
'mobile.connect.scan.failed': '无法扫描该二维码。请重试或手动输入网址。',
|
||
'mobile.connect.scan.invalid': '该二维码不是 OpenChamber 连接码。',
|
||
'mobile.connect.scan.unsupported': '二维码扫描仅在已安装的移动应用中可用。',
|
||
'mobile.connect.saved.title': '已保存的连接',
|
||
'mobile.connect.saved.empty': '暂无已保存的连接。',
|
||
'mobile.connect.relay.badge': '通过 OpenChamber Relay 连接',
|
||
'mobile.connect.error.urlRequired': '请输入服务器 URL。',
|
||
'mobile.connect.splash.connectingTo': '正在连接设备:',
|
||
'mobile.connect.error.invalidUrl': '该服务器 URL 无效。',
|
||
'mobile.connect.error.unreachable': '无法连接到该 OpenChamber 服务器。',
|
||
'mobile.connect.error.authRequired': '该服务器需要密码或客户端令牌。',
|
||
'mobile.connect.error.passwordFailed': '无法解锁该服务器。请检查密码。',
|
||
'mobile.instances.addTitle': '添加实例',
|
||
'mobile.instances.addManual': '通过地址添加',
|
||
'mobile.instances.editTitle': '编辑实例',
|
||
'mobile.instances.edit': '编辑',
|
||
'mobile.instances.delete': '删除',
|
||
'mobile.instances.deleteAria': '删除 {label}',
|
||
'mobile.instances.confirmDeleteAria': '确认删除 {label}',
|
||
'mobile.instances.cancelDeleteAria': '保留 {label}',
|
||
'mobile.instances.cancelEdit': '取消',
|
||
'mobile.instances.label.label': '名称',
|
||
'mobile.instances.label.placeholder': '可选显示名称',
|
||
'mobile.instances.saveNew': '保存实例',
|
||
'mobile.instances.status.connectedDirect': '已连接 · 局域网',
|
||
'mobile.instances.status.connectedRelay': '已连接 · 私有中继',
|
||
'mobile.instances.saveEdit': '保存更改',
|
||
'mobile.nav.changes': '更改',
|
||
'mobile.nav.settings': '设置',
|
||
'mobile.surface.closeAria': '关闭',
|
||
'mobile.header.openWorkspaceAria': '打开工作区面板',
|
||
'mobile.header.openMetadataAria': '打开会话元数据',
|
||
'mobile.header.metadata.context': '上下文',
|
||
'mobile.header.metadata.usage': '用量',
|
||
'mobile.menu.titleAria': '工作区工具',
|
||
'mobile.menu.files': '文件',
|
||
'mobile.menu.changes': '更改',
|
||
'mobile.menu.terminal': '终端',
|
||
'mobile.menu.mcp': 'MCP',
|
||
'mobile.menu.instances': '实例',
|
||
'mobile.menu.update': '更新',
|
||
'mobile.menu.settings': '设置',
|
||
'mobile.sessions.newChatCta': '在 {project} 中新建会话',
|
||
'mobile.sessions.dateGroup.today': '今天',
|
||
'mobile.sessions.dateGroup.yesterday': '昨天',
|
||
'mobile.sessions.dateGroup.thisWeek': '本周早些时候',
|
||
'mobile.sessions.dateGroup.older': '更早',
|
||
'mobile.sessions.section.worktrees': '工作树',
|
||
'mobile.sessions.section.otherProjects': '切换项目',
|
||
'mobile.sessions.section.projects': '项目',
|
||
'mobile.sessions.empty.noProjectsTitle': '暂无项目',
|
||
'mobile.sessions.empty.noProjectsDescription': '添加项目以开始与代码对话。',
|
||
'mobile.sessions.empty.noSessionsTitle': '暂无会话',
|
||
'mobile.sessions.empty.noSessionsDescription': '开始第一次会话即可在此显示。',
|
||
'mobile.sessions.empty.searchTitle': '无结果',
|
||
'mobile.sessions.empty.searchDescription': '请尝试其他搜索词。',
|
||
'mobile.sessions.showArchived': '显示已归档 ({count})',
|
||
'mobile.sessions.hideArchived': '隐藏已归档',
|
||
'mobile.sessions.activeWorktreeAria': '活动工作树',
|
||
'mobile.sessions.activeProjectAria': '活动项目',
|
||
'mobile.sessions.startNewChat': '开始新会话',
|
||
'mobile.sessions.newChat': '新会话',
|
||
'mobile.sessions.editOrder': '重新排序项目',
|
||
'mobile.sessions.doneEditing': '完成',
|
||
'mobile.sessions.editOrderHint': '拖动手柄以重新排序项目。点按项目可显示其工作树并同样拖动排序。点按对勾完成。',
|
||
'mobile.sessions.dragHandleAria': '拖动 {label} 以重新排序',
|
||
'mobile.sessions.moveUpAria': '将 {label} 上移',
|
||
'mobile.sessions.moveDownAria': '将 {label} 下移',
|
||
'mobile.sessions.removeProjectAria': '移除 {label}',
|
||
'mobile.sessions.confirmRemoveProjectAria': '确认移除 {label}',
|
||
'mobile.sessions.toast.projectRemoved': '已移除 {label}',
|
||
'mobile.sessions.archiveSessionAria': '归档 {title}',
|
||
'mobile.sessions.cancelArchiveAria': '取消归档 {title}',
|
||
'mobile.sessions.renameSessionAria': '重命名 {title}',
|
||
'mobile.sessions.renameError': '重命名会话失败',
|
||
'mobile.sessions.deleteSessionAria': '删除 {title}',
|
||
'mobile.sessions.confirmDeleteSessionAria': '确认删除 {title}',
|
||
'mobile.sessions.editProjectAria': '编辑 {label}',
|
||
'mobile.projectEdit.worktreesTitle': '工作树',
|
||
'mobile.projectEdit.worktreesEmpty': '此项目还没有工作树。',
|
||
'mobile.projectEdit.reorderHint': '拖动以重新排序工作树。',
|
||
'mobile.projectEdit.dragWorktreeAria': '拖动 {label} 以重新排序',
|
||
'mobile.projectEdit.deleteWorktreeAria': '移除工作树 {label}',
|
||
'mobile.projectEdit.deleteWorktreeTitle': '移除工作树',
|
||
'mobile.projectEdit.deleteWorktreeConfirmButton': '移除',
|
||
'mobile.projectEdit.deleteWorktreeConfirm': '移除工作树“{name}”?此操作无法撤销。',
|
||
'mobile.projectEdit.deleteWorktreeDirty': '此工作树有未提交的更改,将会丢失。',
|
||
'mobile.projectEdit.deleteWorktreeArchiveNote': '将归档 {count} 个关联会话。',
|
||
'mobile.projectEdit.deleteLocalBranch': '同时删除本地分支',
|
||
'mobile.projectEdit.deleteRemoteBranch': '同时删除远程分支',
|
||
'mobile.sessions.showMore': '再显示 {count} 个',
|
||
'mobile.sessions.search.section.sessions': '会话',
|
||
'mobile.sessions.search.section.archived': '已归档',
|
||
'mobile.sessions.search.section.projects': '项目',
|
||
'mobile.sessions.clearSearchAria': '清除搜索',
|
||
'mobile.header.noProject': '选择项目',
|
||
'mobile.header.activeSession': '活动会话',
|
||
'mobile.header.noSession': '无活动会话',
|
||
'mobile.sessions.openSheetAria': '打开会话和项目',
|
||
'mobile.sessions.closeSheetAria': '关闭会话和项目',
|
||
'mobile.sessions.sheet.title': '会话',
|
||
'mobile.sessions.sheet.description': '切换项目、打开会话或开始新聊天。',
|
||
'mobile.sessions.search.placeholder': '搜索会话',
|
||
'mobile.sessions.empty': '未找到会话。',
|
||
'mobile.sessions.unassignedProject': '其他会话',
|
||
'mobile.sessions.newSessionAria': '在此项目中开始新会话',
|
||
'mobile.sessions.untitled': '未命名会话',
|
||
'mobile.sessions.project.sessionsSingle': '1 个会话',
|
||
'mobile.sessions.project.sessionsPlural': '{count} 个会话',
|
||
'mobile.files.refreshAria': '刷新文件',
|
||
'mobile.files.backToParentAria': '返回 {name}',
|
||
'mobile.files.rootDirectory': '项目文件',
|
||
'mobile.files.search.placeholder': '搜索文件',
|
||
'mobile.files.search.empty': '未找到文件。',
|
||
'mobile.files.parentDirectory': '上级目录',
|
||
'mobile.files.empty.noDirectory': '选择一个项目以浏览文件。',
|
||
'mobile.files.empty.directory': '此目录为空。',
|
||
'mobile.files.error.listFailed': '加载文件失败',
|
||
'mobile.files.error.readUnavailable': '此运行环境不支持文件预览。',
|
||
'mobile.files.file.truncated': '移动端文件预览已截断。',
|
||
'mobile.files.copyPathAria': '复制文件路径',
|
||
'mobile.files.copyContent': '复制内容',
|
||
'mobile.files.copyContentAria': '复制文件内容',
|
||
'mobile.files.editAria': '编辑文件',
|
||
'mobile.files.doneEditingAria': '完成编辑',
|
||
'mobile.files.toast.pathCopied': '路径已复制',
|
||
'mobile.files.toast.contentCopied': '内容已复制',
|
||
'mobile.files.toast.copyFailed': '复制失败',
|
||
'mobile.changes.placeholder.title': '更改',
|
||
'mobile.changes.placeholder.description': '工作区更改 review、sync 和 commit 操作将在这里显示。',
|
||
'mobile.changes.branchLabel': '分支:{branch}',
|
||
'mobile.changes.noRemote': '没有可用的 remote',
|
||
'mobile.changes.cleanDescription': '此 workspace 中没有已更改文件。',
|
||
'mobile.changes.diffDetail.subtitle': '只读 diff',
|
||
'mobile.changes.diffDetail.loadFailed': '加载 diff 失败',
|
||
'mobile.changes.diffDetail.missingTitle': '文件不再有更改',
|
||
'mobile.changes.diffDetail.missingDescription': '返回“更改”并刷新列表。',
|
||
'mobile.changes.diffDetail.imageUnavailable': '移动“更改”暂不支持图片 diff。',
|
||
'mobile.settings.placeholder.title': '设置',
|
||
'mobile.settings.placeholder.description': '移动连接和应用设置将在这里显示。',
|
||
'layout.rightSidebar.git': 'Git',
|
||
'layout.rightSidebar.files': '文件',
|
||
'layout.rightSidebar.context': '上下文',
|
||
'layout.services.instance': '实例',
|
||
'layout.services.usage': '用量',
|
||
'sessions.sidebar.header.actions.closeSessions': '关闭会话',
|
||
'sessions.sidebar.header.actions.addProject': '添加项目',
|
||
'sessions.sidebar.header.actions.newSession': '新建会话',
|
||
'sessions.sidebar.header.actions.newMultiRun': '新建多运行',
|
||
'sessions.sidebar.header.actions.scheduledTasks': '计划任务',
|
||
'sessions.scheduledTasks.dialog.title': '计划任务',
|
||
'sessions.scheduledTasks.dialog.description': '服务端任务会创建新会话并发送已配置的提示词。',
|
||
'sessions.scheduledTasks.dialog.project.label': '项目',
|
||
'sessions.scheduledTasks.dialog.project.placeholder': '选择项目',
|
||
'sessions.scheduledTasks.dialog.project.empty': '暂无项目',
|
||
'sessions.scheduledTasks.dialog.actions.newTask': '新建任务',
|
||
'sessions.scheduledTasks.dialog.actions.runNow': '立即运行',
|
||
'sessions.scheduledTasks.dialog.actions.edit': '编辑',
|
||
'sessions.scheduledTasks.dialog.actions.editAria': '编辑 {taskName}',
|
||
'sessions.scheduledTasks.dialog.actions.deleteAria': '删除 {taskName}',
|
||
'sessions.scheduledTasks.dialog.loading': '正在加载任务...',
|
||
'sessions.scheduledTasks.dialog.empty.noTasks': '暂无计划任务。',
|
||
'sessions.scheduledTasks.dialog.empty.selectProject': '请选择一个项目来管理计划任务。',
|
||
'sessions.scheduledTasks.dialog.error.chooseProjectFirst': '请先选择一个项目',
|
||
'sessions.scheduledTasks.dialog.toast.loadFailed': '加载计划任务失败',
|
||
'sessions.scheduledTasks.dialog.toast.saved': '计划任务已保存',
|
||
'sessions.scheduledTasks.dialog.toast.updateFailed': '更新任务失败',
|
||
'sessions.scheduledTasks.dialog.toast.deleted': '计划任务已删除',
|
||
'sessions.scheduledTasks.dialog.toast.deleteFailed': '删除任务失败',
|
||
'sessions.scheduledTasks.dialog.toast.started': '任务已启动',
|
||
'sessions.scheduledTasks.dialog.toast.runFailed': '运行任务失败',
|
||
'sessions.scheduledTasks.dialog.confirm.deleteTask': '删除计划任务“{taskName}”?',
|
||
'sessions.scheduledTasks.dialog.schedule.daily': '每天 {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.dailyWithTimezone': '每天 {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.weekly': '每周 {days} {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone': '每周 {days} {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.once': '一次性 {date} {time}',
|
||
'sessions.scheduledTasks.dialog.schedule.onceWithTimezone': '一次性 {date} {time}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.cron': 'Cron:{cron}',
|
||
'sessions.scheduledTasks.dialog.schedule.cronWithTimezone': 'Cron:{cron}({timezone})',
|
||
'sessions.scheduledTasks.dialog.schedule.unknownDate': '未知日期',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.sun': '周日',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.mon': '周一',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.tue': '周二',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.wed': '周三',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.thu': '周四',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.fri': '周五',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.sat': '周六',
|
||
'sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown': '?',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute': '不到 1 分钟后',
|
||
'sessions.scheduledTasks.dialog.relativeTime.justNow': '刚刚',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inMinutes': '{count} 分钟后',
|
||
'sessions.scheduledTasks.dialog.relativeTime.minutesAgo': '{count} 分钟前',
|
||
'sessions.scheduledTasks.dialog.relativeTime.inDuration': '{duration} 后',
|
||
'sessions.scheduledTasks.dialog.relativeTime.durationAgo': '{duration} 前',
|
||
'sessions.scheduledTasks.dialog.status.success': '成功',
|
||
'sessions.scheduledTasks.dialog.status.error': '错误',
|
||
'sessions.scheduledTasks.dialog.status.running': '运行中',
|
||
'sessions.scheduledTasks.dialog.status.idle': '空闲',
|
||
'sessions.scheduledTasks.dialog.nextRun.label': '下次',
|
||
'sessions.scheduledTasks.dialog.lastRun.label': '上次运行',
|
||
'sessions.scheduledTasks.dialog.lastRun.runningNow': '正在运行',
|
||
'sessions.scheduledTasks.dialog.lastRun.never': '从未',
|
||
'sessions.scheduledTasks.dialog.taskToggle.enableAria': '启用 {taskName}',
|
||
'sessions.scheduledTasks.dialog.taskToggle.pauseAria': '暂停 {taskName}',
|
||
'sessions.scheduledTasks.dialog.taskToggle.enabled': '已启用',
|
||
'sessions.scheduledTasks.dialog.taskToggle.paused': '已暂停',
|
||
'sessions.scheduledTasks.dialog.loopFile.note': '由循环文件 {file} 管理',
|
||
'sessions.scheduledTasks.dialog.loopFile.toggleDisabled': '启用状态由循环文件控制;请在 Markdown frontmatter 中设置 enabled',
|
||
'sessions.scheduledTasks.dialog.loopFile.actionsDisabled': '循环任务在其 .agents/loops Markdown 文件中配置',
|
||
'sessions.scheduledTasks.editor.title.edit': '编辑计划任务',
|
||
'sessions.scheduledTasks.editor.title.new': '新建计划任务',
|
||
'sessions.scheduledTasks.editor.description': '配置一个服务端任务,用于创建新会话并发送提示词。',
|
||
'sessions.scheduledTasks.editor.taskName.label': '任务名称',
|
||
'sessions.scheduledTasks.editor.taskName.placeholder': '每日同步',
|
||
'sessions.scheduledTasks.editor.scheduleType.label': '计划类型',
|
||
'sessions.scheduledTasks.editor.scheduleType.daily': '每天',
|
||
'sessions.scheduledTasks.editor.scheduleType.weekly': '每周',
|
||
'sessions.scheduledTasks.editor.scheduleType.once': '一次性',
|
||
'sessions.scheduledTasks.editor.scheduleType.cron': 'Cron',
|
||
'sessions.scheduledTasks.editor.date.label': '日期',
|
||
'sessions.scheduledTasks.editor.date.placeholder': '选择日期',
|
||
'sessions.scheduledTasks.editor.date.previousMonth': '上个月',
|
||
'sessions.scheduledTasks.editor.date.nextMonth': '下个月',
|
||
'sessions.scheduledTasks.editor.date.jumpToToday': '跳转到今天',
|
||
'sessions.scheduledTasks.editor.date.today': '今天',
|
||
'sessions.scheduledTasks.editor.time.label': '时间',
|
||
'sessions.scheduledTasks.editor.time.hourAria': '小时',
|
||
'sessions.scheduledTasks.editor.time.minuteAria': '分钟',
|
||
'sessions.scheduledTasks.editor.time.periodAria': '时段',
|
||
'sessions.scheduledTasks.editor.time.period.am': 'AM',
|
||
'sessions.scheduledTasks.editor.time.period.pm': 'PM',
|
||
'sessions.scheduledTasks.editor.times.label': '时间点',
|
||
'sessions.scheduledTasks.editor.times.add': '添加时间',
|
||
'sessions.scheduledTasks.editor.times.removeAria': '移除时间',
|
||
'sessions.scheduledTasks.editor.timezone.label': '时区',
|
||
'sessions.scheduledTasks.editor.weekdays.label': '星期',
|
||
'sessions.scheduledTasks.editor.model.label': '模型',
|
||
'sessions.scheduledTasks.editor.thinkingLevel.label': '思考级别',
|
||
'sessions.scheduledTasks.editor.thinkingLevel.default': '默认',
|
||
'sessions.scheduledTasks.editor.agent.label': '智能体',
|
||
'sessions.scheduledTasks.editor.prompt.label': '提示词',
|
||
'sessions.scheduledTasks.editor.prompt.placeholder': '总结未完成任务并给出下一步建议',
|
||
'sessions.scheduledTasks.editor.enabled.aria': '启用任务',
|
||
'sessions.scheduledTasks.editor.enabled.label': '已启用',
|
||
'sessions.scheduledTasks.editor.goal.label': '作为目标运行',
|
||
'sessions.scheduledTasks.editor.goal.aria': '将此任务作为代理持续推进直至完成的目标运行',
|
||
'sessions.scheduledTasks.editor.goal.budgetLabel': '令牌预算',
|
||
'sessions.scheduledTasks.editor.goal.budgetAria': '用令牌预算限制该目标',
|
||
'sessions.scheduledTasks.editor.permissionAutoAccept.label': '自动接受权限',
|
||
'sessions.scheduledTasks.editor.permissionAutoAccept.aria': '启动任务会话时启用权限自动接受',
|
||
'sessions.scheduledTasks.editor.actions.closeAria': '关闭',
|
||
'sessions.scheduledTasks.editor.actions.cancel': '取消',
|
||
'sessions.scheduledTasks.editor.actions.save': '保存',
|
||
'sessions.scheduledTasks.editor.actions.saving': '保存中...',
|
||
'sessions.scheduledTasks.editor.toast.saveFailed': '保存任务失败',
|
||
'sessions.scheduledTasks.editor.validation.taskNameRequired': '任务名称为必填项',
|
||
'sessions.scheduledTasks.editor.validation.promptRequired': '提示词为必填项',
|
||
'sessions.scheduledTasks.editor.validation.modelRequired': '模型为必填项',
|
||
'sessions.scheduledTasks.editor.validation.dateFormat': '日期格式必须是 YYYY-MM-DD',
|
||
'sessions.scheduledTasks.editor.validation.timeFormat': '时间格式必须是 HH:mm',
|
||
'sessions.scheduledTasks.editor.validation.atLeastOneTime': '请至少添加一个有效时间',
|
||
'sessions.scheduledTasks.editor.validation.atLeastOneWeekday': '请至少选择一个星期',
|
||
'sessions.scheduledTasks.editor.validation.timezoneRequired': '时区为必填项',
|
||
'sessions.scheduledTasks.editor.validation.cronRequired': 'Cron 表达式为必填项',
|
||
'sessions.scheduledTasks.editor.validation.cronInvalid': 'Cron 表达式无效',
|
||
'sessions.scheduledTasks.editor.cronExpression.label': 'Cron 表达式',
|
||
'sessions.scheduledTasks.editor.cronExpression.placeholder': '*/5 * * * *',
|
||
'sessions.scheduledTasks.editor.cronExpression.nextRuns': '下次运行',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples': '示例',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.every5min': '每 5 分钟',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.everyHour': '每小时',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.monday9am': '每周一上午 9 点',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.9am5pm': '每天上午 9 点和下午 5 点',
|
||
'sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth': '每月第一天',
|
||
'multirun.launcher.title': '新建多运行',
|
||
'multirun.launcher.actions.closeEsc': '关闭 (Esc)',
|
||
'multirun.launcher.actions.cancel': '取消',
|
||
'multirun.launcher.actions.creating': '创建中...',
|
||
'multirun.launcher.actions.startWithModelCount': '开始({count} 个模型)',
|
||
'multirun.launcher.project.label': '项目',
|
||
'multirun.launcher.project.placeholder': '选择项目',
|
||
'multirun.launcher.project.empty': '请先添加项目。',
|
||
'multirun.launcher.project.gitRequired': '无工作树隔离:运行将使用同一目录。',
|
||
'multirun.launcher.groupName.label': '组名',
|
||
'multirun.launcher.groupName.info': '用于工作树目录和分支名称',
|
||
'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login',
|
||
'multirun.launcher.baseBranch.label': '基础分支',
|
||
'multirun.launcher.baseBranch.info': '每个模型都会基于此分支创建新分支',
|
||
'multirun.launcher.isolateRuns.label': '隔离运行',
|
||
'multirun.launcher.agent.label': '智能体',
|
||
'multirun.launcher.agent.info': '所有运行使用同一智能体。默认使用你当前配置的智能体。',
|
||
'multirun.launcher.setupCommands.label': '设置命令',
|
||
'multirun.launcher.setupCommands.loading': '加载中...',
|
||
'multirun.launcher.setupCommands.commandPlaceholder': 'bun install',
|
||
'multirun.launcher.setupCommands.removeCommandAria': '移除命令',
|
||
'multirun.launcher.setupCommands.addCommand': '添加命令',
|
||
'multirun.launcher.prompt.label': '提示词',
|
||
'multirun.launcher.prompt.placeholder': '输入要发送给所有模型的提示词...',
|
||
'multirun.launcher.attachments.attach': '附加',
|
||
'multirun.launcher.attachments.tooltip': '相同文件会发送到所有运行',
|
||
'multirun.launcher.models.label': '模型',
|
||
'multirun.launcher.models.info': '选择 2-{max} 个模型。同一模型可重复添加。',
|
||
'multirun.launcher.toast.fileTooLarge': '文件“{fileName}”过大(最大 10MB)',
|
||
'multirun.launcher.toast.attachFailed': '附加“{fileName}”失败',
|
||
'multirun.launcher.toast.attachedSingle': '已附加 {count} 个文件',
|
||
'multirun.launcher.toast.attachedPlural': '已附加 {count} 个文件',
|
||
'multirun.modelMultiSelect.actions.addModel': '添加模型',
|
||
'multirun.modelMultiSelect.search.placeholder': '搜索模型',
|
||
'multirun.modelMultiSelect.search.noResults': '未找到模型',
|
||
'multirun.modelMultiSelect.sections.favorites': '收藏',
|
||
'multirun.modelMultiSelect.sections.recent': '最近',
|
||
'multirun.modelMultiSelect.variant.placeholder': '思考',
|
||
'multirun.modelMultiSelect.variant.default': '默认',
|
||
'multirun.modelMultiSelect.keyboard.hint': '↑↓ 导航 • Enter 选择 • Esc 关闭',
|
||
'multirun.modelMultiSelect.validation.minOnly': '请至少选择 {min} 个模型。',
|
||
'multirun.modelMultiSelect.validation.minToMax': '请选择 {min} 到 {max} 个模型。',
|
||
'multirun.agentSelector.placeholder': '选择智能体',
|
||
'multirun.fusion.title': '运行融合',
|
||
'multirun.fusion.description': '将选中的多运行输出融合为一个更强的答案。',
|
||
'multirun.fusion.provider.placeholder': '提供商',
|
||
'multirun.fusion.model.placeholder': '模型',
|
||
'multirun.fusion.sources.label': '来源({count})',
|
||
'multirun.fusion.actions.cancel': '取消',
|
||
'multirun.fusion.actions.start': '开始融合',
|
||
'multirun.fusion.actions.starting': '正在开始...',
|
||
'multirun.fusion.toast.noOutputs': '未找到可用于融合的助手输出。',
|
||
'multirun.fusion.toast.failed': '启动融合失败。',
|
||
'multirun.launcher.attachments.label': '文件',
|
||
'multirun.launcher.actions.startWithRunCount': '开始({count} 次运行)',
|
||
'multirun.launcher.groups.addGroup': '添加运行组',
|
||
'multirun.launcher.groups.removeGroup': '移除运行组',
|
||
'multirun.launcher.groups.groupLabel': '运行组 {index}',
|
||
'multirun.launcher.groups.template.label': '模板',
|
||
'multirun.launcher.groups.template.placeholder': '选择模板...',
|
||
'multirun.launcher.groups.template.custom': '自定义提示词',
|
||
'multirun.launcher.groups.prompt.label': '提示词',
|
||
'multirun.launcher.groups.prompt.placeholder': '输入此运行组的提示词...',
|
||
'sessions.sidebar.header.actions.searchSessions': '搜索会话',
|
||
'sessions.sidebar.header.actions.exitSelection': '退出选择',
|
||
'sessions.sidebar.header.actions.selectSessions': '选择会话',
|
||
'sessions.sidebar.header.actions.sortProjects': '排序项目',
|
||
'sessions.sidebar.header.actions.sessionDisplayMode': '会话显示模式',
|
||
'sessions.sidebar.header.displayMode.label': '显示模式',
|
||
'sessions.sidebar.header.displayMode.default': '默认',
|
||
'sessions.sidebar.header.displayMode.minimal': '精简',
|
||
'sessions.sidebar.header.displayMode.showRecent': '显示最近部分',
|
||
'sessions.sidebar.header.displayMode.showArchived': '显示已归档会话',
|
||
'sessions.sidebar.header.displayMode.collapseAll': '全部折叠',
|
||
'sessions.sidebar.header.displayMode.expandAll': '全部展开',
|
||
'sessions.sidebar.header.projectSort.manual': '手动',
|
||
'sessions.sidebar.header.projectSort.aToZ': 'A → Z',
|
||
'sessions.sidebar.header.projectSort.zToA': 'Z → A',
|
||
'sessions.sidebar.header.projectSort.dateAdded': '最新',
|
||
'sessions.sidebar.header.projectSort.recent': '最近',
|
||
'sessions.sidebar.header.search.matchCountSingle': '{count} 个匹配',
|
||
'sessions.sidebar.header.search.matchCountPlural': '{count} 个匹配',
|
||
'sessions.sidebar.header.search.escapeHint': '按 Esc 清除',
|
||
'sessions.sidebar.header.search.placeholder': '搜索会话...',
|
||
'sessions.sidebar.header.search.clear': '清除搜索',
|
||
'sessions.sidebar.footer.actions.settings': '设置',
|
||
'sessions.sidebar.footer.actions.shortcuts': '快捷键',
|
||
'sessions.sidebar.footer.actions.aboutOpenChamber': '关于 OpenChamber',
|
||
'sessions.sidebar.footer.actions.update': '更新',
|
||
'sessions.sidebar.empty.noSessions.title': '暂无会话',
|
||
'sessions.sidebar.empty.noSessions.description': '创建你的第一个会话以开始编码。',
|
||
'sessions.sidebar.empty.noMatches.title': '没有匹配的会话',
|
||
'sessions.sidebar.empty.noMatches.description': '请尝试其他标题、分支、文件夹或路径。',
|
||
'sessions.sidebar.activity.recentTitle': '最近',
|
||
'sessions.archivePage.allDirectories': '所有目录',
|
||
'sessions.sidebar.header.displayMode.stickyHeaders': '固定项目标题',
|
||
'sessions.sidebar.header.grouping.label': '会话分组',
|
||
'sessions.sidebar.header.grouping.byWorktree': '按工作树',
|
||
'sessions.sidebar.header.grouping.flat': '平铺列表',
|
||
'sessions.sidebar.project.actions.manageWorktrees': '管理工作树',
|
||
'sessions.worktreesPage.title': '{project} 的工作树',
|
||
'sessions.worktreesPage.description': '创建、查看和删除此项目的 git 工作树。',
|
||
'sessions.worktreesPage.closeAria': '关闭工作树',
|
||
'sessions.scheduledTasks.page.closeAria': '关闭计划任务',
|
||
'sessions.sidebar.nav.archive': '归档',
|
||
'sessions.archivePage.title': '归档',
|
||
'sessions.archivePage.countSingle': '{count} 个已归档会话',
|
||
'sessions.archivePage.countPlural': '{count} 个已归档会话',
|
||
'sessions.archivePage.closeAria': '关闭归档',
|
||
'sessions.archivePage.searchPlaceholder': '搜索已归档会话',
|
||
'sessions.archivePage.empty.noArchived': '没有已归档会话',
|
||
'sessions.archivePage.empty.noMatches': '没有匹配的已归档会话',
|
||
'sessions.archivePage.otherProjects': '其他项目',
|
||
'sessions.archivePage.deleteProject': '删除此项目的所有已归档会话',
|
||
'sessions.archivePage.deleteProjectAria': '删除 {label} 的所有已归档会话',
|
||
'sessions.archivePage.deleteSessionAria': '删除 {title}',
|
||
'sessions.archivePage.restoreSessionAria': '还原 {title}',
|
||
'sessions.switcher.openAria': '打开会话切换器',
|
||
'sessions.switcher.empty': '没有最近会话',
|
||
'sessions.switcher.draftTitle': '新会话',
|
||
'sessions.sidebar.updateCheck.errorTitle': '检查更新失败',
|
||
'sessions.sidebar.updateCheck.latestVersion': '你已是最新版本',
|
||
'sessions.sidebar.directory.errorAddProjectTitle': '添加项目失败',
|
||
'sessions.sidebar.directory.errorAddProjectDescription': '请选择有效的目录。',
|
||
'sessions.sidebar.directory.errorSelectDirectoryTitle': '选择目录失败',
|
||
'sessions.sidebar.folder.newFolderName': '新建文件夹',
|
||
'sessions.sidebar.bulkActions.delete': '删除',
|
||
'sessions.sidebar.bulkActions.archive': '归档',
|
||
'sessions.sidebar.bulkActions.selectedCount': '已选择 {count} 项',
|
||
'sessions.sidebar.bulkActions.moveToFolder': '移动到文件夹',
|
||
'sessions.sidebar.bulkActions.deletedSingle': '已删除 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.deletedPlural': '已删除 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.failedDeleteSingle': '删除 {count} 个会话失败',
|
||
'sessions.sidebar.bulkActions.failedDeletePlural': '删除 {count} 个会话失败',
|
||
'sessions.sidebar.bulkActions.archivedSingle': '已归档 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.archivedPlural': '已归档 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.failedArchiveSingle': '归档 {count} 个会话失败',
|
||
'sessions.sidebar.bulkActions.failedArchivePlural': '归档 {count} 个会话失败',
|
||
'sessions.sidebar.bulkActions.restore': '还原',
|
||
'sessions.sidebar.bulkActions.restoredSingle': '已还原 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.restoredPlural': '已还原 {count} 个会话',
|
||
'sessions.sidebar.bulkActions.failedRestoreSingle': '还原 {count} 个会话失败',
|
||
'sessions.sidebar.bulkActions.failedRestorePlural': '还原 {count} 个会话失败',
|
||
'sessions.sidebar.folders.none': '暂无文件夹',
|
||
'sessions.sidebar.folders.newFolderEllipsis': '新建文件夹...',
|
||
'sessions.sidebar.folders.removeFromFolder': '从文件夹中移除',
|
||
'sessions.sidebar.folders.moveToFolder': '移动到文件夹',
|
||
'sessions.sidebar.project.actions.newWorktree': '新建工作树',
|
||
'sessions.sidebar.project.actions.newWorktreeEllipsis': '新建工作树...',
|
||
'sessions.sidebar.project.actions.projectMenu': '项目菜单',
|
||
'sessions.sidebar.project.actions.newSession': '新建会话',
|
||
'sessions.sidebar.project.actions.closeProject': '关闭项目',
|
||
'sessions.sidebar.project.actions.edit': '编辑',
|
||
'sessions.sidebar.project.actions.newDraftSession': '新建草稿会话',
|
||
'sessions.sidebar.session.menu.rename': '重命名',
|
||
'sessions.sidebar.session.menu.copyId': '复制会话 ID',
|
||
'sessions.sidebar.session.copyId.success': '会话 ID 已复制',
|
||
'sessions.sidebar.session.copyId.error': '无法复制会话 ID',
|
||
'header.sessionActions.openAria': '打开会话操作',
|
||
'sessions.sidebar.session.rename.save': '保存会话名称',
|
||
'sessions.sidebar.session.rename.cancel': '取消重命名会话',
|
||
'sessions.sidebar.session.menu.unpin': '取消置顶会话',
|
||
'sessions.sidebar.session.menu.pin': '置顶会话',
|
||
'sessions.sidebar.session.menu.share': '分享',
|
||
'sessions.sidebar.session.menu.copied': '已复制',
|
||
'sessions.sidebar.session.menu.copyLink': '复制链接',
|
||
'sessions.sidebar.session.menu.unshare': '取消分享',
|
||
'sessions.sidebar.session.menu.exportMarkdown': '导出 Markdown',
|
||
'sessions.sidebar.session.menu.moveToWorktree': '移至新工作树',
|
||
'sessions.sidebar.session.moveToWorktree.success': '会话已移至新工作树',
|
||
'sessions.sidebar.session.moveToWorktree.failed': '无法将会话移至新工作树',
|
||
'sessions.sidebar.session.moveToWorktree.tooltip': '从当前分支创建新工作树,转移未提交的更改,并将此会话及其子会话移至其中。',
|
||
'sessions.sidebar.session.moveToWorktree.tooltipBusy': '仅在会话空闲时可用。请停止当前活动或等待其完成。',
|
||
'sessions.sidebar.session.moveToWorktree.tooltipMoving': '此会话已在移至新工作树。',
|
||
'sessions.sidebar.session.menu.runFusion': '运行融合',
|
||
'sessions.sidebar.session.menu.openInSidePanel': '在侧边面板中打开',
|
||
'sessions.sidebar.session.actions.openInEditor': '在编辑器中打开',
|
||
'sessions.sidebar.session.menu.betaBadge': '测试版',
|
||
'sessions.sidebar.session.menu.label': '会话菜单',
|
||
'sessions.sidebar.session.untitled': '未命名会话',
|
||
'sessions.sidebar.session.export.nothingToExport': '没有可导出的内容',
|
||
'sessions.sidebar.session.export.failedLoadHistory': '无法加载完整的会话历史记录',
|
||
'sessions.sidebar.session.export.success': '会话已导出',
|
||
'sessions.sidebar.session.export.failedRevealPath': '显示路径失败',
|
||
'sessions.sidebar.session.export.untitledSubagent': '未命名子智能体',
|
||
'sessions.sidebar.session.export.skippedSubtaskSingle': '会话已导出,但跳过了 {count} 个无法加载的子智能体任务。',
|
||
'sessions.sidebar.session.export.skippedSubtaskMany': '会话已导出,但跳过了 {count} 个无法加载的子智能体任务。',
|
||
'sessions.sidebar.session.export.dialog.title': '导出 Markdown',
|
||
'sessions.sidebar.session.export.dialog.descriptionSingle': '此会话有 {count} 个子智能体任务。是否包含在导出中?',
|
||
'sessions.sidebar.session.export.dialog.descriptionMany': '此会话有 {count} 个子智能体任务。是否包含在导出中?',
|
||
'sessions.sidebar.session.export.dialog.includeSubtasks': '包含子智能体任务',
|
||
'sessions.sidebar.session.export.dialog.confirm': '导出',
|
||
'sessions.sidebar.session.status.active': '会话活跃中',
|
||
'sessions.sidebar.session.status.unread': '有未读更新',
|
||
'sessions.sidebar.session.status.pinned': '已置顶会话',
|
||
'sessions.sidebar.session.status.movingToWorktree': '正在将会话移至新工作树',
|
||
'sessions.sidebar.session.status.permissionRequired': '需要权限',
|
||
'sessions.sidebar.session.status.questionPendingSingle': '1 个待回答问题',
|
||
'sessions.sidebar.session.status.questionPendingMany': '{count} 个待回答问题',
|
||
'sessions.sidebar.session.status.activeFor': '已活动 {duration}',
|
||
'sessions.sidebar.session.status.lastTurnDuration': '上一轮耗时 {duration}',
|
||
'sessions.sidebar.session.subsessions.collapse': '折叠子会话',
|
||
'sessions.sidebar.session.subsessions.expand': '展开子会话',
|
||
'sessions.sidebar.dialogs.deleteSession.title': '删除会话?',
|
||
'sessions.sidebar.dialogs.archiveSession.title': '归档会话?',
|
||
'sessions.sidebar.dialogs.deleteSession.withOneSubtask': '“{sessionTitle}”及其 {count} 个子任务将被永久删除。',
|
||
'sessions.sidebar.dialogs.deleteSession.withManySubtasks': '“{sessionTitle}”及其 {count} 个子任务将被永久删除。',
|
||
'sessions.sidebar.dialogs.archiveSession.withOneSubtask': '“{sessionTitle}”及其 {count} 个子任务将被归档。',
|
||
'sessions.sidebar.dialogs.archiveSession.withManySubtasks': '“{sessionTitle}”及其 {count} 个子任务将被归档。',
|
||
'sessions.sidebar.dialogs.deleteSession.single': '“{sessionTitle}”将被永久删除。',
|
||
'sessions.sidebar.dialogs.archiveSession.single': '“{sessionTitle}”将被归档。',
|
||
'sessions.sidebar.dialogs.neverAsk': '不再询问',
|
||
'sessions.sidebar.dialogs.cancel': '取消',
|
||
'sessions.sidebar.dialogs.deleteSession.titleAction': '删除会话',
|
||
'sessions.sidebar.dialogs.deleteSessions.titleAction': '删除会话',
|
||
'sessions.sidebar.dialogs.deleteSessions.title': '删除会话?',
|
||
'sessions.sidebar.dialogs.archiveSessions.title': '归档会话?',
|
||
'sessions.sidebar.dialogs.deleteSessions.singleDescription': '{count} 个会话将被永久删除。',
|
||
'sessions.sidebar.dialogs.deleteSessions.pluralDescription': '{count} 个会话将被永久删除。',
|
||
'sessions.sidebar.dialogs.archiveSessions.singleDescription': '{count} 个会话将被归档。',
|
||
'sessions.sidebar.dialogs.archiveSessions.pluralDescription': '{count} 个会话将被归档。',
|
||
'sessions.sidebar.dialogs.deleteFolder.title': '删除文件夹?',
|
||
'sessions.sidebar.dialogs.deleteFolder.withOneSubfolder': '“{folderName}”将被删除,并包含 {count} 个子文件夹。其中的会话不会被删除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.withManySubfolders': '“{folderName}”将被删除,并包含 {count} 个子文件夹。其中的会话不会被删除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders': '“{folderName}”将被删除。其中的会话不会被删除。',
|
||
'sessions.sidebar.dialogs.deleteFolder.single': '“{folderName}”将被永久删除。',
|
||
'sessions.sidebar.dialogs.deleteResult.singleFailedToDelete': '{count} 个会话删除失败。',
|
||
'sessions.sidebar.dialogs.deleteResult.manyFailedToDelete': '{count} 个会话删除失败。',
|
||
'sessions.sidebar.dialogs.deleteResult.singleFailedToArchive': '{count} 个会话归档失败。',
|
||
'sessions.sidebar.dialogs.deleteResult.manyFailedToArchive': '{count} 个会话归档失败。',
|
||
'sessions.sidebar.dialogs.deleteResult.removedFromDate': '已移除 {dateLabel} 中的所有会话。',
|
||
'sessions.sidebar.dialogs.deleteResult.tryAgain': '请稍后重试。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked': '这将移除所选工作树。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked': '这将移除所选工作树并归档 {count} 个关联会话。',
|
||
'sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked': '这将移除所选工作树并归档 {count} 个关联会话。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionOne': '此操作将永久删除 1 个会话。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate': '此操作将永久删除来自 {dateLabel} 的 1 个会话。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionMany': '此操作将永久删除 {count} 个会话。',
|
||
'sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate': '此操作将永久删除来自 {dateLabel} 的 {count} 个会话。',
|
||
'sessions.sidebar.dialogs.sessionList.more': '+{count} 更多',
|
||
'sessions.sidebar.session.share.successTitle': '会话已分享',
|
||
'sessions.sidebar.session.share.successDescription': '分享链接已复制到剪贴板。',
|
||
'sessions.sidebar.session.share.error': '无法分享会话',
|
||
'sessions.sidebar.session.share.copyUrlError': '复制 URL 失败',
|
||
'sessions.sidebar.session.unshare.success': '会话已取消分享',
|
||
'sessions.sidebar.session.unshare.error': '无法取消分享会话',
|
||
'sessions.sidebar.session.delete.success': '会话已删除',
|
||
'sessions.sidebar.session.delete.error': '删除会话失败',
|
||
'sessions.sidebar.session.archive.success': '会话已归档',
|
||
'sessions.sidebar.session.archive.error': '归档会话失败',
|
||
'sessions.sidebar.session.restore.success': '会话已还原',
|
||
'sessions.sidebar.session.restore.error': '还原会话失败',
|
||
'sessions.sidebar.group.pr.checksPassed': '{success}/{total} 项检查已通过',
|
||
'sessions.sidebar.group.pr.failingCount': '{count} 项失败',
|
||
'sessions.sidebar.group.pr.pendingCount': '{count} 项等待中',
|
||
'sessions.sidebar.group.pr.conflictsOrBlocked': '有冲突或被阻止',
|
||
'sessions.sidebar.group.pr.mergeable': '可合并',
|
||
'sessions.sidebar.group.pr.mergeState': '合并状态:{state}',
|
||
'sessions.sidebar.group.pr.status.merged': '已合并',
|
||
'sessions.sidebar.group.pr.status.readyToMerge': '可合并',
|
||
'sessions.sidebar.group.pr.status.open': 'PR 已打开',
|
||
'sessions.sidebar.group.pr.status.mergeConflicts': '存在合并冲突',
|
||
'sessions.sidebar.group.pr.status.mergeBlocked': '合并被阻止',
|
||
'sessions.sidebar.group.pr.status.draft': '草稿 PR',
|
||
'sessions.sidebar.group.pr.status.closed': '已关闭',
|
||
'sessions.sidebar.group.empty.noArchivedSessions': '暂无已归档会话。',
|
||
'sessions.sidebar.group.empty.noSessionsInWorkspace': '该工作区暂无会话。',
|
||
'sessions.sidebar.group.showMore': '显示更多会话',
|
||
'sessions.sidebar.group.showMoreSingle': '再显示 {count} 个会话',
|
||
'sessions.sidebar.group.showMorePlural': '再显示 {count} 个会话',
|
||
'sessions.sidebar.group.showFewer': '显示更少会话',
|
||
'sessions.sidebar.group.expandAria': '展开 {label}',
|
||
'sessions.sidebar.group.collapseAria': '折叠 {label}',
|
||
'sessions.sidebar.group.actions.deleteArchivedInGroupAria': '删除 {label} 中已归档会话',
|
||
'sessions.sidebar.group.actions.deleteArchivedSessions': '删除已归档会话',
|
||
'sessions.sidebar.group.actions.deleteGroupAria': '删除 {label}',
|
||
'sessions.sidebar.group.actions.deleteWorktree': '删除工作树',
|
||
'sessions.sidebar.group.actions.newDraftInGroupAria': '在 {label} 中新建草稿会话',
|
||
'sessions.sidebar.grouping.projectRoot': '项目根目录',
|
||
'sessions.sidebar.grouping.projectRootWithBranch': '项目根目录:{branch}',
|
||
'sessions.sidebar.grouping.archived': '已归档',
|
||
'sessions.sidebar.grouping.archivedDescription': '已归档且未分配的会话',
|
||
'sessions.sidebar.folderItem.expandAria': '展开文件夹 {folderName}',
|
||
'sessions.sidebar.folderItem.collapseAria': '折叠文件夹 {folderName}',
|
||
'sessions.sidebar.folderItem.namePlaceholder': '文件夹名称',
|
||
'sessions.sidebar.folderItem.newSessionAria': '在 {folderName} 中新建会话',
|
||
'sessions.sidebar.folderItem.newSubfolderAria': '在 {folderName} 中新建子文件夹',
|
||
'sessions.sidebar.folderItem.newSubfolder': '新建子文件夹',
|
||
'sessions.sidebar.folderItem.renameAria': '重命名文件夹 {folderName}',
|
||
'sessions.sidebar.folderItem.deleteArchivedInFolderAria': '删除文件夹 {folderName} 中已归档会话',
|
||
'sessions.sidebar.folderItem.deleteFolderAria': '删除文件夹 {folderName}',
|
||
'sessions.sidebar.folderItem.emptyFolder': '空文件夹',
|
||
'sessions.sidebar.sessionDialogs.ok': '确定',
|
||
'sessions.sidebar.sessionDialogs.linkedSessionSingle': '关联会话',
|
||
'sessions.sidebar.sessionDialogs.linkedSessionPlural': '关联会话',
|
||
'sessions.sidebar.sessionDialogs.delete.note': '工作树目录会保留。与所选会话关联的子会话也会被删除。',
|
||
'sessions.sidebar.sessionDialogs.directory.errorSelectTitle': '选择目录失败',
|
||
'sessions.sidebar.sessionDialogs.directory.errorOpenTitle': '打开目录失败',
|
||
'sessions.sidebar.sessionDialogs.directory.errorOpenDescription': '桌面端无法授予文件访问权限。',
|
||
'sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle': '添加项目失败',
|
||
'sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription': '请选择有效的目录路径。',
|
||
'sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle': '移除工作树失败',
|
||
'sessions.sidebar.sessionDialogs.worktree.removedTitle': '工作树已移除',
|
||
'sessions.sidebar.sessionDialogs.worktree.removed': '工作树已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.removedWithRemote': '工作树和远程分支已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.attachedArchived': '关联工作树已归档。',
|
||
'sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural': '关联工作树已归档。',
|
||
'sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved': '工作树已归档且远程分支已移除。',
|
||
'sessions.sidebar.sessionDialogs.worktree.label': '工作树',
|
||
'sessions.sidebar.sessionDialogs.worktree.pathUnavailable': '工作树路径不可用。',
|
||
'sessions.sidebar.sessionDialogs.worktree.uncommittedWarning': '未提交的更改将被丢弃。',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch': '删除远程分支',
|
||
'sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable': '远程分支信息不可用',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteLocalBranch': '删除本地分支',
|
||
'sessions.sidebar.sessionDialogs.actions.deleting': '删除中…',
|
||
'sessions.sidebar.sessionDialogs.actions.deleteWorktree': '删除工作树',
|
||
'gitView.branch.branchToMergeInto': '要合并到 {branch} 的分支',
|
||
'gitView.branch.branchToRebaseOnto': '要变基到其上的分支',
|
||
'gitView.branch.create': '创建新分支...',
|
||
'gitView.branch.currentBadge': '当前',
|
||
'gitView.branch.currentBranchFallback': '当前分支',
|
||
'gitView.branch.currentBranchTooltip': '当前分支',
|
||
'gitView.branch.detachedHead': '分离的 HEAD',
|
||
'gitView.branch.dialogDescriptionPrefix': '选择如何将另一个分支的更改带入',
|
||
'gitView.branch.empty': '未找到分支。',
|
||
'gitView.branch.localBranches': '本地分支',
|
||
'gitView.branch.mergeDescription': '使用合并提交合并分支,并保留历史。',
|
||
'gitView.branch.mergeRebase': '合并/变基',
|
||
'gitView.branch.mergeRebaseTooltip': '从另一个分支合并或变基更改。',
|
||
'gitView.branch.mergingInProgress': '正在合并...',
|
||
'gitView.branch.namePlaceholder': '分支名称',
|
||
'gitView.branch.newBranchPlaceholder': '新分支名称',
|
||
'gitView.branch.noLocalBranches': '没有本地分支',
|
||
'gitView.branch.noRemoteBranches': '没有远程分支',
|
||
'gitView.branch.operation': '操作',
|
||
'gitView.branch.operationCompleted': '操作已完成',
|
||
'gitView.branch.operationFailed': '操作失败',
|
||
'gitView.branch.pushToPrefix': '将',
|
||
'gitView.branch.pushToSuffix': '推送到:',
|
||
'gitView.branch.rebaseDescription': '将你的提交移动到另一分支之上,形成线性历史。',
|
||
'gitView.branch.rebasingInProgress': '正在变基...',
|
||
'gitView.branch.remoteBranches': '远程分支',
|
||
'gitView.branch.renameTitle': '重命名分支',
|
||
'gitView.branch.renameSave': '保存分支名称',
|
||
'gitView.branch.renameSaving': '正在保存分支名称',
|
||
'gitView.branch.renameCancel': '取消重命名分支',
|
||
'gitView.branch.searchPlaceholder': '搜索分支...',
|
||
'gitView.branch.selectBranch': '选择分支...',
|
||
'gitView.branch.summaryMergeInfix': '合并到',
|
||
'gitView.branch.summaryMergePrefix': '这将把',
|
||
'gitView.branch.summaryRebaseInfix': '变基到',
|
||
'gitView.branch.summaryRebasePrefix': '这将把',
|
||
'gitView.branch.updateDescriptionPrefix': '将另一个分支的更改带入',
|
||
'gitView.branch.updateTitle': '更新分支',
|
||
'gitView.changes.changedFilesAria': '已更改文件',
|
||
'gitView.changes.clearSelectionAria': '清除文件选择',
|
||
'gitView.changes.collapseDirectoryAria': '折叠目录 {path}',
|
||
'gitView.changes.expandDirectoryAria': '展开目录 {path}',
|
||
'gitView.changes.revertAll': '全部还原',
|
||
'gitView.changes.revertAllDescriptionPlural': '这将丢弃列表中 {count} 个文件的本地更改。',
|
||
'gitView.changes.revertAllDescriptionSingle': '这将丢弃列表中 {count} 个文件的本地更改。',
|
||
'gitView.changes.revertAllDialogTitle': '还原所有更改?',
|
||
'gitView.changes.revertDirectoryAria': '还原 {path} 中的更改',
|
||
'gitView.changes.revertDirectory': '还原文件夹',
|
||
'gitView.changes.revertDirectoryDescriptionPlural': '这将丢弃 {path} 下 {count} 个文件的本地更改。',
|
||
'gitView.changes.revertDirectoryDescriptionSingle': '这将丢弃 {path} 下 {count} 个文件的本地更改。',
|
||
'gitView.changes.revertDirectoryDialogTitle': '还原文件夹更改?',
|
||
'gitView.changes.revertDirectoryTooltip': '还原文件夹更改',
|
||
'gitView.changes.revertFileAria': '还原 {path} 的更改',
|
||
'gitView.changes.revertFileTooltip': '还原更改',
|
||
'gitView.changes.reverting': '正在还原...',
|
||
'gitView.changes.selectAllAria': '全选文件',
|
||
'gitView.changes.selectFileAria': '选择 {path}',
|
||
'gitView.changes.stagedTitle': '已暂存',
|
||
'gitView.changes.resizeSplitAria': '调整已暂存和未暂存更改区域大小',
|
||
'gitView.changes.stageAllAria': '暂存所有更改',
|
||
'gitView.changes.stageDirectoryAria': '暂存 {path} 中的所有更改',
|
||
'gitView.changes.stageFileAria': '暂存 {path}',
|
||
'gitView.changes.title': '更改',
|
||
'gitView.changes.toggleDirectorySelectionAria': '切换目录 {path} 的选择',
|
||
'gitView.changes.unstageAllAria': '取消暂存所有更改',
|
||
'gitView.changes.unstageDirectoryAria': '取消暂存 {path} 中的所有更改',
|
||
'gitView.changes.unstageFileAria': '取消暂存 {path}',
|
||
'gitView.commit.addGitmoji': '添加 gitmoji',
|
||
'gitView.commit.aiHighlights.insertAria': '将高亮插入提交信息',
|
||
'gitView.commit.aiHighlights.insertTooltip': '将高亮追加到提交信息',
|
||
'gitView.commit.aiHighlights.title': '重点',
|
||
'gitView.commit.commit': '提交',
|
||
'gitView.commit.commitAria': '提交',
|
||
'gitView.commit.committing': '提交中...',
|
||
'gitView.commit.generate': '生成',
|
||
'gitView.commit.generateAria': '生成提交信息',
|
||
'gitView.commit.messagePlaceholder': '提交信息',
|
||
'gitView.commit.push': '提交并同步',
|
||
'gitView.commit.pushAria': '提交并同步',
|
||
'gitView.commit.pushing': '同步中...',
|
||
'gitView.commit.selectFilesHint': '在“更改”中选择文件以启用提交。',
|
||
'gitView.commit.stageFilesHint': '暂存文件以启用提交。',
|
||
'gitView.commit.title': '提交',
|
||
'gitView.common.cancel': '取消',
|
||
'gitView.common.close': '关闭',
|
||
'gitView.common.done': '完成',
|
||
'gitView.common.processing': '处理中...',
|
||
'gitView.common.reset': '重置',
|
||
'gitView.conflict.abortOperation': '中止 {operation}',
|
||
'gitView.conflict.conflictedFiles': '冲突文件:',
|
||
'gitView.conflict.continueLater': '稍后继续',
|
||
'gitView.conflict.detectedDescription': '{operation} 操作产生了需要解决的冲突。',
|
||
'gitView.conflict.detectedTitle': '检测到 {operation} 冲突',
|
||
'gitView.conflict.errorLoadingDetails': '加载详情失败:{message}',
|
||
'gitView.conflict.headInfo': 'HEAD 信息:',
|
||
'gitView.conflict.loadFailed': '加载冲突详情失败',
|
||
'gitView.conflict.loading': '正在加载冲突详情...',
|
||
'gitView.conflict.noActiveSession': '没有活动会话',
|
||
'gitView.conflict.noActiveSessionDescription': '请先打开一个聊天会话或新建会话。',
|
||
'gitView.conflict.resolveCurrentSession': '在当前会话中解决',
|
||
'gitView.conflict.resolveNewSession': '在新会话中解决',
|
||
'gitView.empty.cleanDescription': '所有更改都已提交',
|
||
'gitView.empty.cleanTitle': '工作区干净',
|
||
'gitView.empty.pullBehindPlural': '拉取 {count} 个提交',
|
||
'gitView.empty.pullBehindSingle': '拉取 {count} 个提交',
|
||
'gitView.header.identityTooltip': 'Git 身份',
|
||
'gitView.header.noIdentity': '无身份',
|
||
'gitView.header.noProfiles': '没有可应用的配置。',
|
||
'gitView.header.repositoryViews': '仓库视图',
|
||
'gitView.header.updateBranch': '更新分支',
|
||
'gitView.header.openPullRequest': '打开拉取请求',
|
||
'gitView.header.removeRemoteAria': '移除远程 {name}',
|
||
'gitView.header.removeRemoteTitle': '移除 {name}',
|
||
'gitView.header.upstreamSynced': '已同步',
|
||
'gitView.header.upstreamTooltip': '与 {target} 对比。',
|
||
'gitView.header.upstreamTooltipTracking': '与 {target} 对比。主要同步徽标仍然反映 {tracking}。',
|
||
'gitView.history.actions.cancelButton': '取消',
|
||
'gitView.history.actions.checkoutConfirm': '要将此提交检出为 detached HEAD 吗?',
|
||
'gitView.history.actions.cherryPickConfirm': '要将此提交 cherry-pick 到当前分支吗?',
|
||
'gitView.history.actions.conflictToastDescription': '冲突文件:{files}。请手动解决并提交,或使用 git cherry-pick/revert --abort 中止。',
|
||
'gitView.history.actions.conflictToastTitle': '冲突',
|
||
'gitView.history.actions.confirmButton': '确认',
|
||
'gitView.history.actions.mergeConfirm': '要将此提交合并到当前分支吗?',
|
||
'gitView.history.actions.rebaseConfirm': '要将当前分支变基到此提交吗?',
|
||
'gitView.history.actions.resetHardConfirm': 'Hard reset — HEAD 会移动,所有未提交更改将被永久丢弃。',
|
||
'gitView.history.actions.resetMixedConfirm': 'Mixed reset — HEAD 会移动,更改将取消暂存。',
|
||
'gitView.history.actions.resetSoftConfirm': 'Soft reset — HEAD 会移动,已暂存更改会保留。',
|
||
'gitView.history.actions.revertConfirm': '要暂存对此提交的 revert 吗?',
|
||
'gitView.history.actions.checkout': '检出',
|
||
'gitView.history.actions.cherryPick': 'Cherry-pick',
|
||
'gitView.history.actions.createBranch': '在此创建分支',
|
||
'gitView.history.actions.createBranchConfirm': '创建',
|
||
'gitView.history.actions.createBranchPlaceholder': '分支名称',
|
||
'gitView.history.actions.detachedHead': '已检出(detached HEAD)',
|
||
'gitView.history.actions.merge': '合并到当前分支',
|
||
'gitView.history.actions.rebase': '变基到此处',
|
||
'gitView.history.actions.reset': 'Reset...',
|
||
'gitView.history.actions.resetHard': 'Hard — 丢弃所有更改',
|
||
'gitView.history.actions.resetHardConfirmButton': '丢弃更改',
|
||
'gitView.history.actions.resetMixed': 'Mixed — 取消暂存更改',
|
||
'gitView.history.actions.resetSoft': 'Soft — 保留暂存',
|
||
'gitView.history.actions.revert': 'Revert',
|
||
|
||
'gitView.history.binary': '二进制',
|
||
'gitView.history.binaryNoDiff': '二进制文件,无法显示差异',
|
||
'gitView.history.commitsPlaceholder': '提交数',
|
||
'gitView.history.copySha': '复制 SHA',
|
||
'gitView.history.diffError': '加载差异失败,点击重试。',
|
||
'gitView.history.largeDiffDescription': '渲染可能较慢。你仍可点击下方查看差异。',
|
||
'gitView.history.largeDiffTitle': '大型差异({count} 行变更)',
|
||
'gitView.history.loadingDiff': '正在加载差异...',
|
||
'gitView.history.loadingFiles': '正在加载文件...',
|
||
'gitView.history.loadMore': '加载更多',
|
||
'gitView.history.loadingMore': '加载中...',
|
||
'gitView.history.logSize100': '100 个提交',
|
||
'gitView.history.logSize25': '25 个提交',
|
||
'gitView.history.logSize50': '50 个提交',
|
||
'gitView.history.noCommits': '未找到提交',
|
||
'gitView.history.noFiles': '没有文件',
|
||
'gitView.history.renamedNoDiff': '已重命名文件,不支持显示差异',
|
||
'gitView.history.renderDiffAnyway': '仍然渲染',
|
||
'gitView.history.title': '历史',
|
||
'gitView.history.refresh': '刷新',
|
||
'gitView.graph.title': '图谱',
|
||
'gitView.integrate.checking': '检查中…',
|
||
'gitView.integrate.cherryPickAbortedToast': '已中止 cherry-pick',
|
||
'gitView.integrate.cherryPickConflictDescription': '请先解决冲突,然后继续。',
|
||
'gitView.integrate.cherryPickConflictToast': 'cherry-pick 冲突',
|
||
'gitView.integrate.cherryPickContinueFailedToast': '继续 cherry-pick 失败',
|
||
'gitView.integrate.cherryPickFinishedToast': 'cherry-pick 已完成',
|
||
'gitView.integrate.commitsMovedDescriptionPlural': '已将 {count} 个提交移动到 {branch}',
|
||
'gitView.integrate.commitsMovedDescriptionSingle': '已将 {count} 个提交移动到 {branch}',
|
||
'gitView.integrate.commitsMovedToast': '提交已移动',
|
||
'gitView.integrate.commitsToMove': '待移动提交',
|
||
'gitView.integrate.conflictsInFiles': '{count} 个文件存在冲突',
|
||
'gitView.integrate.currentCommit': '当前提交',
|
||
'gitView.integrate.currentSession': '当前会话',
|
||
'gitView.integrate.failedToMoveToast': '移动提交失败',
|
||
'gitView.integrate.moreFiles': '另有 {count} 个',
|
||
'gitView.integrate.move': '移动',
|
||
'gitView.integrate.moveCommits': '移动提交',
|
||
'gitView.integrate.moving': '移动中…',
|
||
'gitView.integrate.newSession': '新会话',
|
||
'gitView.integrate.noActiveSession': '没有活动会话',
|
||
'gitView.integrate.noActiveSessionDescription': '请先打开聊天会话或新建会话。',
|
||
'gitView.integrate.noCommitsToMove': '没有可移动的提交。',
|
||
'gitView.integrate.noCommitsToMoveToast': '没有可移动的提交',
|
||
'gitView.integrate.previewUnavailable': '预览不可用。',
|
||
'gitView.integrate.showAll': '显示全部',
|
||
'gitView.integrate.showLess': '收起',
|
||
'gitView.integrate.showingFirstCommits': '显示前 {count} 个提交。',
|
||
'gitView.integrate.target': '目标',
|
||
'gitView.integrate.title': '重新整合提交',
|
||
'gitView.integrate.toMoveCount': '{count} 待移动',
|
||
'gitView.operation.abort': '中止',
|
||
'gitView.operation.continue': '继续',
|
||
'gitView.operation.inProgressTitle': '{operation} 进行中',
|
||
'gitView.operation.inProgressTitleManyConflicts': '{operation} 进行中:{count} 个冲突',
|
||
'gitView.operation.inProgressTitleOneConflict': '{operation} 进行中:{count} 个冲突',
|
||
'gitView.operation.merge': '合并',
|
||
'gitView.operation.mergeInProgressWithHead': '合并进行中({head})',
|
||
'gitView.operation.mergingMessage': '正在合并:{message}',
|
||
'gitView.operation.rebase': '变基',
|
||
'gitView.operation.rebaseInProgress': '变基进行中',
|
||
'gitView.operation.rebasingOnto': '正在将 {headName} 变基到 {onto}',
|
||
'gitView.operation.readyToContinueHint': '所有冲突已解决。继续以完成操作。',
|
||
'gitView.operation.resolveConflictsHint': '解决冲突,然后继续操作。',
|
||
'gitView.operation.resolveWithAi': '使用 AI 解决',
|
||
'gitView.stash.confirmButton': '储藏并{operation}',
|
||
'gitView.stash.description': '你有未提交更改会被此次 {operation} 覆盖。是否先临时储藏这些更改?',
|
||
'gitView.stash.mergeWith': '与',
|
||
'gitView.stash.rebaseOnto': '变基到',
|
||
'gitView.stash.restoreAfterOperation': '{operation} 后恢复更改',
|
||
'gitView.stash.restoreAria': '在操作后恢复更改',
|
||
'gitView.stash.stepRestore': '恢复已储藏的更改',
|
||
'gitView.stash.stepStash': '储藏未提交的更改',
|
||
'gitView.stash.thisWill': '这将会:',
|
||
'gitView.stash.title': '未提交的更改',
|
||
'gitView.stashes.actions.apply': '应用',
|
||
'gitView.stashes.actions.drop': '删除',
|
||
'gitView.stashes.actions.pop': '弹出',
|
||
'gitView.stashes.actions.stashCurrent': '储藏当前更改',
|
||
'gitView.stashes.actions.stashCurrentWithCount': '储藏 {count} 个文件',
|
||
'gitView.stashes.confirm.drop': '删除 {ref}?',
|
||
'gitView.stashes.description': '保存、恢复并清理此仓库中的 Git 储藏。',
|
||
'gitView.stashes.empty.list': '暂无储藏。',
|
||
'gitView.stashes.empty.search': '没有匹配的储藏。',
|
||
'gitView.stashes.includeUntrackedHint': '未跟踪文件会自动包含在内。',
|
||
'gitView.stashes.fileCount': '{count} 个文件',
|
||
'gitView.stashes.fileCountLoading': '正在统计文件...',
|
||
'gitView.stashes.itemNumber': '#{number}',
|
||
'gitView.stashes.latestLabel': '最新',
|
||
'gitView.stashes.messagePlaceholder': '储藏名称',
|
||
'gitView.stashes.searchPlaceholder': '搜索储藏',
|
||
'gitView.stashes.title': '储藏',
|
||
'gitView.stashes.toast.applyFailed': '应用储藏失败',
|
||
'gitView.stashes.toast.applySuccess': '已应用储藏',
|
||
'gitView.stashes.toast.createFailed': '储藏更改失败',
|
||
'gitView.stashes.toast.created': '更改已储藏',
|
||
'gitView.stashes.toast.dropFailed': '删除储藏失败',
|
||
'gitView.stashes.toast.dropSuccess': '储藏已删除',
|
||
'gitView.stashes.toast.loadFailed': '加载储藏失败',
|
||
'gitView.stashes.toast.noChanges': '没有可储藏的本地更改',
|
||
'gitView.stashes.toast.popFailed': '弹出储藏失败',
|
||
'gitView.stashes.toast.popSuccess': '已弹出储藏',
|
||
'gitView.stashes.untitled': '未命名储藏',
|
||
'gitView.sync.fetch': '获取',
|
||
'gitView.sync.fetchFromRemote': '从 {name} 获取',
|
||
'gitView.sync.fetchTooltip': '从远程获取',
|
||
'gitView.sync.commitOrStashTooltip': '同步前请先提交或储藏你的更改',
|
||
'gitView.sync.moreActionsAria': '更多同步操作',
|
||
'gitView.sync.noRemoteTooltip': '未配置远程',
|
||
'gitView.sync.pull': '拉取',
|
||
'gitView.sync.pullTooltip': '拉取更改',
|
||
'gitView.sync.pullTooltipBehind': '拉取更改(落后 {count})',
|
||
'gitView.sync.push': '推送',
|
||
'gitView.sync.pushTooltip': '推送更改',
|
||
'gitView.sync.pushTooltipAhead': '推送更改(领先 {count})',
|
||
'gitView.sync.sync': '同步',
|
||
'gitView.sync.syncChanges': '同步更改',
|
||
'gitView.sync.syncChangesTooltip': '同步更改(落后 {behind},领先 {ahead})',
|
||
'gitView.sync.syncChangesWithCounts': '同步更改 {behind}↓ {ahead}↑',
|
||
'gitView.sync.syncCounts': '{behind}↓ {ahead}↑',
|
||
'gitView.branch.actionsUnavailable': '当前仓库状态下分支操作不可用',
|
||
'gitView.conflict.noDetailsAvailable': '没有可用的冲突详情',
|
||
'gitView.empty.notGitRepository': '当前目录不是 Git 仓库',
|
||
'gitView.empty.notGitRepositoryDescription': '请在此目录初始化 Git,或打开一个 Git 仓库。',
|
||
'gitView.empty.selectSessionOrDirectory': '请选择会话或目录以查看 Git 状态',
|
||
'gitView.empty.worktreeFeaturesUnavailable': '当前工作区模式下,工作树功能不可用。',
|
||
'gitView.empty.worktreeSetupDescription': '正在完成工作树设置并准备仓库状态。',
|
||
'gitView.empty.worktreeSetupInProgress': '工作树设置进行中',
|
||
'worktree.bootstrap.toast.failed': '工作树设置失败',
|
||
'worktree.bootstrap.toast.failedDescription': '工作树已创建,但后台设置未完成。',
|
||
'worktree.bootstrap.toast.timeoutDescription': '工作树已创建,但后台设置超时。',
|
||
'gitView.gitmoji.empty': '未找到 gitmoji',
|
||
'gitView.gitmoji.searchPlaceholder': '搜索 gitmoji...',
|
||
'gitView.gitmoji.title': '插入 gitmoji',
|
||
'gitView.history.dialogDescription': '浏览最近提交并查看变更文件。',
|
||
'gitView.loading.checkingRepository': '正在检查仓库...',
|
||
'gitView.loading.loading': '加载中...',
|
||
'gitView.pr.actions.add': '添加',
|
||
'gitView.pr.actions.cancelEditing': '取消编辑',
|
||
'gitView.pr.actions.cancelEditingAria': '取消 PR 编辑',
|
||
'gitView.pr.actions.createPr': '创建 PR',
|
||
'gitView.pr.actions.edit': '编辑',
|
||
'gitView.pr.actions.editPr': '编辑 PR',
|
||
'gitView.pr.actions.editPrAria': '编辑拉取请求',
|
||
'gitView.pr.actions.hide': '隐藏',
|
||
'gitView.pr.actions.markReady': '标记为可审查',
|
||
'gitView.pr.actions.markReadyAria': '将拉取请求标记为可审查',
|
||
'gitView.pr.actions.mergePr': '合并 PR',
|
||
'gitView.pr.actions.mergePrAria': '合并拉取请求',
|
||
'gitView.pr.actions.openChecks': '打开检查',
|
||
'gitView.pr.actions.openChecksAria': '打开失败的检查',
|
||
'gitView.pr.actions.openComments': '打开评论',
|
||
'gitView.pr.actions.openCommentsAria': '打开拉取请求评论',
|
||
'gitView.pr.actions.openOnGitHub': '在 GitHub 中打开',
|
||
'gitView.pr.actions.openOnGitHubAria': '在 GitHub 中打开拉取请求',
|
||
'gitView.pr.actions.openSettings': '打开设置',
|
||
'gitView.pr.actions.repo': '仓库',
|
||
'gitView.pr.actions.resolveFailedChecks': '附加失败的检查',
|
||
'gitView.pr.actions.resolveFailedChecksAria': '将失败的检查附加到聊天上下文',
|
||
'gitView.pr.actions.savePr': '保存 PR',
|
||
'gitView.pr.actions.savePrAria': '保存拉取请求更改',
|
||
'gitView.pr.actions.sendCommentToAgent': '将评论附加到聊天上下文',
|
||
'gitView.pr.actions.sendCommentToAgentAria': '将此评论附加到聊天上下文',
|
||
'gitView.pr.actions.sendToAgent': '附加到聊天',
|
||
'gitView.pr.actions.shareComments': '附加评论',
|
||
'gitView.pr.actions.shareCommentsAria': '将拉取请求评论附加到聊天上下文',
|
||
'gitView.pr.actions.toggleDraftAria': '切换草稿状态',
|
||
'gitView.pr.actions.refresh': '刷新 PR 状态',
|
||
'gitView.pr.actions.refreshAria': '刷新拉取请求状态',
|
||
'gitView.pr.additionalContext.added': '已添加',
|
||
'gitView.pr.additionalContext.hint': '添加额外上下文可提升审查质量。',
|
||
'gitView.pr.additionalContext.optional': '可选',
|
||
'gitView.pr.additionalContext.title': '补充上下文',
|
||
'gitView.pr.checkDetails.empty': '没有可用的检查详情',
|
||
'gitView.pr.checkDetails.title': '失败检查详情',
|
||
'gitView.pr.checkingStatus': '正在检查拉取请求状态...',
|
||
'gitView.pr.checks.label': '检查项',
|
||
'gitView.pr.checks.completedLabel': '完成时间',
|
||
'gitView.pr.checks.conclusionLabel': '结论',
|
||
'gitView.pr.checks.startedLabel': '开始时间',
|
||
'gitView.pr.checks.statusLabel': '状态',
|
||
'gitView.pr.checks.stepLabel': '步骤',
|
||
'gitView.pr.checks.steps': '步骤',
|
||
'gitView.pr.comments.empty': '未找到评论',
|
||
'gitView.pr.comments.generalContext': '普通评论',
|
||
'gitView.pr.comments.reviewContext': '审查评论',
|
||
'gitView.pr.comments.title': '评论',
|
||
'gitView.pr.comments.unknownAuthor': '未知作者',
|
||
'gitView.pr.createTitle': '创建拉取请求',
|
||
'gitView.pr.draftMustBeReady': '草稿 PR 必须先标记为可审查才能合并。',
|
||
'gitView.pr.field.baseBranch': '基准分支',
|
||
'gitView.pr.field.description': '描述',
|
||
'gitView.pr.field.draft': '草稿',
|
||
'gitView.pr.field.title': '标题',
|
||
'gitView.pr.githubNotConnected': 'GitHub 未连接',
|
||
'gitView.pr.loadingDescription': '正在加载描述...',
|
||
'gitView.pr.mergeMethod.merge': '创建合并提交',
|
||
'gitView.pr.mergeMethod.rebase': '变基并合并',
|
||
'gitView.pr.mergeMethod.squash': '压缩并合并',
|
||
'gitView.pr.noDescription': '无描述',
|
||
'gitView.pr.noMergePermission': '你没有权限合并此拉取请求。',
|
||
'gitView.pr.notMergeable': '不可合并',
|
||
'gitView.pr.numberLabel': 'PR #{number}',
|
||
'gitView.pr.segment.overview': '概览',
|
||
'gitView.pr.segment.checks': '检查',
|
||
'gitView.pr.segment.comments': '评论',
|
||
'gitView.pr.comments.addAll': '全部附加到聊天',
|
||
'gitView.pr.placeholder.additionalContext': '补充约束、发布说明或评审上下文...',
|
||
'gitView.pr.placeholder.description': '描述此变更...',
|
||
'gitView.pr.placeholder.main': '总结你的拉取请求',
|
||
'gitView.pr.placeholder.selectBaseBranch': '选择基准分支',
|
||
'gitView.pr.placeholder.title': '拉取请求标题',
|
||
'gitView.pr.placeholder.whatChanged': '改了什么,为什么改?',
|
||
'gitView.pr.statusUnavailable': '拉取请求状态不可用',
|
||
'gitView.pr.toast.baseBranchRequired': '请选择基准分支',
|
||
'gitView.pr.toast.baseMustDifferFromHead': '基准分支必须与当前分支不同',
|
||
'gitView.pr.toast.createPrFailed': '创建拉取请求失败',
|
||
'gitView.pr.toast.generateDescriptionFailed': '生成拉取请求描述失败',
|
||
'gitView.pr.toast.githubApiUnavailable': 'GitHub API 不可用',
|
||
'gitView.pr.toast.loadCheckDetailsFailed': '加载检查详情失败',
|
||
'gitView.pr.toast.loadChecksFailed': '加载拉取请求检查失败',
|
||
'gitView.pr.toast.loadCommentsFailed': '加载评论失败',
|
||
'gitView.pr.toast.loadPrCommentsFailed': '加载拉取请求评论失败',
|
||
'gitView.pr.toast.markReadyFailed': '标记拉取请求可审查失败',
|
||
'gitView.pr.toast.markedReady': '拉取请求已标记为可审查',
|
||
'gitView.pr.toast.mergeFailed': '合并拉取请求失败',
|
||
'gitView.pr.toast.noActiveSession': '没有活动聊天会话',
|
||
'gitView.pr.toast.noActiveSessionDescription': '请先打开或创建聊天会话,再向智能体发送上下文。',
|
||
'gitView.pr.toast.noFailedChecks': '没有失败检查',
|
||
'gitView.pr.toast.noModelSelected': '请先选择模型',
|
||
'gitView.pr.toast.noPrComments': '未找到拉取请求评论',
|
||
'gitView.pr.toast.prCreated': '拉取请求已创建',
|
||
'gitView.pr.toast.prMerged': '拉取请求已合并',
|
||
'gitView.pr.toast.prNotMerged': '拉取请求未合并',
|
||
'gitView.pr.toast.prUpdated': '拉取请求已更新',
|
||
'gitView.pr.toast.sendMessageFailed': '向智能体发送消息失败',
|
||
'gitView.pr.toast.titleRequired': '标题不能为空',
|
||
'gitView.pr.toast.updatePrFailed': '更新拉取请求失败',
|
||
'gitView.pullRequest.createHint': '从当前分支创建并管理拉取请求。',
|
||
'gitView.pullRequest.availableOnFeatureBranches': '当前分支可以打开 PR 时可用。',
|
||
'gitView.pullRequest.title': '拉取请求',
|
||
'gitView.tabs.worktree': '工作树',
|
||
'gitView.toast.abortOperationFailed': '中止操作失败',
|
||
'gitView.toast.appliedIdentity': '已应用身份:{name}',
|
||
'gitView.toast.applyIdentityFailed': '应用身份失败',
|
||
'gitView.toast.branchCreatedLocally': '分支已在本地创建,但设置上游失败。',
|
||
'gitView.toast.cannotCheckout': '无法切换分支:{reason}',
|
||
'gitView.toast.cannotCreateBranch': '无法创建分支:{reason}',
|
||
'gitView.toast.cannotRemoveOriginRemote': '不能移除 origin 远程',
|
||
'gitView.toast.cannotRenameBranch': '无法重命名分支:{reason}',
|
||
'gitView.toast.checkedOut': '已切换到 {name}',
|
||
'gitView.toast.checkoutFailed': '切换到 {name} 失败',
|
||
'gitView.toast.commitCreated': '提交已创建',
|
||
'gitView.toast.commitHashCopied': '提交哈希已复制',
|
||
'gitView.toast.continueOperationFailed': '继续操作失败',
|
||
'gitView.toast.copyFailed': '复制失败',
|
||
'gitView.toast.createBranchFailed': '创建分支失败',
|
||
'gitView.toast.createCommitFailed': '创建提交失败',
|
||
'gitView.toast.createdBranch': '已创建分支 {name}',
|
||
'gitView.toast.enterCommitMessage': '请输入提交信息',
|
||
'gitView.toast.fetchedFromRemote': '已从 {name} 获取',
|
||
'gitView.toast.generateCommitMessageFailed': '生成提交信息失败',
|
||
'gitView.toast.mergeAborted': '合并已中止',
|
||
'gitView.toast.mergeCompleted': '合并完成',
|
||
'gitView.toast.mergeConflictsDetected': '检测到合并冲突',
|
||
'gitView.toast.mergedIntoBranch': '已将 {branch} 合并到 {currentBranch}',
|
||
'gitView.toast.pulledFilesPlural': '已从 {name} 拉取 {count} 个文件',
|
||
'gitView.toast.pulledFilesSingle': '已从 {name} 拉取 {count} 个文件',
|
||
'gitView.toast.pushedToUpstream': '已推送到 {name}',
|
||
'gitView.toast.commitOrStashBeforeSync': '同步前请先提交或储藏你的更改',
|
||
'gitView.toast.alreadyUpToDate': '已是最新状态',
|
||
'gitView.toast.syncedPulledPluralAndPushed': '已从 {name} 拉取 {count} 个文件并推送到上游',
|
||
'gitView.toast.syncedPulledSingleAndPushed': '已从 {name} 拉取 {count} 个文件并推送到上游',
|
||
'gitView.toast.syncedChanges': '已同步更改',
|
||
'gitView.toast.rebaseAborted': '变基已中止',
|
||
'gitView.toast.rebaseConflictsDetected': '检测到变基冲突',
|
||
'gitView.toast.rebaseStepCompleted': '变基步骤已完成',
|
||
'gitView.toast.rebasedOntoBranch': '已将 {currentBranch} 变基到 {branch}',
|
||
'gitView.toast.refreshRepositoryFailed': '刷新仓库失败',
|
||
'gitView.toast.remoteNameRequired': '远程名称不能为空',
|
||
'gitView.toast.removedRemote': '已移除远程 {name}',
|
||
'gitView.toast.renameBranchFailed': '将 {oldName} 重命名为 {newName} 失败',
|
||
'gitView.toast.renamedBranch': '已将 {oldName} 重命名为 {newName}',
|
||
'gitView.toast.restoreStashFailed': '恢复储藏更改失败',
|
||
'gitView.toast.restoreStashManually': '请手动恢复储藏的更改',
|
||
'gitView.toast.revertFailed': '回退更改失败',
|
||
'gitView.toast.revertedFile': '已回退 {path}',
|
||
'gitView.toast.revertedFilesPlural': '已回退 {count} 个文件',
|
||
'gitView.toast.revertedFilesSingle': '已回退 {count} 个文件',
|
||
'gitView.toast.revertedSomePlural': '已回退 {success} 个文件,{failed} 个失败',
|
||
'gitView.toast.revertedSomeSingle': '已回退 {success} 个文件,{failed} 个失败',
|
||
'gitView.toast.stageFileFailed': '暂存更改失败',
|
||
'gitView.toast.stageFileToCommit': '请至少暂存一个文件再提交',
|
||
'gitView.toast.stageFileToDescribe': '请至少暂存一个文件再生成描述',
|
||
'gitView.toast.selectFileToCommit': '请至少选择一个文件再提交',
|
||
'gitView.toast.selectFileToDescribe': '请至少选择一个文件再生成描述',
|
||
'gitView.toast.stashedRestored': '已恢复储藏的更改',
|
||
'gitView.toast.syncActionFailed': '{action} 失败',
|
||
'gitView.toast.unstageFileFailed': '取消暂存更改失败',
|
||
'gitView.toast.upstreamSet': '已将 {branch} 的上游设置为 {remote}',
|
||
'gitView.worktree.availableInWorktreeMode': '仅在工作树模式下可用',
|
||
'contextPanel.mode.chat': '聊天',
|
||
'contextPanel.mode.files': '文件',
|
||
"contextPanel.mode.diff": "更改",
|
||
'contextPanel.mode.stagedDiff': 'Staged Diff',
|
||
'contextPanel.mode.workingDiff': 'Working Diff',
|
||
'contextPanel.mode.plan': '计划',
|
||
'contextPanel.mode.pr': '拉取请求',
|
||
'contextPanel.mode.context': '上下文',
|
||
'contextPanel.mode.preview': '预览',
|
||
'contextPanel.mode.browser': '浏览器',
|
||
'contextRail.aria.rail': '面板界面',
|
||
'contextPanel.editorEmpty.title': '未打开文件',
|
||
'contextPanel.editorEmpty.description': '从文件树中选择一个文件开始编辑。',
|
||
'contextRail.surface.editor.description': '编辑项目文件',
|
||
'contextRail.surface.git.description': '提交、分支和拉取请求',
|
||
'contextRail.surface.git.changesCountAriaSingle': '{label},{count} 个更改的文件',
|
||
'contextRail.surface.git.changesCountAriaPlural': '{label},{count} 个更改的文件',
|
||
'contextRail.surface.git.changesCountTooltipSingle': '{count} 个更改的文件',
|
||
'contextRail.surface.git.changesCountTooltipPlural': '{count} 个更改的文件',
|
||
'contextRail.surface.terminal.description': '内置终端',
|
||
'contextRail.surface.diff.description': '查看工作区更改',
|
||
'contextPanel.mode.walkthrough': '导读',
|
||
'contextRail.surface.walkthrough.description': '由 AI 引导的改动导读',
|
||
'walkthrough.scope.all': '全部未提交',
|
||
'walkthrough.scope.group.workingTree': '工作区',
|
||
'walkthrough.scope.group.committed': '已提交',
|
||
'walkthrough.scope.staged': '已暂存',
|
||
'walkthrough.scope.working': '未暂存',
|
||
'walkthrough.scope.branch': '当前分支',
|
||
'walkthrough.scope.selectorAria': '选择评审范围',
|
||
'walkthrough.language.menuLabel': '导读语言',
|
||
'walkthrough.missing.language': '尚无{requested}导读,当前显示的是{shown}版本。',
|
||
'walkthrough.missing.model': '尚无由 {model} 生成的导读,当前显示最近一次生成的版本。',
|
||
'walkthrough.missing.languageAndModel': '尚无使用该语言和该模型生成的导读,当前显示最近一次生成的版本。',
|
||
'walkthrough.language.selectorAria': '选择导读语言',
|
||
'walkthrough.scope.pullRequest': 'PR #{number}',
|
||
'walkthrough.action.generate': '生成导读',
|
||
'walkthrough.action.regenerate': '重新生成',
|
||
'walkthrough.action.cancel': '取消',
|
||
'walkthrough.action.next': '下一步',
|
||
'walkthrough.action.previous': '上一步',
|
||
'walkthrough.action.refresh': '刷新',
|
||
'walkthrough.action.open': '导读',
|
||
'walkthrough.stage.collecting': '正在收集改动',
|
||
'walkthrough.stage.asking': '正在等待模型',
|
||
'walkthrough.stage.assembling': '正在组装导读',
|
||
'walkthrough.empty.title': '还没有导读',
|
||
'walkthrough.empty.description': '为这些改动生成一条引导式阅读路线。该操作会调用小模型并消耗 token,因此只在你主动请求时运行。',
|
||
'walkthrough.stale.banner': '本次评审之后代码有变动。过时的步骤:{count}',
|
||
'walkthrough.stop.staleAll': '该步骤描述的代码已全部变动。',
|
||
'walkthrough.stop.stalePartial': '该步骤描述的部分代码已变动。缺失片段:{count}',
|
||
'walkthrough.stop.staleShort': '已过时',
|
||
'walkthrough.stop.noCode': '当前差异中没有该步骤的代码。',
|
||
'walkthrough.uncovered.title': '评审未涵盖的改动:{count}',
|
||
'walkthrough.uncovered.description': '评审认为这些改动较常规。展开可自行查看。',
|
||
'walkthrough.toc.moreFiles': '其他文件:{count}',
|
||
'walkthrough.toc.uncovered': '未涵盖:{count}',
|
||
'walkthrough.toc.resize': '调整目录栏宽度',
|
||
'walkthrough.importance.critical': '关键改动',
|
||
'walkthrough.importance.criticalHint': '这一步带动了其余改动,值得仔细阅读。它不是在你的代码中发现的问题。',
|
||
'walkthrough.importance.context': '背景',
|
||
'walkthrough.importance.contextHint': '辅助性的改动,列在这里是为了让其余部分说得通。',
|
||
'walkthrough.help.guide': 'Walkthrough 的工作方式',
|
||
'walkthrough.blocked.noModel.title': '没有可用的小模型',
|
||
'walkthrough.blocked.noModel.description': '请登录模型提供方后再生成评审。',
|
||
'walkthrough.blocked.emptyDiff.title': '没有可评审的内容',
|
||
'walkthrough.blocked.emptyDiff.description': '该范围内暂无改动。',
|
||
'walkthrough.blocked.contextTooSmall.title': '当前模型无法容纳这份差异',
|
||
'walkthrough.blocked.contextTooSmall.description': '{model} 大约可容纳 {available} 千字符,而这份差异约需 {required} 千字符。我们不会截断内容,请改选上下文更大的模型。',
|
||
'walkthrough.blocked.structuredOutput.title': '该模型不支持结构化输出',
|
||
'walkthrough.blocked.structuredOutput.description': '{model} 不支持导读所需的结构化响应。',
|
||
'walkthrough.blocked.chooseModel': '选择小模型',
|
||
'walkthrough.blocked.outputExhausted.title': '模型的回答额度已用尽',
|
||
'walkthrough.blocked.outputExhausted.description': '{model} 把全部输出额度用在了推理上,没有返回结果。推理模型在大差异上经常如此——可以换一个少推理的模型,或缩小评审范围。',
|
||
'walkthrough.blocked.outputExhausted.descriptionUnknownModel': '小模型把全部输出额度用在了推理上,没有返回结果。推理模型在大差异上经常如此——可以换一个少推理的模型,或缩小评审范围。',
|
||
'walkthrough.blocked.onlyGenerated.title': '只有生成文件发生了改动',
|
||
'walkthrough.blocked.onlyGenerated.description': '这里的改动全部是锁文件或其他工具生成的产物,评审会有意跳过它们。',
|
||
'walkthrough.blocked.serverUnsupported.title': '该服务器不支持 walkthrough',
|
||
'walkthrough.blocked.serverUnsupported.description': '此应用连接的 OpenChamber 服务器没有响应 walkthrough API,说明它比应用更旧。请将服务器升级到 1.18 或更高版本后刷新。',
|
||
'walkthrough.blocked.contextTooSmall.descriptionUnknownModel': '小模型大约可容纳 {available} 千字符,而这份差异约需 {required} 千字符。我们不会截断内容,请改选上下文更大的模型。',
|
||
'walkthrough.blocked.structuredOutput.descriptionUnknownModel': '小模型不支持导读所需的结构化响应。',
|
||
'contextRail.surface.plan.description': '查看当前计划',
|
||
'contextRail.surface.pr.description': '创建、审查并合并当前分支的拉取请求',
|
||
'contextRail.surface.notes.description': '项目的笔记、待办和计划',
|
||
'contextRail.surface.context.description': '会话上下文与令牌用量',
|
||
'contextRail.surface.browser.description': '内置网页浏览器',
|
||
'contextRail.surface.preview.description': '开发服务器预览',
|
||
'contextRail.surface.chat.description': '并排打开的会话',
|
||
'contextRail.surface.notes': '项目笔记',
|
||
'contextRail.editorTree.toggle': '切换文件树',
|
||
'contextPanel.browser.open': '打开浏览器面板',
|
||
'contextPanel.browser.addressAria': '浏览器地址',
|
||
'contextPanel.browser.empty': '网页浏览器',
|
||
'contextPanel.browser.emptyHint': '在上方输入网址开始浏览',
|
||
'contextPanel.browser.inspectUnavailable': '无法从浏览器面板检查此页面。',
|
||
'contextPanel.browser.trustNotice': '在此打开的页面以对 OpenChamber 的完全访问权限运行 — 检查和截图需要此权限。仅打开你信任的站点:恶意页面可能读取你的数据或以你的身份执行操作。',
|
||
'contextPanel.tab.closeTabAria': '关闭 {label} 标签',
|
||
'contextPanel.actions.collapsePanel': '折叠面板',
|
||
'contextPanel.actions.expandPanel': '展开面板',
|
||
'contextPanel.actions.closePanel': '关闭面板',
|
||
'contextPanel.actions.resizePanelAria': '调整上下文面板大小',
|
||
'contextPanel.iframe.sessionChatTitle': '会话聊天 {sessionID}',
|
||
'contextPanel.preview.actions.reload': '刷新预览',
|
||
'contextPanel.preview.actions.openExternal': '在浏览器中打开',
|
||
'contextPanel.preview.actions.retry': '重试',
|
||
'contextPanel.preview.iframeTitle': '预览',
|
||
'contextPanel.preview.invalidUrl': '预览需要有效的 http(s) URL。',
|
||
'contextPanel.preview.empty': '没有预览 URL',
|
||
'contextPanel.preview.loading': '正在连接预览代理...',
|
||
'contextPanel.preview.proxyError': '无法启动预览代理。',
|
||
'contextPanel.preview.upstreamUnreachable': '开发服务器无响应。',
|
||
'contextPanel.preview.upstreamUnreachableHint': '请确认开发服务器仍在运行,然后重试。',
|
||
|
||
'terminalView.preview.open': '预览',
|
||
'terminalView.preview.openTitle': '打开预览面板',
|
||
'sidebarFilesTree.menu.rename': '重命名',
|
||
'sidebarFilesTree.menu.copyPath': '复制路径',
|
||
'sidebarFilesTree.menu.save': '保存',
|
||
'sidebarFilesTree.menu.download': '下载',
|
||
'sidebarFilesTree.menu.newFile': '新建文件',
|
||
'sidebarFilesTree.menu.newFolder': '新建文件夹',
|
||
'sidebarFilesTree.menu.delete': '删除',
|
||
'sidebarFilesTree.toast.pathCopied': '路径已复制',
|
||
'sidebarFilesTree.toast.copyFailed': '复制失败',
|
||
'sidebarFilesTree.toast.revealFailed': '定位路径失败',
|
||
'sidebarFilesTree.toast.filenameRequired': '文件名不能为空',
|
||
'sidebarFilesTree.toast.writeNotSupported': '不支持写入',
|
||
'sidebarFilesTree.toast.fileCreated': '文件已创建',
|
||
'sidebarFilesTree.toast.operationFailed': '操作失败',
|
||
'sidebarFilesTree.toast.folderNameRequired': '文件夹名不能为空',
|
||
'sidebarFilesTree.toast.folderCreated': '文件夹已创建',
|
||
'sidebarFilesTree.toast.nameRequired': '名称不能为空',
|
||
'sidebarFilesTree.toast.renameNotSupported': '不支持重命名',
|
||
'sidebarFilesTree.toast.renamedSuccessfully': '重命名成功',
|
||
'sidebarFilesTree.toast.deleteNotSupported': '不支持删除',
|
||
'sidebarFilesTree.toast.deletedSuccessfully': '删除成功',
|
||
'sidebarFilesTree.search.placeholder': '搜索文件...',
|
||
'sidebarFilesTree.search.clearAria': '清除搜索',
|
||
'sidebarFilesTree.actions.newFileTitle': '新建文件',
|
||
'sidebarFilesTree.actions.newFolderTitle': '新建文件夹',
|
||
'sidebarFilesTree.actions.refreshTitle': '刷新',
|
||
'sidebarFilesTree.actions.collapseAllTitle': '折叠所有文件夹',
|
||
'sidebarFilesTree.actions.fileMenuTitle': '文件菜单',
|
||
'sidebarFilesTree.state.searching': '搜索中...',
|
||
'sidebarFilesTree.state.loading': '加载中...',
|
||
'sidebarFilesTree.dialog.createFile.title': '新建文件',
|
||
'sidebarFilesTree.dialog.createFolder.title': '新建文件夹',
|
||
'sidebarFilesTree.dialog.rename.title': '重命名',
|
||
'sidebarFilesTree.dialog.delete.title': '删除',
|
||
'sidebarFilesTree.dialog.createFile.description': '在 {path} 中创建新文件',
|
||
'sidebarFilesTree.dialog.createFolder.description': '在 {path} 中创建新文件夹',
|
||
'sidebarFilesTree.dialog.rename.description': '重命名 {name}',
|
||
'sidebarFilesTree.dialog.delete.description': '确定要删除 {name} 吗?此操作不可撤销。',
|
||
'sidebarFilesTree.dialog.rootFallback': '根目录',
|
||
'sidebarFilesTree.dialog.rename.placeholder': '新名称',
|
||
'sidebarFilesTree.dialog.namePlaceholder': '名称',
|
||
'sidebarFilesTree.dialog.cancel': '取消',
|
||
'sidebarFilesTree.dialog.confirm': '确认',
|
||
'sidebarFilesTree.dialog.delete.confirm': '删除',
|
||
'filesView.dialog.createFile.title': '新建文件',
|
||
'filesView.dialog.createFolder.title': '新建文件夹',
|
||
'filesView.dialog.rename.title': '重命名',
|
||
'filesView.dialog.delete.title': '删除',
|
||
'filesView.dialog.createFile.description': '在 {path} 中创建新文件',
|
||
'filesView.dialog.createFolder.description': '在 {path} 中创建新文件夹',
|
||
'filesView.dialog.rename.description': '重命名 {name}',
|
||
'filesView.dialog.delete.description': '确定要删除 {name} 吗?此操作不可撤销。',
|
||
'filesView.dialog.rootFallback': '根目录',
|
||
'filesView.dialog.rename.placeholder': '新名称',
|
||
'filesView.dialog.namePlaceholder': '名称',
|
||
'filesView.dialog.cancel': '取消',
|
||
'filesView.dialog.confirm': '确认',
|
||
'filesView.dialog.delete.confirm': '删除',
|
||
'filesView.editor.saving': '保存中...',
|
||
'filesView.editor.saved': '已保存',
|
||
'filesView.editor.autoSaveOn': '自动保存已开启',
|
||
'filesView.editor.manualSave': '手动保存',
|
||
'filesView.editor.saveNowTitle': '立即保存({shortcut})- 1.5 秒后自动保存',
|
||
'filesView.editor.saveNowManualTitle': '立即保存({shortcut})',
|
||
'filesView.editor.saveAria': '保存({shortcut})',
|
||
'filesView.editor.openInDesktopApp': '在桌面应用中打开',
|
||
'filesView.editor.refreshApps': '刷新应用',
|
||
'filesView.editor.disableLineWrap': '关闭自动换行',
|
||
'filesView.editor.enableLineWrap': '开启自动换行',
|
||
'filesView.editor.findInFile': '文件内查找',
|
||
'filesView.editor.goToLine': '跳转到行',
|
||
'filesView.editor.switchToEditMode': '切换到编辑模式',
|
||
'filesView.editor.switchToPreviewMode': '切换到预览模式',
|
||
'filesView.editor.switchToTextView': '切换到文本视图',
|
||
'filesView.editor.switchToTreeView': '切换到树视图',
|
||
'filesView.toast.copyFailed': '复制失败',
|
||
'filesView.toast.openInAppFailed': '在 {app} 中打开失败',
|
||
'filesView.toast.savingNotSupported': '不支持保存',
|
||
'filesView.toast.writeFileFailed': '写入文件失败',
|
||
'filesView.toast.saveFailed': '保存失败',
|
||
'filesView.editor.copyFileContents': '复制文件内容',
|
||
'filesView.editor.copyFilePathTitle': '复制文件路径({path})',
|
||
'filesView.editor.saveFile': '保存文件',
|
||
'filesView.editor.exitFullscreen': '退出全屏',
|
||
'filesView.editor.fullscreen': '全屏',
|
||
'filesView.unsaved.title': '未保存的更改',
|
||
'filesView.unsaved.description': '继续前是否保存你的编辑?',
|
||
'filesView.unsaved.saveChanges': '保存更改',
|
||
'filesView.unsaved.discard': '放弃',
|
||
'filesView.editor.back': '返回',
|
||
'filesView.editor.openFilesAria': '打开文件列表',
|
||
'filesView.editor.closeFileAria': '关闭 {name}',
|
||
'filesView.editor.selectFile': '选择一个文件',
|
||
'filesView.editor.showControlsAria': '显示编辑器控制项',
|
||
'filesView.editor.controlsTitle': '编辑器控制项',
|
||
'filesView.editor.pickFileFromTree': '请从文件树中选择一个文件。',
|
||
'filesView.editor.cannotPreviewBinary': '无法预览二进制文件',
|
||
'filesView.editor.binaryFileDescription': '此文件为二进制文件,无法在 OpenChamber 中编辑。请下载后使用其他应用打开。',
|
||
'filesView.state.loading': '加载中...',
|
||
'filesView.state.openingFileAtChange': '正在打开变更处的文件...',
|
||
'filesView.tree.search.placeholder': '搜索文件...',
|
||
'filesView.tree.search.clearAria': '清除搜索',
|
||
'filesView.tree.search.searching': '搜索中...',
|
||
'filesView.tree.actions.newFileTitle': '新建文件',
|
||
'filesView.tree.actions.newFolderTitle': '新建文件夹',
|
||
'filesView.tree.actions.refreshTitle': '刷新',
|
||
'filesView.editor.imageAltFallback': '图片',
|
||
'filesView.error.jsonViewerUnavailable': 'JSON 查看器不可用',
|
||
'filesView.error.switchToTextMode': '请切换到文本模式查看原始内容。',
|
||
'filesView.warning.largeFilePreviewLimited': '该文件较大({sizeKb}KB),预览可能受限。',
|
||
'filesView.error.previewUnavailable': '预览不可用',
|
||
'filesView.error.switchToEditMode': '请切换到编辑模式修复问题。',
|
||
'filesView.error.readFileFailed': '读取文件失败',
|
||
'filesView.editor.htmlPreviewTitle': 'HTML 预览',
|
||
'filesView.diagram.closeDiagramView': '关闭图表视图',
|
||
'filesView.diagram.saveDiagram': '保存图表',
|
||
'contextUsage.aria.label': '上下文用量',
|
||
'contextUsage.mobile.title': '上下文用量',
|
||
'contextUsage.mobile.usedTokens': '已用 Token',
|
||
'contextUsage.mobile.contextLimit': '上下文上限',
|
||
'contextUsage.mobile.outputLimit': '输出上限',
|
||
'contextUsage.mobile.usage': '使用率',
|
||
'contextUsage.tooltip.usedTokens': '已用 Token:{tokens}',
|
||
'contextUsage.tooltip.contextLimit': '上下文上限:{tokens}',
|
||
'contextUsage.tooltip.outputLimit': '输出上限:{tokens}',
|
||
'contextSidebar.session.untitled': '未命名会话',
|
||
'contextSidebar.empty.openSession': '请先打开会话以查看上下文。',
|
||
'contextSidebar.section.context': '上下文',
|
||
'contextSidebar.section.lastAssistantMessage': '最近一条助手消息',
|
||
'contextSidebar.section.rawMessages': '原始消息',
|
||
'contextSidebar.context.percentUsed': '已使用 {percent}%',
|
||
'contextSidebar.breakdown.user': '用户',
|
||
'contextSidebar.breakdown.assistant': '助手',
|
||
'contextSidebar.breakdown.toolCalls': '工具调用',
|
||
'contextSidebar.breakdown.other': '其他',
|
||
'contextSidebar.stats.messages': '消息',
|
||
'contextSidebar.stats.user': '用户',
|
||
'contextSidebar.stats.assistant': '助手',
|
||
'contextSidebar.stats.cost': '成本',
|
||
'contextSidebar.tokens.input': '输入',
|
||
'contextSidebar.tokens.output': '输出',
|
||
'contextSidebar.tokens.reasoning': '推理',
|
||
'contextSidebar.tokens.cacheRead': '缓存读取',
|
||
'contextSidebar.tokens.cacheWrite': '缓存写入',
|
||
'contextSidebar.tokens.cacheHit': '缓存命中',
|
||
'contextSidebar.actions.copyJson': '复制 JSON',
|
||
'contextSidebar.actions.copy': '复制',
|
||
'contextSidebar.actions.copied': '已复制',
|
||
'planView.file.defaultName': 'plan',
|
||
'planView.title.default': '计划',
|
||
'planView.error.saveFailed': '保存失败',
|
||
'planView.error.previewUnavailable': '预览不可用',
|
||
'planView.error.switchToEditMode': '请切换到编辑模式修复问题。',
|
||
'planView.error.writeFailed': '写入失败',
|
||
'planView.error.writePlanFileFailed': '写入计划文件失败({status})',
|
||
'planView.actions.improvePlanAria': '改进计划',
|
||
'planView.actions.improve': '改进',
|
||
'planView.actions.implementPlanAria': '执行计划',
|
||
'planView.actions.implement': '执行',
|
||
'planView.actions.sendToNewSession': '发送到新会话',
|
||
'planView.actions.sendToNewWorktreeSession': '发送到新工作树会话',
|
||
'planView.actions.copyPlanContents': '复制计划内容',
|
||
'planView.state.loading': '加载中...',
|
||
'diffView.binary.unavailable': '该文件内容无法查看。',
|
||
'diffView.change.untracked': '未跟踪文件',
|
||
'diffView.change.new': '新文件',
|
||
'diffView.change.deleted': '已删除文件',
|
||
'diffView.change.renamed': '已重命名文件',
|
||
'diffView.change.copied': '已复制文件',
|
||
'diffView.change.modified': '已修改文件',
|
||
'diffView.selector.selectFile': '选择文件',
|
||
'diffView.image.original': '原始',
|
||
'diffView.image.modified': '已修改',
|
||
'diffView.image.new': '新文件',
|
||
'diffView.image.originalAlt': '原始:{path}',
|
||
'diffView.image.modifiedAlt': '已修改:{path}',
|
||
'diffView.section.files': '文件',
|
||
'diffView.state.selectSessionDirectory': '请选择会话目录以查看差异',
|
||
'diffView.state.loadingRepositoryStatus': '正在加载仓库状态...',
|
||
'diffView.state.notGitRepository': '当前不是 Git 仓库。请在 Git 标签中初始化或切换目录。',
|
||
'diffView.state.cleanWorkingTree': '工作区干净,没有可显示的改动',
|
||
'diffView.state.noLastTurnChanges': '没有可显示的上一轮更改',
|
||
'diffView.state.failedToLoadDiff': '加载差异失败',
|
||
'diffView.state.loadingDiff': '正在加载差异...',
|
||
'diffView.state.loadingChanges': '正在加载变更...',
|
||
'diffView.state.largeDiff': '大型差异({count} 行变更)',
|
||
'diffView.state.largeDiffDescription': '渲染可能较慢。你仍可点击下方按钮查看差异。',
|
||
'diffView.summary.changedFilesSingle': '{count} 个文件已变更',
|
||
'diffView.summary.changedFilesPlural': '{count} 个文件已变更',
|
||
"diffView.scope.changed": "已更改",
|
||
"diffView.scope.staged": "已暂存",
|
||
"diffView.scope.lastTurn": "上一轮",
|
||
"diffView.scope.selectorAria": "选择更改模式",
|
||
'diffView.actions.retry': '重试',
|
||
'diffView.actions.renderAnyway': '仍然渲染',
|
||
'diffView.actions.expandAll': '全部展开',
|
||
'diffView.actions.collapseAll': '全部折叠',
|
||
'diffView.actions.loadFullFiles': '加载完整文件',
|
||
'diffView.actions.disableFullFiles': '停止加载完整文件',
|
||
'diffView.actions.disableLineWrap': '关闭自动换行',
|
||
'diffView.actions.enableLineWrap': '开启自动换行',
|
||
'diffView.actions.openFileInEditorAtChange': '在编辑器中打开此文件并定位变更',
|
||
'diffView.actions.openFileAtFirstChangedLine': '在首个变更行打开此文件',
|
||
'diffView.actions.review': 'Review',
|
||
'diffView.actions.reviewAria': 'Review changes',
|
||
'diffView.reviewDialog.title': 'Review changes',
|
||
'diffView.reviewDialog.description': 'Start a separate review session for the current changes.',
|
||
'diffView.reviewDialog.generateHandoff': 'Generate handoff',
|
||
'diffView.reviewDialog.autoReview': '运行自动审查循环',
|
||
'diffView.reviewDialog.info': 'This flow works best if started in the session where the changes were implemented.',
|
||
'diffView.reviewDialog.actions.cancel': 'Cancel',
|
||
'diffView.reviewDialog.actions.start': 'Review',
|
||
'diffView.reviewDialog.actions.starting': 'Starting...',
|
||
'diffView.reviewDialog.toast.noSessionDirectory': 'Session directory is unavailable',
|
||
'diffView.reviewDialog.toast.startFailed': 'Failed to start review flow',
|
||
'chat.history.loadOlder': '加载更早的消息',
|
||
'chat.autoReview.title': '代码审查循环正在运行',
|
||
'chat.autoReview.status.waitingForReviewer': '等待审查者',
|
||
'chat.autoReview.status.waitingForImplementer': '等待实现者',
|
||
'chat.autoReview.reviewSessionLabel': '审查会话',
|
||
'chat.autoReview.actions.open': '打开',
|
||
'chat.autoReview.actions.stop': '停止',
|
||
'diffView.hunk.label': '代码块',
|
||
'diffView.hunk.stage': '暂存',
|
||
'diffView.hunk.unstage': '取消暂存',
|
||
'diffView.hunk.discard': '放弃',
|
||
'diffView.hunk.stageTitle': '暂存代码块 {index}',
|
||
'diffView.hunk.unstageTitle': '取消暂存代码块 {index}',
|
||
'diffView.hunk.discardTitle': '放弃代码块 {index}',
|
||
'diffView.hunk.unavailable': '此代码块已不可用。请刷新差异后重试。',
|
||
'diffView.hunk.unsupported': '此运行环境不支持暂存单个代码块。',
|
||
'rightSidebar.contextNotesTodo.plan.defaultTitle': '计划',
|
||
'rightSidebar.contextNotesTodo.empty.selectProject': '请选择一个项目以添加笔记和待办事项。',
|
||
'rightSidebar.contextNotesTodo.notes.title': '快速笔记 - {project}',
|
||
'rightSidebar.contextNotesTodo.notes.placeholder': '记录上下文、提醒或链接',
|
||
'rightSidebar.contextNotesTodo.todo.title': '待办',
|
||
'rightSidebar.contextNotesTodo.todo.itemsSingle': '{count} 项',
|
||
'rightSidebar.contextNotesTodo.todo.itemsPlural': '{count} 项',
|
||
'rightSidebar.contextNotesTodo.todo.clearCompleted': '清除已完成',
|
||
'rightSidebar.contextNotesTodo.todo.inputPlaceholder': '添加待办',
|
||
'rightSidebar.contextNotesTodo.todo.addAria': '添加待办',
|
||
'rightSidebar.contextNotesTodo.todo.empty': '还没有待办。为此项目添加一个简短清单吧。',
|
||
'rightSidebar.contextNotesTodo.todo.actions.markComplete': '将“{text}”标记为已完成',
|
||
'rightSidebar.contextNotesTodo.todo.actions.collapse': '折叠待办“{text}”',
|
||
'rightSidebar.contextNotesTodo.todo.actions.expand': '展开待办“{text}”',
|
||
'rightSidebar.contextNotesTodo.todo.actions.delete': '删除“{text}”',
|
||
'rightSidebar.contextNotesTodo.todo.actions.send': '发送“{text}”',
|
||
'rightSidebar.contextNotesTodo.todo.actions.reorder': '重新排序"{text}"',
|
||
'rightSidebar.contextNotesTodo.todo.resizeAria': '调整待办列表大小',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': '发送到当前会话',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': '发送到新会话',
|
||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': '发送到新工作树会话',
|
||
'rightSidebar.contextNotesTodo.plans.title': '计划',
|
||
'rightSidebar.contextNotesTodo.plans.filesSingle': '{count} 个文件',
|
||
'rightSidebar.contextNotesTodo.plans.filesPlural': '{count} 个文件',
|
||
'rightSidebar.contextNotesTodo.plans.importFromFile': '从文件导入计划',
|
||
'rightSidebar.contextNotesTodo.plans.empty': '还没有已保存的计划。',
|
||
'rightSidebar.contextNotesTodo.plans.deletePlan': '删除计划',
|
||
'rightSidebar.contextNotesTodo.plans.deletePlanWithTitle': '删除计划“{title}”',
|
||
'rightSidebar.contextNotesTodo.sendDialog.title.newSession': '发送到新会话',
|
||
'rightSidebar.contextNotesTodo.sendDialog.title.newWorktree': '发送到新工作树',
|
||
'rightSidebar.contextNotesTodo.sendDialog.variant.default': '默认',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.cancel': '取消',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.send': '发送',
|
||
'rightSidebar.contextNotesTodo.sendDialog.actions.sending': '发送中',
|
||
'rightSidebar.contextNotesTodo.toast.saveNotesFailed': '保存项目笔记失败',
|
||
'rightSidebar.contextNotesTodo.toast.loadNotesFailed': '加载项目笔记失败',
|
||
'rightSidebar.contextNotesTodo.toast.noActiveSession': '未选择活动会话',
|
||
'rightSidebar.contextNotesTodo.toast.sentToCurrentSession': '待办已发送到当前会话',
|
||
'rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo': '仅 Git 仓库支持工作树操作',
|
||
'rightSidebar.contextNotesTodo.toast.createSessionFailed': '创建会话失败',
|
||
'rightSidebar.contextNotesTodo.toast.sentToNewSession': '待办已发送到新会话',
|
||
'rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession': '待办已发送到新的工作树会话',
|
||
'rightSidebar.contextNotesTodo.toast.sendTodoFailed': '发送待办失败',
|
||
'rightSidebar.contextNotesTodo.toast.deletePlanFailed': '删除计划失败',
|
||
'rightSidebar.contextNotesTodo.toast.planFileEmpty': '计划文件为空',
|
||
'rightSidebar.contextNotesTodo.toast.importPlanFailed': '导入计划失败',
|
||
'rightSidebar.contextNotesTodo.toast.planImported': '计划已导入',
|
||
'rightSidebar.contextNotesTodo.toast.readPlanFileFailed': '读取计划文件失败',
|
||
'inlineComment.range.lines': '行 {start}-{end}',
|
||
'inlineComment.input.placeholder': '添加评论...(Cmd+Enter 保存)',
|
||
'inlineComment.input.placeholderShort': '添加评论…',
|
||
'inlineComment.actions.cancel': '取消',
|
||
'inlineComment.actions.save': '保存',
|
||
'inlineComment.actions.comment': '评论',
|
||
'inlineComment.actions.showLess': '收起',
|
||
'inlineComment.actions.showMore': '展开',
|
||
'inlineComment.actions.editComment': '编辑评论',
|
||
'inlineComment.actions.deleteComment': '删除评论',
|
||
'inlineComment.toast.selectSessionToSave': '请选择会话以保存评论',
|
||
'header.github.connectedWithLogin': 'GitHub:{login}',
|
||
'header.github.connected': 'GitHub 已连接',
|
||
'header.github.avatarWithLogin': '{login} 头像',
|
||
'header.github.avatar': 'GitHub 头像',
|
||
'header.github.accountsTitle': 'GitHub 账户',
|
||
'header.github.accountSource.oauth': 'OAuth',
|
||
'header.github.accountSource.cli': 'CLI',
|
||
'header.services.openWithCurrent': '打开实例、用量和 MCP(当前:{current})',
|
||
'header.services.open': '打开服务、用量和 MCP',
|
||
'header.services.tooltip.currentInstanceWithShortcuts': '当前实例:{current}({toggle};下一标签 {nextTab})',
|
||
'header.services.tooltip.servicesWithShortcuts': '服务({toggle};下一标签 {nextTab})',
|
||
'header.services.title': '服务',
|
||
'header.services.viewAria': '查看服务',
|
||
'header.services.closeAria': '关闭服务',
|
||
'header.services.rateLimits': '速率限制',
|
||
'header.services.refreshRateLimitsAria': '刷新速率限制',
|
||
'header.services.noRateLimits': '没有可用的速率限制。',
|
||
'header.services.noRateLimitsReported': '未上报速率限制。',
|
||
'header.services.remoteUpdate.title': '远程实例更新',
|
||
'header.services.remoteUpdate.checking': '正在检查更新...',
|
||
'header.services.remoteUpdate.upToDate': '此实例已是最新。',
|
||
'header.services.remoteUpdate.available': '此实例可更新到版本 {version}。',
|
||
'header.services.remoteUpdate.error': '无法检查远程实例更新',
|
||
'header.services.remoteUpdate.actions.open': '更新',
|
||
'header.services.used': '已用',
|
||
'header.services.remaining': '剩余',
|
||
'header.services.shutdownDev': '停止 OpenChamber',
|
||
'header.services.modelFamily.other': '其他',
|
||
'header.actions.openPlanAria': '打开计划',
|
||
"header.actions.toggleChangesPanel": "更改面板",
|
||
"header.actions.toggleChangesPanelAria": "切换更改面板",
|
||
'header.actions.planWithShortcut': '计划({shortcut})',
|
||
'header.actions.terminalPanelWithShortcut': '终端面板({shortcut})',
|
||
'chat.recap.aria': '会话回顾',
|
||
'chat.recap.label': '回顾:',
|
||
'chat.goal.dialog.titleCreate': '设置会话目标',
|
||
'chat.goal.dialog.titleManage': '会话目标',
|
||
'chat.goal.dialog.objectiveLabel': '目标',
|
||
'chat.goal.dialog.objectivePlaceholder': '描述代理应达到并验证的最终状态…',
|
||
'chat.goal.dialog.budgetLabel': '令牌预算',
|
||
'chat.goal.dialog.evaluationModelLabel': '评估模型',
|
||
'chat.goal.status.active': '进行中',
|
||
'chat.goal.status.evaluating': '评估中…',
|
||
'chat.goal.status.paused': '已暂停',
|
||
'chat.goal.status.blocked': '已阻塞',
|
||
'chat.goal.status.budgetLimited': '已达预算',
|
||
'chat.goal.status.complete': '已完成',
|
||
'chat.goal.usage.tokens': '{used} 令牌',
|
||
'chat.goal.usage.tokensWithBudget': '{used}/{budget} 令牌',
|
||
'chat.goal.usage.turns': '{turns} 次续跑',
|
||
'chat.goal.action.pause': '暂停',
|
||
'chat.goal.action.resume': '继续',
|
||
'chat.goal.action.markComplete': '标记为完成',
|
||
'chat.goal.action.clear': '移除目标',
|
||
'chat.goal.action.cancel': '取消',
|
||
'chat.goal.action.save': '保存目标',
|
||
'chat.goal.action.start': '启动目标',
|
||
'chat.goal.toast.actionFailed': '目标更新失败',
|
||
'chat.goal.toast.distillFallback': '目标超出限制且无法提炼 — 审核将使用节选版本',
|
||
'chat.goal.row.aria': '会话目标 — 打开详情',
|
||
'chat.goal.button.createAria': '设置会话目标',
|
||
'chat.goal.button.manageAria': '管理会话目标',
|
||
'chat.goal.button.armAria': '用下一条消息启动目标',
|
||
'chat.goal.counter.aria': '目标长度限制',
|
||
'chat.goal.button.disarmAria': '目标已就绪 — 点按取消就绪',
|
||
'chat.goal.button.cancelAria': '目标进行中 — 点按取消',
|
||
'chat.goal.cancelDialog.title': '取消此目标?',
|
||
'chat.goal.cancelDialog.description': '代理将停止自动朝该目标工作。',
|
||
'chat.goal.cancelDialog.keep': '保留目标',
|
||
'chat.goal.cancelDialog.confirm': '取消目标',
|
||
'chat.suggestion.applyAria': '使用建议的消息',
|
||
'chat.suggestion.dismissAria': '关闭建议',
|
||
'header.actions.toggleTerminalPanelAria': '切换终端面板',
|
||
'terminalView.stream.processExitedMessage': '\r\n[进程已退出{exitCodeSegment}{signalSegment}]\r\n',
|
||
'terminalView.stream.processExitedWithCode': ',退出码 {exitCode}',
|
||
'terminalView.stream.processExitedWithSignal': '(信号 {signal})',
|
||
'terminalView.error.sessionEnded': '终端会话已结束',
|
||
'terminalView.error.connectionFailed': '连接失败:{message}',
|
||
'terminalView.error.startSessionFailed': '启动终端会话失败',
|
||
'terminalView.error.restartFailed': '重启终端失败',
|
||
'terminalView.error.sendInputFailed': '发送输入失败',
|
||
'terminalView.empty.noWorkingDirectory': '终端不可用,缺少工作目录。',
|
||
'terminalView.empty.selectSession': '选择一个会话以打开终端。',
|
||
'terminalView.empty.noWorkingDirectoryForSession': '此会话没有可用的工作目录。',
|
||
'terminalView.actions.retry': '重试',
|
||
'terminalView.actions.hardRestart': '强制重启',
|
||
'terminalView.actions.hardRestartTitle': '强制终止并创建全新会话',
|
||
'terminalView.quickKeys.escape': 'Esc',
|
||
'terminalView.quickKeys.tabAria': 'Tab 键',
|
||
'terminalView.quickKeys.controlLabel': 'Ctrl',
|
||
'terminalView.quickKeys.controlModifierAria': 'Control 修饰键',
|
||
'terminalView.quickKeys.altLabel': 'Alt',
|
||
'terminalView.quickKeys.altModifierAria': 'Alt 修饰键',
|
||
'terminalView.quickKeys.commandModifierAria': 'Command 修饰键',
|
||
'terminalView.quickKeys.arrowUpAria': '上箭头',
|
||
'terminalView.quickKeys.arrowLeftAria': '左箭头',
|
||
'terminalView.quickKeys.arrowDownAria': '下箭头',
|
||
'terminalView.quickKeys.arrowRightAria': '右箭头',
|
||
'terminalView.quickKeys.enterAria': 'Enter 键',
|
||
'terminalView.tabs.closeTabTitle': '关闭标签页',
|
||
'terminalView.tabs.newTabTitle': '新建标签页',
|
||
'terminalView.viewport.inputAria': '终端输入',
|
||
'directoryExplorerDialog.title': '添加项目目录',
|
||
'directoryExplorerDialog.description': '选择一个文件夹添加为项目。',
|
||
'directoryExplorerDialog.toggle.showHidden': '显示隐藏项',
|
||
'directoryExplorerDialog.pathInput.placeholder': '输入路径或从树中选择...',
|
||
'directoryExplorerDialog.actions.openingFinder': '正在打开...',
|
||
'directoryExplorerDialog.actions.openInFinder': '在 Finder 中打开',
|
||
'directoryExplorerDialog.actions.adding': '添加中...',
|
||
'directoryExplorerDialog.actions.addProject': '添加项目',
|
||
'directoryExplorerDialog.actions.addLocalProject': '添加本地项目',
|
||
'directoryExplorerDialog.actions.cloneRepository': '克隆仓库',
|
||
'directoryExplorerDialog.actions.cloneAndAdd': '克隆并添加',
|
||
'directoryExplorerDialog.actions.cloning': '正在克隆...',
|
||
'directoryExplorerDialog.actions.createAndAdd': '创建并添加',
|
||
'directoryExplorerDialog.actions.alreadyAdded': '已添加',
|
||
'directoryExplorerDialog.clone.remoteUrlPlaceholder': '仓库 URL(HTTPS 或 SSH)',
|
||
'directoryExplorerDialog.browse.directories': '目录',
|
||
'directoryExplorerDialog.browse.loading': '正在加载目录...',
|
||
'directoryExplorerDialog.browse.empty': '没有匹配的目录。',
|
||
'directoryExplorerDialog.browse.parentDirectory': '上级目录',
|
||
'directoryExplorerDialog.browse.addedBadge': '已添加',
|
||
'directoryExplorerDialog.browse.quickAdd': '添加',
|
||
'directoryExplorerDialog.footer.navigate': '导航',
|
||
'directoryExplorerDialog.footer.select': '选择',
|
||
'directoryExplorerDialog.footer.add': '添加',
|
||
'directoryExplorerDialog.shortcut.enter': 'Enter',
|
||
'directoryExplorerDialog.toast.unableToAccessDirectory': '无法访问目录',
|
||
'directoryExplorerDialog.toast.desktopDeniedAccess': '桌面端拒绝了目录访问。',
|
||
'directoryExplorerDialog.toast.failedToOpenDirectory': '打开目录失败',
|
||
'directoryExplorerDialog.toast.desktopCouldNotGrantAccess': '桌面端无法授予文件访问权限。',
|
||
'directoryExplorerDialog.toast.failedToAddProject': '添加项目失败',
|
||
'directoryExplorerDialog.toast.cloneUrlRequired': '克隆前请输入仓库 URL。',
|
||
'directoryExplorerDialog.toast.selectValidDirectoryPath': '请选择有效的目录路径。',
|
||
'directoryExplorerDialog.toast.failedToSelectDirectory': '选择目录失败',
|
||
'directoryExplorerDialog.toast.unknownError': '发生未知错误。',
|
||
'directoryTree.actions.createNewDirectory': '创建新目录',
|
||
'directoryTree.actions.pinDirectory': '固定目录',
|
||
'directoryTree.actions.unpinDirectory': '取消固定目录',
|
||
'directoryTree.actions.createDirectory': '创建目录',
|
||
'directoryTree.actions.cancel': '取消',
|
||
'directoryTree.actions.selectWorkingDirectoryAria': '选择工作目录',
|
||
'directoryTree.state.locatingHomeDirectory': '正在定位主目录...',
|
||
'directoryTree.state.loading': '加载中...',
|
||
'directoryTree.state.noDirectoriesFound': '未找到目录',
|
||
'directoryTree.section.pinned': '已固定',
|
||
'directoryTree.section.browse': '浏览',
|
||
'aboutDialog.versionLabel': '版本 {version}',
|
||
'aboutDialog.openChamberVersionLabel': 'OpenChamber 版本 {version}',
|
||
'aboutDialog.openCodeVersionLabel': 'OpenCode 版本 {version}',
|
||
'aboutDialog.actions.copyDiagnostics': '复制诊断信息',
|
||
'aboutDialog.actions.preparingDiagnostics': '正在准备诊断信息...',
|
||
'aboutDialog.actions.diagnosticsCopied': '诊断信息已复制',
|
||
'aboutDialog.diagnosticsDescription': '包含 OpenChamber 状态、OpenCode 健康信息、目录和项目。',
|
||
'aboutDialog.footerNote': '为社区用心打造',
|
||
'aboutDialog.toast.copyFailed': '复制失败',
|
||
'aboutDialog.toast.diagnosticsNotReady': '诊断信息尚未就绪。请稍候重试。',
|
||
'aboutDialog.toast.diagnosticsCopied': '诊断信息已复制',
|
||
'helpDialog.title': '键盘快捷键',
|
||
'helpDialog.description': '使用这些快捷键可更高效地导航 OpenChamber',
|
||
'helpDialog.section.navigationCommands': '导航与命令',
|
||
'helpDialog.section.sessionManagement': '会话管理',
|
||
'helpDialog.section.panels': '面板',
|
||
'helpDialog.section.interface': '界面',
|
||
'helpDialog.item.openCommandPalette': '打开命令面板',
|
||
'helpDialog.item.showKeyboardShortcuts': '显示键盘快捷键(此对话框)',
|
||
'helpDialog.item.toggleSessionSidebar': '切换会话侧边栏',
|
||
'helpDialog.item.addSelectionToChat': '将选中内容添加到聊天',
|
||
'helpDialog.item.cycleAgent': '循环切换智能体(聊天输入)',
|
||
'helpDialog.item.openModelSelector': '打开模型选择器',
|
||
'helpDialog.item.navigateModels': '导航模型(选择器中)',
|
||
'helpDialog.item.adjustThinkingMode': '调整思考模式(选择器中,支持时)',
|
||
'helpDialog.item.cycleThinkingVariant': '循环思考变体(全局快捷键)',
|
||
'helpDialog.item.newWindow': '新建窗口(仅桌面端)',
|
||
'helpDialog.item.createNewSession': '创建新会话',
|
||
'helpDialog.item.createNewWorktreeDraft': '创建新工作树草稿',
|
||
'helpDialog.item.focusChatInput': '聚焦聊天输入框',
|
||
'helpDialog.item.togglePromptNavigator': '显示或隐藏提示词导航',
|
||
'helpDialog.item.abortActiveRun': '中止当前运行(双击)',
|
||
'helpDialog.item.toggleRightSidebar': '切换上下文面板',
|
||
'helpDialog.item.openRightSidebarGitTab': '打开 Git 界面',
|
||
'helpDialog.item.openRightSidebarFilesTab': '打开文件界面',
|
||
'helpDialog.item.toggleTerminalDock': '切换终端停靠栏',
|
||
'helpDialog.item.toggleTerminalExpanded': '切换终端展开状态',
|
||
'helpDialog.item.togglePlanContextPanel': '切换计划上下文面板',
|
||
'helpDialog.item.cycleTheme': '循环切换主题(浅色 → 深色 → 跟随系统)',
|
||
'helpDialog.item.switchContextSurface': '切换上下文面板界面(数字键)',
|
||
'helpDialog.item.toggleServicesMenu': '切换服务菜单',
|
||
'helpDialog.item.cycleServicesTab': '循环服务标签',
|
||
'helpDialog.item.openSettings': '打开设置',
|
||
'helpDialog.keyCombiner.or': '或',
|
||
'helpDialog.proTips.title': '使用提示:',
|
||
'helpDialog.proTips.commandPalette': '使用命令面板({shortcut})可快速访问所有操作',
|
||
'helpDialog.proTips.recentSessions': '最近 5 个会话会显示在命令面板中',
|
||
'helpDialog.proTips.themeCycling': '主题循环会记住你在各会话中的偏好',
|
||
'header.actions.rightSidebarWithShortcut': '右侧边栏({shortcut})',
|
||
'header.actions.toggleRightSidebarAria': '切换右侧边栏',
|
||
'header.actions.openAppMenu': 'OpenChamber 菜单',
|
||
'header.actions.openAppMenuAria': '打开 OpenChamber 菜单',
|
||
'header.actions.openSessionsWithShortcut': '打开会话({shortcut})',
|
||
'header.actions.openSessionsAria': '打开会话',
|
||
'header.actions.closeSessionsAria': '关闭会话',
|
||
'header.actions.newSessionAria': '新建会话',
|
||
'header.actions.newSessionWithShortcut': '新建会话({shortcut})',
|
||
'header.actions.backAria': '返回',
|
||
'header.navigation.mainAria': '主导航',
|
||
'header.sessions.title': '会话',
|
||
'header.changes.availableAria': '有可用变更',
|
||
'session.githubIssuePicker.error.noActiveProject': '没有活动项目',
|
||
'session.githubIssuePicker.error.runtimeUnavailable': 'GitHub 运行时 API 不可用',
|
||
'session.githubIssuePicker.error.notConnected': 'GitHub 未连接',
|
||
'session.githubIssuePicker.error.repoNotResolvable': '无法解析仓库',
|
||
'session.githubIssuePicker.error.repoMustBeGithub': 'origin 远程仓库必须是 GitHub URL',
|
||
'session.githubIssuePicker.error.issueNotFound': '未找到 Issue',
|
||
'session.githubIssuePicker.error.noModelSelected': '未选择模型',
|
||
'session.githubIssuePicker.toast.loadMoreFailed': '加载更多 Issue 失败',
|
||
'session.githubIssuePicker.toast.loadIssueDetailsFailed': '加载 Issue 详情失败',
|
||
'session.githubIssuePicker.toast.sendContextFailed': '发送 Issue 上下文失败',
|
||
'session.githubIssuePicker.toast.sessionCreated': '已从 Issue 创建会话',
|
||
'session.githubIssuePicker.toast.startSessionFailed': '启动会话失败',
|
||
'session.githubIssuePicker.title.select': '关联 GitHub Issue',
|
||
'session.githubIssuePicker.title.createSession': '从 GitHub Issue 新建会话',
|
||
'session.githubIssuePicker.description.select': '选择一个 Issue 关联到当前会话。',
|
||
'session.githubIssuePicker.description.createSession': '使用隐藏的 Issue 上下文(标题/正文/标签/评论)初始化新会话。',
|
||
'session.githubIssuePicker.searchPlaceholder': '使用 GitHub 代码搜索语法进行搜索',
|
||
'session.githubIssuePicker.empty.noActiveProject': '未选择活动项目。',
|
||
'session.githubIssuePicker.empty.runtimeUnavailable': 'GitHub 运行时 API 不可用。',
|
||
'session.githubIssuePicker.empty.notConnected': 'GitHub 未连接。请在设置中连接 GitHub 账号。',
|
||
'session.githubIssuePicker.empty.noIssuesFound': '未找到 Issue',
|
||
'session.githubIssuePicker.empty.noOpenIssuesFound': '没有未关闭的 Issue',
|
||
'session.githubIssuePicker.loading.issues': '正在加载 Issue...',
|
||
'session.githubIssuePicker.loading.more': '加载中...',
|
||
'session.githubIssuePicker.actions.openSettings': '打开设置',
|
||
'session.githubIssuePicker.actions.useIssue': '使用 Issue #{number}',
|
||
'session.githubIssuePicker.actions.openInGitHubAria': '在 GitHub 中打开',
|
||
'session.githubIssuePicker.actions.loadMore': '加载更多',
|
||
'session.githubIssuePicker.actions.sectionTitle': '操作',
|
||
'session.githubIssuePicker.actions.toggleWorktreeAria': '切换工作树',
|
||
'session.githubIssuePicker.actions.createInWorktree': '在工作树中创建',
|
||
'session.githubIssuePicker.actions.openRepo': '打开仓库',
|
||
'session.githubIssuePicker.actions.refresh': '刷新',
|
||
'session.githubPrPicker.error.noActiveProject': '没有活动项目',
|
||
'session.githubPrPicker.error.runtimeUnavailable': 'GitHub 运行时 API 不可用',
|
||
'session.githubPrPicker.error.notConnected': 'GitHub 未连接',
|
||
'session.githubPrPicker.error.prNotFound': '未找到 Pull Request',
|
||
'session.githubPrPicker.error.repoNotResolvable': '无法解析仓库',
|
||
'session.githubPrPicker.error.repoMustBeGithub': 'origin 远程仓库必须是 GitHub URL',
|
||
'session.githubPrPicker.toast.loadMoreFailed': '加载更多 Pull Request 失败',
|
||
'session.githubPrPicker.toast.loadDetailsFailed': '加载 Pull Request 详情失败',
|
||
'session.githubPrPicker.title': '关联 GitHub Pull Request',
|
||
'session.githubPrPicker.description': '选择一个 Pull Request,将审查上下文附加到此消息。',
|
||
'session.githubPrPicker.searchPlaceholder': '使用 GitHub 代码搜索语法进行搜索',
|
||
'session.githubPrPicker.includeDiffAria': '在附加上下文中包含 PR 差异',
|
||
'session.githubPrPicker.includeDiff': '包含 PR 差异',
|
||
'session.githubPrPicker.empty.noActiveProject': '未选择活动项目。',
|
||
'session.githubPrPicker.empty.runtimeUnavailable': 'GitHub 运行时 API 不可用。',
|
||
'session.githubPrPicker.empty.notConnected': 'GitHub 未连接。请在设置中连接 GitHub 账号。',
|
||
'session.githubPrPicker.empty.noPullRequestsFound': '未找到 Pull Request',
|
||
'session.githubPrPicker.empty.noOpenPullRequestsFound': '没有未关闭的 Pull Request',
|
||
'session.githubPrPicker.loading.pullRequests': '正在加载 Pull Request...',
|
||
'session.githubPrPicker.loading.more': '加载中...',
|
||
'session.githubPrPicker.actions.openSettings': '打开设置',
|
||
'session.githubPrPicker.actions.usePullRequest': '使用 Pull Request #{number}',
|
||
'session.githubPrPicker.actions.openInGitHubAria': '在 GitHub 中打开',
|
||
'session.githubPrPicker.actions.loadMore': '加载更多',
|
||
'session.newWorktree.title': '新建工作树',
|
||
'session.newWorktree.mode.newBranch': '新分支',
|
||
'session.newWorktree.mode.existingBranch': '现有分支',
|
||
'session.newWorktree.selectBranch': '选择分支',
|
||
'session.newWorktree.chooseBranch': '选择一个分支...',
|
||
'session.newWorktree.fetchBranches': '拉取分支',
|
||
'session.newWorktree.searchBranches': '搜索分支...',
|
||
'session.newWorktree.loadingBranches': '正在加载分支...',
|
||
'session.newWorktree.noBranchesFound': '未找到分支',
|
||
'session.newWorktree.matchingBranches': '匹配分支',
|
||
'session.newWorktree.noMatchingBranches': '没有匹配分支',
|
||
'session.newWorktree.localBranches': '本地分支',
|
||
'session.newWorktree.remoteBranches': '远程分支',
|
||
'session.newWorktree.otherLocalBranches': '其他本地分支',
|
||
'session.newWorktree.otherRemoteBranches': '其他远程分支',
|
||
'session.newWorktree.branchName': '分支名',
|
||
'session.newWorktree.branchNamePlaceholder': 'feature/my-awesome-feature',
|
||
'session.newWorktree.actions.change': '更改',
|
||
'session.newWorktree.actions.startFromGitHubIssuePr': '从 GitHub Issue/PR 开始',
|
||
'session.newWorktree.usingPrBranch': '使用 PR 分支:{branch}',
|
||
'session.newWorktree.fromIssue': '来自 Issue #{number}:{title}',
|
||
'session.newWorktree.worktreeDirectory': '工作树目录',
|
||
'session.newWorktree.worktreeDirectoryPlaceholder': 'my-worktree-directory',
|
||
'session.newWorktree.resetToMatchBranchName': '重置为与分支名一致',
|
||
'session.newWorktree.sourceBranch': '源分支',
|
||
'session.newWorktree.selectSourceBranch': '选择源分支',
|
||
'session.newWorktree.selectSourceBranchPlaceholder': '选择源分支...',
|
||
'session.newWorktree.newBranchFromSource': '新分支将从 {source} 创建',
|
||
'session.newWorktree.issueNumber': 'Issue #{number}',
|
||
'session.newWorktree.prNumber': 'PR #{number}',
|
||
'session.newWorktree.includeDiffBadge': '+差异',
|
||
'session.newWorktree.newSessionTitle': '新会话',
|
||
'session.newWorktree.fromSource': '来自 {source}',
|
||
'session.newWorktree.actions.cancel': '取消',
|
||
'session.newWorktree.actions.creating': '创建中...',
|
||
'session.newWorktree.actions.createWorktree': '创建工作树',
|
||
'session.newWorktree.actions.reset': '重置',
|
||
'session.newWorktree.error.noModelSelected': '未选择模型',
|
||
'session.newWorktree.error.noActiveProject': '没有活动项目',
|
||
'session.newWorktree.error.branchNameRequired': '分支名是必填项',
|
||
'session.newWorktree.error.worktreeDirectoryRequired': '工作树目录为必填项',
|
||
'session.newWorktree.error.sendGitHubContextFailed': '发送 GitHub 上下文失败',
|
||
'session.newWorktree.error.createWorktreeFailed': '创建工作树失败',
|
||
'session.newWorktree.toast.sessionFromIssue': '已从 Issue 创建会话',
|
||
'session.newWorktree.toast.sessionFromPr': '已从 PR 创建会话',
|
||
'session.newWorktree.toast.worktreeCreated': '工作树已创建',
|
||
'session.newWorktree.toast.worktreeCreatedDescription': '{target} - 正在后台初始化',
|
||
'session.githubIntegration.title': '从 GitHub 选择',
|
||
'session.githubIntegration.tabs.issues': 'Issues',
|
||
'session.githubIntegration.tabs.pullRequests': 'Pull Requests',
|
||
'session.githubIntegration.connect.title': '连接到 GitHub',
|
||
'session.githubIntegration.connect.description': '关联 Issue 或 Pull Request 以自动填充工作树详情',
|
||
'session.githubIntegration.connect.action': '连接 GitHub',
|
||
'session.githubIntegration.search.issuesPlaceholder': '使用 GitHub 代码搜索语法进行搜索',
|
||
'session.githubIntegration.search.prsPlaceholder': '使用 GitHub 代码搜索语法进行搜索',
|
||
'session.githubIntegration.empty.noIssuesFound': '未找到 Issue',
|
||
'session.githubIntegration.empty.noPullRequestsFound': '未找到 Pull Request',
|
||
'session.githubIntegration.actions.loadMore': '加载更多',
|
||
'session.githubIntegration.actions.cancel': '取消',
|
||
'session.githubIntegration.actions.select': '选择',
|
||
'session.githubIntegration.selected.issueNumber': 'Issue #{number}',
|
||
'session.githubIntegration.selected.prNumber': 'PR #{number}',
|
||
'session.githubIntegration.includeDiffAria': '在会话上下文中包含 PR 差异',
|
||
'session.githubIntegration.includeDiff': '包含 PR 差异',
|
||
'session.githubIntegration.error.notConnected': 'GitHub 未连接',
|
||
'session.githubIntegration.error.loadDataFailed': '加载数据失败',
|
||
'session.githubIntegration.validation.branchAlreadyCheckedOut': '该分支已在某个工作树中检出',
|
||
'session.githubIntegration.validation.branchAlreadyExists': '该分支已在本地存在',
|
||
'session.githubIntegration.validation.failed': '校验失败',
|
||
'chat.fileAttachment.toast.attachFailed': '附加文件失败',
|
||
'chat.fileAttachment.toast.someFilesSkipped': '以下文件被跳过:\n{summary}',
|
||
'chat.fileAttachment.toast.vscodePickFailed': '在 VS Code 中选择文件失败',
|
||
'chat.fileAttachment.fileFallback': '文件',
|
||
'chat.fileAttachment.skippedFallback': '已跳过',
|
||
'chat.fileAttachment.actions.attachAria': '附加文件',
|
||
'chat.fileAttachment.actions.attach': '附加文件',
|
||
'chat.fileAttachment.actions.removeNamed': '移除 {name}',
|
||
'chat.fileAttachment.actions.removeImage': '移除图片',
|
||
'chat.fileAttachment.activeEditor.addFile': '将文件添加到上下文:{name}',
|
||
'chat.fileAttachment.activeEditor.pinSelection': '将选择固定到上下文',
|
||
'chat.fileAttachment.activeEditor.remove': '从上下文中移除',
|
||
'chat.fileAttachment.openInDiagram': '在图表视图中打开',
|
||
'chat.pendingChanges.fileCountSingle': '{count} 个文件',
|
||
'chat.pendingChanges.fileCountPlural': '{count} 个文件',
|
||
'chat.pendingChanges.changedInWorkspace': '工作区中有变更',
|
||
'chat.changedFiles.title': '已更改文件',
|
||
'chat.changedFiles.actions.openFileTitle': '打开 {path}',
|
||
'chat.emptyState.opencodeUnreachable': '无法连接 OpenCode',
|
||
'chat.emptyState.startNewChat': '开始新的聊天',
|
||
'chat.emptyState.draftTitle': 'What are we working on?',
|
||
'chat.emptyState.draftTitleWithProject': 'What are we working on in {project}?',
|
||
'chat.draftPresets.explore.label': 'Explore the codebase',
|
||
'chat.draftPresets.catchup.label': 'Catch me up',
|
||
'chat.draftPresets.weigh.label': 'Weigh my options',
|
||
'chat.draftPresets.plan.label': 'Start feature planning',
|
||
'chat.draftPresets.craftGoal.label': '创建 Goal',
|
||
'chat.draftPresets.scheduleTask.label': '安排计划任务',
|
||
'chat.draftPresets.debug.label': 'Debug an issue',
|
||
'chat.draftPresets.review.label': 'Review my changes',
|
||
'chat.draftStarters.add': 'Add a starter',
|
||
'chat.draftStarters.searchPlaceholder': 'Search commands and skills…',
|
||
'chat.draftStarters.empty': 'Nothing to add',
|
||
'chat.draftStarters.sectionBuiltIn': 'Built-in',
|
||
'chat.draftStarters.sectionCommands': 'Commands',
|
||
'chat.draftStarters.sectionSkills': 'Skills',
|
||
'chat.draftStarters.remove': 'Remove',
|
||
'chat.scrollToBottom.aria': '滚动到底部',
|
||
'chat.promptNavigator.aria': '提示词导航',
|
||
'chat.promptNavigator.currentPrompt': '当前提示',
|
||
'chat.promptNavigator.loadMore': '加载更多提示',
|
||
'chat.timeline.relative.justNow': '刚刚',
|
||
'chat.timeline.relative.minutesAgo': '{count} 分钟前',
|
||
'chat.timeline.relative.hoursAgo': '{count} 小时前',
|
||
'chat.timeline.relative.daysAgo': '{count} 天前',
|
||
'chat.timeline.title': '会话时间线',
|
||
'chat.timeline.description': '跳转到会话中的任意位置,或从该处分叉新会话',
|
||
'chat.timeline.searchPlaceholder': '搜索消息...',
|
||
'chat.timeline.empty.search': '未找到消息',
|
||
'chat.timeline.empty.session': '当前会话还没有消息',
|
||
'chat.timeline.noTextContent': '[无文本内容]',
|
||
'chat.timeline.actions.title': '操作',
|
||
'chat.timeline.actions.revertFromHere': '从此处回退',
|
||
'chat.timeline.actions.forkFromHere': '从此处分叉',
|
||
'chat.timeline.actions.previousTurn': '上一轮',
|
||
'chat.timeline.actions.latest': '最新',
|
||
'chat.timeline.help.clickMessage': '点击消息可滚动到会话中的对应位置',
|
||
'chat.timeline.help.undoToPoint': '回退到该点(消息文本会填充到输入框)',
|
||
'chat.timeline.help.createSessionFromHere': '从此处开始创建新会话',
|
||
'chat.statusRow.todo.status.inProgress': '进行中',
|
||
'chat.statusRow.todo.status.pending': '待处理',
|
||
'chat.statusRow.todo.status.completed': '已完成',
|
||
'chat.statusRow.todo.status.cancelled': '已取消',
|
||
'chat.statusRow.todo.priority.high': '高优先级',
|
||
'chat.statusRow.todo.priority.medium': '中优先级',
|
||
'chat.statusRow.todo.priority.low': '低优先级',
|
||
'chat.statusRow.actions.stopGeneratingAria': '停止生成',
|
||
'chat.statusRow.tasksTitle': '任务',
|
||
'chat.statusRow.modelStatus': '{model} · {status}',
|
||
'chat.statusRow.summary.activeLeft': '{active} 个活跃 · 剩余 {left} 个',
|
||
'chat.statusRow.aborted': '已中止',
|
||
'chat.revertIndicator.redo': '重做',
|
||
'chat.revertIndicator.redoAria': '重做 — 恢复已撤回的消息',
|
||
'chat.revertPopover.title': '已撤回',
|
||
'chat.revertPopover.noTextContent': '无文本内容',
|
||
'chat.revertPopover.forkFromHere': '从此处分支',
|
||
'chat.revertPopover.forkFromMessage': '从此消息分支',
|
||
'chat.revertPopover.restoreAll': '恢复全部',
|
||
'chat.revertPopover.restore': '恢复',
|
||
'chat.revertPopover.revert': '撤回',
|
||
'chat.revertPopover.fork': '分叉',
|
||
'chat.revert.toast.undo': '已撤回至 {preview}',
|
||
'chat.revert.toast.redo': '已重做',
|
||
'chat.revert.toast.restored': '已恢复全部消息',
|
||
'chat.errorBoundary.title': '聊天错误',
|
||
'chat.errorBoundary.description': '聊天界面发生错误,可能是临时网络问题或消息数据损坏导致。',
|
||
'chat.errorBoundary.sessionLabel': '会话',
|
||
'chat.errorBoundary.detailsSummary': '错误详情',
|
||
'chat.errorBoundary.resetAction': '重置聊天',
|
||
'chat.errorBoundary.persistentHint': '如果问题持续,请尝试刷新页面。',
|
||
'chat.autocomplete.tabs.commands': '命令',
|
||
'chat.autocomplete.tabs.agents': '智能体',
|
||
'chat.autocomplete.tabs.files': '文件',
|
||
'chat.autocomplete.keyboardHint': '↑↓ 导航 • Enter 选择 • Esc 关闭',
|
||
'chat.commandAutocomplete.command.initDescription': '创建/更新 AGENTS.md 文件',
|
||
'chat.commandAutocomplete.command.undoDescription': '撤销上一条消息',
|
||
'chat.commandAutocomplete.command.redoDescription': '重做之前撤销的消息',
|
||
'chat.commandAutocomplete.command.timelineDescription': '打开对话时间线',
|
||
'chat.commandAutocomplete.command.compactDescription': '使用 AI 压缩会话历史以减少上下文大小',
|
||
'chat.commandAutocomplete.command.summaryDescription': '非破坏性会话总结。命令后可选填主题提示。',
|
||
'chat.commandAutocomplete.command.workspaceReviewDescription': '审查工作区 diff 的意图、正确性与充分性,并按严重程度分级。',
|
||
'chat.commandAutocomplete.command.handoffReviewDescription': '根据生成的交接内容创建或复用独立的审查会话。',
|
||
'chat.commandAutocomplete.command.featurePlanDescription': '为新功能开始一次引导式的来回规划会话。',
|
||
'chat.commandAutocomplete.command.craftGoalDescription': '将想法或任务转化为清晰且可验证的 Goal。',
|
||
'chat.commandAutocomplete.command.scheduleTaskDescription': '通过引导式对话定义计划任务。',
|
||
'chat.chatInput.toast.craftGoalFailed': '无法开始创建 Goal',
|
||
'chat.chatInput.toast.scheduleTaskFailed': '无法开始设置计划任务',
|
||
'chat.commandAutocomplete.command.catchUpDescription': '重新进入上下文:你之前在做什么、从哪里继续。',
|
||
'chat.commandAutocomplete.command.debugDescription': '在提出修复方案前,引导式地排查 bug 的根本原因。',
|
||
'chat.commandAutocomplete.command.weighDescription': '在动手前,权衡 2-3 种方案的利弊并给出推荐。',
|
||
'chat.commandAutocomplete.command.exploreDescription': '快速熟悉这个代码库:对架构和主要部分的概览。',
|
||
'chat.commandAutocomplete.badge.skill': '技能',
|
||
'chat.commandAutocomplete.badge.command': '命令',
|
||
'chat.commandAutocomplete.badge.system': '系统',
|
||
'chat.commandAutocomplete.empty': '未找到命令',
|
||
'chat.agentMentionAutocomplete.badge.system': '系统',
|
||
'chat.agentMentionAutocomplete.empty': '未找到智能体',
|
||
'chat.fileMentionAutocomplete.searchMoreAgents': '输入以搜索更多智能体',
|
||
'chat.fileMentionAutocomplete.empty': '未找到匹配项',
|
||
'chat.queuedMessage.attachments': '+{count} 个文件',
|
||
'chat.queuedMessage.empty': '(空)',
|
||
'chat.queuedMessage.title': 'Queued messages',
|
||
'chat.queuedMessage.edit': 'edit',
|
||
'chat.queuedMessage.send': 'send',
|
||
'chat.queuedMessage.removeAria': '从队列移除',
|
||
'chat.queuedMessage.reorderAria': '拖动以重新排序',
|
||
'chat.container.returnToParent.aria': '返回父会话',
|
||
'chat.container.returnToParent.titleNamed': '返回到:{title}',
|
||
'chat.container.returnToParent.title': '返回父会话',
|
||
'chat.container.returnToParent.label': '父级',
|
||
'chat.container.readOnlySubagentPromptBanner': '无法向子智能体会话发送提示。',
|
||
'chat.container.sessionLoadError.title': '无法加载会话',
|
||
'chat.container.sessionLoadError.description': '请检查连接,然后重新加载此会话。',
|
||
'chat.container.sessionLoadError.retry': '重试',
|
||
'sessions.sidebar.group.empty.loadingSessions': '正在加载会话…',
|
||
'sessions.sidebar.group.empty.loadFailed': '无法刷新会话。',
|
||
'sessions.sidebar.group.empty.retry': '重试',
|
||
'chat.unifiedControls.title': '控制',
|
||
'chat.unifiedControls.model.title': '模型',
|
||
'chat.unifiedControls.model.noRecent': '没有最近使用的模型',
|
||
'chat.unifiedControls.model.moreAria': '更多模型',
|
||
'chat.unifiedControls.effort.title': '思考强度',
|
||
'chat.unifiedControls.effort.moreAria': '更多强度选项',
|
||
'chat.questionCard.summaryTab': '总结',
|
||
'chat.questionCard.noAnswer': '(无答案)',
|
||
'chat.questionCard.inputNeeded': '需要输入',
|
||
'chat.questionCard.fromSubagent': '来自子智能体',
|
||
'chat.questionCard.questionFallback': '问题 {index}',
|
||
'chat.questionCard.selectMultiple': '可多选',
|
||
'chat.questionCard.recommended': '推荐',
|
||
'chat.questionCard.other': '其他…',
|
||
'chat.questionCard.yourAnswer': '你的回答',
|
||
'chat.questionCard.submit': '提交',
|
||
'chat.questionCard.next': '下一个',
|
||
'chat.questionCard.dismiss': '忽略',
|
||
'chat.questionCard.copyMarkdown': '复制为 Markdown',
|
||
'chat.questionCard.copyJson': '复制为 JSON',
|
||
'chat.questionCard.copiedMarkdown': '问题已复制为 Markdown',
|
||
'chat.questionCard.copiedJson': '问题已复制为 JSON',
|
||
'chat.questionCard.copyFailed': '复制问题失败',
|
||
'chat.questionCard.submitFailed': '发送回答失败',
|
||
'chat.questionCard.dismissFailed': '忽略问题失败',
|
||
'chat.questionCard.noLongerPending': '此问题不再等待回答。',
|
||
'chat.questionCard.tryAgain': '请稍后重试。',
|
||
'chat.textSelection.toast.noProject': '未找到此会话对应的项目',
|
||
'chat.textSelection.toast.addToNotesFailed': '添加到笔记失败',
|
||
'chat.textSelection.toast.addToNotesSuccess': '已将选中文本添加到笔记',
|
||
'chat.textSelection.toast.addToNotesSummaryFailed': '无法总结所选内容,已将所选文本添加到笔记',
|
||
'chat.textSelection.actions.addToChat': '添加到聊天',
|
||
'chat.textSelection.actions.newSession': '新建会话',
|
||
'chat.textSelection.actions.copy': '复制',
|
||
'chat.textSelection.actions.addToNotes': '添加到笔记',
|
||
'chat.textSelection.title.addToCurrentChat': '添加到当前聊天',
|
||
'chat.textSelection.title.newSessionWithSelection': '使用选中内容创建新会话',
|
||
'chat.textSelection.title.saveInsightToNotes': '将选中文本保存到笔记',
|
||
'chat.messageBody.actions.revertAria': '回退到这条消息',
|
||
'chat.messageBody.actions.revert': '从此处回退',
|
||
'chat.messageBody.actions.forkAria': '从这条消息分叉',
|
||
'chat.messageBody.actions.fork': '从此处分叉',
|
||
'chat.messageBody.actions.copyMessageAria': '复制消息文本',
|
||
'chat.messageBody.actions.copyMessage': '复制消息',
|
||
'chat.messageBody.actions.pinContext': '固定到上下文(压缩后仍保留)',
|
||
'chat.messageBody.actions.unpinContext': '从上下文取消固定(压缩后不再保留)',
|
||
'chat.messageBody.actions.contextPinFailed': '无法更新上下文固定状态',
|
||
'chat.messageBody.actions.openPreviewAria': '打开预览',
|
||
'chat.messageBody.actions.openPreview': '打开预览',
|
||
'chat.messageBody.actions.copyAnswer': '复制回答',
|
||
'chat.messageBody.actions.savingImage': '正在保存图片...',
|
||
'chat.messageBody.actions.saveAsImage': '保存为图片',
|
||
'chat.messageBody.actions.saveAsPlan': '保存为计划',
|
||
'chat.messageBody.actions.startNewSession': '基于此回答开始新会话',
|
||
'chat.messageBody.actions.startNewMultiRun': '基于此回答开始新的多运行',
|
||
'chat.messageBody.forkDialog.instructions.label': '说明',
|
||
'chat.messageBody.forkDialog.instructions.placeholder': '为新会话添加说明…',
|
||
'chat.messageBody.forkDialog.createWorktree': '创建工作树',
|
||
'chat.generatedResult.actions.copy': '复制',
|
||
'chat.generatedResult.actions.copied': '已复制',
|
||
'chat.generatedResult.commit.title': '生成的提交消息',
|
||
'chat.generatedResult.commit.highlights': '要点',
|
||
'chat.generatedResult.pullRequest.title': '生成的 Pull Request',
|
||
'chat.generatedResult.pullRequest.titleLabel': '标题',
|
||
'chat.generatedResult.pullRequest.bodyLabel': '正文',
|
||
'chat.messageBody.tts.stopSpeaking': '停止朗读',
|
||
'chat.messageBody.tts.readAloud': '朗读',
|
||
'chat.messageBody.tts.readAloudWithProvider': '朗读({provider} 语音)',
|
||
'planView.tts.readAloud': '朗读计划',
|
||
'planView.tts.stopSpeaking': '停止朗读',
|
||
'filesView.tts.readAloud': '朗读文件',
|
||
'filesView.tts.stopSpeaking': '停止朗读',
|
||
'chat.messageBody.toast.noProject': '未找到此会话对应的项目',
|
||
'chat.messageBody.toast.savePlanFailed': '保存计划失败',
|
||
'chat.messageBody.toast.planSaved': '计划已保存',
|
||
'chat.messageBody.toast.imageSaved': '图片已保存',
|
||
'chat.messageBody.toast.generateImageFailed': '生成图片失败',
|
||
'chat.chatInput.actions.commands': '命令',
|
||
'chat.chatInput.actions.attachFiles': '附加文件',
|
||
'chat.chatInput.actions.addAttachment': '添加附件',
|
||
'chat.chatInput.actions.linkGithubIssue': '关联 GitHub Issue',
|
||
'chat.chatInput.actions.linkGithubPr': '关联 GitHub PR',
|
||
'chat.chatInput.actions.modelAgentSettings': '模型与智能体设置',
|
||
'chat.chatInput.actions.sendMessageAria': '发送消息',
|
||
'chat.chatInput.actions.queueMessageAria': '将消息加入队列',
|
||
'chat.chatInput.actions.stopGeneratingAria': '停止生成',
|
||
'chat.chatInput.focusMode.toggleAria': '切换专注模式',
|
||
'chat.chatInput.focusMode.label': '专注模式',
|
||
'chat.chatInput.permissionAutoAccept.disable': '关闭权限自动接受',
|
||
'chat.chatInput.permissionAutoAccept.enable': '开启权限自动接受',
|
||
'chat.chatInput.permissionAutoAccept.on': '权限自动接受:开',
|
||
'chat.chatInput.permissionAutoAccept.off': '权限自动接受:关',
|
||
'chat.chatInput.linked.byAuthor': '由 {author}',
|
||
'chat.chatInput.linked.issue.openInBrowserAria': '在浏览器中打开 Issue',
|
||
'chat.chatInput.linked.issue.removeAria': '移除已关联的 Issue',
|
||
'chat.chatInput.linked.pr.number': 'PR #{number}',
|
||
'chat.chatInput.linked.pr.openInBrowserAria': '在浏览器中打开 Pull Request',
|
||
'chat.chatInput.linked.pr.removeAria': '移除已关联的 Pull Request',
|
||
'chat.chatInput.placeholder.shell': '输入 shell 命令...',
|
||
'chat.chatInput.placeholder.chat': '@ 用于文件/智能体;/ 用于命令和技能;! 用于 shell;# 用于代码片段',
|
||
'chat.chatInput.placeholder.chatCompact': '使用 @ / ! # 辅助',
|
||
'chat.chatInput.placeholder.selectSession': '选择或创建会话以开始聊天',
|
||
'chat.dictation.start': '开始语音输入',
|
||
'chat.dictation.overlayAria': '语音输入',
|
||
'chat.dictation.downloadingModel': '正在下载语音模型...',
|
||
'chat.dictation.downloadingModelProgress': '正在下载语音模型... {percent}%',
|
||
'chat.dictation.listening': '正在聆听...',
|
||
'chat.dictation.processing': '正在转写...',
|
||
'chat.dictation.failed': '转写失败',
|
||
'chat.dictation.cancel': '放弃语音输入',
|
||
'chat.dictation.insert': '插入文本',
|
||
'chat.dictation.insertAndSend': '插入并发送',
|
||
'chat.dictation.retry': '重试转写',
|
||
'chat.dictation.discard': '放弃录音',
|
||
'chat.snippetAutocomplete.action.addNew': '+ 新建代码片段',
|
||
'chat.snippetAutocomplete.empty': '未找到代码片段',
|
||
'chat.snippetAutocomplete.footer': '↑↓ 导航 • Enter 选择 • Esc 关闭',
|
||
'snippets.source.global': '全局',
|
||
'snippets.source.project': '项目',
|
||
'chat.chatInput.toast.compactFailed': '压缩会话失败',
|
||
'chat.chatInput.toast.summaryFailed': '生成总结失败',
|
||
'chat.messageBody.actions.sendReviewFeedback': '将审查反馈发送给实现更改的代理',
|
||
'chat.messageBody.actions.sendImplementationResponse': '将实现回应发送给审查代理',
|
||
'chat.chatInput.toast.reviewFailed': '审查变更失败',
|
||
'chat.chatInput.toast.planFeatureFailed': '无法开始功能规划',
|
||
'chat.chatInput.toast.catchUpFailed': '无法获取上下文',
|
||
'chat.chatInput.toast.debugFailed': '无法开始调试',
|
||
'chat.chatInput.toast.weighFailed': '无法权衡方案',
|
||
'chat.chatInput.toast.exploreFailed': '无法开始导览',
|
||
'chat.chatInput.toast.attachmentsTooLarge': '附件过大,无法发送。请减少图片数量或大小。',
|
||
'chat.chatInput.toast.sendAttachmentsFailed': '发送附件失败。请尝试更少文件或更小图片。',
|
||
'chat.chatInput.toast.messageSendFailed': '消息发送失败,附件已恢复。',
|
||
'chat.chatInput.toast.clipboardAttachFailed': '从剪贴板附加图片失败',
|
||
'chat.chatInput.toast.addedFileMentions': '已添加 {count} 个文件提及',
|
||
'chat.chatInput.toast.attachFileFailed': '附加文件失败',
|
||
'chat.chatInput.toast.attachNamedFailed': '附加 {name} 失败',
|
||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} 不支持 {files} 所需的 {modalities} 输入。你仍可发送消息,但这些附件可能会被忽略。',
|
||
'chat.chatInput.toast.someFilesSkipped': '部分文件被跳过:\n{summary}',
|
||
'chat.chatInput.toast.vscodePickFailed': '在 VS Code 中选择文件失败',
|
||
'chat.chatInput.toast.openSessionFirst': '请先打开一个会话',
|
||
'chat.chatInput.toast.togglePermissionAutoAcceptFailed': '切换权限自动接受失败',
|
||
'chat.chatInput.reviewComments': '审查评论:',
|
||
'chat.chatInput.reviewCommentsRemove': '移除审查评论',
|
||
'chat.chatInput.devServerLogs': 'Dev Server 日志:',
|
||
'chat.chatInput.devServerLogsRemove': '移除 Dev Server 日志',
|
||
'chat.chatInput.previewAnnotations': '预览注释:',
|
||
'chat.chatInput.previewContext': '预览上下文:',
|
||
'chat.chatInput.previewContextRemove': '移除预览上下文',
|
||
'chat.chatInput.projectRoot': '项目根目录',
|
||
'chat.chatInput.branch': '分支',
|
||
'chat.chatInput.draftPicker.projectTitle': '项目',
|
||
'chat.chatInput.draftPicker.searchProjects': '搜索项目...',
|
||
'chat.chatInput.draftPicker.searchBranches': '搜索分支...',
|
||
'chat.chatInput.worktrees': '工作树',
|
||
'chat.chatInput.worktreeNew': '+ 新建',
|
||
'chat.chatInput.drop.insertMention': '释放以插入为提及',
|
||
'chat.chatInput.drop.attachFiles': '将文件拖放到此处以附加',
|
||
'chat.chatInput.fileFallback': '文件',
|
||
'chat.toolOutputDialog.image.previousAria': '上一张图片',
|
||
'chat.toolOutputDialog.image.nextAria': '下一张图片',
|
||
'chat.toolOutputDialog.image.closeAria': '关闭图片预览',
|
||
'chat.toolOutputDialog.mermaid.missingSource': '缺少 Mermaid 源 URL。',
|
||
'chat.toolOutputDialog.mermaid.loadFailed': '无法加载 Mermaid 图表。',
|
||
'chat.toolOutputDialog.mermaid.dataUrlMalformed': 'Mermaid 数据 URL 格式不正确。',
|
||
'chat.toolOutputDialog.mermaid.invalidLocalPath': 'Mermaid 本地文件路径无效。',
|
||
'chat.toolOutputDialog.mermaid.readFileFailedWithStatus': '无法读取 Mermaid 文件。状态:{status}。',
|
||
'chat.toolOutputDialog.mermaid.unsupportedUrlProtocol': '不支持该 Mermaid URL 协议。',
|
||
'chat.toolOutputDialog.mermaid.loadFailedWithStatus': '无法加载 Mermaid 图表。状态:{status}。',
|
||
'chat.toolOutputDialog.mermaid.closeAria': '关闭图表预览',
|
||
'chat.toolOutputDialog.mermaid.loading': '正在加载图表...',
|
||
'chat.toolOutputDialog.mermaid.renderFailed': '无法渲染 Mermaid 图表。',
|
||
'chat.toolOutputDialog.mermaid.retry': '重试',
|
||
'chat.toolOutputDialog.commandCompleted': '命令已成功完成',
|
||
'chat.toolOutputDialog.noOutputProduced': '没有产生输出',
|
||
'chat.toolPart.lspErrors': 'LSP 错误',
|
||
'chat.toolPart.moreErrors': '+{count} 个更多错误',
|
||
'chat.toolPart.error': '错误:',
|
||
'chat.toolPart.awaitingResponse': '等待响应...',
|
||
'chat.toolPart.noOutputProduced': '未产生输出',
|
||
'chat.toolPart.output': '输出',
|
||
'chat.toolPart.showRawJson': '显示原始 JSON',
|
||
'chat.toolPart.showFormattedJson': '显示格式化 JSON',
|
||
'chat.toolPart.showNavigableJson': '显示可导航 JSON',
|
||
'chat.toolPart.openFileAtFirstChange': '在首次更改处打开文件',
|
||
'chat.toolPart.openFileDiff': '打开文件差异',
|
||
'chat.toolPart.copyOutput': '复制输出',
|
||
'chat.toolPart.copiedOutput': '已复制输出',
|
||
'chat.toolPart.copyOutputFailed': '复制输出失败',
|
||
'chat.toolPart.openSubtask': '打开{type}子任务',
|
||
'chat.todo.total': '总计',
|
||
'chat.todo.inProgress': '进行中',
|
||
'chat.todo.pending': '待处理',
|
||
'chat.todo.completed': '已完成',
|
||
'chat.todo.cancelled': '已取消',
|
||
'chat.permissionCard.workingDirectory': '工作目录:',
|
||
'chat.permissionCard.timeout': '超时:',
|
||
'chat.permissionCard.request': '请求:',
|
||
'chat.permissionCard.headers': '请求头:',
|
||
'chat.permissionCard.body': '请求体:',
|
||
'chat.permissionCard.action': '操作:',
|
||
'chat.permissionCard.details': '详情:',
|
||
'chat.permissionCard.patterns': '模式:',
|
||
'chat.permissionToast.sessionFallback': '会话',
|
||
'chat.permissionToast.permissionFallback': '权限详情不可用',
|
||
'chat.permissionToast.labels.session': '会话:',
|
||
'chat.permissionToast.labels.permission': '权限:',
|
||
'chat.permissionToast.actions.once': '一次',
|
||
'chat.permissionToast.actions.always': '始终',
|
||
'chat.permissionToast.actions.deny': '拒绝',
|
||
'chat.permissionToast.actions.approveOnceAria': '批准一次',
|
||
'chat.permissionToast.actions.approveOnceAriaWithSession': '为 {session} 批准一次',
|
||
'chat.permissionToast.actions.approveAlwaysAria': '始终批准',
|
||
'chat.permissionToast.actions.approveAlwaysAriaWithSession': '为 {session} 始终批准',
|
||
'chat.permissionToast.actions.denyAria': '拒绝权限',
|
||
'chat.permissionToast.actions.denyAriaWithSession': '拒绝 {session} 的权限',
|
||
'chat.permissionRequest.required': '需要权限:',
|
||
'chat.permissionRequest.actions.once': '一次',
|
||
'chat.permissionRequest.actions.always': '始终',
|
||
'chat.permissionRequest.actions.reject': '拒绝',
|
||
'chat.modelControls.provider': '提供商',
|
||
'chat.modelControls.capability.toolCalling': '工具调用',
|
||
'chat.modelControls.capability.reasoning': '推理',
|
||
'chat.modelControls.modality.text': '文本',
|
||
'chat.modelControls.modality.image': '图像',
|
||
'chat.modelControls.modality.video': '视频',
|
||
'chat.modelControls.modality.audio': '音频',
|
||
'chat.modelControls.modality.pdf': 'PDF',
|
||
'chat.modelControls.capabilities': '能力',
|
||
'chat.modelControls.modalities': '模态',
|
||
'chat.modelControls.input': '输入',
|
||
'chat.modelControls.output': '输出',
|
||
'chat.modelControls.limits': '限制',
|
||
'chat.modelControls.context': '上下文',
|
||
'chat.modelControls.metadata': '元数据',
|
||
'chat.modelControls.knowledge': '知识',
|
||
'chat.modelControls.release': '发布时间',
|
||
'chat.modelControls.mode': '模式',
|
||
'chat.modelControls.model': '模型',
|
||
'chat.modelControls.temperature': '温度',
|
||
'chat.modelControls.topP': 'Top P',
|
||
'chat.modelControls.permissions': '权限',
|
||
'chat.modelControls.edit': '编辑',
|
||
'chat.modelControls.bash': 'Bash',
|
||
'chat.modelControls.webFetch': 'WebFetch',
|
||
'chat.modelControls.customPrompt': '自定义提示词',
|
||
'chat.modelControls.selectModel': '选择模型',
|
||
'chat.modelControls.searchProvidersOrModels': '搜索提供商或模型',
|
||
'chat.modelControls.clearSearch': '清除搜索',
|
||
'chat.modelControls.current': '当前',
|
||
'chat.modelControls.thinking': '思考',
|
||
'chat.modelControls.default': '默认',
|
||
'chat.modelControls.selectAgent': '选择智能体',
|
||
'chat.modelControls.costPerMillion': '成本($/100万 tokens)',
|
||
'chat.modelControls.metadataUnavailable': '模型元数据不可用。',
|
||
'chat.modelControls.addNewProvider': '添加新提供商',
|
||
'chat.modelControls.noAgentSelected': '未选择智能体。',
|
||
'chat.modelControls.resetToDefault': '重置为默认',
|
||
'chat.modelControls.searchModels': '搜索模型',
|
||
'chat.modelControls.searchAgents': '搜索智能体',
|
||
'chat.modelControls.noModelsFound': '未找到模型',
|
||
'chat.modelControls.favorites': '收藏',
|
||
'chat.modelControls.recent': '最近',
|
||
'chat.modelControls.addToFavorites': '添加到收藏',
|
||
'chat.modelControls.removeFromFavorites': '从收藏中移除',
|
||
'chat.modelControls.favoriteAria': '收藏',
|
||
'chat.modelControls.unfavoriteAria': '取消收藏',
|
||
'chat.modelControls.collapseProvider': '折叠提供商',
|
||
'chat.modelControls.expandProvider': '展开提供商',
|
||
'chat.modelControls.keyboardHint': '↑↓ 导航{thinking} • Enter 选择 • Esc 关闭',
|
||
'chat.modelControls.keyboardHintNavigate': '↑↓ 导航',
|
||
'chat.modelControls.keyboardHintSwitchAgent': '{shortcut} 切换智能体',
|
||
'chat.modelControls.keyboardHintThinking': '←→ 思考',
|
||
'chat.modelControls.showThinkingModes': '显示思考模式',
|
||
'chat.modelControls.hideThinkingModes': '隐藏思考模式',
|
||
'chat.modelControls.moreThinkingModes': '更多思考模式',
|
||
'chat.modelControls.noProvidersOrModelsFound': '没有提供商或模型匹配你的搜索。',
|
||
'chat.modelControls.reorderFavoriteAria': '重新排序收藏',
|
||
'chat.modelControls.reorderFavoriteTitle': '拖动以重新排序收藏',
|
||
'chat.modelControls.reorderProviderTitle': '拖动以重新排序提供商',
|
||
'chat.modelControls.permissionLabel.custom': '自定义',
|
||
'chat.modelControls.permissionLabel.allow': '允许',
|
||
'chat.modelControls.permissionLabel.deny': '拒绝',
|
||
'chat.modelControls.permissionLabel.ask': '询问',
|
||
'chat.modelControls.modeValue.primary': '主智能体',
|
||
'chat.modelControls.modeValue.subagent': '子智能体',
|
||
'chat.modelControls.modeValue.all': '全部',
|
||
'chat.modelControls.modeValue.none': '—',
|
||
'chat.reasoningTrace.thinking': '思考',
|
||
'chat.reasoningTrace.justification': '理由',
|
||
'chat.reasoningTrace.expandAria': '展开推理轨迹',
|
||
'chat.reasoningTrace.collapseAria': '折叠推理轨迹',
|
||
'chat.reasoningTrace.thought': '已思考',
|
||
'chat.messageBody.subtask.title': '委派任务',
|
||
'chat.messageBody.subtask.hidePrompt': '隐藏提示',
|
||
'chat.messageBody.subtask.showPrompt': '显示提示',
|
||
'chat.messageBody.subtask.openSession': '打开子任务会话',
|
||
'chat.messageBody.shellCommand.title': 'Shell 命令',
|
||
'chat.messageBody.shellCommand.hideOutput': '隐藏输出',
|
||
'chat.messageBody.shellCommand.showOutput': '显示输出',
|
||
'chat.messageBody.shellCommand.copied': '已复制',
|
||
'chat.messageBody.shellCommand.copyOutput': '复制输出',
|
||
'commandPalette.title': '命令面板',
|
||
'commandPalette.description': '搜索文件、会话和命令。',
|
||
'commandPalette.input.placeholder': '搜索文件、会话、命令...',
|
||
'commandPalette.empty.noResults': '未找到结果。',
|
||
'commandPalette.empty.searchingFiles': '正在搜索文件...',
|
||
'commandPalette.item.newSession': '新建会话',
|
||
'commandPalette.item.newMiniChat': '新建 Mini Chat 窗口',
|
||
'commandPalette.item.newWorktreeDraft': '新建工作树草稿',
|
||
'commandPalette.item.addProject': '添加项目',
|
||
'commandPalette.item.showSessionSwitcher': '显示会话切换器',
|
||
'commandPalette.item.toggleSidebar': '切换侧边栏',
|
||
'commandPalette.item.showContextUsage': '显示上下文用量',
|
||
'commandPalette.item.toggleTerminal': '切换终端',
|
||
'commandPalette.item.openSettings': '打开设置...',
|
||
'commandPalette.session.untitled': '未命名会话',
|
||
'openCodeStatusDialog.title': 'OpenCode 状态',
|
||
'openCodeStatusDialog.description': '查看当前 OpenCode 状态与诊断信息。',
|
||
'openCodeStatusDialog.actions.copy': '复制',
|
||
'openCodeStatusDialog.empty.noData': '无数据。',
|
||
'openCodeStatusDialog.toast.copiedTitle': '已复制',
|
||
'openCodeStatusDialog.toast.copiedDescription': '状态已复制到剪贴板',
|
||
'openCodeStatusDialog.toast.copyFailed': '复制状态失败',
|
||
'saveProjectPlanDialog.title': '保存项目计划',
|
||
'saveProjectPlanDialog.description': '将此计划以 Markdown 文件保存到你的项目中。',
|
||
'saveProjectPlanDialog.field.title': '标题',
|
||
'saveProjectPlanDialog.field.titlePlaceholder': '计划标题',
|
||
'saveProjectPlanDialog.field.contentPreview': '内容预览',
|
||
'saveProjectPlanDialog.actions.cancel': '取消',
|
||
'saveProjectPlanDialog.actions.save': '保存',
|
||
'saveProjectPlanDialog.actions.saving': '保存中...',
|
||
'branchPickerDialog.title': '分支选择器',
|
||
'branchPickerDialog.description.localBranchesForProject': '{project} 的本地分支',
|
||
'branchPickerDialog.description.selectProject': '请选择一个项目以查看分支',
|
||
'branchPickerDialog.search.placeholder': '搜索分支...',
|
||
'branchPickerDialog.search.renameBranchPlaceholder': '重命名分支',
|
||
'branchPickerDialog.state.noProjectSelected': '未选择项目',
|
||
'branchPickerDialog.state.loadingBranches': '正在加载分支...',
|
||
'branchPickerDialog.state.noMatchingBranches': '没有匹配分支',
|
||
'branchPickerDialog.state.noBranchesFound': '未找到分支',
|
||
'branchPickerDialog.badge.head': 'HEAD',
|
||
'branchPickerDialog.badge.worktree': '工作树',
|
||
'branchPickerDialog.actions.createWorktreeAria': '从分支创建工作树',
|
||
'branchPickerDialog.actions.renameAria': '重命名分支',
|
||
'branchPickerDialog.actions.deleteAria': '删除分支',
|
||
'branchPickerDialog.actions.deleteWorktreeAria': '移除工作树',
|
||
'branchPickerDialog.actions.confirmRenameAria': '确认重命名',
|
||
'branchPickerDialog.actions.cancelRenameAria': '取消重命名',
|
||
'branchPickerDialog.actions.confirmDeleteAria': '确认删除分支',
|
||
'branchPickerDialog.actions.cancelDeleteAria': '取消删除分支',
|
||
'branchPickerDialog.actions.deletePrompt': '删除',
|
||
'branchPickerDialog.actions.forceDeletePrompt': '强制删除',
|
||
'branchPickerDialog.tooltip.createWorktree': '创建工作树',
|
||
'branchPickerDialog.tooltip.worktreeAlreadyExists': '工作树已存在',
|
||
'branchPickerDialog.tooltip.rename': '重命名分支',
|
||
'branchPickerDialog.tooltip.renameDisabledForRoot': '不能重命名根分支',
|
||
'branchPickerDialog.tooltip.delete': '删除分支',
|
||
'branchPickerDialog.tooltip.deleteCurrentBranch': '不能删除当前分支',
|
||
'branchPickerDialog.tooltip.deleteDisabledForRoot': '不能删除根分支',
|
||
'branchPickerDialog.tooltip.deleteWorktree': '移除工作树',
|
||
'branchPickerDialog.tooltip.deleteWorktreeRootProtected': '不能移除根工作树',
|
||
'branchPickerDialog.toast.branchRenamed': '分支已重命名',
|
||
'branchPickerDialog.toast.failedToRenameBranch': '重命名分支失败',
|
||
'branchPickerDialog.toast.branchDeleted': '分支已删除',
|
||
'branchPickerDialog.toast.branchNotMerged': '分支尚未完全合并',
|
||
'branchPickerDialog.toast.confirmAgainToForceDelete': '再次确认以强制删除',
|
||
'branchPickerDialog.toast.failedToDeleteBranch': '删除分支失败',
|
||
'branchPickerDialog.toast.worktreeCreated': '工作树已创建',
|
||
'branchPickerDialog.toast.failedToCreateWorktree': '创建工作树失败',
|
||
'branchPickerDialog.error.failedToLoad': '加载分支失败',
|
||
'branchPickerDialog.error.renameRejected': '重命名被拒绝',
|
||
'branchPickerDialog.error.renameFailed': '重命名分支失败',
|
||
'branchPickerDialog.error.deleteRejected': '删除被拒绝',
|
||
'branchPickerDialog.error.deleteFailed': '删除分支失败',
|
||
'branchPickerDialog.error.createWorktreeFailed': '创建工作树失败',
|
||
'projectEditDialog.title': '编辑项目',
|
||
'projectEditDialog.field.name': '名称',
|
||
'projectEditDialog.field.namePlaceholder': '项目名称',
|
||
'projectEditDialog.field.color': '颜色',
|
||
'projectEditDialog.field.icon': '图标',
|
||
'projectEditDialog.field.preview': '预览',
|
||
'projectEditDialog.field.iconBackground': '图标背景',
|
||
'projectEditDialog.field.iconBackgroundAria': '项目图标背景色',
|
||
'projectEditDialog.option.none': '无',
|
||
'projectEditDialog.actions.uploadIcon': '上传图标',
|
||
'projectEditDialog.actions.uploading': '上传中...',
|
||
'projectEditDialog.actions.discoverFavicon': '发现站点图标',
|
||
'projectEditDialog.actions.discovering': '发现中...',
|
||
'projectEditDialog.actions.removeProjectIcon': '移除项目图标',
|
||
'projectEditDialog.actions.removing': '移除中...',
|
||
'projectEditDialog.actions.undoRemove': '撤销移除',
|
||
'projectEditDialog.actions.clear': '清除',
|
||
'projectEditDialog.actions.cancel': '取消',
|
||
'projectEditDialog.actions.save': '保存',
|
||
'projectEditDialog.toast.failedToUploadIcon': '上传项目图标失败',
|
||
'projectEditDialog.toast.iconUpdated': '项目图标已更新',
|
||
'projectEditDialog.toast.failedToRemoveIcon': '移除项目图标失败',
|
||
'projectEditDialog.toast.iconRemoved': '项目图标已移除',
|
||
'projectEditDialog.toast.failedToDiscoverIcon': '发现项目图标失败',
|
||
'projectEditDialog.toast.customIconAlreadySet': '该项目已设置自定义图标',
|
||
'projectEditDialog.toast.iconDiscovered': '项目图标已发现',
|
||
'agentManager.sidebar.search.placeholder': '搜索智能体组...',
|
||
'agentManager.sidebar.actions.newAgentGroup': '新建智能体组',
|
||
'agentManager.sidebar.actions.more': '... 更多({count})',
|
||
'agentManager.sidebar.actions.showLess': '收起',
|
||
'agentManager.sidebar.section.agentGroups': '智能体组',
|
||
'agentManager.sidebar.state.loading': '加载中...',
|
||
'agentManager.sidebar.state.noGroupsFound': '未找到分组',
|
||
'agentManager.sidebar.state.noGroupsYet': '还没有智能体组',
|
||
'agentManager.sidebar.state.createToGetStarted': '创建一个新的智能体组以开始使用',
|
||
'agentManager.sidebar.item.modelCountSingle': '{count} 个模型',
|
||
'agentManager.sidebar.item.modelCountPlural': '{count} 个模型',
|
||
'agentManager.sidebar.item.groupMenuAria': '分组菜单',
|
||
'agentManager.sidebar.item.delete': '删除',
|
||
'agentManager.sidebar.relativeTime.now': '刚刚',
|
||
'agentManager.sidebar.relativeTime.minutes': '{count} 分钟',
|
||
'agentManager.sidebar.relativeTime.hours': '{count} 小时',
|
||
'agentManager.sidebar.relativeTime.days': '{count} 天',
|
||
'agentManager.sidebar.dialog.deleteGroupTitle': '删除智能体组',
|
||
'agentManager.sidebar.dialog.deleteGroupDescription': '删除“{group}”?这会移除该组中的所有工作树和会话。',
|
||
'agentManager.sidebar.dialog.cancel': '取消',
|
||
'agentManager.sidebar.dialog.delete': '删除',
|
||
'agentManager.sidebar.dialog.deleting': '删除中...',
|
||
'agentManager.sidebar.toast.deletingGroup': '正在删除“{group}”...',
|
||
'agentManager.sidebar.toast.deletedGroup': '已删除“{group}”',
|
||
'agentManager.sidebar.toast.failedToDeleteGroup': '未能完全删除“{group}”',
|
||
'agentManager.detail.header.modelCountSingle': '{count} 个模型',
|
||
'agentManager.detail.header.modelCountPlural': '{count} 个模型',
|
||
'agentManager.detail.header.noBranch': '无分支',
|
||
'agentManager.detail.actions.worktreeActionsAria': '工作树操作',
|
||
'agentManager.detail.actions.removeThisWorktree': '移除此工作树',
|
||
'agentManager.detail.actions.keepThisRemoveOthers': '保留此项,移除其他',
|
||
'agentManager.detail.actions.copyWorktreePath': '复制工作树路径',
|
||
'agentManager.detail.dialog.removeWorktreeTitle': '移除工作树',
|
||
'agentManager.detail.dialog.removeOtherWorktreesTitle': '移除其他工作树',
|
||
'agentManager.detail.dialog.removeWorktreeDescription': '移除“{label}”?这将删除该工作树中的所有会话并移除工作树本身。',
|
||
'agentManager.detail.dialog.removeOtherWorktreesDescription': '保留“{label}”,并移除“{group}”中的其他工作树。',
|
||
'agentManager.detail.dialog.cancel': '取消',
|
||
'agentManager.detail.dialog.remove': '移除',
|
||
'agentManager.detail.dialog.removeOthers': '移除其他',
|
||
'agentManager.detail.dialog.working': '处理中...',
|
||
'agentManager.detail.state.loadingSessionFor': '正在加载 {label} 的会话',
|
||
'agentManager.detail.state.sessionId': '会话 ID:{id}',
|
||
'agentManager.detail.state.noSessionsInGroup': '该分组中没有会话',
|
||
'agentManager.detail.toast.noWorktreePath': '没有可用的工作树路径',
|
||
'agentManager.detail.toast.worktreePathCopied': '工作树路径已复制',
|
||
'agentManager.detail.toast.failedToCopyPath': '复制路径失败',
|
||
'agentManager.detail.toast.removingWorktree': '正在移除工作树...',
|
||
'agentManager.detail.toast.removingOtherWorktrees': '正在移除其他工作树...',
|
||
'agentManager.detail.toast.failedToFullyRemoveWorktree': '未能完全移除工作树',
|
||
'agentManager.detail.toast.worktreeRemoved': '工作树已移除',
|
||
'agentManager.detail.toast.otherWorktreesRemoved': '其他工作树已移除',
|
||
'agentManager.empty.groupName.label': '分组名称',
|
||
'agentManager.empty.groupName.placeholder': '例如:feature-auth, bugfix-login',
|
||
'agentManager.empty.groupName.description': '用于工作树目录和分支命名',
|
||
'agentManager.empty.baseBranch.label': '基础分支',
|
||
'agentManager.empty.baseBranch.description': '将从 {branch} 创建新分支',
|
||
'agentManager.empty.setupCommands.label': '初始化命令',
|
||
'agentManager.empty.setupCommands.configured': '已配置 {count} 条',
|
||
'agentManager.empty.setupCommands.description': '这些命令会在每个新工作树中运行。项目根目录可用 $ROOT_PROJECT_PATH。',
|
||
'agentManager.empty.setupCommands.loading': '加载中...',
|
||
'agentManager.empty.setupCommands.commandPlaceholder': '例如:bun install',
|
||
'agentManager.empty.setupCommands.removeCommandAria': '移除命令',
|
||
'agentManager.empty.setupCommands.addCommand': '添加命令',
|
||
'agentManager.empty.agent.label': '智能体',
|
||
'agentManager.empty.agent.description': '默认使用你配置的默认智能体',
|
||
'agentManager.empty.models.label': '模型',
|
||
'agentManager.empty.models.addModel': '添加模型',
|
||
'agentManager.empty.models.selectedSingle': '已选择 {count} 个模型',
|
||
'agentManager.empty.models.selectedPlural': '已选择 {count} 个模型',
|
||
'agentManager.empty.prompt.label': '提示词',
|
||
'agentManager.empty.prompt.placeholder': '问任何问题...',
|
||
'agentManager.empty.prompt.addAttachmentAria': '添加附件',
|
||
'agentManager.empty.actions.startAgentGroupAria': '启动智能体组',
|
||
'agentManager.empty.toast.fileTooLarge': '文件“{fileName}”过大(最大 10MB)',
|
||
'agentManager.empty.toast.failedToAttach': '附加“{fileName}”失败',
|
||
'agentManager.empty.toast.attachedSingle': '已附加 {count} 个文件',
|
||
'agentManager.empty.toast.attachedPlural': '已附加 {count} 个文件',
|
||
'agentManager.empty.toast.failedToCreateGroup': '创建智能体组失败',
|
||
'openInApp.actions.open': '打开',
|
||
'openInApp.actions.openInAria': '在 {app} 中打开',
|
||
'openInApp.actions.chooseAppAria': '选择要打开的应用',
|
||
'openInApp.actions.copyPath': '复制路径',
|
||
'openInApp.actions.refreshApps': '刷新应用',
|
||
'openInApp.toast.pathCopied': '路径已复制到剪贴板',
|
||
'projectActions.actions.addActionAria': '添加操作',
|
||
'projectActions.actions.addAction': '添加操作',
|
||
'projectActions.actions.addNewAction': '添加新操作',
|
||
'projectActions.actions.autoDiscover': '自动发现',
|
||
'projectActions.actions.autoDiscoverTooltip': '自动发现并运行开发服务器',
|
||
'projectActions.actions.chooseActionAria': '选择项目操作',
|
||
'projectActions.actions.openPreview': '打开 Preview',
|
||
'projectActions.actions.runNamedAria': '运行 {name}',
|
||
'projectActions.actions.stopNamedAria': '停止 {name}',
|
||
'projectActions.label.fallbackAction': '操作',
|
||
'projectActions.toast.openedUrlFromOutput': '已从操作输出中打开 URL',
|
||
'projectActions.toast.openedForwardedUrl': '已打开转发 URL',
|
||
'projectActions.toast.openedActionUrl': '已打开操作 URL',
|
||
'projectActions.error.noActiveDirectory': '没有活动目录',
|
||
'projectActions.error.noActiveDirectoryForAction': '没有可用于该操作的活动目录',
|
||
'projectActions.error.failedToCreateTerminalSession': '创建终端会话失败',
|
||
'projectActions.error.invalidCustomUrlFormat': '自定义 URL 格式无效',
|
||
'projectActions.error.selectedDesktopSshForwardUnavailable': '所选桌面 SSH 转发不可用',
|
||
'projectActions.error.failedToRunAction': '运行操作失败',
|
||
'mcpDropdown.title': 'MCP 服务器',
|
||
'mcpDropdown.actions.refreshAria': '刷新',
|
||
'mcpDropdown.actions.openAria': 'MCP 服务器',
|
||
'mcpDropdown.statusAria': 'MCP 状态',
|
||
'mcpDropdown.status.unknown': '未知',
|
||
'mcpDropdown.status.connected': '已连接',
|
||
'mcpDropdown.status.failed': '失败:{error}',
|
||
'mcpDropdown.status.unknownError': '未知错误',
|
||
'mcpDropdown.status.needsAuth': '需要认证',
|
||
'mcpDropdown.status.needsRegistration': '需要注册:{error}',
|
||
'mcpDropdown.empty.configureInConfig': '请在设置中配置 MCP 服务器。',
|
||
'sessionAuth.error.rateLimitTitle': '尝试次数过多',
|
||
'sessionAuth.error.networkTitle': '无法连接服务器',
|
||
'sessionAuth.error.rateLimitDescriptionSingle': '请等待 {minutes} 分钟后再试。',
|
||
'sessionAuth.error.rateLimitDescriptionPlural': '请等待 {minutes} 分钟后再试。',
|
||
'sessionAuth.error.networkDescription': '无法验证 UI 会话。如果你是从本地网络中的另一台设备打开 OpenChamber,请在桌面端应用中启用 Desktop Network Access,并使用设置中显示的 LAN 地址。',
|
||
'sessionAuth.error.retry': '重试',
|
||
'sessionAuth.error.passkeySetupFailed': 'Passkey 设置失败。',
|
||
'sessionAuth.error.incorrectPassword': '密码错误,请重试。',
|
||
'sessionAuth.error.unexpectedResponse': '服务器返回了意外响应。',
|
||
'sessionAuth.error.networkRetry': '网络错误。请检查连接后重试。',
|
||
'sessionAuth.error.passkeySignInCanceled': 'Passkey 登录已取消。',
|
||
'sessionAuth.error.enterPasswordForPasskey': '请输入密码以添加 passkey。',
|
||
'sessionAuth.locked.tunnelTitle': '需要隧道访问',
|
||
'sessionAuth.locked.unlockTitle': '解锁 OpenChamber',
|
||
'sessionAuth.locked.tunnelDescription': '请使用桌面应用提供的一次性连接链接打开该隧道。',
|
||
'sessionAuth.locked.passwordDescription': '此会话受密码保护。',
|
||
'sessionAuth.locked.hostSwitcherHint': '如果远程不可达,请使用 Local。',
|
||
'sessionAuth.actions.cancelPasskey': '取消 passkey',
|
||
'sessionAuth.actions.usePasskey': '使用 passkey',
|
||
'sessionAuth.actions.unlockingAria': '解锁中',
|
||
'sessionAuth.actions.unlockAria': '解锁',
|
||
'sessionAuth.actions.trustDevice': '信任此设备',
|
||
'sessionAuth.actions.trustDeviceAria': '信任此设备',
|
||
'sessionAuth.actions.cancelPasskeySetup': '取消 passkey 设置',
|
||
'sessionAuth.actions.addPasskey': '添加 passkey',
|
||
'sessionAuth.password.placeholder': '输入密码',
|
||
'sessionAuth.toast.passkeyAdded': 'Passkey 已添加',
|
||
'sessionAuth.toast.passkeySetupCanceled': 'Passkey 设置已取消',
|
||
'desktopHostSwitcher.title': '实例',
|
||
'desktopHostSwitcher.description': '在 Local 与远程 OpenChamber 服务器之间切换',
|
||
'desktopHostSwitcher.header.current': '当前',
|
||
'desktopHostSwitcher.header.default': '默认',
|
||
'desktopHostSwitcher.header.currentColon': '当前:',
|
||
'desktopHostSwitcher.header.currentDefaultColon': '当前默认:',
|
||
'desktopHostSwitcher.status.connected': '已连接',
|
||
'desktopHostSwitcher.status.authRequired': '需要认证',
|
||
'desktopHostSwitcher.status.checking': '检查中',
|
||
'desktopHostSwitcher.status.updateRecommended': '建议更新',
|
||
'desktopHostSwitcher.status.incompatible': '不兼容',
|
||
'desktopHostSwitcher.status.wrongService': '服务不匹配',
|
||
'desktopHostSwitcher.status.unreachable': '不可达',
|
||
'desktopHostSwitcher.status.unknown': '未知',
|
||
'desktopHostSwitcher.status.ping': ' · {ms}ms 延迟',
|
||
'desktopHostSwitcher.statusAria': '实例状态',
|
||
'desktopHostSwitcher.sshPhase.ready': '已就绪',
|
||
'desktopHostSwitcher.sshPhase.error': '错误',
|
||
'desktopHostSwitcher.sshPhase.reconnecting': '重连中',
|
||
'desktopHostSwitcher.sshPhase.resolvingConfig': '解析配置中',
|
||
'desktopHostSwitcher.sshPhase.checkingAuth': '检查认证中',
|
||
'desktopHostSwitcher.sshPhase.connectingSsh': '连接 SSH 中',
|
||
'desktopHostSwitcher.sshPhase.probingRemote': '探测远程中',
|
||
'desktopHostSwitcher.sshPhase.installing': '安装中',
|
||
'desktopHostSwitcher.sshPhase.updating': '更新中',
|
||
'desktopHostSwitcher.sshPhase.detectingServer': '检测服务中',
|
||
'desktopHostSwitcher.sshPhase.startingServer': '启动服务中',
|
||
'desktopHostSwitcher.sshPhase.forwardingPorts': '端口转发中',
|
||
'desktopHostSwitcher.sshPhase.idle': '空闲',
|
||
'desktopHostSwitcher.ssh.needInstancesHint': '需要 SSH 实例?请在设置中管理。',
|
||
'desktopHostSwitcher.ssh.instanceFallback': 'SSH 实例',
|
||
'desktopHostSwitcher.ssh.connectingTo': '正在连接到 {host}',
|
||
'desktopHostSwitcher.actions.refresh': '刷新',
|
||
'desktopHostSwitcher.actions.refreshInstancesAria': '刷新实例',
|
||
'desktopHostSwitcher.actions.remoteSsh': '远程 SSH',
|
||
'desktopHostSwitcher.actions.instanceActionsAria': '实例操作',
|
||
'desktopHostSwitcher.actions.edit': '编辑',
|
||
'desktopHostSwitcher.actions.delete': '删除',
|
||
'desktopHostSwitcher.actions.connect': '连接',
|
||
'desktopHostSwitcher.actions.defaultInstanceAria': '默认实例',
|
||
'desktopHostSwitcher.actions.setAsDefaultAria': '设为默认',
|
||
'desktopHostSwitcher.actions.setAsDefault': '设为默认',
|
||
'desktopHostSwitcher.actions.openInNewWindowAria': '在新窗口打开',
|
||
'desktopHostSwitcher.actions.openInNewWindow': '在新窗口打开',
|
||
'desktopHostSwitcher.actions.addInstance': '添加实例',
|
||
'desktopHostSwitcher.actions.cancel': '取消',
|
||
'desktopHostSwitcher.actions.save': '保存',
|
||
'desktopHostSwitcher.actions.add': '添加',
|
||
'desktopHostSwitcher.actions.switchToLocal': '切换到 Local',
|
||
'desktopHostSwitcher.actions.retry': '重试',
|
||
'desktopHostSwitcher.actions.switchInstanceAria': '切换实例',
|
||
'desktopHostSwitcher.actions.switchInstance': '切换实例',
|
||
'desktopHostSwitcher.actions.switchToAria': '切换到 {instance}',
|
||
'desktopHostSwitcher.field.labelPlaceholder': '标签',
|
||
'desktopHostSwitcher.field.labelOptionalPlaceholder': '标签(可选)',
|
||
'desktopHostSwitcher.field.urlPlaceholder': 'https://host:port',
|
||
'desktopHostSwitcher.state.limitedOnPage': '此页面上的实例切换器功能受限。可使用 Local 恢复。',
|
||
'desktopHostSwitcher.state.loading': '加载中...',
|
||
'desktopHostSwitcher.state.instanceUnreachable': '实例不可达',
|
||
'desktopHostSwitcher.edit.title': '编辑实例',
|
||
'desktopHostSwitcher.add.title': '添加实例',
|
||
'desktopHostSwitcher.error.failedToSave': '保存失败',
|
||
'desktopHostSwitcher.error.failedToLoad': '加载失败',
|
||
'desktopHostSwitcher.error.invalidUrl': '无效 URL(必须是 http/https)',
|
||
'desktopHostSwitcher.error.failedToOpenNewWindow': '在新窗口打开失败',
|
||
'desktopHostSwitcher.instance.local': 'Local',
|
||
'desktopHostSwitcher.instance.fallback': '实例',
|
||
'desktopHostSwitcher.startup.title': '默认 SSH 实例不可用',
|
||
'desktopHostSwitcher.startup.connectingTo': '正在连接到 {host}...',
|
||
'desktopHostSwitcher.startup.failed': '连接默认 SSH 实例失败。',
|
||
'desktopHostSwitcher.toast.sshConnected': 'SSH 实例“{host}”已连接',
|
||
'desktopHostSwitcher.toast.sshFailedToConnect': 'SSH 实例“{host}”连接失败',
|
||
'desktopHostSwitcher.toast.instanceUnreachable': '实例“{host}”不可达',
|
||
'miniChat.header.newSession': '新会话',
|
||
'miniChat.header.session': '会话',
|
||
'miniChat.header.defaultAgent': '默认智能体',
|
||
'miniChat.header.noModel': '未选择模型',
|
||
'miniChat.status.busy': '运行中',
|
||
'miniChat.status.retry': '重试中',
|
||
'miniChat.status.idle': '空闲',
|
||
'miniChat.actions.pin': '固定在其他窗口上方',
|
||
'miniChat.actions.unpin': '取消固定窗口',
|
||
'miniChat.actions.pinAria': '固定 Mini Chat 窗口',
|
||
'miniChat.actions.unpinAria': '取消固定 Mini Chat 窗口',
|
||
'miniChat.actions.openMain': '在主窗口中打开',
|
||
'miniChat.actions.openMainAria': '在主窗口中打开会话',
|
||
'miniChat.unavailable.title': '会话不可用',
|
||
'miniChat.unavailable.description': '无法加载此会话。它可能已被删除、归档,或从其他项目上下文打开。',
|
||
'sessions.sidebar.session.menu.openMiniChatWindow': '在 Mini Chat 窗口中打开',
|
||
'header.actions.newMiniChat': '新建 Mini Chat 窗口',
|
||
'header.actions.newMiniChatAria': '打开新的 Mini Chat 窗口',
|
||
'header.actions.openSessionMiniChat': '在 Mini Chat 中打开会话',
|
||
'header.actions.openSessionMiniChatAria': '在 Mini Chat 中打开当前会话',
|
||
'header.windowControls.groupAria': '窗口控件',
|
||
'header.windowControls.minimize': '最小化窗口',
|
||
'header.windowControls.maximize': '最大化窗口',
|
||
'header.windowControls.restore': '还原窗口',
|
||
'header.windowControls.close': '关闭窗口',
|
||
'errorBoundary.title': '发生错误',
|
||
'errorBoundary.description': '应用遇到意外错误,已记录用于调试。',
|
||
'errorBoundary.state.unknownError': '未知错误',
|
||
'errorBoundary.state.componentStackLabel': '组件堆栈:',
|
||
'errorBoundary.actions.errorDetails': '错误详情',
|
||
'errorBoundary.actions.tryAgain': '重试',
|
||
'errorBoundary.actions.copy': '复制',
|
||
'errorBoundary.actions.copied': '已复制',
|
||
'jsonTreeView.error.emptyJson': 'JSON 内容为空',
|
||
'jsonTreeView.error.invalidJson': '无效 JSON',
|
||
'jsonTreeView.error.invalidJsonTitle': '无效 JSON',
|
||
'jsonTreeView.actions.expandAll': '全部展开',
|
||
'jsonTreeView.actions.collapseAll': '全部折叠',
|
||
'numberInput.actions.decreaseAria': '减少数值',
|
||
'numberInput.actions.increaseAria': '增加数值',
|
||
'goToLineDialog.field.linePlaceholderShort': '行',
|
||
'goToLineDialog.field.linePlaceholder': '行号',
|
||
'goToLineDialog.actions.go': '前往',
|
||
'goToLineDialog.helper.editorUnavailable': '编辑器不可用。',
|
||
'goToLineDialog.helper.currentLineRange': '当前行:{current}。输入 1 到 {max} 之间的行号进行跳转。',
|
||
'goToLineDialog.helper.goToLine': '跳转到第 {line} 行',
|
||
'dialog.common.actions.close': '关闭',
|
||
'filesView.toast.relativePathCopied': '相对路径已复制',
|
||
'filesView.tree.menu.copyRelativePath': '复制相对路径',
|
||
'multiRun.branchSelector.placeholder.selectSourceBranch': '选择源分支...',
|
||
'multiRun.branchSelector.status.loadingBranches': '正在加载分支...',
|
||
'multiRun.branchSelector.status.noBranchesFound': '未找到分支',
|
||
'multiRun.branchSelector.status.notInGitRepository': '当前目录不是 Git 仓库。',
|
||
'multiRun.branchSelector.groups.localBranches': '本地分支',
|
||
'multiRun.branchSelector.groups.remoteBranches': '远程分支',
|
||
'multiRun.window.actions.closeAria': '关闭多运行窗口',
|
||
'multiRun.window.description': 'OpenChamber 多运行窗口。',
|
||
'voice.status.idle': '语音就绪',
|
||
'voice.status.listening': '监听中...',
|
||
'voice.status.processing': '处理中...',
|
||
'voice.status.speaking': '播放中...',
|
||
'voice.status.error': '语音错误',
|
||
'voice.status.conversationModeActiveAria': '会话模式已启用',
|
||
'voice.action.finishAndTranscribe': '结束并转写语音输入',
|
||
'onboarding.common.actions.back': '返回',
|
||
'onboarding.common.copyToClipboard': '复制到剪贴板',
|
||
'onboarding.common.status.copiedToClipboard': '已复制到剪贴板',
|
||
'onboarding.chooser.title': '欢迎使用 OpenChamber',
|
||
'onboarding.chooser.description': '选择你的连接方式以开始使用。',
|
||
'onboarding.chooser.tabs.localInstall': '本地安装',
|
||
'onboarding.chooser.tabs.connectRemote': '连接远程',
|
||
'onboarding.localSetup.title': '设置 OpenCode',
|
||
'onboarding.localSetup.description': '安装 OpenCode CLI 以继续。',
|
||
'onboarding.localSetup.dialog.selectOpencodeBinary': '选择 OpenCode 可执行文件',
|
||
'onboarding.localSetup.errors.cliNotReady': 'OpenCode CLI 尚未就绪。请确认安装完成后重试。',
|
||
'onboarding.localSetup.errors.detectionFailed': '检测失败',
|
||
'onboarding.localSetup.windows.title': 'Windows 设置',
|
||
'onboarding.localSetup.windows.stepInstallWsl': '使用下方命令安装 OpenCode。',
|
||
'onboarding.localSetup.windows.stepInstallWslSuffix': '',
|
||
'onboarding.localSetup.windows.stepRunInstallInWsl': '在 Windows 终端中运行下方安装命令。',
|
||
'onboarding.localSetup.windows.stepSetBinaryPath': '如果 OpenChamber 未自动检测到 OpenCode,请在下方设置可执行文件路径。',
|
||
'onboarding.localSetup.intro': 'OpenCode 是 OpenChamber 的核心,先安装它即可开始。',
|
||
'onboarding.localSetup.docs.windows': 'OpenCode 文档',
|
||
'onboarding.localSetup.docs.default': 'OpenCode 文档',
|
||
'onboarding.localSetup.actions.checking': '检测中...',
|
||
'onboarding.localSetup.actions.checkAndContinue': '我已完成安装,检测并继续',
|
||
'onboarding.localSetup.actions.checkNow': '立即检测',
|
||
'onboarding.localSetup.helper.checkAndContinue': '点击检测 OpenCode CLI 是否可用。成功后将自动进入主界面。',
|
||
'onboarding.localSetup.status.watching': '正在等待 OpenCode',
|
||
'onboarding.localSetup.status.autoContinue': '检测到后将自动继续。',
|
||
'onboarding.localSetup.field.alreadyInstalled': '已安装?设置 OpenCode CLI 路径:',
|
||
'onboarding.localSetup.advanced.title': '设置自定义二进制路径',
|
||
'onboarding.localSetup.troubleshoot.title': '遇到问题?',
|
||
'onboarding.localSetup.actions.browse': '浏览',
|
||
'onboarding.localSetup.actions.apply': '应用',
|
||
'onboarding.localSetup.helper.saveAndReload': '将保存到 OpenChamber 设置并重新加载 OpenCode 配置。',
|
||
'onboarding.localSetup.remotePreference': '更希望使用远程服务器?',
|
||
'onboarding.localSetup.actions.connectRemoteServer': '连接远程服务器 →',
|
||
'onboarding.localSetup.windows.hintInstallInWsl': '在 Windows 上,请原生安装并运行 OpenCode。',
|
||
'onboarding.localSetup.windows.hintDetectionFailed': '若检测失败,请设置原生路径,例如 opencode.cmd 或 opencode.exe。',
|
||
'onboarding.localSetup.hint.ensurePath': '已安装?请确认 opencode 在你的 PATH 中。',
|
||
'onboarding.localSetup.hint.setEnv': '或设置 OPENCODE_BINARY 环境变量。',
|
||
'onboarding.localSetup.hint.missingRuntime': '如果看到 “env: node: No such file or directory” 或 “env: bun: No such file or directory”,请安装对应运行时或确保其在 PATH 中。',
|
||
'onboarding.remoteConnection.title': '连接远程服务器',
|
||
'onboarding.remoteConnection.titleRecovery': '连接到其他服务器',
|
||
'onboarding.remoteConnection.description': '输入要连接的 OpenChamber 服务器地址。',
|
||
'onboarding.remoteConnection.field.serverAddress': '服务器地址',
|
||
'onboarding.remoteConnection.field.serverAddressPlaceholder': 'https://your-server.example.com:4096',
|
||
'onboarding.remoteConnection.field.nameOptional': '名称(可选)',
|
||
'onboarding.remoteConnection.field.namePlaceholder': '我的远程服务器',
|
||
'onboarding.remoteConnection.errors.connectionTestFailed': '连接测试失败',
|
||
'onboarding.remoteConnection.errors.failedToSaveConnection': '保存连接失败',
|
||
'onboarding.remoteConnection.status.connectedSuccessfully': '连接成功({latencyMs}ms)',
|
||
'onboarding.remoteConnection.status.authWarning': '服务器需要身份验证。你仍可继续连接。',
|
||
'onboarding.remoteConnection.status.connectionFailed': '连接失败',
|
||
'onboarding.remoteConnection.status.suggestionsUnreachable': '建议:检查服务器地址、确认服务已启动,或检查网络连接。',
|
||
'onboarding.remoteConnection.status.suggestionsWrongService': '建议:确认 URL 指向 OpenChamber 服务器,或联系服务器管理员。',
|
||
'onboarding.remoteConnection.actions.testing': '测试中…',
|
||
'onboarding.remoteConnection.actions.testConnection': '测试连接',
|
||
'onboarding.remoteConnection.actions.connectAndRestart': '连接并重启',
|
||
'onboarding.remoteConnection.actions.whatToDo': '你希望如何处理?',
|
||
'onboarding.remoteConnection.actions.chooseDifferentServer': '选择其他服务器',
|
||
'onboarding.remoteConnection.actions.useLocalInstead': '改用本地',
|
||
'onboarding.remoteConnection.probe.authMessage': '服务器需要身份验证。你仍可连接,但可能需要提供凭据。',
|
||
'onboarding.remoteConnection.probe.updateRecommendedMessage': '此实例正在运行不同版本的 OpenChamber。你可以连接;如果功能异常,请更新两端应用。',
|
||
'onboarding.remoteConnection.probe.incompatibleMessage': '服务器正在运行 OpenChamber,但与此应用版本不兼容。请更新服务器上的 OpenChamber 后重试。',
|
||
'onboarding.remoteConnection.probe.wrongServiceMessage': '服务器有响应,但未运行 OpenChamber。请确认地址是否指向 OpenChamber 服务器。',
|
||
'onboarding.remoteConnection.probe.unreachableMessage': '服务器不可达。请检查网络连接并确认服务器地址。',
|
||
'onboarding.desktopRecovery.localUnavailable.title': '本地 OpenCode 不可用',
|
||
'onboarding.desktopRecovery.localUnavailable.description': 'OpenCode CLI 无法启动或未安装。请安装 OpenCode,或改为连接远程服务器。',
|
||
'onboarding.desktopRecovery.localUnavailable.retry': '重试本地',
|
||
'onboarding.desktopRecovery.localUnavailable.useLocal': '设置本地',
|
||
'onboarding.desktopRecovery.noDefaultConnection.title': '无默认连接',
|
||
'onboarding.desktopRecovery.noDefaultConnection.description': '找不到已保存的默认连接。请选择你的连接方式。',
|
||
'onboarding.desktopRecovery.remoteUnreachable.title': '远程服务器不可达',
|
||
'onboarding.desktopRecovery.remoteUnreachable.description': '无法连接到 “{host}”。请检查网络连接并确认服务器地址。',
|
||
'onboarding.desktopRecovery.remoteUnreachable.retry': '重试连接',
|
||
'onboarding.desktopRecovery.incompatibleServer.title': '服务器不兼容',
|
||
'onboarding.desktopRecovery.incompatibleServer.description': '“{host}” 上的服务器未运行 OpenChamber。请确认地址是否指向 OpenChamber 服务器。',
|
||
'onboarding.desktopRecovery.remoteIncompatible.title': '需要更新服务器',
|
||
'onboarding.desktopRecovery.remoteIncompatible.description': '“{host}” 上的 OpenChamber 服务器与此应用版本不兼容。请更新服务器上的 OpenChamber 后重试。',
|
||
'onboarding.desktopRecovery.common.useLocal': '使用本地',
|
||
'onboarding.desktopRecovery.common.useRemote': '使用远程',
|
||
'onboarding.desktopRecovery.actions.retrying': '重试中…',
|
||
'onboarding.desktopRecovery.actions.retryConnection': '重试连接',
|
||
'startup.initRecovery.title': '启动失败',
|
||
'startup.initRecovery.description': 'OpenChamber 未能完成初始化。请检查服务器是否正在运行,然后重试。',
|
||
'startup.initRecovery.retry': '重试',
|
||
'startup.initRecovery.retrying': '重试中…',
|
||
'onboarding.desktopRecovery.placeholders.remoteServer': '远程服务器',
|
||
'onboarding.desktopRecovery.placeholders.unknownServer': '未知服务器',
|
||
'vscodeLayout.title.chat': '聊天',
|
||
'vscodeLayout.title.newSession': '新会话',
|
||
'vscodeLayout.title.sessions': '会话',
|
||
'vscodeLayout.title.sessionFallback': '会话',
|
||
'vscodeLayout.actions.backToSessionsAria': '返回会话列表',
|
||
"vscodeLayout.actions.archiveAllAria": "归档所有会话",
|
||
"vscodeLayout.actions.archiveAllConfirm": "归档全部",
|
||
"vscodeLayout.actions.archiveAllSuccess": "已归档 {count} 个会话",
|
||
"vscodeLayout.actions.archiveAllError": "归档 {count} 个会话失败",
|
||
"vscodeLayout.actions.cancel": "取消",
|
||
'vscodeLayout.actions.newSessionAria': '新建会话',
|
||
'vscodeLayout.actions.openAgentManagerAria': '打开智能体管理器',
|
||
'vscodeLayout.actions.resizeSessionsSidebarAria': '调整会话侧边栏大小',
|
||
'vscodeLayout.actions.settingsAria': '设置',
|
||
'vscodeLayout.quota.title': '速率限制',
|
||
'vscodeLayout.quota.mode.used': '已用',
|
||
'vscodeLayout.quota.mode.remaining': '剩余',
|
||
'vscodeLayout.quota.lastUpdated': '上次更新 {time}',
|
||
'vscodeLayout.quota.noRateLimitsAvailable': '没有可用的速率限制数据。',
|
||
'vscodeLayout.quota.noRateLimitsReported': '未报告速率限制。',
|
||
'vscodeLayout.quota.actions.rateLimitsAria': '速率限制',
|
||
'vscodeLayout.quota.actions.showUsedAria': '显示已用配额',
|
||
'vscodeLayout.quota.actions.showRemainingAria': '显示剩余配额',
|
||
'vscodeLayout.quota.actions.refreshAria': '刷新速率限制',
|
||
'updateDialog.header.updateAvailable': '有可用更新',
|
||
'updateDialog.header.updating': '正在更新 OpenChamber...',
|
||
'updateDialog.changelog.title': '更新内容',
|
||
'updateDialog.status.installingUpdate': '正在安装更新...',
|
||
'updateDialog.status.serverRestarting': '服务器正在重启...',
|
||
'updateDialog.status.waitingForServer': '正在等待服务器...',
|
||
'updateDialog.status.autoReloadHint': '更新完成后页面将自动重新加载。',
|
||
'updateDialog.fallback.updateViaTerminal': '或通过终端更新:',
|
||
'updateDialog.actions.copyCommand': '复制命令',
|
||
'updateDialog.actions.copied': '已复制!',
|
||
'updateDialog.status.downloadingPayload': '正在下载更新包...',
|
||
'updateDialog.actions.downloadUpdate': '下载更新',
|
||
'updateDialog.status.downloading': '下载中...',
|
||
'updateDialog.actions.restartToUpdate': '重启以更新',
|
||
'updateDialog.actions.updateNow': '立即更新',
|
||
'updateDialog.actions.openMobileUpdate': '打开更新',
|
||
'updateDialog.status.updating': '更新中...',
|
||
'updateDialog.error.updateFailed': '更新失败',
|
||
'updateDialog.error.takingLonger': '更新耗时超出预期。请稍等后刷新,或运行:openchamber update',
|
||
'mobileUpdate.toast.available.title': 'OpenChamber 更新可用',
|
||
'mobileUpdate.toast.available.description': '版本 {version} 已可用于 Android。',
|
||
'mobileUpdate.toast.actions.download': '下载',
|
||
'mobileUpdate.toast.actions.dismiss': '忽略',
|
||
'opencodeUpdate.toast.available.title': 'OpenCode 更新',
|
||
'opencodeUpdate.toast.available.description': '版本 {version} 可用。',
|
||
'opencodeUpdate.toast.actions.update': '更新',
|
||
'opencodeUpdate.toast.actions.dismiss': '忽略',
|
||
'opencodeUpdate.toast.actions.reload': '重载 OpenCode',
|
||
'opencodeUpdate.toast.upgrading.title': '正在更新 OpenCode...',
|
||
'opencodeUpdate.toast.upgrading.description': '请保持 OpenChamber 打开。',
|
||
'opencodeUpdate.toast.updated.title': 'OpenCode 已更新',
|
||
'opencodeUpdate.toast.updated.description': '更新已安装。',
|
||
'opencodeUpdate.toast.updated.descriptionWithVersion': '版本 {version} 已安装。',
|
||
'opencodeUpdate.toast.failed.title': '无法更新 OpenCode',
|
||
'opencodeUpdate.toast.failed.description': 'OpenCode 升级失败。',
|
||
'opencodeUpdate.toast.reload.message': '正在重启 OpenCode...',
|
||
'memoryDebugPanel.title': '调试面板',
|
||
'memoryDebugPanel.tabs.memory': '内存',
|
||
'memoryDebugPanel.tabs.streaming': '流式',
|
||
'memoryDebugPanel.section.sessionsInMemory': '内存中的会话',
|
||
'memoryDebugPanel.section.uiStreamingMetrics': 'UI 流式指标',
|
||
'memoryDebugPanel.section.vscodeBridgeMetrics': 'VS Code 桥接指标',
|
||
'memoryDebugPanel.section.noUiSamples': '暂无 UI 流式采样。请开始一次流式输出并保持该面板开启。',
|
||
'memoryDebugPanel.section.noVscodeSamples': '暂无 VS Code 桥接采样。',
|
||
'memoryDebugPanel.metric.totalMessages': '消息总数',
|
||
'memoryDebugPanel.metric.cachedSessions': '缓存会话',
|
||
'memoryDebugPanel.metric.userMessages': '用户消息',
|
||
'memoryDebugPanel.metric.assistantMessages': '助手消息',
|
||
'memoryDebugPanel.metric.viewportWindow': '视口窗口',
|
||
'memoryDebugPanel.metric.zombieTimeout': '僵尸超时',
|
||
'memoryDebugPanel.metric.githubTotalRequests': 'GitHub 请求总数',
|
||
'memoryDebugPanel.metric.metrics': '指标',
|
||
'memoryDebugPanel.metric.samples': '采样',
|
||
'memoryDebugPanel.metric.lastUpdate': '最近更新',
|
||
'memoryDebugPanel.metric.uiMetrics': 'UI 指标',
|
||
'memoryDebugPanel.metric.vscodeMetrics': 'VS Code 指标',
|
||
'memoryDebugPanel.metric.messageListRenders': '消息列表渲染',
|
||
'memoryDebugPanel.metric.messageListStreamRenders': '消息列表流式渲染',
|
||
'memoryDebugPanel.metric.chatMessageRenders': 'ChatMessage 渲染',
|
||
'memoryDebugPanel.metric.chatMessageStreamRenders': 'ChatMessage 流式渲染',
|
||
'memoryDebugPanel.metric.chatMessageStaticDuringStream': '流式期间 ChatMessage 静态渲染',
|
||
'memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn': '活跃轮次外 ChatMessage 静态渲染',
|
||
'memoryDebugPanel.metric.messagesValue': '{count} 条消息',
|
||
'memoryDebugPanel.metric.minutesValue': '{count} 分钟',
|
||
'memoryDebugPanel.metric.msgsValue': '{count} 条',
|
||
'memoryDebugPanel.metric.roleMsgsValue': '用户 {user} / 助手 {assistant}',
|
||
'memoryDebugPanel.metric.countValue': '次数 {value}',
|
||
'memoryDebugPanel.metric.avgValue': '平均 {value}',
|
||
'memoryDebugPanel.metric.maxValue': '最大 {value}',
|
||
'memoryDebugPanel.metric.totalValue': '总计 {value}',
|
||
'memoryDebugPanel.actions.logState': '输出状态',
|
||
'memoryDebugPanel.actions.copyJson': '复制 JSON',
|
||
'memoryDebugPanel.tooltip.logCurrentState': '将当前内存状态输出到浏览器控制台',
|
||
'memoryDebugPanel.streaming.copy.copied': '流式调试 JSON 已复制',
|
||
'memoryDebugPanel.streaming.copy.failed': '复制 JSON 失败',
|
||
'memoryDebugPanel.streaming.copy.hint': '复制会导出 UI 与 VS Code 的流式指标 JSON',
|
||
'memoryDebugPanel.common.idle': '空闲',
|
||
'memoryDebugPanel.common.live': '实时',
|
||
'memoryDebugPanel.common.notAvailable': '无',
|
||
'memoryDebugPanel.common.untitled': '未命名',
|
||
'directoryTree.field.newDirectoryPlaceholder': 'new_directory',
|
||
'textarea.resizeHandleAria': '调整文本区域大小',
|
||
'sidebar.resize.leftPanelAria': '调整左侧面板大小',
|
||
'sidebar.resize.rightPanelAria': '调整右侧面板大小',
|
||
'mainLayout.mobile.closeDrawerAria': '关闭抽屉',
|
||
'sortableTabsStrip.aria.tabs': '标签页',
|
||
'openChamberLogo.aria.logo': 'OpenChamber 标志',
|
||
'markdownRenderer.code.actions.copyTitle': '复制代码',
|
||
'markdownRenderer.code.actions.copiedTitle': '已复制',
|
||
'markdownRenderer.table.actions.copyTitle': '复制表格',
|
||
'markdownRenderer.code.actions.enableWrapTitle': '启用自动换行',
|
||
'markdownRenderer.code.actions.disableWrapTitle': '禁用自动换行',
|
||
'markdownRenderer.table.actions.downloadTitle': '下载表格',
|
||
'markdownRenderer.table.toast.downloadedAsFormat': '表格已下载为 {format}',
|
||
'markdownRenderer.mermaid.actions.copyTitle': '复制',
|
||
'markdownRenderer.mermaid.actions.copySourceTitle': '复制源码',
|
||
'markdownRenderer.mermaid.actions.downloadSvgTitle': '下载 SVG',
|
||
'markdownRenderer.mermaid.actions.zoomInTitle': '放大',
|
||
'markdownRenderer.mermaid.actions.zoomOutTitle': '缩小',
|
||
'markdownRenderer.mermaid.actions.resetViewTitle': '重置视图',
|
||
'markdownRenderer.mermaid.toast.downloadFailed': '下载图表失败',
|
||
'contextPanel.preview.title': '预览',
|
||
'contextPanel.preview.description': '使用项目操作或终端 Preview 按钮打开预览。',
|
||
'contextPanel.preview.startPreview': '启动预览',
|
||
'contextPanel.preview.starting': '正在启动...',
|
||
'contextPanel.preview.noDevServer': '未找到开发服务器命令。请配置项目操作或添加 "dev" 脚本到 package.json。',
|
||
'contextPanel.preview.startFailed': '启动预览服务器失败。',
|
||
'contextPanel.preview.serverExited': '开发服务器意外退出。',
|
||
'contextPanel.preview.noUrlDetected': '开发服务器已启动,但未在输出中检测到 URL。请打开预览终端标签页查看日志。',
|
||
'contextPanel.preview.serverExitedWithLog': '开发服务器意外退出。最后输出:\n\n{log}',
|
||
'contextPanel.preview.noUrlDetectedWithLog': '开发服务器未能响应。最后输出:\n\n{log}',
|
||
'contextPanel.preview.startingServer': '正在启动开发服务器...',
|
||
'contextPanel.preview.startingServerHint': '正在等待服务器开始接受连接。',
|
||
'contextPanel.preview.console.open': '打开预览控制台',
|
||
'contextPanel.preview.console.waiting': '正在等待预览控制台',
|
||
'contextPanel.preview.console.title': '预览控制台',
|
||
'contextPanel.preview.console.attach': '附加',
|
||
'contextPanel.preview.console.copy': '复制',
|
||
'contextPanel.preview.console.clear': '清除',
|
||
'contextPanel.preview.console.empty': '还没有预览控制台事件。',
|
||
'contextPanel.preview.console.noFilteredEvents': '没有匹配此筛选器的事件。',
|
||
'contextPanel.preview.console.runtimeError': '运行时错误',
|
||
'contextPanel.preview.console.copied': '预览控制台已复制',
|
||
'contextPanel.preview.console.copyFailed': '无法复制预览控制台',
|
||
'contextPanel.preview.console.attached': '预览控制台已附加到聊天',
|
||
'contextPanel.preview.console.attachNoSession': '请先打开聊天会话,再附加预览日志',
|
||
'contextPanel.preview.console.attachAnnotation': '这些是此项目开发服务器的浏览器控制台日志。',
|
||
'contextPanel.preview.inspect.toggle': '检查预览元素',
|
||
'contextPanel.preview.inspect.attached': '预览注释已附加到聊天',
|
||
'contextPanel.preview.inspect.attachNoSession': '请先打开聊天会话,再附加预览注释',
|
||
'contextPanel.preview.inspect.attachAnnotation': '这是内置预览中选中的 DOM 元素。',
|
||
'contextPanel.preview.inspect.attachAnnotationWithScreenshot': '这是内置预览中选中的 DOM 元素。已附加带有高亮选中元素的可见预览区域截图。',
|
||
'contextPanel.preview.console.filter.all': '全部',
|
||
'contextPanel.preview.console.filter.errors': '错误',
|
||
'contextPanel.preview.console.filter.warnings': '警告',
|
||
'contextPanel.preview.console.filter.logs': '日志',
|
||
'common.date.today': 'Today',
|
||
'common.date.yesterday': 'Yesterday',
|
||
'common.date.yesterdayWithTime': 'Yesterday {time}',
|
||
'common.relative.justNow': 'Just now',
|
||
'common.relative.minutesAgoShort': '{count}min ago',
|
||
'common.relative.hoursAgoShort': '{count}h ago',
|
||
'common.relative.daysAgoShort': '{count}d ago',
|
||
'common.relative.weeksAgoShort': '{count}w ago',
|
||
'common.relative.yearsAgoShort': '{count}y ago',
|
||
'common.relative.daysAgoCompact': '{count}d ago',
|
||
'common.relative.weeksAgoCompact': '{count}w ago',
|
||
'common.relative.yearsAgoCompact': '{count}y ago',
|
||
'common.duration.secondsCompact': '{seconds}秒',
|
||
'common.duration.minutesSecondsCompact': '{minutes}分{seconds}秒',
|
||
'common.duration.hoursMinutesCompact': '{hours}小时{minutes}分',
|
||
'contextFileOpen.failure.tooLarge': 'File is too large to open (>{count} lines)',
|
||
'contextFileOpen.failure.missing': 'File not found',
|
||
'contextFileOpen.failure.unreadable': 'Failed to open file',
|
||
'quota.window.5h': '5-Hour',
|
||
'quota.window.7d': '7-Day Limit',
|
||
'quota.window.7dSonnet': '7-Day Sonnet Limit',
|
||
'quota.window.7dOpus': '7-Day Opus Limit',
|
||
'quota.window.weekly': 'Weekly Limit',
|
||
'quota.window.daily': 'Daily',
|
||
'quota.window.monthly': 'Monthly Limit',
|
||
'quota.window.credits': 'Credits',
|
||
'quota.window.creditsBalance': 'Credits Balance',
|
||
'quota.window.billingCycle': 'Billing Cycle',
|
||
'quota.window.auto': 'Auto',
|
||
'quota.window.api': 'API',
|
||
'quota.window.planLimit': 'Plan Limit',
|
||
'quota.window.onDemand': 'On-demand',
|
||
'quota.window.session': 'Session',
|
||
'quota.window.premium': 'Premium Interactions',
|
||
'quota.window.chat': 'Chat Requests',
|
||
'quota.window.completions': 'Completions',
|
||
'quota.window.premiumInteractions': 'Premium interactions',
|
||
};
|