支持中英对照的网页翻译插件?

彩云小译需要花钱买VIP(X)
QQ浏览器自带的翻译插件不错,但嫁接到Chrome用不了,而且中英对照功能只能在某些网站上用(X)
so?还有没有别的支持中英对照的网页翻译插件?

这种功能还得需要扩展吗,核心功能也就几行代码,用书签就能搞定了,一分钱都不用。

随便建一个书签,名称随意,地址部分粘贴下面内容:

javascript:(function()%7Bfor%20(const%20node%20of%20document.querySelectorAll('p'))%20%7B%0A%20%20%20%20const%20copy%20%3D%20document.createElement(node.nodeName)%3B%0A%20%20%20%20copy.textContent%20%3D%20node.textContent%3B%0A%20%20%20%20node.parentElement.insertBefore(copy%2C%20node.nextElementSibling)%3B%0A%20%20%20%20node.setAttribute('translate'%2C%20'no')%3B%0A%7D%7D)()%3B

在要翻译的网页点一下,然后执行浏览器自带翻译功能,或者任意免费翻译扩展。

原理就是利用 HTML 的 translate 属性,先把原文复制一份,然后原文节点加上 transalte="no" 属性,告诉翻译引擎不要翻译这一节点,这样副本会被翻译,达到双语效果。

当然还需要更多代码处理其它情况,比如延迟加载内容等等,代码多了可以包装成油猴脚本。

附未压缩源码:

for (const node of document.querySelectorAll('p')) {
    const copy = document.createElement(node.nodeName);
    copy.textContent = node.textContent;
    node.parentElement.insertBefore(copy, node.nextElementSibling);
    node.setAttribute('translate', 'no');
}
4 Likes

真神奇,可我不懂用啊

我一直在用imtranslator 有个inlinetranslator的功能能够实现双语的效果

彩云小译需要钱么?可能我是低需求用户吧。

1 Like

包装成油猴脚本吧大佬

方法挺好,不过我觉得彩云的翻译效果比google的稍微好点儿

只因你没有更新

webpage翻译怎么用不了哇

image

对比了几个对照翻译的插件,发现这个脚本的效果还挺不错的,但是只能遍历p元素,能不能覆盖更多的文本呢?

虽然不是网页插件,但是支持中英对照:https://meta.appinn.net/t/topic/23192。还支持任意语言翻译中文、中文翻译英文,可以任选翻译网站,翻译结果和官网一样。