Greasy Fork is available in English.

双倍快乐

双倍文字,双倍快乐; 单行变双行,原文档一行,翻译一行

< Отзив за 双倍快乐

Отзив: Отлично - скриптът работи

§
Публикуван на: 23.08.2021
Редактиран на: 23.08.2021

作者你好,感谢写了这个脚本,很有用,不过还有一些不足,我在看grpc的文档时遇到了2个问题,
问题1:一个是像 小数点 . 这种符号连接的 谷歌是不会翻译的;以及尖括号<> 包裹的,也不会翻译.
问题2:另一个问题则是,<h>标签下嵌套有<p>或者<a>标签时,会出现多次复制文本的情况.

关于问题1,我已经写好了解决方法,在你的代码体外,写上一个函数:
----------
function 文本转换(源文本)
{
源文本=源文本.replace(/\./g," . ");
源文本=源文本.replace(/\/g," >");
var 返回文本="";
源文本.split(" ").forEach((文本) =>
{
var 数组=文本.split(/(?=[A-Z])/);
返回文本=返回文本+" "+数组.join(" ").toLowerCase();
}

);
return 返回文本;
}
--------------
然后将你写的三句copy.textContent = node.textContent 替换为 copy.textContent = 文本转换(node.textContent);
即可实现我发的截图的效果.

关于问题2:
在<p>和<a>标签的foreach的第一句加上以下代码体:
if(node.parentNode.tagName.substr(0,1)=="H" || node.parentNode.tagName.substr(0,1)=="P" ){
return;
}

§
Публикуван на: 12.11.2021
Редактиран на: 12.11.2021

感谢你提供的解决思路,我在tampermonkey试了试,提示有语法错误。是不是少了一个 >

源文本=源文本.replace(/\/g," >"); 是否应改成 源文本=源文本.replace(/\>/g," >");

§
Публикуван на: 12.11.2021

有的网页还是会出现多次复制文本的情况,比如说这个https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.form.clientsize?view=netframework-4.8

本人小白,还望指点

§
Публикуван на: 12.11.2021

我已经上传了我改的版本,你看一下,后面我应该是有稍微改动。
https://wwa.lanzoui.com/iMw2awfvyah

§
Публикуван на: 12.11.2021

你提到像图里出现的这种多次复制的原因是:作为标题和链接而被你的代码多次识别到,而且不符合之前写的规则。

建议增加一种判断:对父标签的判断,应该可以大幅减少重复复制的问题。

Публикувайте отговор

Влезте, за да публикувате отговор.