可能是目前最好的全文翻译解决方案

可能是目前最好的全文翻译解决方案

很多人一直想让火狐有像 Chrome 那样自动检测英文网站实现整页翻译的功能,而现有的翻译扩展存在各种各样的问题,例如 HTTPS 网站不允许插入混合内容,使用 HTTP 协议的翻译 API 就无法运行,Google 翻译看似很美好,但「正常情况下」国内只能访问 translate.google.cn 的网址。

其实在 2014 年年中的时候 Mozilla 讨论过建立一个内嵌的机器翻译平台,实现通过不同的翻译接口对网页进行全文翻译,最初这项特性登录了 Nightly 平台,默认为使用 Bing 的翻译接口,在 41 版本以后添加了来自于俄罗斯的 Yandex 接口,用户可以手动选择使用哪种翻译服务,下面我将说明在正式版中应该如何开启:

  • 确保你正在运行 Firefox 41 或更高版本,在浏览器的地址栏输入 about:config 回车,点击“我了解此风险”
  • 搜索 translation 将 browser.translation.ui.show 和 browser.translation.ui.welcomeMessageShown 两项设置为 True
  • browser.translation.engine 为翻译所需要使用的 API 默认为 Bing 翻译,41 版本后可修改为 yandex,两种接口都需要独立申请

如果你打算使用 Bing 翻译 API:

  • 访问 Microsoft Translator - Text Translation 点击右侧 200w 字符的选择注册
  • 注册完成后在“我的账户”中可以看到 ID 和 Key 记下这两串数字
  • 上面 browser.translation.engine 这项的值保持 bing 不变,然后在 about:config 页面中任意位置右键,选择新建字符串
  • 新建字符串 browser.translation.bing.clientIdOverride,填入上一步申请的 ID;新建字符串 browser.translation.bing.apiKeyOverride,填入上一步申请的 Key
  • 现在访问任何其他语言的网页,都会出现翻译的提示,包括 HTTPS 哦!

如果你打算使用 Yandex 翻译 API:

需要说明的是微软 DataMarket and Data Services 服务可能会在明年 3 月份时停止,选择 Yandex 的翻译服务可能是更持久的选择,而且 Bing 翻译对于免费翻译字符的限制是 200w,而 Yandex 提供每月千万字的翻译额度,这一般是家庭使用的翻译极限了,具体申请方法为:

  • 访问 Get API key 勾选下方 I have read the User Agreement and agree to the terms of service. 点击 Get API key
  • 注册 Yandex
  • 注意获取手机验证码时中国大陆的手机号前面要 +86
  • 注册后得到 Yandex 的 Key,还是像上面所说,记下这串字符
  • 上面 browser.translation.engine 这项的值修改为 yandex,然后在 about:config 页面中任意位置右键,选择新建字符串
  • 新建字符串 browser.translation.yandex.apiKeyOverride,填入上一步申请的 Key
  • 现在访问任何其他语言的网页就会默认调用 Yandex 进行翻译了,看起来可能和使用 Bing 翻译没什么差别

使用内嵌的机器翻译平台,还会在火狐 选项-内容-语言 中添加一个可编辑的菜单项,可以在此进行设置:

Bing 翻译:

Yandex 翻译:

最初这项功能是打算在某个版本中默认开启的,但根据 Bug 973271,鉴于 Mozilla 当前对于开发这项功能所需资源的考虑,它可能会被永久搁置,也许将来的某一天这项功能也会随着火狐轻量化的进程而删减掉,不得不说是个遗憾。

编辑于 2016-12-05 15:29