多个构建版本使用单个本地化源

Firefox 对所有构建版本使用一个本地化源。

这样做有很多好处

  • 本地化人员维护一个唯一的真相来源。他们可以在更新 Beta 版、开发者版甚至发布版和 ESR 版的同时翻译 Nightly 版。

  • 它延长了本地化人员在截止日期前处理字符串的时间窗口。

  • 提升字符串更改对本地化工具链的影响较小,并且可以逐个案例评估其影响。

因此,手头的问题是拥有一个本地化源并使用它来构建多个版本的 Firefox。目标是使每个版本的本地化尽可能完整。

解决这些问题的流程遵循以下步骤

  • 创建要本地化的资源,firefox-l10n-source

    • 在“隔离区”中审查对该资源的更新。

    • 向本地化人员公开该资源的已知良好状态。

  • 在 Pontoon 中获取本地化内容。

  • 将本地化内容写回 firefox-l10n

  • 将本地化内容纳入构建版本中。

firefox-l10n-source 代码库

firefox-l10n-source 充当所有 Firefox 发布版本的统一源字符串存储库(包括 nightly 版、beta 版、发布版、ESR 版等)。该代码库包含两个分支,mainupdate

main 分支包含所有最终的 en-US 字符串。Pontoon 从该分支同步,向本地化人员公开提交到该分支的任何新字符串。

update 分支充当隔离区。计划的 GitHub 操作用于定期从 gecko-dev 中的 Firefox 源代码中提取新消息,并将其添加到 update 分支中。在本地化团队审查后,update 分支中的更改将合并到 main 分支中。

注意

上述流程中隔离区的概念是为了保护本地化人员免受存在技术问题的字符串的干扰。例如,缺少本地化说明或需要改进的文本。

firefox-l10n 代码库

firefox-l10n 充当所有本地化字符串的真相来源。一旦在 Pontoon 中完成字符串的翻译,内容就会存储在每个语言环境的关联子目录中。然后,这些字符串在构建过程中用于为所有 Firefox 发布语言环境创建构建版本和语言包。