国际化
MzLib
提供了 I18n
类用于处理多语言
加载语言文件
语言文件的格式为Java的 Properties 或者 Json
使用 I18n
中的静态方法 load(File folder, float priority)
来加载所有语言文件
folder
文件夹, 其内部包含多个语言文件,如en-us.lang
zh-ch.lang
...priority
优先级, 代表该I18n
集合的检索顺序
java
// 假设 langs 文件夹存在并且有语言文件
I18n i18n = I18n.load(new File("langs"),1.0);
然后我们使用 RegistrarI18n
类将加载好的 I18n
集合注册进去以便使用
java
// 第一个形参可以填写注册该I18n的模块, 这里用 null 替代
RegistrarI18n.register(null,i18n);
注销使用
unregister
, 使用方法同理
使用
将您需要进行国际化处理的文本部分用 I18n
的 getTranslation(String language,String key)
方法替换
language
语言代号, 如zh-ch
en-us
key
统一代号, 如command.help
(详见语言文件内代号对应的语言信息)
这里用
sendMessage
举例
java
player.sendMessage(I18n.getTranslation("zh-cn","command.help"));