多語言文件

此為 v0.0.8 後的功能。

多語言文件,指一個訊息集合下可有多種不同的語言,可用作 i18n

假設你的插件 jar 內有兩種語言文件:

Langs/en-us.yml
prefix: "[ELD] "
first: "This is the first message"
second: "This is the second message"
third: "This is the third message"
Langs/zh-tw.yml
prefix: "[ELD] "
first: "這是第一則信息"
second: "這是第二則訊息"
third: "這是第三則信息"

則創建一個繼承 GroupLangConfiguration 的類,並配置如下:

@GroupResource(
        folder = "Langs", // 語言文件的文件夾
        preloads = {"en-us", "zh-tw"} // 複製這兩個文件從 jar 內到 插件資料夾
)
@DefaultLanguage("en-us") // 定義默認語言
@Prefix(path = "prefix") // 定義prefix路徑
public class TesterMultiLang extends GroupLangConfiguration {
}

註冊如下:

使用

註冊完成後,則可注入 GroupLang<T> 服務並標註 @InjectPool 來進行獲取:

在使用上,你會發現跟 文件池配置 其實很相同。但兩者的分別在於,GroupLang<T> 只提供了唯讀性質的操作。其源碼如下:

使用為 i18n

你可以透過多語言文件實作 i18n 的服務,範例如下:

記得別忘了註冊!

最后更新于