本帖最后由 ddee 于 2019-6-28 15:04 编辑
《T18n》 by Taskeren
一、简介
T18n是我由于插件不提供本地化支持而开发的一个本地化API,目前本人测试是问题不大,如果有什么其他的问题请看问题上报告诉我。

二、配置环境
本人不会用 Maven,所以只教 Gradle 的配置方法。
在项目的 build.gradle 里添加 jitpack.io 的库:
  1. repositories {
  2.         ...
  3.         maven { url 'https://jitpack.io' }
  4. }
复制代码
然后再把本API添加到 dependencies 里:
  1. dependencies {
  2.              // 版本根据自己需要的版本填写
  3.             implementation 'com.github.nitu2003:T18n:1.1'
  4. }
复制代码
然后就可以啦。

三、使用T18n
使用分以下几个步骤:设置和读取语言文件,配置编码(默认根据系统需求,可省略),获取翻译
设置和读取语言文件:
I18n类中有一个 setLanguageMap(LanguageMap) 的方法,其中 LanguageMap 就是翻译的 Map。
T18n中提供了一个叫 LanguageMapBuilder.fromFile(File) 的静态方法用于从文件中读取和创建 LanguageMap,这个静态方法的返回值就是读取完毕后的 LanguageMap。
使用 I18n.setLanguageMap(LanguageMap) 进行设定后就可以进行下一步配置了。
设置编码:
使用 I18n.setEncoding(String) 来设置,其中参数为该编码的名称,例如 UTF-8,GBK等等...
获取翻译:
获取翻译是通过 I18n.format(String, String...) 来获取,第一个参数是该翻译的键值,后面的参数是用于 String.format 的,类似于 Forge 提供的 I18n。可留空。
如果无法查询到键值对应的翻译,这个方**返回传入的键值。例如 I18n.format("app.404"),当 LanguageMap 中没有 app.404 对应的值的时候返回的就是 app.404。

四、问题上报
这个API是在 GitHub 上开源的,有任何问题可以在 GitHub 上提交 Issue 或者QQ私信我(3070190799)。
GitHub仓库:https://github.com/nitu2003/T18n
欢迎直接提交 PR!


五、注意事项
1. 语言文件的编码强制要求为 UTF-8 格式!
2. 后续版本更新可能会更改部分方法的使用,请以 GitHub 为准。


[groupid=1645]Nuclear Fusion[/groupid]