惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
宝玉的分享
宝玉的分享
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
P
Proofpoint News Feed
L
LangChain Blog
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Martin Fowler
Martin Fowler

树 - 洞

SMTP2GO 拯救你的 25 端口限制 | 树 SMTP2GO 拯救你的 25 端口限制 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 为单板机配置超简单 VNC 环境 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 为单板机配置超简单 VNC 环境 | 树 在 WSL 中使用 ISE | 树 在 WSL 中使用 ISE | 树 Jetson AGX Orin CH340 驱动安装 | 树 Jetson AGX Orin CH340 驱动安装 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Thunderbird 里使用沉浸式翻译插件 | 树 搭建自定义域名邮箱 | 树 - 洞 搭建自定义域名邮箱 | 树 - 洞 Android Box for root 透明代理 | 树 再见,曾经热爱的算法竞赛 | 树 - 洞 再见,曾经热爱的算法竞赛 | 树 - 洞
在 Thunderbird 里使用沉浸式翻译插件 | 树
insmtr · 2024-12-19 · via 树 - 洞

说到翻译插件,我们不得不提到那个赫赫有名的插件——沉浸式翻译。

可是在当我们使用邮箱客户端 Thunderbird 想要翻译的时候就犯难了。Thunderbird 的插件体系比较简陋,没有收录沉浸式翻译。而且 Thunderbird 和 Firefox 的部分 api 不相同,还不能直接文件安装沉浸式翻译插件。但考虑到 Thunderbird 和 Firefox 都是基于 Gecko 内核的,大部分 api 是通用的,那不如直接在原插件的基础上进行一些小修改,使其能在 Thunderbird 上工作。

插件修改

我们先到 沉浸式翻译官网 下载 Firefox 扩展,并解压该扩展。

解压后的目录大概长这样:

沉浸式翻译的 js 代码做了混淆,所以我们尽量做一些非侵入式的修改。

打开 background.js ,在文件最后插入以下代码。

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

打开 manifest.json ,找到 permissions 字段,将其中的 contextMenus 改为 menus ,再在后面加上 messagesModify 权限。

还是 manifest.json ,找到 browser_specific_settings 字段,将 gecko 字段下的 strict_min_version 字段的值改为 78.0

打开 background.jsoptions.js ,将里面所有的 contextMenus 替换为 menus

打开 background.js ,将 ["browser_action","page_action"] 里面的 "page_action" 项删除。

在插件的根目录里面将所有文件打包成 zip 文件。

插件安装

打开 Thunderbird ,点击右上角的三条杠,点击「扩展和主题」,点击左侧的「扩展」,点击右上角的齿轮,点击「从文件安装附加组件…」,找到前面压缩出来的 zip 文件,安装。

大功告成,再完成一下新手引导就可以正常使用了。

参考资料

移植「沉浸式翻译」到Thunderbird实现邮件翻译