IGLanguages it's a powerful and flexible language management plugin initially made for my server AfterLands. It's a easy way to translate your server dinamically to other languages using PlaceholderAPI for that. For support you can join our discord server.
Basically, if have PlaceholderAPI support, you can translate, simple. ​
​
Features
Multi-language support with easy folder-based structure
Automatically indentifies player's client language (if exists in your lang folders set as player lang)
Per-player language selection and storage (YAML, SQLite, or MySQL)
Automatic fallback translation to default language
Custom actions on first join and when changing language (messages, sounds, commands, etc.)
PlaceholderAPI integration for dynamic translations
Simple and efficient translation cache
API for developers to integrate with other plugins
Theoretically, compatible with Spigot/Paper 1.8–1.20+ (not tested yet)
How it Works
Each language is a folder which can have infinite translation files with an infinite amount of translation keys.
Uses PlaceholderAPI for dinamically show translation to your player based in player's selected language.
If a translation key is missing, the default language key is used as fallback.
Commands & Permissions
iglanguages.admin - The main permission iglanguages.updatechecker - Check updates on join
/languages help - Shows help message
/languages set <player> <lang> - Set a player's language
/languages get <player> - Show a player's language
/languages list - List available languages
/languages reload - Reload config and translations
Placeholders PlaceholderAPI placeholders:
%lang_(key)% - Shows translation for the key in the player's language. If a translation is missing, the default language is used as fallback (e.g. %lang_holograms_spawn_line1%).
%lang_player% - Shows the player's current language
%lang_player_(nick)% - Shows the specified player's language
Peformance
Uses an LRU cache (configurable via config.yml) to keep translations fast and memory-efficient even in big servers.
All translations are loaded into memory at startup.
Database access is minimal (mainly on login/language change).
API For developers just look
IGLanguagesAPI.java for more details. We have some useful methods
(like getPlayerLang, getLangTranslation, getPlayerTranslation, etc).
Make your server accessible to everyone. Try IGLanguages and leave your 5 star review! For support you can join our discord server (https://discord.gg/qGqRxx3V2J)