Cathuria 发表于 2023-9-29 18:10:44

基岩版Addons汉化翻译常见问题快速解决教程

需要工具(PC):Winmerge (情况一),Excel (情况二)

一般来说只需要复制资源包内texts文件夹中的en_US.lang文档里的所有内容,丢到翻译软件里走一遍,出来创建个zh_CN.lang就可以了,
但有时这么简单操作了,会出现各种问题:

情况一:物品栏出现形如item.abc:apple或tile.abc:grass.name的物品
(可以在物品栏搜索“.”来快速查找有没有这玩意)
简单来说,这是物品没有名字导致的,打开winmerge,比对en_US.lang和zh_CN.lang中形如“item.abc:apple”、“tile.abc:grass.name”、“entity.abc:damn_shit.name”等等字段是否一致,是否有空格之类…然后选中en_US.lang中与zh_CN.lang不一样的部分,粘贴过去。
上述是常见错误类型,还有可能是作者制作过程中定义的ID和写在lang文本中的不一致(或者压根没写),这就得自己去找行为包对应json的"identifier": "abc:xxx"了,不建议汉化还帮人修BUG,有这种问题作者在MCPEDL评论区会挨骂的,等下次更新就好了。

情况二:翻译无效

有时候发现无论怎么搞翻译,游戏中的物品始终是原来的英文名,就算自己找到对应json中的ID来进行翻译工作,也无济于事,于是可能就在网上到处找了,结果发现居然要修改json中的"minecraft:display_name": {"value": "xxx"}……开什么玩笑,若是一个模组上千个json,那要修改到什么时候哩(当然也可以对json遍历查值然后用数据库再遍历替换,但每次模组版本更新都要重新弄,很烦)。不过这是快速解决教程,没必要和一个模组较劲:

用windows自带搜索工具,在行为包items文件夹内搜索.json,
全部复制到新文件夹,
并在新文件夹创建bat批处理文件:
@findstr "value" *.json>自己起名字.txt
打开生成的txt文件,粘贴到到新建的Excel文档里,对含有名字的一列进行排序,删除不是名字的部分;
利用替换功能再删除多余的符号,右边新建一列只有“=”等于号的列;
最后把文本翻译过后贴在等于号的右边,复制三列并创建zh_CN.lang,用替换工具删除多余的空格。

Excel成图见下

Ps:如果用搜索把100个模组的物品json和en_US.lang,分别放在两个文件夹中,然后对en_US文件夹用
@findstr "=" *.lang>123.txt
Excel处理后,接着丢进谷歌翻译。
对json文件夹如同情况二的操作,然后和上面翻译好的文件合并一下,可以直接翻译100个模组。

巅疯狂魔 发表于 2023-9-29 20:37:38

似懂非懂[贴吧_滑稽]
页: [1]
查看完整版本: 基岩版Addons汉化翻译常见问题快速解决教程