什么是本地化和国际化

下面内容来自来自wikipedia

本地化则是指当移植软件时,加上与特定区域设置有关的信息和翻译文件的过程。国际化是指在设计软件,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言及地区时,软件本身不用做内部工程上的改变或修正。

本地化的国际化的英文分别是Localization和internationalization,由于字母过多,它们被简化成了L10n和i18n,其中i18n的简写由于其中间有足足十八个字母等原因而更加常用。

Minecraft本身就提供了本地化和国际化方案。在assets/minecraft/lang文件夹下,便有着各种语言的语言文件。

为自己的Mod创建语言文件

大家在前面几部分中可能注意到了,拿在手里的不是金蛋,而是item.goldenEgg.name,放在地上的不是草块,而是tile.grassBlock.name,这正是因为没有添加语言文件。

英语是全球最广泛使用的语言,Minecraft的默认使用语言也是英语,所以很明显地,我们应该首先对英语提供支持。

新建文件夹src/main/resources/assets/fmltutor/lang,并在其中新建文件en_US.lang,注意等号的两边没有空格:

src/main/resources/assets/fmltutor/lang/en_US.lang:

item.goldenEgg.name=Golden Egg

tile.grassBlock.name=Grass Block

itemGroup.fmltutor=FML Tutor
  • item.goldenEgg.name便是金蛋的名称,这个名称由该物品的setUnlocalizedName方法设置
  • tile.grassBlock.name便是草块的名称,这个名称由该方块的setUnlocalizedName方法设置
  • itemGroup.tabFMLTutor便是新创造模式物品栏的名称

如果搞不清楚语言文件等号前面应该使用什么,可以先不写,在游戏中看一看,然后把不正常的部分写入语言文件。

当然,作为面向中国人制作的Mod,中文语言文件还是要有的。在同一个文件夹下新建文件zh_CN.lang

src/main/resources/assets/fmltutor/lang/zh_CN.lang:

item.goldenEgg.name=金蛋

tile.grassBlock.name=草块

itemGroup.fmltutor=FML教程

当然,你也可以添加其他语言文件,如繁体中文(zhTW)等,语言文件的文件名通常按照“**语言\国家**”代码标准。

最后说一句,语言文件一定要使用UTF-8编码

results matching ""

    No results matching ""