Skip to content

I18n 多语言

UltiTools 提供了一个易用的多语言 API,让你可以轻松的为你的插件添加多语言支持。

创建语言文件

resources 文件夹中创建一个 lang 文件夹。按照你的需求放入你的插件语言文件。

json
{
  "test": "测试",
  "test2": "测试2"
}

将文件名命名为 zh.json,其中 zh 为语言代码。

语言代码可参照此表

注册语言代码

UltiTools 需要知道你的插件支持哪些语言,因此你需要在你的插件继承了 UltiToolsPlugin 的类进行注册

一种很简便的方法就是在继承了 UltiToolsPlugin 的类添加 @I18n 并添加语言代码:

java
@I18n({"zh", "en"})

当然你也可以重写 supported() 方法,返回一个含有语言代码的 List<String> 即可:

java
@Override
public List<String> supported() {
    return Arrays.asList("zh", "en");
}

使用多语言

在你的插件继承了 UltiToolsPlugin 的类中,有一个 i18n 方法,用于获取多语言字符串。

java
String test = i18n("test");

// 输出:测试

如果语言文件中不存在该字符串,将会返回该字符串本身。

java
String test3 = i18n("test3");

// 输出:test3

TIP

在仅有两种语言的情况下,你可以仅创建一个语言文件,其中的键值对的键为原文,值为译文。

基于 MIT 许可发布