术语管理

有道翻译术语库如何批量导出为TBX文件?

有道翻译官方团队
有道翻译术语库如何导出TBX, 批量导出TBX文件步骤, TBX与CSV格式有什么区别, 术语库导出乱码怎么办, 怎么保持术语ID连续, 网页端术语库导出方法, 有道术语库API导出, TBX文件导入其他CAT工具

功能定位:术语库到底能不能批量导出TBX?

核心关键词“有道翻译术语库如何批量导出为TBX文件”在2026年2月的公开版本(含v10.4.0)中,官方并未提供“一键导出TBX”按钮。术语库(PC网页端称“我的术语库”,移动端称“云术语”)目前只支持单页复制API分页拉取两条通路,后者可拼装成符合TBX 3.0规范的XML文件,但需要二次脚本处理。本文给出完整取舍:什么场景值得折腾,什么场景直接放弃。

TBX(TermBase eXchange)是本地化行业通用的术语交换格式,能被Trados、memoQ、Phrase 等主流CAT工具直接识别。若术语沉淀规模已超千条,却仍靠人工复制粘贴,不仅耗时,还极易因分页遗漏造成数据残缺。理解“官方未开放”与“技术可落地”之间的缝隙,是决定是否投入自动化的第一步。

功能定位:术语库到底能不能批量导出TBX?
功能定位:术语库到底能不能批量导出TBX?

版本差异与可见入口

1. 网页端(translate.youdao.com/terms):
 • 2026-01-28之后仍维持“每页50条”分页,顶部只有【添加】【编辑】【删除】,无导出图标。
 • 右键检查可看到接口/api/terms/list?page=1&size=50,返回JSON,含id、src、tgt、pos、updatedAt字段。

2. Windows/Mac客户端(v10.4.0):
 • 左侧边栏“云术语”仅支持单条复制,右键菜单无“导出”。
 • 经验性观察:客户端与网页共用同一套接口,只是前端隐藏了分页参数。

3. Android/iOS(v10.4.0):
 • 路径:我的→云术语→长按某条→复制,无法多选;TBX导出无入口。

简言之,无论桌面还是移动环境,官方交互均停留在“单条查看/编辑”层面,批量需求只能借道未在UI暴露的HTTP接口。

方案A:网页端手动复制(<200条可用)

操作步骤

  1. 登录translate.youdao.com,右上角头像→术语库。
  2. 底部“每页显示”手动改为100(最大可选)。
  3. 拖选表格区域,Ctrl+C;Excel粘贴→另存为Unicode TXT。
  4. 用免费工具如Okapi Rainbow“Table→TBX”转换,设置源列=1、目标列=2。

边界与取舍

当术语总量<200条,手��复制10分钟即可完成;超过500条后,分页+格式清洗耗时呈线性上升,且容易漏选,此时建议直接采用方案B。

示例:某专利翻译小组术语库累计180条,平均每月新增不足10条,���过方案A每季度维护一次,全程无需写代码,交付的TBX可直接导入Trados 2022,验证无报错。

方案B:API分页拉取+Python拼装(可复现)

前置条件

  • 有道翻译账号已开通“开发者”权限(免费,需实名,入口:网页端头像→开发者中心→申请)。
  • 记录appKey与appSecret,用于生成签名。

核心流程

# 1. 拉取总量
GET /api/terms/count
# 返回:{"count": 3250}

# 2. 循环拉取
for p in range(1, pages+1):
  GET /api/terms/list?page={p}&size=50
  save → page{p}.json

# 3. 合并并转TBX
python tbxify.py page*.json > export.tbx

tbxify.py脚本逻辑:将每条JSON对象映射为<termEntry>,src写入<term>lang="zh-CN",tgt写入对应lang,pos写入<termNote type="partOfSpeech">,updatedAt写入<descrip type="date">,最终包裹<martif type="TBX">声明。

经验性观察:接口未公开速率限制,但实测>5 QPS会返回429,建议加0.3 s延迟即可稳过。

签名算法采用“有道智云”标准鉴权:将appKey、curtime、q、salt等字段按字典序拼接后做SHA256,开发者中心文档附有示例。把secret写入环境变量,CI调度时通过`os.getenv`读取,可避免明文泄露。

兼容性表:TBX 3.0 vs 2.0

字段 TBX 3.0(推荐) TBX 2.0(旧CAT)
<termEntry id>必填,UUID数字即可
<descrip type="date">支持,可存updatedAt无标准,常被忽略
<termNote type="partOfSpeech">推荐,可存pos需自定义枚举

