lgou2w/ldk

i18n module.

Closed this issue · 5 comments

Requesting tools for internationalization and localization.

Good idea, But may use java properties 🤔

The basic implementation of ldk-i18n, See: 4c4f7f9

  • Basic
  • Optimization
  • Bukkit YAML

Test Code

class Test {
@Test
fun test_LanguageSimple() {
val adapter = PropertiesAdapter()
val provider = ResourceProvider()
val manager = SimpleLanguageManager("language", adapter, provider)
val language = manager.load(Locale.ROOT)
language.formatter = MessageFormatter()
println(language)
println(language["version"])
println(language["helloWorld"])
}
@Test
fun test_LanguageDynamic() {
val adapter = PropertiesAdapter()
val provider = ResourceProvider()
val manager = DynamicLanguageManager("language", adapter, provider)
manager.loadAll(Locale.ROOT, Locale.SIMPLIFIED_CHINESE)
manager.switch(Locale.ROOT)
println(manager.dynamic)
println(manager.dynamicUnsafe["version"])
println(manager.dynamicUnsafe["helloWorld"])
manager.switch(Locale.SIMPLIFIED_CHINESE)
println(manager.dynamic)
println(manager.dynamicUnsafe["version"])
println(manager.dynamicUnsafe["helloWorld"])
}
}

Bukkit YAML can extend the module adapter to implement storage in YAML format.

Overall almost complete

There are other activities, please reopen