「沉浸式翻译」使用札记

dark_mode format_list_bulleted
「沉浸式翻译」使用札记
取其功能,去其遥测:把遥测啥的通通删掉。
visibility public group

这个世界太乱

以下将 Immersive Translate 简写为「ImmerTrans」。 本文为我对 ImmerTrans 使用体验的个人总结。

新世界的大门

ImmerTrans 曾经是开源软件,作者是 Owen Young。经过资本充血,新的 ImmerTrans 看上去更强;但 UserScript 代码被混淆,以至于脚本有没有掺私货,我无从下手去查,但是只要它不上传什么东西,就没什么大问题,在 DevTools 都可以看到。

不是很愿意面对《隐私政策》《服务条款》。

用其他开源替代品的感受

我曾尝试转向 KISS Translator,体验如下:

  • 双语对照中,译文破坏了原文的原有样式,LaTeX 当然也免不了七零八碎。
  • 有相当破碎的上下文和明显的机翻垃圾,译文没法读——这个更忍不了,经常要 fallback 到原文自己读。

而 ImmerTrans 的情况则相反。 读者可以用一下 KISS Translator 试试,单是上两条就足够劝退我了。(

Google Translate 也可以这么美丽

以往用 Chrome/Chromium 的页面翻译时,机翻垃圾见得不少。

但是我不知道 ImmerTrans 用了什么黑魔法,上下文非常的连贯;偶尔有对缩写的错误翻译——这个问题不大。 察觉到机器翻译的译文中存在问题时,只能 fallback 到原文自己读。

现在 Google Translate 已经能覆盖我的大部分需求。 因为用了 Google 的 translate-pa 这个给 Chrome 用的私有 API。

[!TIP] 有些机翻错误第一眼不太能发现,比如「Predication/谓词」和「Prediction/预测」

什么时候用 LLM?

基于 LLM 的翻译远慢于 Google Translate,把 LLM 用在翻译上简直是大材小用,不如把 DeepL 订阅用在翻译重要的文章上。

我一般把论文丢给 Gemini 2.5 Flash 和 NotebookLM 用于提取综述,选择要不要读原文。

ImmerTrans 的 PDF 翻译

这个功能相当劲爆!

ImmerTrans 翻译完输出的 PDF 大小膨胀得可怕,不到 10 MiB 的书能膨胀到 100 MiB,太吓人了!

但是因为有用,所以隐忍中,少话。ImmerTrans 你崛起吧!

[!WARNING]

从 ImmerTrans「开始翻译 600 多页的 PDF」到 Firefox 完成「打印 PDF 到文件」,能占用「> 20 GiB」的内存,迫使我扩大 swapfile——如果你没为此做好准备,那就准备好触发 Out-Of-Memory killer 吧! 死的进程里一定有你的浏览器。

啊宝宝,快来用 Firefox!

Firefox for Android 支持相当多的扩展,Violentmonkey 位列其中! Violentmonkey 支持多设备端同步脚本与脚本状态,这意味着在移动端 Firefox 上也能用 ImmerTrans!


干!

Take ♂ it, boy

拿 UserScript 版本的 ImmerTrans

ImmerTrans 官网提供 UserScript 版本

还有一份来自 Internet Archive 的快照

我会一直使用这个快照版本,直至该版本功能不再工作,或有更好的选择。

问一下:有多少人注意到官网上的这个 UserScript 了?大家本不用装浏览器扩展的。

装 UserScript Runtime

推荐 Violentmonkey,这个插件在 Firefox 和 Chromium 系浏览器中可用,是 Tampermonkey 的开源替代。

对于访问控制,详见 Tampermonkey 文档。 以下是文档中对 @connect 的描述:

@connect

This tag defines the domains (no top-level domains) including subdomains which are allowed to be retrieved by GM_xmlhttpRequest

// @connect <value>

<value> can be:

  • A domain name like example.com (this will also allow all subdomains).
  • A subdomain name like subdomain.example.com.
  • Self to whitelist the domain the script is currently running at.
  • Localhost to access the localhost.
  • An IP address like 1.2.3.4.
  • *.

删除遥测

照着 DevTools 的 Network 里翻请求找和遥测相关的域名就可以。

将全部子串 ="immersivetranslate.com 替换成 ="arpa

只保留翻译服务

Violentmoney 会弹出编辑器,把 @connect 删到只剩下你用的翻译服务的域名。

以下是我的选择:

// @connect    google.com
// @connect    translate.googleapis.com
// @connect    api-edge.cognitive.microsofttranslator.com
// @connect    edge.microsoft.com
// @connect    translate.yandex.net
// @connect    www2.deepl.com
// @connect    w.deepl.com
// @connect    generativelanguage.googleapis.com
// @connect    chat.openai.com
// @connect    bing.com
// @connect    www.bing.com
// @connect    api-free.deepl.com
// @connect    api.deepl.com
// @connect    api.openl.club
// @connect    translate.volcengine.com
// @connect    www.googleapis.com
// @connect    www.google-analytics.com
// @connect    translate-pa.googleapis.com
// @connect    api.cognitive.microsofttranslator.com
// @connect    api.groq.com
// @connect    api.x.ai
// @connect    api.openai.com
// @connect    openai.azure.com
// @connect    api.anthropic.com
// @connect    openrouter.ai
// @connect    api.deepseek.com
Remark