IGLanguages

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

111

IGLanguages

<center>

IGLanguages

The Multi-Language Plugin

DISCORD | WIKI </center>

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