IGLanguages

IGLanguages it's a easy way to translate your server dinamically to other languages using PlaceholderAPI and API.

111

Quick challenge

How far can you run before the mobs catch you?

IGLanguages

IGLanguages

The Multi-Language Plugin

DISCORD | WIKI

IGLanguages is a powerful and flexible language management plugin initially made for my server IGLanguages. It's an easy way to translate your server dynamically to other languages using %%MD1%%.

> Basically, if it has PlaceholderAPI support, you can translate it. Simple. ;)

gif

---

Features

* API for developers with easy folder-based structure (supports subfolders!) * API for developers and tested with Spigot/Paper API for developers (Java 11+ required) * API for developers identifies API for developers (if exists in your lang folders) * Per-player language selection and storage API for developers * API for developers with API for developers support for BungeeCord/Velocity networks * API for developers translation to default language * API for developers on first join and when changing language (messages, sounds, commands, etc.) * API for developers integration for dynamic translations * API for developers with API for developers and asynchronous storage * API for developers to integrate with other plugins and systems

---

How it Works

* Each language is a folder which can have fallback and fallback. * Uses fallback to fallback show translations based on the player's selected language. * If a fallback, the fallback is used as a fallback.

---

Commands & Permissions

* `iglanguages.admin` - The main permission * `iglanguages.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 minimal (high-performance, thread-safe) to assist with heavy loads. * All translations are loaded into memory at minimal. * 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.

bstats

Make your server accessible to everyone! 😎

For support, join our Discord server: support

ADS