【汉化相关/懂java的看下】translator++机翻renpy游戏时的逃生舱词条书写问题
本帖最后由 asasp 于 2024-1-6 00:44 编辑//没汉化过游戏但懂java等等朋友可以直接看最后部分。
表述的可能比较怪。
是这样的。renpy游戏的选项内容在renpy自己生成的翻译文件中往往是以下格式:
即一个old词条一个new词条。在翻译时old词条是不能翻译的。说白了就是把原文中的old部分(英文)替换成new部分(中文)。
但问题来了,translator++会自动把old部分的内容也给翻译掉。导致相关内容汉化失效。
自己知道可以通过定制逃生舱功能规避,但问题是自己不会编程,不会写相关的正则表达式。
目前逃生舱用的词条还是古海沉舟大佬在一年前的帖子(https://www.gamemale.com/thread-93867-1-1.html)里给的逃生舱词条。但他的词条中没有包含规避这个部分的词条。自己已经私信过但其没有回我。
坛子里有不少renpy游戏的汉化者和汉化组成员。估计应该都接触过translator++这个工具。不知道之前是否遇到过这个问题?又是如何解决的?如果是用逃生舱功能解决的,或者从来就没遇到过这个问题,且使用的不是古海沉舟在其帖子(https://www.gamemale.com/thread-93867-1-1.html)里给出的逃生舱词条,能否分享下你所用的逃生舱词条?或者如果你懂编程,能否告知下这个java的正则表达式怎么写才能捕获old "xxx"这种词条中的引号部分内容?自己跟着chatgpt学了下,但translator++内总说格式不对....可能是translator++内将引号也视为特殊符号所致...自己也不太明白这方面。
求个大佬解惑。如果有认识汉化过renpy的人士的坛友,能否帮忙艾特一下看看?
再或者有没有路过的java大佬帮忙看看这个东西该怎么写?应该就是个捕获对应内容的正则表达式....
参考逃生舱词条例如:
/(if|en)\([\w \=\[\]\&\<\>\|\.\$\_\+\-\*\/\@\!]+\)/g,
/(\\+\[.*\])+/gi,
/(\\+\<[^\>]*\>)+/gi,
//(\\+\[[^\]]*\])+/gi,
/(\\+\[[^\]]*)+(?=\])/gi,
/(\\)+/g,
现在需要的是捕获old "xxx"内xxx部分的内容。
本帖最后由 rockdjs 于 2024-1-8 23:36 编辑
大概明白你的意思,和正则表达式关系不大。
https://www.gamemale.com/thread-84070-1-1.html
看这个帖子哈,其中有两步你是不是忽略了
翻译前处理:14-19步
翻译后处理:42步
按照上面的方法处理,可以先把old注释掉,直接翻译new中的内容,翻译完后,再取消注释即可
這個部份我都是後面再慢慢修耶,印象中古海大大的資源有寫處理這部分的方法 应该大概可能用这个: old "(.*)"$就可以匹配了,用$1可以获取匹配到的字符串
以及欢迎去CODE板块提问 你需要捕获的是什么字符串?可以描述得清楚一点吗?是双引号内的old还是 双引号内的内容随意?双引号要保留吗? 不懂java,跟着大佬们学习一下翻译过滤正则式{:4_114:} 本帖最后由 Tcz 于 2024-1-7 09:40 编辑
(?<=old ").[^"]+
试试这个,有一段时间没写过正则了,看看对不对 没接触过translator++,我们是手动翻译的 按照古海大大的教程的话,你是不是跳过了https://www.gamemale.com/thread-84070-1-1.html 这里面的15~19步骤? 古海的教程不是用translator的逃生舱词条的,而是在EmEditor里插入特殊字符,防止translator识别old部分,然后等translator翻译并输出完之后,再次EmEditor打开然后删除掉特殊字符
页:
[1]