# OmniLingua: The Ultimate Chat Translation Engine
**OmniLingua** completely shatters the language barrier on your Minecraft server. It automatically detects, translates, and seamlessly formats chat messages, private messages, and server broadcasts into every player's specific native language in real-time.
Built with a highly optimized, asynchronous hybrid engine, it guarantees **zero server lag** and flawless cross-compatibility for Bukkit, Paper, and hybrid Forge servers like Arclight.
### ✨ Key Features
* **The Hybrid Engine:** Choose between the completely FREE, zero-setup Google GTX public endpoint (perfect for small/medium servers), or plug in a DeepL API key for enterprise-grade, massive network scaling.
* **Per-Player Native Languages:** Players aren't forced to read English. A Spanish player and a French player can talk to each other in global chat, and the plugin will seamlessly translate the text to their respective languages simultaneously.
* **Zero-Lag Architecture:** All API requests, including command ghosting for `/tell`, `/msg`, and `/broadcast`, are processed asynchronously. The server main thread never freezes.
* **Staff Spy Mode:** Server staff can toggle a specialized UI mode to see the original foreign text alongside the translated text to monitor chat perfectly.
* **Smart RAM Caching:** OmniLingua memorizes recent translations in real-time. If a phrase is repeated, it pulls from memory instantly with 0ms delay, drastically reducing API rate limits.
* **Robust Data Storage:** Fully supports both flat-file YAML and remote MySQL databases for saving player language profiles.
### Commands & Permissions
* `/ol accept` - Toggles auto-translation on/off. *(Permission: omnilingua.user.use)*
* `/ol lang <code>` - Sets a player's native language (e.g., es, fr, de). *(Permission: omnilingua.user.use)*
* `/ol spy` - Toggles the side-by-side original text view. *(Permission: omnilingua.staff.see)*
* `/ol test <code> <text>` - Pings the active API engine directly to verify connections. *(Permission: omnilingua.admin)*
* `/ol reload` - Hot-reloads the config and clears the memory cache. *(Permission: omnilingua.admin)*
### Quick Setup
1. Drop `OmniLingua-1.0-SNAPSHOT.jar` into your `plugins` folder.
2. Restart the server.
3. Open the generated `config.yml` to choose your engine (FREE or DEEPL).
4. You are done! New players will default to your server's native language until they set their own.
---
**Developed by Dhanraj** | *Support the project via Patreon!*