IGLanguages
2.4.0IGLanguages it's a easy way to translate your server dinamically to other languages using PlaceholderAPI and API.
IGLanguages
The Multi-Language Plugin
IGLanguages is a powerful and flexible language management plugin initially made for my server AfterLands. It's an easy way to translate your server dynamically to other languages using PlaceholderAPI.
Basically, if it has PlaceholderAPI support, you can translate it. Simple. ;)
Features
- Multi-language support with easy folder-based structure (supports subfolders!)
- Compatible and tested with Spigot/Paper 1.8–1.21+ (Java 11+ required)
- Automatically identifies player's client language (if exists in your lang folders)
- Per-player language selection and storage (YAML, SQLite, or MySQL)
- Cross-Server Sync with Redis support for BungeeCord/Velocity networks
- Automatic fallback translation to default language
- Custom actions on first join and when changing language (messages, sounds, commands, etc.)
- PlaceholderAPI integration for dynamic translations
- High Performance with Caffeine Cache and asynchronous storage
- API for developers to integrate with other plugins and systems
How it Works
- Each language is a folder which can have infinite translation files and subfolders.
- Uses PlaceholderAPI to dynamically show translations based on the player's selected language.
- If a translation key is missing, the default language key is used as a fallback.
Commands & Permissions
iglanguages.admin- The main permissioniglanguages.updatechecker- Check updates on join
| Command | Description |
|---|---|
/languages help | Shows help message |
/languages set <player> <lang> | Set a player's language |
/languages get <player> | Show a player's language |
/languages auto <player> | Auto detect 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 (root files).%lang_(folder).(file)_(key)%- Shows translation for files in subfolders (e.g. %lang_menus.main_shop_title% for menus/main.yml).%lang_player%- Shows the player's current language.%lang_player_(nick)%- Shows the specified player's language.
Performance
- Uses Caffeine Cache (high-performance, thread-safe) to assist with heavy loads.
- All translations are loaded into memory at startup.
- Database access is minimal and highly optimized (HikariCP for SQL).
- Debounced YAML saving to reduce disk I/O.
API
For developers, check IGLanguagesAPI.java for more details. We have several useful methods (like getPlayerLang, getLangTranslation, getPlayerTranslation, etc.). More information is available on our GitHub page.
Make your server accessible to everyone!
For support, join our Discord server: https://discord.gg/qGqRxx3V2J
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta