欢迎光临散文网 会员登陆 & 注册

宝藏猎人整合包(Vault Hunters)个人汉化笔记/VaultPatcher硬编码汉化模组使用指南-下

2023-08-13 19:55 作者:マザリン  | 我要投稿


  • 研究(Research)名称

这部分内容困扰了我相当久。最初我通过在源码中进行全局搜索,确认了这些文本不存储在源码中,显然应该是在某个配置文件。

researches.json中的name字段

但当我想当然地修改了researches.json,进入游戏后发现打开研究界面时会导致游戏崩溃。后来我在config/the_vault文件夹下全局搜索某个研究名称的特征字符串(例如Colossal Chests)并检查相应搜索结果处的代码,发现researches.jsonresearches_groups.jsonresearches_gui_styles.json这几个文件是相互关联的。也就是说如果只替换researches.json一个文件,会导致读取相关的数据时出现问题。

research_groups.json
researches_gui_styles.json

全部替换过后进入游戏测试,发现文本显示的部分确实没问题了,也不会出现前面的崩溃情况;但首先所有研究的描述文本都出了问题(找不到描述文本)

在早期的汉化过程中我已经确认过skill_descriptions.json是存储对应文本的位置。果然我发现其内部的描述id也要对应地汉化为中文,否则会由于找不到对应中文id的描述而显示上图所示的情况。

skill_descriptions.json(这里的蓝色部分)

另外,VH中部分研究需要先解锁前置研究。例如背包需要逐级解锁,自动化天才则需要先解锁其它全部研究等。当我将这些研究名称汉化为中文后,发现原有的解锁门槛不见了。这种情况是需要另外检查skill_gates.json并将其中原对应的英文字符串替换为中文

skill_gates.json

做完这些替换工作以后,整个研究系统终于不再出现任何问题。

总结来说,研究名称的汉化需要同步替换researches.jsonresearches_groups.jsonresearches_gui_styles.jsonskill_descriptions.jsonskill_gates.json五个文件中的相应字符串,同时需要使替换过后的中文名保持一致,并记得转换为unicode编码保存

