40252492 发表于 2022-8-12 15:17:06

本帖最后由 40252492 于 2022-8-12 18:20 编辑

> 本帖最后由 40252492 于 2022-8-12 17:35 编辑

> 本帖最后由 40252492 于 2022-8-12 17:35 编辑

> 本帖最后由 40252492 于 2022-8-12 17:34 编辑

> 本帖最后由 40252492 于 2022-8-12 17:34 编辑

> (forum.php?mod=redirect&goto=findpost&pid=32539&ptid=2862)
> > 重复声明了,把46行那句删掉就行,在网页那里F12切换到控制台(Console),可以看到错误信息的。 ...

当当当当!锵锵锵!QVQ
现在卡名和阵营这两种我都搞明白了,再见到类似的应该也会写了,
但是这个卡片类型和种族的选择器,请问怎么写哇?

!(data/attachment/forum/202208/12/151641zbpze5gbpcfc9ehg.png)

```
// ==UserScript==
// @name dulst.com的CardFighit Vanguard OverDulst文本替换汉化
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.8
// @description 通过将英文替换为中文的方法,汉化卡片战斗先导者OD的网页游戏
// @author 库X崔羊羊
// @match https://dulst.com/overdulst/\*
// @icon https://www.google.com/s2/favicons?domain=dulst.com
// @require https://scriptcat.org/lib/513/1.1.1/ElementGetter.js
// ==/UserScript==

(function() {
'use strict';

const xiaoguo = {
    '-"Trickstar", or a grade 3 or less unit in the state ': '【超限舞装】-「托里科斯塔」或处于【超限舞装】状态的等级3以下的后防者',
    '(RC):This unit gets +5000 for each of this unit\'s originalDress.': '【永】【R】:这个单位的舞装源每有1张,这个单位的力量+5000。',
    '(RC)1/Turn:When the attack of this unit in the state hits, COST , and this unit.': '【自】【R】【1回合1次】:处于【超限舞装】状态的这个单位的攻击击中时,通过【费用】[计数爆发1,将手牌中的1张卡舍弃],将这个单位重置。',
};

const qita = {
    'Trickstar': '托里科斯塔',
    'Vairina Valiente': '瓦尔里纳·勇气',
    'Dragon Empire': '龙族帝国',
    'Unit': '单位',
    ': Talisman': '护身符',
};

//能力.effect p
const getxiaoguo = new ElementGetter();
getxiaoguo.each('.effect p', document, p => {
if (p.innerText in xiaoguo) {
p.innerText = xiaoguo;
}
});

//卡名.name
//国家>.data
//卡片类型.name
//种族
const getqita = new ElementGetter();
getqita.each('.name, >.data,.name', document, p => {
if (p.innerText in qita) {
p.innerText = qita;
}
});
})();
```

cxxjackie 发表于 2022-8-12 22:21:50

40252492 发表于 2022-8-12 15:17
> 本帖最后由 40252492 于 2022-8-12 17:35 编辑

> 本帖最后由 40252492 于 2022-8-12 17:35 编辑


li.type span
li.rarity
自己学一下呗,又不难写。另外ElementGetter不用new这么多个的,只需要new一次,后面都用同一个变量名就可以了。

40252492 发表于 2022-8-15 12:31:45

steven026 发表于 2022-8-11 20:06
@王一之 这脚本猫编辑器竟然不报错,有点离谱了😳话说脚本猫能像油猴一样内置一个eslint吗?至少eslint ...

大佬,您好像没有@成功啊{:4_89:}

40252492 发表于 2022-8-15 12:36:10

本帖最后由 40252492 于 2022-8-15 13:23 编辑

cxxjackie 发表于 2022-8-12 22:21
li.type span
li.rarity
自己学一下呗,又不难写。另外ElementGetter不用new这么多个的,只需要new一次, ...
多谢大佬,我看了您发的《querySelector与css选择器入门》现在能大概通读一遍了
然后,请问有教程吗?我先从选择器的写法入手{:4_88:}百度查了查,甚至不知道应该查什么关键词。。。

然后就是,卡片类型翻译成功了,种族没有翻译成功,请您帮忙看看啦~
(我给代码合成一段了!Q3Q)


(function() {
    'use strict';

    const fanyi = {
      '-"Trickstar", or a grade 3 or less unit in the state ': '【超限舞装】-「托里科斯塔」或处于【超限舞装】状态的等级3以下的后防者',
      '(RC):This unit gets +5000 for each of this unit\'s originalDress.': '【永】【R】:这个单位的舞装源每有1张,这个单位的力量+5000。',
      '(RC)1/Turn:When the attack of this unit in the state hits, COST , and this unit.': '【自】【R】【1回合1次】:处于【超限舞装】状态的这个单位的攻击击中时,通过【费用】[计数爆发1,将手牌中的1张卡舍弃],将这个单位重置。',
      'Trickstar': '托里科斯塔',
      'Vairina Valiente': '瓦尔里纳·勇气',
      'Dragon Empire': '龙族帝国',
      'Unit': '单位',
      ': Talisman': '护身符',
    };
//能力.effect p
//卡名.name
//国家>.data
//卡片类型li.type span
//种族li.rarity
    const getfanyi = new ElementGetter();
    getfanyi.each('.effect p,.name, >.data,.name,li.type span,li.rarity', document, p => {
      if (p.innerText in fanyi) {
            p.innerText = fanyi;
      }
    });
})();


