小虾米资讯
AD1android:使用RimTrans提取Patches指南。
2022-07-18 16:15:10 / 我要吐槽如何提取“Patches”这一章节将是RimTrans的进阶使用方法,包含一些可能难以理解的内容,需要一些代码知识。现在很多MOD都有“Patches”的部分,这让很多使用RimTrans的汉化作者苦不堪言,甚至要手动进行文本提取。其实”Defs“和“Patches”文件结构是类似的,我们只要对“Patches”中的文件进行些许修改,就能让RimTrans以读取”Defs“的方式读取“Patches”。我们以还是以之前的Android tiers - Nutrient Blocks为例。首先,我们要做的就是对我们刚才已经提取过的部分进行备份,以免覆盖。然后我们进入”Defs“和“Languages”文件夹,删除其中的所有内容,仅保留空的”Defs“和“Languages”文件夹。然后我们需要找到需要翻译的“Patches”,因为它可能在MOD目录下面的任何一个文件夹中,比如1.3比如CE,比如common中。将其复制到根目录下。当然我现在的这个MOD的“Patches”本来就在根目录下,还是比较方便的。然后我们将“Patches”文件夹下的全部内容都复制到”Defs“文件夹下,并且再次备份,因为我们需要直接修改“Patches”原本的文件,以让RimTrans将它们当成”Defs“文件。然后我们随便打开其中一个文件。我们需要寻找的是其中包含<label>或<description>这种文本的文件,如下图所示。也就是说下面这种文件是不需要的,可以删除。当我们清理完没有文本的文件后,我们就可以开始进行修改了。为了保险起见,我们再次备份一下。我们打开其中的一个文件,可以看到整个文件是以<Patch>开头,以</Patch>结尾的,整个文件本身就是一个区块。所有的代码均以<XXX>开头,以</XXX>结尾,没有<>的则是注释,游戏不会读取。首先我们要修改的就是<Patch>和</Patch>,将其全部替换为<Defs>和</Defs>。我们可以使用Notepad++的文件替换功能直接替换所有的文件。接着,我们就要批量处理<Defs>到</Defs>之间的内容了。但是首先,我们先打开一个”Defs“文件,我们可以注意到其中<ThoughtDef>(可以是DamageDef,可以是HediffDefs,这个没有关系。)部分的内容是直接包含在<Defs>下的。而“Patches”中的<ThoughtDef>被包含在了数个区块之下,而不是直接在<Defs>的下一级,这就导致了RimTrans无法读取。
所以我们要做的就是破坏掉<Defs>到<ThoughtDef>之间的所有区块,让<Defs>的下一级直接就是<ThoughtDef>。幸运的是,需要破坏的代码并不多,我们依旧使用Notepad++的批量文件替换功能。复制区块的名称,然后替换为空。我们就得到了一个这样的结果。可以看到这一个区块的完整性就已经被破坏了。变成了单纯的不会被读取的文本。当然,我们现在只破坏了这一区块的前半部分,后半部分也要一同处理,否则RimTrans将报错无法读取。那么我们对其他的部分也进行同样的操作,可以得到这样的结果。可以注意到<ThoughtDef>又直接成为了<Defs>的下一级,那么现在RimTrans就可以提取其中的文本了。现在,我们再次运行RimTrans进行提取,可以看到RimTrans已经成功的将伪装成”Defs“的“Patches”提取出来了。现在,我们将从“Patches”提取出来的文本文件和之前从”Defs“提取出来的文本文件放在一起,就可以进行下一步的翻译工作了。
Powered By © 小虾米资讯 2015
(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )