beijixiaohu / OJBetter

适用于在线评测系统(Online Judge)的Tampermonkey脚本,增强功能与界面。
https://greasyfork.org/zh-CN/users/747162
GNU General Public License v3.0
93 stars 10 forks source link

[BUG] 翻译错误/更像是关键词配对异常问题 #120

Open qwedc001 opened 4 months ago

qwedc001 commented 4 months ago

对于Atcoder Better: image

此位置的Guest在比赛的时候会变为Contestant,应该是触发了 Atcoder Better 中 contest 的匹配条目,实际展示效果会是比赛ant

修改建议:加入 contestant 翻译项并翻译 / 如果这里是意外情况,请限制一下匹配条目的翻译匹配范围。

类似的行为还会出现在 codeforces 上,我记着曾经触发过比赛 A 题叫 XXX Problemset 被自动匹配成了问题集之类的,但是我找不到了,不知道修了没有。

beijixiaohu commented 4 months ago

好的,有空我看看

wrk-123 commented 2 months ago

举个例子,这里的 D 题 https://codeforces.com/contest/1984

beijixiaohu commented 2 months ago

举个例子,这里的 D 题 https://codeforces.com/contest/1984

这个我知道,之所以没修复是因为他并不是bug,而只是一种权衡。

我将替换规则分为严格和不严格,由规则中的 isStrict 字段指定,

显然不严格的规则更容易编写,性能更高,且更有健壮性,只是会偶尔产生这种奇怪的替换

比如如下文本:

The Contest will start in 10 minutes.

如果使用不严格匹配,只需要如下规则:

"rules": {
    "The Contest will start in": "比赛将在",
    "minutes": "分钟后开始",
}

这看起来很奇怪,但比起使用一个正则表达式,我认为它的性能开销要小得多,因为一个页面上的文本元素实在是太多了

而 D 题这里应用的就是一个不严格的规则 .datatable

如果有更好的实现思路,欢迎分享讨论。