需要注意的是,可以看到上述部分替换涉及到了对于id的修改(即显示为蓝色的部分),意味着这些替换会完全重置研究进度,且无法返还任何知识点。因此这些改动只适用于新存档,仍然在游玩旧存档的玩家不可修改以上5个文件的研究部分,而是应该选择VP2.10进行这部分汉化工作。我自己是在旧存档的研究重置之后cheat了对应数量的知识之星(

  • 生物组(Entity Groups/Mob Groups)

VH在Update 11中引入了生物组的概念,将宝库中可能生成的敌人分为了五组:Horde、Tank、Dungeon、Assassin、Fighter。与之配合引入了图鉴(Bestiary)系统,对各组内的生物种类进行了详细介绍。图鉴主页面的右侧目录中列出了这五个生物组

以及悬赏系统Kill Entity悬赏的描述中也含有此字符串

除了"Horde"以外的文本均已汉化

字符串"Horde"在源码配置文件中都没有对应的搜索结果,其显示方式也写的较为混乱。于是我决定使用VP2.10进行替换。

首先,我确定了完全匹配方式不起作用。由于这些组名称同时作为id使用,当使用半匹配时理所当然地遇到了问题,在打开图鉴页面时游戏直接退出(尝试将 Horde 替换为 测试 )

也就是说这里的id只能为ASCII字符集。由于半匹配限制失效的bug,我尝试限制其替换范围,但无论采用何种方式限制其target_classnamemethod,所得结果要么是不能替换,要么是与上图一样的报错信息。本来想尝试用堆栈深度进行限制,然而堆栈深度需要在debug模式下翻阅日志,而日志中有对应替换内容的前提条件是可以成功替换并至少显示一次。于是陷入了死循环。星游神龙怎么召唤

反复尝试无果后,我终于决定暂时搁置这一部分。这也是VH直到现在还没有汉化的位置之一。

整个整合包的汉化内容基本就到这里了,下面讲讲我的一些汉化心得。

  • 格式规范

虽然我个人使用的汉化版本是不怎么在意这些,不过如果能有一些规范性的限制总归是个好习惯。

一是关于空格回车的使用问题。在各种字符串翻译的时候一定需要检查源字符串首尾有无空格,以及译名对应位置是否需要空格。通常来说,只需完全照搬原文中的空格就可以;以及一些特殊名词或数字的前后各需要一个空格,以便突出显示或方便对齐等。不过有些地方的排版可能会由于这些多出来的空格而出现自动换行的问题,这时就需要根据实际的显示效果酌情调整(比如任务书右侧的描述,这里就不放截图了)。需要注意的是,原文中两个英文单词之间有空格的部分,对应的中文译名如果是连续的句子,可能加了空格反倒会不连贯。所以有时也会出现删去某个空格的现象。这里用上面提到过的宝箱名称举个例子:

源码部分
实际的替换效果

源码中写到此处的文本是rarity + " Wooden Chest",注意到Wooden前面有一个空格。那么实际显示的时候就会显示为Common Wooden Chest。然而若是翻译为中文,实际想要的显示效果应该为普通木质宝箱,这时如果保留Wooden前面的空格,实际的显示结果为普通 木质宝箱(此时普通和木质宝箱分开了)。显然这种情况应舍去空格,即实际的替换写法为

注意此处舍去了空格

类似的地方还有很多,这里不一一列举了。

回车换行通常使用\n来表示。然而部分字符串中写入\n会在实际游戏中显示为一个特殊字符,因此还是需要根据实际的替换效果来判断是否应该加入换行符。

其余还有许多格式规范的注意事项,可以参考CFPA网站上的模组简体中文翻译规范与指南:https://cfpa.site/TransRules/

后续的维护工作

  • 双端配置分离

由于VP2.14版本更新为了core mod,所以需要在客户端服务端同时安装。相对应的,VP2.10仅处理本地的显示缓冲区,因此只需要客户端安装即可。

然而,我注意到使用VP2.14替换的字符串中,有些字符串仅需要客户端替换即可,不会影响实际的显示内容。因此,我接下来的主要精力会放在分离出不需要在服务端替换的字符串配置,以减少服务端的字符串替换次数,达到加快服务器启动速度某些步骤的加载速度的目的。

  • 汉化文本补充

VP2.14的工作原理决定了它适用于所有的mod。因此我会在接下来的过程中逐步检查其余mod有无需要硬编码汉化的部分,并写入2.14的配置文件中。是谁玩了这么久还没毕业过

还有部分模组的lang文件需要补充,例如上面的error_block。

  • 版本更新

VH整合包目前基本维持在每月大更,不定期小更的状态。每次更新都需要重新检查lang文件和config/the_vault下的全部文件,以进行更新的适配。以及从Update 11开始的反编译汉化部分也需要每个版本都重新做。

这里推荐一个名为Beyond Compare 4(以下简称BC)的软件,可以方便地进行不同文件夹以及其内部全部的子文件夹和文件内容的比较。可以选择隐藏完全相同的部分,这样比较新旧版本的配置文件时可以很方便地确认有哪写内容是新版本修改过的。

BC的文本比较的界面中会把两侧不一致的行用红色高亮显示

仅作为例子,最左侧可以看到有差异的部分

同时还支持编辑功能以及左右分别保存,可以说是必备的工具了。

要注意的一点是BC在打开全英文的文件时默认采用ANSI编码,如果想更改某一侧的文本内容为中文,需要提前将编码规则改为UTF-8,否则在用VCS打开并转码的过程中会出现乱码。


宝藏猎人整合包(Vault Hunters)个人汉化笔记/VaultPatcher硬编码汉化模组使用指南-下的评论 (共 条)

分享到微博请遵守国家法律