Files
DevFlow/src/i18n/zh-CN/aiTool.ts
T

200 lines
9.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
aiTool: {
running: '执行中…',
approve: '批准执行',
reject: '拒绝',
approveAll: '全部批准 {n} 项',
rejectAll: '全部拒绝',
rejectedHint: '用户拒绝了此操作',
// B-260616-12:工具执行超时提示(前端降级,无后端取消 IPC)
executionSlow: '工具「{name}」执行较久,请稍候…',
// BUG-260624-02:审批挂起时长提示(>2分钟橙色,>5分钟红色)
waitTime: '⏱ 已等待 {time}',
// UX-260616-01:工具执行失败视觉标识(AR-6 下 status=completed,需红色区分于成功)
executionFailed: '执行失败',
executionFailedHint: '工具执行失败,详情见下方',
collapse: '收起',
expandAll: '展开全部',
expand: '展开',
collapseAll: '全部收起',
written: '已写入',
items: '项',
lines: '行',
// UX-260618-08/11:截断提示(read_file 分页截断 / list_directory 1000 上限截断)
linesTruncated: '{shown}/{total} 行,已截断',
dirTruncated: '已截断,仅前 {n} 项',
// 工具显示名(含路径摘要前缀,fallback 兜底)
readPrefix: '读取',
readFallback: '读取文件',
dirPrefix: '目录',
dirFallback: '列出目录',
writePrefix: '写入',
writeFallback: '写入文件',
// grep 跨文件内容搜索头部(F-260621)
grepPrefix: '搜索',
grepFallback: '内容搜索',
// CRUD 类工具显示名(delete/restore/purge/update_project 按 id 解析项目名;无 id 或解析失败走 fallback)
deletePrefix: '删除项目',
deleteFallback: '删除项目',
restorePrefix: '恢复项目',
restoreFallback: '从回收站恢复项目',
purgePrefix: '彻底删除项目',
purgeFallback: '彻底删除项目',
updatePrefix: '更新项目',
updateFallback: '更新项目',
createTask: '创建任务',
createProject: '创建项目',
// completed 结果摘要(header 折叠态可见)
taskCount: '{n} 项任务',
projectCount: '{n} 个项目',
ideaCount: '{n} 条灵感',
// UX-260618-10/12:list_trash 折叠态计数 + 分页 has_more 提示(后端返 {items,total,has_more} 对象)
trashCount: '回收站 {n} 项',
listHasMore: '(已显示 {n} 项,还有更多)',
createdWithName: '已创建:{name}',
created: '已创建',
updatedField: '已更新 {field}',
updated: '已更新',
deleted: '已删除',
deleteIneffective: '删除未生效',
restored: '已恢复',
restoreIneffective: '恢复未生效(项目不在回收站)',
purged: '已彻底删除',
purgeIneffective: '清除未生效',
workflowHint: '请到工作流页面运行',
// UX-260618-05:run_workflow tool_result 显 execution_id(workflowHint 误导——工作流已触发;旧 key 保留防他处引用)
workflowTriggered: '任务 {id} 已触发工作流(推进至 {status},执行实例 {exec})',
workflowTriggeredShort: '执行实例 {exec}',
// UX-260616-04:formatToolResult 覆盖全部工具产出人类可读摘要(补缺失 key)
updatedTaskField: '任务「{title}」已更新字段 {field}',
advancedTask: '任务「{title}」已推进至 {status}',
// UX-260618-09:advance_task 退回累加轮数(>0 才显);UX-260618-14:{title} 显任务名(后端返 TaskRecord),回退 id
advancedTaskWithRounds: '任务「{title}」已推进至 {status}(已退回 {n} 次)',
commandOk: '命令成功({ms} 毫秒)',
commandFailed: '命令失败(退出码 {code}',
commandOutputLines: '{n} 行输出',
patchedFile: '已修改 {path}(增减 {diff} 字节)',
// UX-260618-06:patch_file 多匹配提示 + size_diff 单位
patchedMatches: '匹配 {n} 处',
bytesUnit: '字节',
patchedNoChange: '{path} 无更改',
appendedTo: '已向 {path} 追加 {bytes}',
renamedFile: '已重命名 {from} → {to}',
// UX-260618-12:rename_file 字节/跨卷 + write_file 覆盖/编码提示
renamedWithBytes: '已重命名 {from} → {to}({bytes})',
renamedCrossVolume: '已移动 {from} → {to}(跨卷,{bytes})',
writeOverwrite: '覆盖 {old} → {neww}',
encodingLabel: '编码:{enc}',
// http_request 结果摘要(method + 状态码 + 耗时;body 在展开态显示)
httpOk: '{method} {status} 成功({ms} 毫秒)',
httpFailed: '{method} {status} 失败',
httpTruncated: '响应已截断({bytes}),详见下方',
httpRequestFallback: 'HTTP 请求',
foundN: '找到 {n} 项',
// fetch_url 结果(render_mode 徽标 + obscura 引导)
// - fetchUrlTitle: 有 title 时的 header 副标题
// - fetchUrlRendered: render_mode=obscura(JS 渲染成功)徽标文案
// - fetchUrlStatic: render_mode=static/static_fallback(静态)徽标文案
// - fetchUrlFallbackHint: static_fallback(obscura 未装/失败)摘要,提示用户已静态回退
// - fetchUrlChars: 静态模式 markdown 字符数(折叠态副标题)
// - charsUnit: 字符单位(与 length 拼接)
// - installObscura: "AI 帮装"按钮文案
// - obscuraInstallPrompt: 点按钮后自动发给 AI 的对话提示(具体到 cargo install + releases 两种装法)
fetchUrlTitle: '标题:{title}',
fetchUrlRendered: '已 JS 渲染',
fetchUrlStatic: '静态',
fetchUrlFallbackHint: 'obscura 未装,已用静态模式(可增强 JS 渲染文档)',
fetchUrlChars: '{n} 字符',
charsUnit: '字符',
// fetch_url 头部显示名(useToolCardHeader):host 精简前缀 + 无 url 时兜底
fetchUrlPrefix: '获取',
fetchUrlFallback: '获取网页',
installObscura: 'AI 帮装 obscura',
obscuraInstallPrompt: '请帮我安装 obscura(Rust 无头浏览器,用于 fetch_url 的 render=true JS 渲染)。优先尝试 `cargo install obscura`,若 cargo 不可用则从 GitHub releases(github.com/h4ckf0r0day/obscura)下载对应平台预编译二进制并放入 PATH。安装完成后用 `obscura --version` 验证,然后告诉我可以重试网页抓取了。',
// grep 跨文件内容搜索结果(F-260621):按 output_mode 分文案
grepHitsN: '命中 {n} 处',
grepFilesN: '命中 {n} 文件',
grepCountSummary: '命中 {n} 处 / {files} 文件',
grepCountLines: '{n} 处',
grepTruncated: '结果已截断(达上限),收紧 pattern 或加 glob',
boundDir: '已绑定目录「{path}」技术栈:{stack}',
deleteFilePermanent: '已硬删除 {path}',
// UX-260618-07:软删补 backup_path(回收站文件名,用户知从哪恢复)
deleteFileSoft: '已软删除 {path}(已备份,可从 {backup_path} 恢复)',
fileInfoSize: '{path} {size}',
// UX-260618-12:file_info 修改时间(epoch_ms → 客户端 toLocaleString)
fileInfoModified: ' · 修改于 {time}',
fileInfoLines: ' · {n} 行',
fileInfoBinary: ' · 二进制',
fileInfoDir: ' · 目录',
fileInfoMissing: '{path} 不存在',
// 审批参数特化(id/project_id 回显项目名,查不到标注原 id)
projectLabel: '「{name}」',
projectIdNotFound: '(项目已不存在, id={id})',
// UX-260618-14:advance_task/run_workflow 的 task_id 回显任务标题(查 store.tasks,无则标 id)
taskLabel: '「{name}」',
taskIdNotFound: '(任务不在当前列表, id={id})',
// AE-2025-05:High 风险审批二次确认文案(批准前再问一次,误点可取消)
confirmHighDelete: '确定永久删除?此操作不可恢复',
confirmHighExec: '确定执行此命令?',
confirmHighGeneric: '确定执行此高危操作?',
// http_request 高危二次确认:外发网络请求,数据可经 URL/body 泄露
confirmHighHttp: '确定向外部服务器发起此 HTTP 请求?',
// 工具结果详情格式(非 JSON 纯文本 + 审批占位时补参数摘要)
resultDetail: '{raw}{detail}',
// UX-260617-17:ToolCardList 分组标题(同名工具 >=2 时显示;原硬编码中文,英文化)
toolGroup: {
readFile: '读取文件',
writeFile: '写入文件',
listDirectory: '列出目录',
grep: '内容搜索',
createTask: '创建任务',
createProject: '创建项目',
createIdea: '创建灵感',
listTasks: '列出任务',
listProjects: '列出项目',
listIdeas: '列出灵感',
deleteProject: '删除项目',
restoreProject: '恢复项目',
purgeProject: '彻底删除项目',
updateProject: '更新项目',
runWorkflow: '运行工作流',
httpRequest: 'HTTP 请求',
},
// UX-260617-14:审批 loading 超时兜底提示(后端无回执,卡片仍 pending_approval 时复位 + 提示用户)
approveLoadingTimeout: '审批响应超时,请重试或检查后端',
// UX-260617-18:工具失败检测文案(收窄正则后,行首锚定 err_msg 前缀)
// (复用 executionFailed/executionFailedHint,不新增)
// 审批参数键标签
argLabel: {
id: 'ID',
projectId: '项目 ID',
name: '名称',
title: '标题',
description: '描述',
field: '字段',
value: '新值',
path: '路径',
priority: '优先级',
tags: '标签',
source: '来源',
method: '方法',
url: 'URL',
body: '请求体',
headers: '请求头',
timeout_secs: '超时(秒)',
parse: '解析',
},
},
}