移植“沉浸式翻译”到Thunderbird实现邮件翻译

2026-04-11 12:031阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

最近苦于Thunderbird没有邮件翻译功能,而且商店现有翻译扩展体验不优,想着要是有沉浸式翻译就好了。

好在Thunderbird和Firefox都基于Gecko内核,大部分API通用,所以移植起来非常简便。但由于沉浸式翻译并不开源,JS代码做了混淆加密,所以本着尽量少动原代码的原则,改到“能跑就行” (主要是懒)

1、注入js

向background.js中的主体代码添加以下代码注入js:

async function registerMsgDisplayScript() { await messenger.messageDisplayScripts.register({ js: [{file: "/content_script.js"}, {file: "/content_start.js"}] }); } registerMsgDisplayScript();

2、修改manifest.json

  1. permissions
    修改"contextMenus"为"menus"(右键菜单相关),添加"messagesModify"权限(实现邮件翻译的核心权限)。
  2. browser_specific_settings
    由于第一步中messageDisplayScripts的API从Thunderbird 78开始支持,所以"strict_min_version"最低版本理论上为78.0。

3、修改右键菜单相关API(可选)

(如果不需要右键菜单翻译的功能,可以跳过此步。)

  • 重命名background.js和options.js中所有调用名为"contextMenus"的API为"menus"
  • 删除background.js中列表"[“browser_action”, “page_action”]“中的"page_action”(该ContextType适用于Firefox,而Thunderbird中无),否则无法创建右键菜单。

完整的修改可以参考这个commit.
修改完后直接打包manifest.json所在目录的所有文件为zip,即可通过Thunderbird扩展页右上角的齿轮图标安装插件了,如下图:(注意插件的快捷键设置唯一入口也在此)
管理扩展1400×411 143 KB

注意:初次安装后弹出引导要求翻译时,由于Thunderbird置顶的扩展图标在除邮件页外的第三方页面中不可见,所以可以点击页面右侧的悬浮窗或使用默认快捷键Alt+A翻译,进而完成引导。
安装引导_202412071813121920×1020 222 KB

仓库地址:
官方仓库 · Fork仓库 · 懒人包(信不过的或者将来有新版本时都可以根据以上信息自行修改移植)

参考链接:
Supported WebExtension APIs | Thunderbird
WebExtension Documentation for Thunderbird 128

网友解答:
--【壹】--:

当然可以,如果能小贴一手这个帖子或者我的仓库的地址就最好不过了


--【贰】--:

捷报!Thunderbird 已安装,测试使用正常! 感谢教程。


--【叁】--:

佬友,我感觉你这篇教程很实用 我可以用你的思路在我的博客发表一篇雷鸟安装沉浸式翻译的文章吗


--【肆】--:

再探,再报!


--【伍】--:

大佬的方法确实好用,感谢


--【陆】--:

这个好像不能登录outlook是吧?
还有就是可惜手机应该就没办法了


--【柒】--:

感谢佬的教程


--【捌】--:

确实,网页中也会有个人敏感信息,泄不泄露取决于用哪家翻译服务,想要绝对安全可以自己用开源模型搭建本地api进行翻译,不然只有分段翻译或者选择文本翻译规避敏感信息了。


--【玖】--:

谢谢,头回听说,看来和Thunderbird是有一段爱恨情仇在里面的


--【拾】--:

学无止境,谢谢分享


--【拾壹】--:

我用Betterbird,感觉也挺好用的。


--【拾贰】--:

可以的啊!我的主用邮箱就是outlook的,认证方式是OAuth2网页验证。手机版刚出,不知道什么时候能装扩展呢


--【拾叁】--:

outlook已经禁止通过第三方客户端使用密码IMAP了
现在好像只能Oauth2登录了


--【拾肆】--:

这个是开源的。

github.com

GitHub - fishjar/kiss-translator: A simple, open source bilingual translation...

A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本)


--【拾伍】--:

感谢大佬教程


--【拾陆】--:

太好了,一直苦于雷鸟没有翻译,这下必须试试了


--【拾柒】--:

是的,当时还发了封邮件,说要在9月16号前更新验证。


--【拾捌】--:

这种翻译插件,是否有泄漏邮件详情的风险呢。建议楼主加一下风险提示为好。


--【拾玖】--:

好哇!期待佬友的PR!