关于汉化冲突的一些解决方案 - [i18n]自动汉化更新 (I18nUpdateMod) - MC百科

[an error occurred while processing the directive]

注:本贴士面向 1.12.2 制作,1.16.5 更改了语言文件的规范,添加了独特的命名空间,很大程度缓解了这个问题。

使用本地化冲突消除

本地化冲突消除

下图为神秘时代导致的汉化冲突问题,使用它即可修复

使用优先级更高的资源包替换

第一个为我制作的,用于覆盖的资源包

首先你得找到冲突的条目,然后制作一个资源包,把它放在汉化资源包之上

具体可以参考站内的这些教程:

如何自制资源包

数据包/资源包/材质(纹理)包/汉化包/简易模组/整合包教程大全

小贴士:你不需要压缩资源包也可以加载它,这可以方便你的修改

至于如何找到冲突的条目,你可以在 GitHub 上搜索对于的汉化名称,如果mod非闭源,你就能找到相应的汉化词条

比如你可以搜索

=守护之光

这里我们就得知冲突的词条为 title.barrier.name

如果闭源也没关系,解压 mods 下的所有 jar 文件,使用 Notepad++ 或 Visual Studio Code 搜索路径,同样可以找到对应的词条

找到冲突词条后,你就可以创建一个同 /lang/zh_cn.lang 文件,使用正确的翻译覆盖它

关于 ContentTweaker 和 Resource Loader 的问题当整合包作者使用 ContentTweaker 或 Resource Loader(也就是 CraftTweaker)来修改名称时,默认优先级是在自定义资源包下的

所幸 resources 文件夹约等于一个独立的资源包,那么你就可以把 resources 文件夹作为一个资源包加载

把 resources 文件夹复制到 resourcepack 文件夹下,并且把 pack.mcmeta 以外的文件都移动到新建的 assets 文件夹下,这时就可以被正确识别

或者聪明一些,你可以使用一个符号连接,而不用复制整个文件夹

关于 Resource Loader 提供的另一个方法

Resource Loader 的作者想到了这个问题,为我们提供了一个 oresources 文件夹,它的优先级在资源包之上

只需要把整合包内的 resources 文件夹下的文件复制为 oresources 文件夹即可。

同上,你也可以使用一个符号连接

关于资源包的另一个问题

由于游戏本体极其诡异的资源包加载规则,并不完全是由优先级决定

比如下图的终极精华熔炉就被成功的替换为五联压缩炉,但是复制机却没有,而是被替换为了物质重组机

英文替换正常生效

上图资源包路径为:

resources\assets\contentTweaker\lang\zh_cn.lang:title.replicator.name=§5复制机

Minecraft-Mod-Language-Modpack.zip\assets\matteroverdrive\zh_cn.lang:title.replicator.name=物质重组机

Minecraft

解决方法:

使用本地化冲突消除

使用相同的 modid

resources\assets\matteroverdrive\lang\zh_cn.lang:title.replicator.name=§5复制机

Minecraft-Mod-Language-Modpack.zip\assets\matteroverdrive\zh_cn.lang:title.replicator.name=物质重组机

Minecraft

感谢你阅读完本篇教程!

以上均为笔者在使用过程中总结出来的经验,并没有实际分析 Minecraft 的资源包加载代码

如有错误,欢迎指正

[an error occurred while processing the directive]

Copyright © 2088 星游活动站 - 新服开区专属福利 All Rights Reserved.
友情链接