翻译概述¶
以下是与翻译相关的技术的概览。
支持的平台¶
桌面
Android
iOS
语言翻译¶
翻译利用在客户端架构上本地运行的经过训练的机器学习模型,将网页内容从一种语言翻译成另一种语言。
技术¶
翻译利用 WASM 版本的 Bergamot 库将一种语言翻译成另一种语言。 Bergamot 由 Marian 提供支持。
模型¶
Bergamot 翻译模型是单向的一对一模型,经过训练可以将一种语言翻译成另一种语言(例如 en ⟶ es
)。当翻译确定源语言和目标语言时,它会利用特定于此语言对的模型将一种语言翻译成另一种语言。
中转翻译¶
如果不存在将源语言和目标语言直接翻译的模型,翻译将尝试满足传递翻译路径,并执行从源语言到目标语言的多步翻译。
示例
不存在直接翻译模型
es ⟶ fr
满足传递依赖关系
es ⟶ en
en ⟶ fr
中转翻译
es ⟶ en ⟶ fr
在此示例中,es ⟶ fr
没有直接模型,但 es ⟶ en
和 en ⟶ fr
的两个模型满足了传递依赖关系。翻译将以 en
语言为中转,首先将 es
翻译成 en
,然后将 en
翻译成 fr
。
注意
翻译不会进行多次中转。
目前,仅使用
en
作为中转语言。
语言识别¶
翻译利用在客户端架构上本地运行的经过训练的机器学习模型,识别内容是以检测到的语言编写的。
技术¶
翻译利用 CLD2 语言检测器来识别内容是用哪种语言编写的。
模型¶
由于 CLD2 存在于 Firefox 源代码树中,因此目前没有用于语言识别的模型。
远程设置¶
由于 CLD2 存在于 Firefox 源代码树中,因此目前没有使用远程设置进行语言识别。
使用翻译¶
以下文档描述了使用翻译的高级概述。
翻译网页¶
Firefox 分析每个网页,以确定它是否可以通过可用的翻译模型进行翻译。
如果网页可翻译,则浏览器 URL 栏中将显示一个翻译图标,允许用户启动可用的翻译过程。
about:translations¶
about:translations
是一个测试页面,用户可以在其中通过在源语言文本框中键入内容并查看目标语言文本框中的翻译文本,来选择源语言和目标语言。
注意
about:translations
是一个面向开发人员的 UI,可用于在交互式环境中测试语言模型的状态、性能和质量。它相当粗糙,目前不打算作为产品发布。
但是,它很有用也很有趣,因此在此处对其进行了记录。