Page 1 of 1

我们还通过 YAML 注释向翻译人员

Posted: Wed Dec 11, 2024 7:19 am
by rumiseoexpate5
提供每个字符串的元数据。元数据包括字符串的文件位置(可用于查找有问题的翻译)和notes属性的内容。在代码中提供有用的上下文可显著提高整体翻译质量并减少 QA 时间。

UTW 提取流程有几个主要优点:

在字符串级别进行定义project允许工程师将逻辑分组的字符串路由到同一个提取文件,而不管这些字符串在源文件中出现的位置。这不仅可以轻松确定一组翻译的优先级(例如,针对关键产品发布),而且还使我们的提取文件不受文件移动的影响。如果您重命名或重新定位源文件,提取文件将保持不变。
由于我们总是在镜像最新提交的分支上生成翻译master,因此该 Git HEAD 提交哈希处的源代码状态是翻译状态的真实来源。如果我们想在任何时间点重新创建翻译(例如,出于调试目的),我们所要做的就是在特定提交处签出我们的存储库并重新运行 UTW 提取。我们的代码状态就是我们的翻译状态。
在之前的一篇博文中,陈晓萌介绍了 Idioma 和 Smartling。Idioma是 Squarespace 内部开发的一个工具,它充当我们的源代码和 Smartling(翻译我们字符串的第三方服务)之间的传输机制。Idioma 监视我们i18n/translation分支的状态。当它检测到 en-US YAML 文件中的更改时,它会自动协调将这些文件发送到 Smartling 进行翻译。

Idioma 轮询 Smartling 以检测目标语言的 埃及 whatsapp 电话号码列表 翻译何时完成。它会将所有翻译的 YAML 文件推送回i18n/translation。

4. 翻译后的 YAML 文件被合并到主版本中并投入生产
查看完整尺寸
翻译后的 YAML 文件被合并回主文件
翻译后的 YAML 文件被合并回主文件

为了将翻译后的 YAML 文件投入生产,我们将分支中的翻译后的 YAML 文件合并i18n/translation回master。我们的生产版本使用自定义 webpack 加载器插件使用和加载这些翻译,因此当 Squarespace 用户使用其他语言访问该网站时,他们会看到该网站的完整翻译版本。

查看完整尺寸
Squarespace 德语主页
Squarespace 德语主页

Image


经验教训
作为一个新项目,我们的翻译系统在走向稳定的过程中经历了一些最初的失败和有趣的教训。我们希望分享这些教训有助于为面临类似任务的任何人提供路线图。