发布时间:2026/9/6 2:22:04
把带代码的文档丢给翻译 AI,翻完参数路径全变中文——tri-translate 的隔离区占位把我捞了回来 实测结论让模型翻一段带--dry-run、~/.skillhub/metadata.json这类参数和路径的英文文档“翻得最准的不是语义而是那些它根本不该动的代码——我第一版让它硬翻标题、正文都对唯独脚本参数被汉化成了干运行”“运行路径”整段不能直接复制了。tri-translate 真正扛事的地方不在翻译引擎而在它先把路径/代码/URL 用 19 类不译规则抽成__PATH_1__这种占位符、翻译过程完全不碰、译完再还原最后拿 MQM 的 Design 维兜底。先说要害技术文档的翻译多半在跟自己的代码打架技术文档和普通文章的区别在于满篇都是写给机器看的字眼配置路径、命令行参数、版本号、API 名。这些东西在读者眼里不是要翻译的词是要原样贴回去的东西。可模型不这么想它只看到一个英文串语义上觉得dry-run就是空跑于是顺手给你译了。等你要把译文里的命令粘回终端发现它已经变成中文这条命令就废了。我这次要翻的是一份 SDK 的英文 deployment 说明里面夹着不少这种该原样保留的片段。当时我图快没做任何预处理直接把整段丢给模型让它直译。三策略分层——不译才是技术场景的主闸tri-translate 处理这场乱局用的是三策略分层但它和我以为的翻得好不好不是一回事。它把原文按内容形态切成三档各走各的门策略触发的文本执行方式退守条件① 意译优先一般段落、解释、营销、对话按上下文和读者意译传达意思而非逐字术语密集 / 命令上下文 / 法律精确性 / 数字版本号② 直译次之术语密集、技术文档、法律、命令式语句按字面直译但仍要符合中文习惯路径 / 代码 / URL / 品牌名 / 首字母缩写③ 不译兜底路径、代码块、命令、API、URL、品牌、缩写占位符保留原文译完还原—我一开始只盯着 ①意译 和 ②直译觉得翻译水平高低就看这两档。真正让我栽跟头的恰恰是我没当回事的第三档——③不译。技术文档里大量内容本来就该跳过翻译直接原样保留。这档闸门没守住后面的翻译再准也是白搭。19 类不译规则 隔离区占位法是它防汉化的钩子那到底怎么判定这段该原样保留tri-translate 内置了一张不译规则清单把常见的不译要素预分类每类是一条正则扫描原文时先抽出来。占位符长这样__类型_序号__。给你看几个真实类型占位符原始内容示例类型__PATH_1__~/.skillhub/metadata.json路径__CODE_1__--dry-run --outdir ./inter命令行/代码__URL_1__https://api.skillhub.cn/...URL__VER_1__v1.1.1版本号__ENV_1__THEME_API_KEY环境变量/配置键整个流程是个抽——翻——放回的三明治整段原文含路径/代码/URL │ ① 隔离区提取19 类规则扫描抽成占位符 ▼ 带占位符的干净暗文The tool reads 配置 from __PATH_1__ run with __CODE_1__ to ... │ ② 翻译此时只有占位符模型碰不到代码 ▼ 译文工具从 __PATH_1__ 读取配置用 __CODE_1__ 运行…… │ ③ 占位符还原把 __PATH_1__、__CODE_1__ 贴回原文 ▼ 成稿工具从 ~/.skillhub/metadata.json 读取配置用 --dry-run 运行……关键就在①和③翻译的中间态里模型看到的只有占位符那些路径、参数已经被抽走了任它怎么发挥也够不着。等它翻完占位符再原样放回去。这一步能保证代码和 markup 一个字符都不被改。我的翻车记录跳过隔离区参数被汉化先看我贪快的那一版。当时我就是普通直译没有任何占位喂进去一小段Deploy starts when you run npm run ship -- --dry-run. The version reads from ~/.skillhub/metadata.json each time.模型给我交回来的译文是这样的原文我第一版直译翻车走隔离区后的正确译文npm run ship -- --dry-run运行运行 发布 命令 空跑npm run ship -- --dry-run原样保留~/.skillhub/metadata.json从运行 元数据 文件读取版本从~/.skillhub/metadata.json读取版本v1.1.1版本 1.1.1被当成普通数字顺手带过v1.1.1原样保留第一行npm run ship -- --dry-run被翻成一串运行 发布 空跑我粘进终端根本跑不动。这就是不译闸门没上锁的代价模型语义上是对的工程上是废的。后来我老老实实把原文过一遍 tri-translate 的 TRANSLATE_EXECUTE那些命令行和路径在①就被洗成__CODE_1__、__PATH_1__②翻译时模型压根见不到它们③还原后就原样贴回来一个字符没动。还原完还要兜底占位符残留扫描 MQM Design 维占位符不是抽出来就完事最怕的是翻译过程中丢了一个导致成稿里蹦出个孤零零的__CODE_3__。tri-translate 在还原后强制做一次残留扫描要求换成原文后残留必须是 0一个占位符都不能剩。这还不够它把质量自检也做成了一道硬门MQM 四个维度里Design 这一维专门查 markup 和代码结构有没有被破坏和 Accuracy语义、Hallucination有没有编原文没有的内容一样Critical 和 Major 级别错误要求必须为 0。我第一版那种把--dry-run翻成空跑的活法在 Design 维就是妥妥一个 Critical——系统会逼我重译最多重试两次再不行就退守直译。所以这套东西给我的体感是隔离区占位法负责把代码关进保险箱写不出错MQM Design 残留扫描负责检查保险箱是否真的关严了。两道都过才允许交付。例外新增不译规则要两处同步但占位法也不是万能的我给它加规则时就踩过一条坑。tri-translate 的不译规则存在两个地方运行时载体templates/never-translate.json和给人读的规则真源references/no-translate-rules.md文档明确要求新增规则两处同步追加。我第一下只改了never-translate.json想看效果结果下次查规则时行为跟文档对不上——因为两处不一致扫描用的和描述用的对不上号行为就漂移了。规则涉及的正则越细越要两处一起改。另外一个边界是19 类是预置清单不是全知。像~开头这种路径写法如果某个规则模板的正则没覆盖到扫描时就不会被抽出来照样可能被翻。这种属于能力边界不算 bug——真要兜住就自己往清单里补一条规则。至少它把哪些该保留这件事做成了可配置、可审计的清单而不是听天由命。收尾回头看我这次吃到的教训词还是开头那句技术文档的翻译最难的不是信达雅是把不该动的代码原样留出。tri-translate 用 19 类不译规则 隔离区占位 MQM Design 兜底把哪些该不译从模型的自由发挥变成了门口的固定检查项。你要是也常翻带代码的文档下次可以先试试不急着翻先看看它有没有把--dry-run这类参数保护起来——被汉化一次你就懂这道闸多值钱了。我是老三10 年软件开发经验软件设计师、人工智能应用工程师专注鸿蒙应用开发ArkTS北向开发与 Web 前端探索 AI 自动化不定期在 CSDN 分享鸿蒙 / AI 方向技术文章。本文遵循 MIT 协议转载请注明出处。这个系列的文章都来自开源的 tri 技能库。整套 tri-xxx 技能都能在 skillhub 找到并安装一条命令装完即用比如本文用到的 tri-translateskillhub install tri-translate。装完每个技能都有 README想摸清它到底能干嘛读那个就够了。

