195 lines
8.8 KiB
TypeScript
195 lines
8.8 KiB
TypeScript
/** `conversation` namespace dictionaries. */
|
||
|
||
/** Dictionary namespace owned by this plugin. */
|
||
export const NS = 'conversation'
|
||
|
||
// The claimed /plan hint and the plan-mode textarea placeholder share one
|
||
// string: both describe the same next action.
|
||
const PLAN_NEXT_ACTION_ZH = '描述你的任务以生成计划'
|
||
const PLAN_NEXT_ACTION_EN = 'describe your task to generate plan'
|
||
|
||
/** Simplified Chinese dictionary (the key-set source of truth). */
|
||
export const zh = {
|
||
'view.chat': '对话',
|
||
'hint.plan': PLAN_NEXT_ACTION_ZH,
|
||
'hint.goal': '输入目标,智能体将持续执行',
|
||
'hint.goal.active': '当前目标进行中。可输入 edit 修改 / pause 暂停 / resume 继续 / clear 清除',
|
||
'placeholder.plan': PLAN_NEXT_ACTION_ZH,
|
||
'placeholder.default': '给智能体发消息',
|
||
'placeholder.unavailable': '会话不可用',
|
||
'placeholder.hero': '描述你想要构建的内容',
|
||
'placeholder.workspace': '选择一个工作区开始',
|
||
'input.commands': '命令',
|
||
'input.stop': '停止生成',
|
||
'input.send': '发送消息',
|
||
'input.accessMode': '访问模式,当前:{name}',
|
||
'access.confirm.title': '确认启用 Full access?',
|
||
'access.confirm.description': '启用 Full access 后,agent 将减少确认步骤,并且可以直接执行更多操作,包括敏感操作、文件修改或外部命令。仅建议在你信任当前任务时使用。',
|
||
'access.confirm.acknowledge': '我已了解风险,并愿意继续',
|
||
'access.confirm.cancel': '取消',
|
||
'access.confirm.enable': '启用 Full access',
|
||
'hero.headline': '开始构建吧',
|
||
'hero.chooseWorkspace': '选择工作区',
|
||
'session.hierarchy': '会话层级',
|
||
'details.title': '详情',
|
||
'details.close': '关闭详情',
|
||
'details.empty': '点击消息流中的工具行查看详情',
|
||
'details.notInWindow': '该调用不在当前窗口内',
|
||
'details.input': '输入',
|
||
'details.output': '输出',
|
||
'details.running': '运行中…',
|
||
'todo.title': '任务清单',
|
||
'todo.progress': '{done}/{total} 项任务 · {active} 项进行中',
|
||
'todo.rowTitle': '更新任务清单',
|
||
'todo.completed': '{done}/{total} 已完成',
|
||
'chat.loadingHistory': '载入历史…',
|
||
'chat.loadError': '历史加载失败:{message}({code})',
|
||
'chat.loadOlder': '加载更早',
|
||
'chat.toBottom': '回到底部',
|
||
'message.extraBlock': '附加内容块',
|
||
'message.steering': '插话',
|
||
'message.contextInjection': '上下文注入',
|
||
'message.unknownSurface': '未知 surface 事件:{type}',
|
||
'message.unknownBlock': '未知内容块',
|
||
'message.stopped': '已停止',
|
||
'message.branch': '在新对话中分支',
|
||
'message.retry.active': '正在重试模型请求',
|
||
'message.retry.cancelled': '模型请求重试已取消',
|
||
'message.retry.started': '已重试模型请求',
|
||
'message.retry.scheduled': '等待重试模型请求',
|
||
'message.retry.status': '{label}({retry}/{maximum}) · {seconds}s',
|
||
'message.retry.delay': '重试延迟:',
|
||
'message.retry.failure': '失败原因:',
|
||
'command.running': '执行中…',
|
||
'command.failed': '命令失败',
|
||
'command.done': '已完成',
|
||
'command.title': '命令',
|
||
'approval.waiting': '等待审批',
|
||
'approval.detail.aria': '审批详情',
|
||
'approval.escalation': '工具 {toolName} 请求越权执行',
|
||
'approval.reject': '拒绝',
|
||
'approval.allowOnce': '允许一次',
|
||
'ask.rowTitle': '提问',
|
||
'ask.waiting': '等待回答',
|
||
'ask.cancelled': '已取消',
|
||
'ask.interrupted': '已中断',
|
||
'ask.answered': '{answered}/{total} 已回答',
|
||
'bash.running': '运行中',
|
||
'bash.failed': '失败',
|
||
'bash.stopped': '已停止',
|
||
'queue.count': '{n} 条排队消息',
|
||
'queue.edit': '编辑排队消息',
|
||
'queue.edit.unsupported': '包含非文本内容,暂不支持编辑',
|
||
'queue.save': '保存排队消息',
|
||
'queue.cancelEdit': '取消编辑',
|
||
'queue.remove': '删除排队消息',
|
||
'queue.editFailed': '编辑失败:这条消息可能已经开始发送。',
|
||
'queue.removeFailed': '删除失败:这条消息可能已经开始发送。',
|
||
'terminal.signal': '信号 {signal}',
|
||
'terminal.exitCode': '退出码 {code}',
|
||
'terminal.running': '运行中',
|
||
'terminal.failed': '失败',
|
||
'terminal.done': '已完成',
|
||
'terminal.noOutput': '无输出',
|
||
'terminal.collapseAria': '收起输出',
|
||
'terminal.expandAria': '展开其余 {n} 行输出',
|
||
'terminal.expandRest': '… 其余 {n} 行',
|
||
'json.truncated': '… 已截断,共 {total} 字符',
|
||
'clock.md': '{m}月{d}日',
|
||
'clock.ymd': '{y}年{m}月{d}日',
|
||
} satisfies Record<string, string>
|
||
|
||
/** The conversation namespace key union. */
|
||
export type ConversationKey = keyof typeof zh
|
||
|
||
/** English dictionary, checked complete against the zh key set. */
|
||
export const en = {
|
||
'view.chat': 'Chat',
|
||
'hint.plan': PLAN_NEXT_ACTION_EN,
|
||
'hint.goal': 'describe the objective for a long-running task',
|
||
'hint.goal.active': 'goal active — edit / pause / resume / clear',
|
||
'placeholder.plan': PLAN_NEXT_ACTION_EN,
|
||
'placeholder.default': 'Message the agent',
|
||
'placeholder.unavailable': 'Session unavailable',
|
||
'placeholder.hero': 'Describe what you want to build',
|
||
'placeholder.workspace': 'Choose a workspace to start',
|
||
'input.commands': 'Commands',
|
||
'input.stop': 'Stop generating',
|
||
'input.send': 'Send message',
|
||
'input.accessMode': 'Access mode, current: {name}',
|
||
'access.confirm.title': 'Enable Full access?',
|
||
'access.confirm.description': 'Full access reduces confirmation steps and lets the agent perform more actions directly, including sensitive operations, file changes, or external commands. Only use it when you trust the current task.',
|
||
'access.confirm.acknowledge': 'I understand the risks and want to continue',
|
||
'access.confirm.cancel': 'Cancel',
|
||
'access.confirm.enable': 'Enable Full access',
|
||
'hero.headline': 'Let\'s start building',
|
||
'hero.chooseWorkspace': 'Choose workspace',
|
||
'session.hierarchy': 'Session hierarchy',
|
||
'details.title': 'Details',
|
||
'details.close': 'Close details',
|
||
'details.empty': 'Click a tool row in the message flow to view its details',
|
||
'details.notInWindow': 'This call is outside the current window',
|
||
'details.input': 'Input',
|
||
'details.output': 'Output',
|
||
'details.running': 'Running…',
|
||
'todo.title': 'To-dos',
|
||
'todo.progress': '{done}/{total} tasks · {active} in progress',
|
||
'todo.rowTitle': 'Update to-do list',
|
||
'todo.completed': '{done}/{total} completed',
|
||
'chat.loadingHistory': 'Loading history…',
|
||
'chat.loadError': 'Failed to load history: {message} ({code})',
|
||
'chat.loadOlder': 'Load earlier',
|
||
'chat.toBottom': 'Back to bottom',
|
||
'message.extraBlock': 'Extra content block',
|
||
'message.steering': 'Interjection',
|
||
'message.contextInjection': 'Context injection',
|
||
'message.unknownSurface': 'Unknown surface event: {type}',
|
||
'message.unknownBlock': 'Unknown content block',
|
||
'message.stopped': 'Stopped',
|
||
'message.branch': 'Branch into a new conversation',
|
||
'message.retry.active': 'Retrying model request',
|
||
'message.retry.cancelled': 'Model request retry cancelled',
|
||
'message.retry.started': 'Retried model request',
|
||
'message.retry.scheduled': 'Waiting to retry model request',
|
||
'message.retry.status': '{label} ({retry}/{maximum}) · {seconds}s',
|
||
'message.retry.delay': 'Retry delay: ',
|
||
'message.retry.failure': 'Failure reason: ',
|
||
'command.running': 'Running…',
|
||
'command.failed': 'Command failed',
|
||
'command.done': 'Completed',
|
||
'command.title': 'Command',
|
||
'approval.waiting': 'Waiting for approval',
|
||
'approval.detail.aria': 'Approval details',
|
||
'approval.escalation': 'Tool {toolName} requests privileged execution',
|
||
'approval.reject': 'Reject',
|
||
'approval.allowOnce': 'Allow once',
|
||
'ask.rowTitle': 'Ask question',
|
||
'ask.waiting': 'waiting',
|
||
'ask.cancelled': 'cancelled',
|
||
'ask.interrupted': 'interrupted',
|
||
'ask.answered': '{answered}/{total} answered',
|
||
'bash.running': 'Running',
|
||
'bash.failed': 'Failed',
|
||
'bash.stopped': 'Stopped',
|
||
'queue.count': '{n} queued messages',
|
||
'queue.edit': 'Edit queued message',
|
||
'queue.edit.unsupported': 'Contains non-text content; editing is not supported yet',
|
||
'queue.save': 'Save queued message',
|
||
'queue.cancelEdit': 'Cancel editing',
|
||
'queue.remove': 'Remove queued message',
|
||
'queue.editFailed': 'Edit failed: this message may have already started sending.',
|
||
'queue.removeFailed': 'Removal failed: this message may have already started sending.',
|
||
'terminal.signal': 'signal {signal}',
|
||
'terminal.exitCode': 'exit code {code}',
|
||
'terminal.running': 'Running',
|
||
'terminal.failed': 'Failed',
|
||
'terminal.done': 'Done',
|
||
'terminal.noOutput': 'No output',
|
||
'terminal.collapseAria': 'Collapse output',
|
||
'terminal.expandAria': 'Expand the remaining {n} output lines',
|
||
'terminal.expandRest': '… {n} more lines',
|
||
'json.truncated': '… truncated, {total} characters total',
|
||
'clock.md': '{m}/{d}',
|
||
'clock.ymd': '{y}-{m}-{d}',
|
||
} satisfies Record<ConversationKey, string>
|