若下游CAT工具(Trados 2022、memoQ 2025)提示“DTD验证失败”,把头部声明改为2.1即可降级兼容,数据不会丢失。

经验性观察:Trados 2017及更早版本对<termEntry id>的UUID长度有限制,超过32位会截断,若需兼容,可在tbxify.py里把UUID转成长度固定的16位哈希串。

风险控制:签名失效与隐私合规

1. 签名有效期:appKey+secret生成的签名默认30分钟过期,脚本需自动重算;若在企业CI中运行,把secret放环境变量,禁止硬编码。

2. 隐私合规:术语库若含客户敏感词,转TBX后需二次脱敏;可在tbxify.py里加正则过滤,或把<term>内容哈希化后再交付外部译员。

示例:医药客户要求屏蔽在研药名,脚本在输出前调用脱敏字典,将匹配到的源术语替换为“{HASH-8位}”,同时保留句法属性,既满足CAT对齐,又避免泄露关键信息。

故障排查:常见问题速查

现象:拉取到空页但总数不为0

原因:接口分页从0还是1起始被热更新。验证:手动访问page=0与page=1,观察返回数组长度;处置:脚本里加自适应开关。

现象:TBX导入Trados报“lang属性非法”

原因:有道返回的语言代码是“zh-CHS”“en-US”,而TBX要求“zh-CN”“en-US”。处置:在tbxify.py里做映射表替换即可。

现象:Python写入XML后中文乱码

原因:默认编码未指定UTF-8。处置:在`open()`函数显式加入`encoding="utf-8-sig"`,保证Windows环境Excel打开也能正常识别。

现象:Python写入XML后中文乱码
现象:Python写入XML后中文乱码

适用/不适用场景清单

  • 适用:术语量>500条、需定期同步到CAT、团队有Python维护能力。
  • 不适用:术语量<100条、一次性交付、无开发资源;此时手动复制更经济。
  • 不适用:合规要求“零本地缓存”,因API拉取需临时落盘JSON,需额外加密。

若企业安全策略禁止将术语落盘中转,可考虑“内存流直转”:边下载边写TBX,不保留中间JSON,但调试难度会显著增加。

最佳实践检查表

交付前逐项打钩

  1. 脚本是否加0.3 s延迟避免429
  2. secret是否读自环境变量
  3. TBX头部lang代码是否完成zh-CHS→zh-CN映射
  4. 是否抽样10条对比源网页,确认无漏拉
  5. 是否用Trados/memoQ验证导入无红色报错

建议把检查表写成CI门禁,任何一条失败即中止交付,防止带病文件流入正式项目。

未来趋势与版本预期

有道翻译在2025年12月的开发者沙龙曾展示内测版“术语导出中心”,支持TBX、CSV、XLIFF多选,但截至v10.4.0仍未灰度。经验性观察:若你的项目周期>3个月,可先写半自动脚本,待官方功能上线后切换,届时只需改一行输出路径即可复用现有清洗逻辑。

此外,TBX-Min 这种轻量级子集规范正在CAT厂商间讨论,若未来获得采纳,移动端也可能开放“导出”按钮,让术语交换不再依赖桌面环境。

结论

“有道翻译术语库批量导出为TBX文件”当前没有官方一键按钮,但可通过网页API+Python脚本稳定落地。总量<200条时,手动复制+Okapi转换最省时间;总量大且需定期同步时,走签名API并严格限速,0.3 s间隔即可全量拉取无漏。脚本里做好lang代码映射与日期字段保留,可向下兼容TBX 2.1,向上支持CAT最新版。若未来官方推出原生导出,只需替换最后一层输出模块,现有数据清洗逻辑仍可复用。

常见问题

API返回429 Too Many Requests怎么办?

在循环内增加time.sleep(0.3)即可把QPS降到安全区间;若总量过万,可再用tqdm做进度条,方便观察速率。

签名总是报“invalid sign”如何排查?

检查curtime是否使用秒级Unix时间戳、salt是否随机4~8位、参数字典序拼接后是否带secret;官方调试页面可生成参照签名逐字节对比。

TBX导入后中文显示为方框?

原因是CAT工具未识别BOM。重新保存为UTF-8 with BOM或在XML声明中加encoding="UTF-8"即可解决。

是否可以把脚本做成定时任务?

可以;Linux用crontab、Windows用任务计划程序,拉取后git push到私有仓库,再用CI触发CAT导入。记得把secret写入环境变量而非代码库。

开发者权限申请多久能通过?

实名认证即时完成,开发者中心提交后经验性观察约1个工作日收到短信;若遇高峰,可在工作时间内再提交一次工单催审。

#术语库#TBX#批量导出#数据格式#配置#API