HIllya51 / LunaHook

Visual Novel Text Hook Engine / LunaTranslator 核心文本提取器
https://lunatranslator.xyz/
GNU General Public License v3.0
210 stars 14 forks source link

在kf讨论的缓存和文本编辑后续 #2

Closed chibayuna closed 4 months ago

chibayuna commented 4 months ago

LunaHook我测试了两个游戏都在3万字符左右停止了缓存文本,一个是千恋还有一个是ガルドマ -女子寮の管理人-,不过ガルドマ是一开始发现存在这个问题的游戏,所以没有截图,千恋测试了中日两个版本都有这个问题。 20240219111854 20240219113012

“有时候遇到选项想把多余的缓存内容去掉就不太容易”指的是下面这种情况,在调整设置或者鼠标不小心划过文本框菜单时,有的游戏会把演示文本一起缓存,对于利用缓存文本翻译游玩来说没有多大影响,但是如果想要把缓存文本保存就比较麻烦了,如果继续推进游戏之后还要想办法寻找这些多余的文本删除,把前面的文本先保存然后重新注入hook又很麻烦,所以我想说如果有编辑缓存文本的功能就能直接删除这些多余内容了。 20240219110125 20240219111249

另外我在使用文本预处理的时候发现,aaabbbccc—abc预处理虽然能去除重复,但会把没重复的文本和换行删除,换行的删除不固定,不是每个换行都删,但每隔几句就会删除一次,不知道是不是预处理表达式本身的问题,我有一个模糊的想法是像MisakaHookFinder一样人为制造换行,然后再预处理中检测到这种换行标志就替换为换行符,最后再去除多余空行,这样就能避免换行符消失的问题了,还有一点就是有的游戏会把人物名称和对话分开缓存,但对话通常会以「」进行,可以为预处理做一个合并人名与对话的功能,检测到「就按顺序添加人名,遇到其他描写就跳过。 20240219120040 20240219120742 以上只是我在使用中遇到的一些问题和想法,如果对完善程序有所帮助就再好不过了。

HIllya51 commented 4 months ago

1、这个程序缓存确实是有点问题,后面看一下,不过lunatranslator缓存是没有问题的 2、我最多只能把文本框改成非只读的,切换文本条目后不能保持,否则每次编辑都得记录下来,会很卡 3、文本过滤我回头改一下,非重复的不过滤。

chibayuna commented 4 months ago

对于非只读造成缓存溢出的问题,可以将文本框设置为默认只读,读写在设置里打开,只要提示打开后切换文本条目会清空已有缓存就没问题了,我个人的看法是只读的优势主要在于一开始可以快速遍历合适的文本条目,但在找到所需文本条目后基本就没有优势了,因为hook只需要一个最完善的文本条目就行,这个时候如果能选择改为读写文本框就拓展了程序的灵活性,同时对于不需要读写功能的人来说也不会造成影响,而且还能多一个清空缓存的功能,避免了之前只能通过结束注入来清空缓存这个问题

HIllya51 commented 4 months ago

已修

HIllya51 commented 4 months ago

LunaTranslator也已修,只读/非只读开关在显示设置->界面设置的最下面 文本过滤开启保持非重复字符即可(默认已开)。