Bergamot 翻译器¶
Bergamot 翻译器 是用于驱动 Firefox 翻译的翻译引擎。该项目配置了一个 Marian NMT 的分支,通过 Wasm API 启用翻译。
Bergamot 在 Marian 代码之上添加了一些额外的代码片段,包括 HTML 对齐(在翻译中匹配源和目标标签)和句子迭代。它提供了 Wasm API,Firefox 在其自身的翻译实现中使用它。Bergamot 翻译器使用 Marian NMT 包的分支副本,以便支持量化翻译模型。
构建 Bergamot¶
可以使用 build-bergamot.py
脚本生成 Wasm 和与 Firefox 集成的 JS 文件。
cd toolkit/components/translations/bergamot-translator
./build-bergamot.py
有一些额外的选项和最新的构建文档,由以下内容记录
./build-bergamot.py --help
构建完成后,可以通过取消 toolkit/components/translations/jar.mn
底部的行注释来本地加载 Wasm 以进行测试。此外,可以使用 --debug
选项构建调试符号。这对于使用 Firefox Profiler 很有用。
上传到远程设置¶
Wasm 工件通过 远程设置 上传和分发。可以使用以下脚本更新远程设置中的 Wasm:
cd toolkit/components/translations/bergamot-translator
./upload-bergamot.py --help
帮助标志将输出有关如何运行脚本的最新文档。为了进行完整的发布
重大更改¶
如果 Bergamot 翻译器有重大更改,则需要将 toolkit/components/translations/actors/TranslationsParent.sys.mjs
中的 BERGAMOT_MAJOR_VERSION
加 1。Firefox 的任何给定版本在记录更新时都会引入次要更改,但重大更改需要搭乘发布列车。
发布¶
运行
./build-bergamot.py
脚本在
toolkit/components/translations/bergamot-translator/moz.yaml
中修改remote_settings.version
。次要版本将是
"1.0"
➡️"1.1"
。主要版本将是
"1.1"
➡️"2.0"
。
运行
./upload-bergamot.py --server prod
按照添加 Bearer Token 的说明操作。
默认情况下,新更新使用 JEXL 过滤器,并仅过滤到 Nightly 和本地构建。
请求审查更改。
登录 远程设置管理员
如果这是一个重大更改,则可以删除
filter_expression
,因为更改将搭乘发布列车。请求审查更改。
在 Nightly 上验证更改。
安装 远程设置开发者工具。
打开远程设置开发者工具。
将环境切换到
Prod (preview)
。清除所有本地数据。
重新启动 Nightly。
通过触发不同的翻译来验证它是否在 Nightly 中工作。
发布到 Nightly
通知发布驱动程序 (release-drivers@mozilla.org) 新的翻译引擎版本正在进入 Nightly(请参阅下面的示例电子邮件)。对于主要版本,这是可选的,因为它将搭乘发布列车。
让另一位团队成员批准从远程设置发布。
准备发布到 Beta/Release
(如果这是主要版本,请不要执行此步骤。)
等待几天以验证 Nightly 上没有问题。
登录 远程设置管理员
从
bergamot-translator
版本中删除“filter_expression”文本。请求审查。
重复步骤 5 以验证 Beta 和 Release。
发布到 Beta/Release
(如果这是主要版本,请不要执行此步骤。)
通知发布驱动程序 (release-drivers@mozilla.org) 新的翻译引擎版本正在进入 Beta/Release(请参阅下面的示例电子邮件)。
发布更改
通过 遥测 监控任何增加的故障。
Nightly 版本发布示例邮件¶
Hello Release Drivers,
The Translations team is releasing a new version of the translations engine via remote
settings. We are releasing a test update on Nightly [Fx123], and plan to follow-up on
[DATE] with a release to both Beta [Fx123] and Release [Fx123] if we've found there are
no issues. We can roll back the release if any unexpected issues are found.
The plan for this release is available:
https://firefox-source-docs.mozilla.org/toolkit/components/translations/resources/03_bergamot.html#release
Thank you,
[NAME]
Beta/Release 版本发布示例邮件¶
Hello Release Drivers,
The Translations team is moving forward with a release of a new translations engine
to both Beta [Fx123] and Release [Fx123]. It has been in Nightly [Fx123] with no issues
found. We can roll back the release if any unexpected issues are found.
The plan for this release is available:
https://firefox-source-docs.mozilla.org/toolkit/components/translations/resources/03_bergamot.html#release
Thank you,
[NAME]