The current state of LL itself is not optimal. Parts like the exposed API are currently substandard and would need redesigning.
Another question is whether this makes sense when you can just use the Adventure Global Translation System (https://docs.papermc.io/adventure/localization/).
The only feature I can see at the moment is the ability to use a different language for LL plugins than for the client. I'm not sure if this feature justifies the maintenance burden that the system currently introduces. Other things, such as the language selection menu, could also be considered.
One other issue, which only affects a small number of plugins, is that you cannot query the player's language when they are offline. This could easily be fixed by storing the language on the player PDC.
The current flaws in LL:
- Highly dependent on Paper
- Requires Standalone plugin
- Language Selection in own plugin
- Requires LL Code Changes when a plugin want's to support a new language cleanly
- Uses Config Version
- Only supports yml
- Implementing it fully shaded is rather complicated - Morpheus can tell more about that
- Only a few plugins (all Alps plugins) supports it
- If another language is selected it creates a weird mix of different languages
- See the open issues for more context
- Limited Component Support
- No support for mini msg or additional functions like placeholders
We could also rework many parts of LangLibs and use Adventure internally. That way, we could probably have a nice API, but it would require quite a lot of work without much gain. If we do that, we should also prioritise DazzleConf support.
Based on the information I have, I currently favour abandoning LangLibs and switching the plugins to Adventure itself.
For now, I want to seek other input. It's important to come to a decision quickly because other time-critical things, like BuildTheEarth/BuildTeamTools#30, depend on it.
The current state of LL itself is not optimal. Parts like the exposed API are currently substandard and would need redesigning.
Another question is whether this makes sense when you can just use the Adventure Global Translation System (https://docs.papermc.io/adventure/localization/).
The only feature I can see at the moment is the ability to use a different language for LL plugins than for the client. I'm not sure if this feature justifies the maintenance burden that the system currently introduces. Other things, such as the language selection menu, could also be considered.
One other issue, which only affects a small number of plugins, is that you cannot query the player's language when they are offline. This could easily be fixed by storing the language on the player PDC.
The current flaws in LL:
We could also rework many parts of LangLibs and use Adventure internally. That way, we could probably have a nice API, but it would require quite a lot of work without much gain. If we do that, we should also prioritise DazzleConf support.
Based on the information I have, I currently favour abandoning LangLibs and switching the plugins to Adventure itself.
For now, I want to seek other input. It's important to come to a decision quickly because other time-critical things, like BuildTheEarth/BuildTeamTools#30, depend on it.