mirror of
https://github.com/HIllya51/LunaTranslator.git
synced 2024-12-28 08:04:13 +08:00
docs
This commit is contained in:
parent
e40503aaec
commit
a68e9ec8c9
@ -42,7 +42,7 @@
|
||||
|
||||
## 一些其他设置
|
||||
|
||||
1. **保留原文**
|
||||
**1. 保留原文**
|
||||
|
||||
![img](https://image.lunatranslator.xyz/zh/embed/keeporigin.png)
|
||||
|
||||
@ -50,33 +50,33 @@
|
||||
|
||||
![img](https://image.lunatranslator.xyz/zh/embed/addspace.png)
|
||||
|
||||
2. **翻译等待原文**
|
||||
**2. 翻译等待原文**
|
||||
|
||||
内嵌翻译的原理是在游戏显示文本前,在某个函数中停住游戏,把其中要显示的文本发送给翻译器,等待到翻译后把文本内存修改从翻译的文本,然后让游戏继续运行来显示翻译。因此**当使用的翻译速度较慢时,是一定会导致游戏卡顿的**。可以通过限制等待的时间,来避免翻译过慢导致长时间卡顿。
|
||||
|
||||
3. **使用最快翻译而非指定翻译**和**内嵌的翻译器**
|
||||
**3. 使用最快翻译而非指定翻译**和**内嵌的翻译器**
|
||||
|
||||
当激活多个翻译源时,可以选择内嵌某个指定的效果最好的翻译,或者使用速度最快的翻译,来减少游戏卡顿
|
||||
|
||||
4. **将汉字转换成繁体/日式汉字**
|
||||
**4. 将汉字转换成繁体/日式汉字**
|
||||
|
||||
略
|
||||
|
||||
5. **在重叠显示的字间插入空格**
|
||||
**5. 在重叠显示的字间插入空格**
|
||||
|
||||
对于SiglusEngine等部分古早日本游戏引擎,无法正确处理中文字符的宽度,会把中文字符按照英文字符的宽度来显示,导致内嵌的中文出现字符之间重叠。可以尝试调整这一设置来解决这一问题。
|
||||
|
||||
6. **限制每行字数**
|
||||
**6. 限制每行字数**
|
||||
|
||||
有时某些游戏每行能显示的字符数是有限的,超出长度的内容会显示到文本框右边的更外边而无法显示。可以通过这一设置来手动分行来避免这一情况。
|
||||
|
||||
![img](https://image.lunatranslator.xyz/zh/embed/limitlength.png)
|
||||
|
||||
7. **修改游戏字体**
|
||||
**7. 修改游戏字体**
|
||||
|
||||
略
|
||||
|
||||
8. **内嵌安全性检查**
|
||||
**8. 内嵌安全性检查**
|
||||
|
||||
对于Renpy等游戏,提取的文本经常会包括`{` `}` `[` `]`等语法元素的字符,如果翻译源没有正确处理这些内容导致破坏了语法,会导致游戏崩溃。因此软件默认会通过正则匹配来**跳过翻译**某些可能会导致游戏的字符组合。如果不担心游戏崩溃,可以取消这一设置,或者手动更换一些更细粒度的正则匹配来减少不必要的跳过。
|
||||
|
||||
|
@ -10,31 +10,31 @@
|
||||
|
||||
`エマさんԟのイԠラストは全部大好き!` 会被处理成 `エマさんのイラストは全部大好き!`
|
||||
|
||||
**2.过滤控制字符**
|
||||
**2. 过滤控制字符**
|
||||
|
||||
这个方法会过滤掉文本中的ascii码控制符,例如``等
|
||||
|
||||
|
||||
**3.过滤英文标点**
|
||||
**3. 过滤英文标点**
|
||||
|
||||
这个方法会过滤掉文本中```!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~```
|
||||
|
||||
|
||||
**4.过滤其他乱码**
|
||||
**4. 过滤其他乱码**
|
||||
|
||||
这个需要在设置中,设置允许通过的字符编码,或Unicode范围。不被允许的字符将均被过滤
|
||||
|
||||
**5.过滤「」以外的字符**
|
||||
**5. 过滤「」以外的字符**
|
||||
|
||||
例如:`こなみ「ひとめぼれってやつだよね……」` 将被处理为 `「ひとめぼれってやつだよね……」`
|
||||
|
||||
**6.去除花括号{}**
|
||||
**6. 去除花括号{}**
|
||||
|
||||
这个和字面意思不太一样,其实主要是用来过滤日语注音的,许多游戏脚本使用{}和一些其他字符来给汉字加注音。支持两种注音格式:`{汉字/注音}`和`{汉字:注音}`,例如:
|
||||
|
||||
`「{恵麻/えま}さん、まだ{起き/おき}てる?」` 或 `「{恵麻:えま}さん、まだ{起き:おき}てる?」` 将被处理成 `「恵麻さん、まだ起きてる?」`
|
||||
|
||||
**7.过滤指定字数的文本**
|
||||
**7. 过滤指定字数的文本**
|
||||
|
||||
这个方法会根据当前文本的字数来决定如何处理。
|
||||
|
||||
@ -42,79 +42,79 @@
|
||||
|
||||
如果文本长度超过最大字数,如果激活了**超过时截断而非过滤**,则会将截取指定字数的文本;若未激活则文本将被完全过滤。
|
||||
|
||||
**8.过滤指定行数的文本**
|
||||
**8. 过滤指定行数的文本**
|
||||
|
||||
这个和上面的类似,只不过是根据文本行数来判定。例如可以用来截取文本的前3行。
|
||||
|
||||
|
||||
**9.去除重复字符_AAAABBBBCCCC->ABC**
|
||||
**9. 去除重复字符_AAAABBBBCCCC->ABC**
|
||||
|
||||
这个是最常用的过滤器。
|
||||
|
||||
由于游戏的文字有时会绘制一遍文字在绘制一遍阴影再绘制一遍描边等之类的原因,Hook模式会多次提取到被重复绘制的字符。例如`恵恵恵麻麻麻さささんんんははは再再再びびび液液液タタタブブブへへへ視視視線線線ををを落落落とととすすす。。。`,这个方法会将他处理成`恵麻さんは再び液タブへ視線を落とす。`。默认的重复次数是`1`会自动分析重复的字数,但也有分析的不准确的情况,建议指定一个确定的重复字数。
|
||||
|
||||
**10.过滤历史重复LRU**
|
||||
**10. 过滤历史重复LRU**
|
||||
|
||||
有时,游戏重复绘制的方式不是逐个字符的,而是逐行一起绘制,而且同时很变态的是会在静态的情况下不停的重新绘制当前显示的文本。例如假设当前显示的是两行文本`你好`和`哈哈`,如果不使用这个方法,将会反复输出`你好哈哈你好哈哈你好哈哈你好哈哈……`。使用这个方法,缓存若干条近期输出过的文本,当有缓存满时且出现新的文本时,剔除掉缓存中最早的那条文本,从而使近期的文本不会反复刷新。
|
||||
|
||||
**11.去除重复行_ABCDABCDABCD->ABCD**
|
||||
**11. 去除重复行_ABCDABCDABCD->ABCD**
|
||||
|
||||
这个也比较常见,和上面的类似,只不过一般不会反复刷新,而是快速的一次刷新多次。效果为 `恵麻さんは再び液タブへ視線を落とす。恵麻さんは再び液タブへ視線を落とす。恵麻さんは再び液タブへ視線を落とす。` 会变成`恵麻さんは再び液タブへ視線を落とす。`。同样,默认的重复次数是`1`会自动分析重复的字数,但也有分析的不准确的情况,建议指定一个确定的重复字数。
|
||||
|
||||
**12.去除重复行_S1S1S1S2S2S2->S1S2**
|
||||
**12. 去除重复行_S1S1S1S2S2S2->S1S2**
|
||||
|
||||
这个相对比较复杂,有时每个句子的刷新次数是不完全一样的,这时只能完全由程序分析来决定如何去重。例如`恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。なんてニヤニヤしていると、恵麻さんが振り返った。私は恵麻さんの目元を優しくハンカチで拭う。私は恵麻さんの目元を優しくハンカチで拭う。`, 其中`恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。`重复了3次,`なんてニヤニヤしていると、恵麻さんが振り返った。`没有重复,`私は恵麻さんの目元を優しくハンカチで拭う。`重复了2次,最终经过分析将得到`恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。なんてニヤしていると、恵麻さんが振り返った。私は恵麻さんの目元を優しくハンカチで拭う。`,其中因为过于复杂,会存在少许的分析错误,这也是无法避免的,但一般都能基本正确的得到结果。
|
||||
|
||||
**13.过滤尖括号<>**
|
||||
**13. 过滤尖括号<>**
|
||||
|
||||
这个实际上是过滤HTML标签,怕小白不知道是什么意思所以这么写的名字。例如`<div>`和`</div>`和`<div id="dsds">`等都会被过滤。这个主要用在TyranoScript游戏中,HOOK提取的文本是innerHTML,一般都会带有许多这个标签。
|
||||
|
||||
**14.过滤换行符**
|
||||
**14. 过滤换行符**
|
||||
|
||||
略
|
||||
|
||||
**15.过滤换行符 语言自适应**
|
||||
**15. 过滤换行符 语言自适应**
|
||||
|
||||
这个主要针对英文游戏。如果源语言不是日语,那么当过滤换行符时,将会把换行符替换成空格而非过滤掉,来避免多个单词连到一起。
|
||||
|
||||
**16.过滤数字**
|
||||
**16. 过滤数字**
|
||||
|
||||
略
|
||||
|
||||
**17.过滤英文字母**
|
||||
**17. 过滤英文字母**
|
||||
|
||||
略
|
||||
|
||||
**18.简单字符串替换**
|
||||
**18. 简单字符串替换**
|
||||
|
||||
不止是替换,主要也可以用来过滤。可以将固定的若干乱码字符、反复刷新的倒三角字符等通过替换成空白来进行过滤。
|
||||
|
||||
|
||||
**19.转义字符串替换**
|
||||
**19. 转义字符串替换**
|
||||
|
||||
主要是可以支持`\n`来表示换行符,从而实现可以过滤仅在换行符前后出现的字符。
|
||||
|
||||
|
||||
**20.正则表达式替换**
|
||||
**20. 正则表达式替换**
|
||||
|
||||
注:**这个输入的内容都是转义字符串**,也就是说比如你在外面写python代码`re.sub(r"\n","")`来测试再填入,想把`\n`这两个字符替换掉,实际上这里会替换掉**换行符**,你想在外面测试的话请用`re.sub("\\n","")`这样来测试
|
||||
|
||||
**21.去除重复行_ABCDBCDCDD->ABCD**
|
||||
**21. 去除重复行_ABCDBCDCDD->ABCD**
|
||||
|
||||
这个也比较常见。这个出现的原因是,有时HOOK的某个显示文本的函数,其参数是显示的文本,这个函数会再每显示一个字符时都会调用,且每次会把参数的字符串指向下一个字符,从而导致其实第一次调用其实就已经得到完整的文本了,后续每次又输出了剩下的子串,直到长度递减为0。例如`恵麻さんは再び液タブへ視線を落とす。麻さんは再び液タブへ視線を落とす。さんは再び液タブへ視線を落とす。んは再び液タブへ視線を落とす。は再び液タブへ視線を落とす。再び液タブへ
|
||||
視線を落とす。び液タブへ視線を落とす。液タブへ視線を落とす。タブへ視線を落とす。ブへ視線を落とす。へ視線を落とす。視線を落とす。線を落とす。を落とす。落とす。とす。す。。` 经过分析将判断真实的文本应该是`恵麻さんは再び液タブへ視線を落とす。`
|
||||
|
||||
|
||||
**22.去除重复行_AABABCABCD->ABCD**
|
||||
**22. 去除重复行_AABABCABCD->ABCD**
|
||||
|
||||
这个也比较常见,出现的原因是,每次绘制一个字符,然后绘制下一个字符时都会把前面的字符都再绘制一遍。例如`恵麻恵麻さ恵麻さん恵麻さんは恵麻さんは再恵麻さんは再び恵麻さんは再び液恵麻さんは再び液タ恵麻さんは再び液タブ恵麻さんは再び液タブへ恵麻さんは再び液タブへ視恵麻さんは再び液
|
||||
タブへ視線恵麻さんは再び液タブへ視線を恵麻さんは再び液タブへ視線を落恵麻さんは再び液タブへ視線を落と恵麻さんは再び液タブへ視線を落とす恵麻さんは再び液タブへ視線を落とす。`经过分析将判断真实的文本应该是`恵麻さんは再び液タブへ視線を落とす。`
|
||||
|
||||
**23.去除重复行_AABABCABCDEEFEFG->ABCDEFG**
|
||||
**23. 去除重复行_AABABCABCDEEFEFG->ABCDEFG**
|
||||
|
||||
这个和上面的类似,只不过当有多行文本时,会每行单独按照上面的逻辑来重复,从而带来了更多的复杂性。由于过于复杂,这个处理经常难以正确处理,如果遇到了,建议写自定义python处理来解决
|
||||
|
||||
**24.自定义python处理**
|
||||
**24. 自定义python处理**
|
||||
|
||||
撰写一个python脚本来进行更加复杂的处理,当处理脚本不存在时,将自动在userconfig目录下生成`mypost.py`文件和以下模板:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user