cxxjackie 发表于 2022-8-15 22:39:29

40252492 发表于 2022-8-15 12:36
多谢大佬,我看了您发的《querySelector与css选择器入门》现在能大概通读一遍了
然后,请问有教程吗?我先 ...

li.rarity不是种族,是右下角的稀有度,类型和种族我合一起了,就是li.type span,没有替换成功是因为没有完全匹配,冒号后面的空格不一样,在字符集里面有很多种空格,虽然看起来都一样但实际是不同的编码,最好用复制粘贴的,不要自己输入。
教程论坛里就有:https://bbs.tampermonkey.net.cn/thread-184-1-1.html
如果是要选择器的教程,那篇文章的基本够用了,要学更多的话:https://www.w3school.com.cn/cssref/css_selectors.asp

40252492 发表于 2022-8-16 10:01:19

本帖最后由 40252492 于 2022-8-16 10:15 编辑

cxxjackie 发表于 2022-8-15 22:39
li.rarity不是种族,是右下角的稀有度,类型和种族我合一起了,就是li.type span,没有替换成功是因为没 ...
多谢大佬的教程!我好好看看!QvQ

刚百度搜了一下nbsp,原来空格也不止一种啊,我复制一下试试

'Unit: Talisman': '单位:护身符',

我这样写的,但是没有生效哇(是复制的)

      'Unit': '单位',
      ': Talisman': ': 护身符',
我又写成了2行,结果只有单位被翻译了,种族没有被翻译出来QAQ


cxxjackie 发表于 2022-8-16 11:51:50

40252492 发表于 2022-8-16 10:01
多谢大佬的教程!我好好看看!QvQ

刚百度搜了一下nbsp,原来空格也不止一种啊,我复制一下试试


应该是分开的,估计你复制的时候哪里弄错了,算了,你写成这样吧:
:\u00A0Talisman
后面要是再碰到这种空格就都替换成\u00A0。

40252492 发表于 2022-8-16 13:11:33

本帖最后由 40252492 于 2022-8-16 13:16 编辑

> 本帖最后由 40252492 于 2022-8-16 13:15 编辑

啊啊啊阿斯克编码?
6啊!谢谢大佬
!(data/attachment/forum/202208/16/131125dlc6f37k7sh36zvc.png)

我原本只是打算求程序的,结果怎么成了学习专业技能的了
!(data/attachment/forum/202208/16/131616cvc85p2pnl1vjenz.png)

40252492 发表于 2022-8-19 16:33:53

本帖最后由 40252492 于 2022-8-19 16:37 编辑

> 本帖最后由 40252492 于 2022-8-19 16:36 编辑

> 本帖最后由 40252492 于 2022-8-19 16:35 编辑

大佬大佬,我看了一遍CSS选择器的写法,已经能看得懂您写的那些选择器了。
然后我灵光一现,写成了'.effect p,:not(p)',结果出了点问题
目前可以通过:not(p)替换一切p以外的东西,但是会把a和div里的属性带着一起替换成中文
导致按钮、卡图没了
标题字少,拿标题举例

原本长这样
!(data/attachment/forum/202208/19/163637kjbyjb5626aay1zy.jpg)

替换之后成了这样
!(data/attachment/forum/202208/19/163644x5jl5lmm3ey1e5jg.jpg)

请问咋整哇?QAQ

```
// ==UserScript==
// @name         dulst.com的CardFighit Vanguard OverDulst文本替换汉化
// @namespace    https://bbs.tampermonkey.net.cn/
// @version      0.8
// @description通过将英文替换为中文的方法,汉化卡片战斗先导者OD的网页游戏
// @author       库X崔羊羊
// @match      https://dulst.com/overdulst/*
// @icon         https://www.google.com/s2/favicons?domain=dulst.com
// @require      https://scriptcat.org/lib/513/1.2.0/ElementGetter.js
// ==/UserScript==

(function() {
    'use strict';

    const fanyi = {
      'Play': '匹配',
      'Home': '首页',
      'Collectible': '收藏',
      'Community': '论坛',
      'Market': '商店',
    };
    const getwenben = new ElementGetter();
    getwenben.each('.effect p,:not(p)', document, p => {
      if (p.innerText in fanyi) {
            p.innerText = fanyi;
      }
    });
})();
```

另外Play这个按钮没有替换成功,您知道咋回事嘛?Q3Q

cxxjackie 发表于 2022-8-19 20:59:28

40252492 发表于 2022-8-19 16:33
> 本帖最后由 40252492 于 2022-8-19 16:36 编辑

> 本帖最后由 40252492 于 2022-8-19 16:35 编辑


最好不要这么搞,这个写法就是会把元素下的子元素一起搞没的,前面效果对加粗倾斜的处理就是这个原理(加粗实际是p元素下的strong元素)。选择器还是老老实实手动写,上面这一排可以用#dulstMenu a,能看懂的话应该会举一反三吧,要测试选择器是否正确,可以在控制台那里执行这行代码看看:
$$('#dulstMenu a')
页: 1 2 3 [4] 5 6 7 8
查看完整版本: 网页文本替换汉化的油猴脚本,支持包含加粗和斜体