Phorge 现代化改造实战(十七):恢复简体中文支持,用工具持续维护 2.7 万行翻译文件

💡 原文中文,约6100字,阅读约需15分钟。
📝

内容提要

本文介绍Phorge现代化改造中简体中文翻译的迁移与维护。项目新增zh_CN语言定义及约2.7万行翻译表,用户可在设置中选择中文,默认仍为英文。为应对后续更新,迁入scripts/i18n/维护工具,用于扫描缺失字符串、补键、调用在线模型翻译,并保护格式占位符。流程包括检查、补键、批量翻译和校验,确保译文质量与格式安全。

🔎

延伸解读

翻译维护的自动化边界

文章强调,脚本只能处理静态的 pht() 字符串,动态参数、运行时拼接和复数/性别分支仍需人工。missing=0 仅表示静态扫描的键已补齐,不保证译文质量。因此,自动化工具是辅助,最终术语和语境检查不可替代。

格式占位符保护机制

翻译脚本通过将 %s、[Calendar] 等替换为内部标记(如 __PH_TOKEN_0__),并在模型返回后校验标记是否完整,防止格式符被改写导致页面错误。这体现了机器翻译中保护代码占位符的重要性,也是确保译文可安全落地的关键步骤。

语言代码归一化的潜在影响

当前将 zh-Hans、zh-Hant 等统一为 zh_CN,导致繁体中文用户也会看到简体译文。文章指出,未来若加入独立繁体翻译,需拆分此规则。这提醒读者,语言支持需考虑变体差异,避免因简化处理而影响用户体验。

Q&A

如何在Phorge中切换到简体中文界面?

升级到包含中文功能的版本后,进入Settings → Account → Translation(切换后显示为“翻译”),选择“中文(简体)”并保存,页面就会使用zh_CN。没有中文译文的字符串会回退到en_US。

Phorge默认语言是什么?升级后会自动切换为中文吗?

Phorge默认使用英文(en_US)。升级后不会自动切换,用户需要手动在设置中选择中文(简体)。

Phorge的简体中文翻译文件有多大?包含多少词条?

新增的zh_CN翻译表约有2.7万行,包含上万个词条。

Phorge的国际化维护工具放在哪个目录?主要功能是什么?

维护工具位于scripts/i18n/目录下,包括check_zh_missing.py、gen_zh_batch.py、translate_zh_api_batch.py等脚本,用于扫描缺失字符串、补键、批量翻译和校验,确保译文质量与格式安全。

Phorge翻译维护中,如何保护格式占位符(如%s、%d)和方括号标记?

脚本会先将格式占位符和方括号标记(如%s、[Calendar])替换成内部标记(如__PH_TOKEN_0__),模型返回后检查标记是否完整,再恢复原标记,并重新比较格式符与方括号标记,缺失或改写的结果会被跳过。

Phorge翻译维护中,在线翻译脚本如何处理断点续传?

脚本默认每轮最多选择500条,每个请求发送90条。一个批次通过校验后立即写回翻译文件,并将下一次扫描的行号保存到进度文件(默认是<translation-file>.progress.json)。网络中断后重新执行同一命令,会从上次位置继续。

Phorge翻译维护中,如何避免误改专有名词(如PHID、Herald)?

脚本通过规则筛选候选条目,例如只选择值与键完全相同或中英混排明显的条目,并使用相似度阈值(>=0.60)减少对专有名词的误改。此外,术语表resources/i18n-zh-glossary.md记录了应保留的产品名。

Phorge翻译维护中,为什么missing=0不代表翻译全部完成?

missing=0只说明静态扫描发现的键已经进入翻译表,但无法证明每条译文都已翻译完成,也无法判断术语和上下文是否准确。动态pht()参数、复数/性别数组等仍需人工检查。

🏷️

标签

➡️

继续阅读