相关新闻

2026/9/6 2:22:04

@Validated和@Valid注解

1.二者区别于配合方式注解常见放置位置核心作用Validated (Spring 提供)类名上方 (如 UserController)开启整个 Controller 类的校验功能,直接对 String、Integer 等平铺参数生效。Valid (JSR-303 标准)方法参数对象前 (如 Valid RequestBody DTO)开启嵌套/对象级校…

2026/9/6 2:17:04

AI208X温控仪表实战解析:从PID整定到RS485组网

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 2:17:04

PCB差分对布线实战:开源EDA工具下的信号完整性与保护设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 3:12:07

基于粒子群算法的一次调频参数优化:建模、仿真与工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 3:12:07

安达发|电动工具行业排产乱交付慢?APS生产排程软件一键破局

随着中国制造业向智能化、柔性化加速转型,电动工具行业正迎来新一轮结构性变革。数据显示,2025年我国五金电动工具生产市场规模达1842亿元,同比增长 6.3%,其中出口占比 41.7%。在市场需求碎片化、产品迭代提速、订单交付周期持续收…

2026/9/6 3:12:07

从指针到寄存器:MCU地址映射与嵌入式寄存器操作实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 3:12:07

基于MLP的音频音色转换技术:从原理到烟嗓风格迁移实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 3:12:06

AI时代网络安全新挑战:从数据流动到模型安全的防护策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/6 3:07:06

读机器学习论文半年无成果,非科班的我靠这5个习惯复现了第一个模型

读机器学习论文半年无成果,非科班的我靠这5个习惯复现了第一个模型 做产品经理第四年,我下定决心转行机器学习。原因说起来挺俗的:团队里的算法工程师月薪是我的两倍,而我连他们口中的“梯度下降”是什么都说不清楚。我买来经典的《机器学习》教材,打印了几十篇论文,以为只要够…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/5 2:45:13

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/5 2:46:50

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…