Paper: Expand i18N localization API

Created on 8 Dec 2019  路  4Comments  路  Source: PaperMC/Paper

Right now the API is only exposed on ItemStacks, not materials and other places it could be useful.
Furthermore, there is no way to use an alternative language other than the en_US localization file that ships as part of the vanilla jar. In an ideal world, it would be possible to use an external file for other languages or per-server changes.

There have also been requests to get the raw translation keys (ie block.minecraft.melon) for use and storage, rather than just immediately returning the translated string.

Additional research and time is needed to explore the possibilities here.

feature

Most helpful comment

Getting the raw translation key should be as trivial as adding one or more OBFHELPERs, I've done that before.

If 1.15 lands here, then I'll upstream my changes.

All 4 comments

Getting the raw translation key should be as trivial as adding one or more OBFHELPERs, I've done that before.

If 1.15 lands here, then I'll upstream my changes.

Any updates @mikroskeem?

Completely forgot about it

Regarding missing language file on server side. We could automatically add these language files as resource bundles of by a system using yaml.
Here is a script to automatically download the latest language file from Mojang directly.
Tools used: cURL and jq
https://gist.github.com/yannicklamprecht/c764fa6ffddde69137fd846728676b47
This could be integrated into the Paper build process or ported to Java to download language file on the fly based on players playing on the server.

Was this page helpful?
0 / 5 - 0 ratings