Overview
The Maintenance plugin supports multiple languages for command feedback, messages, and user interface elements. All messages use MiniMessage formatting for rich text support.Changing Language
To change the plugin language, update thelanguage setting in config.yml:
Sets the language for all plugin messages, command feedback, and UI elements.
Available Languages
The following languages are currently available:| Code | Language | Native Name |
|---|---|---|
en | English | English |
de | German | Deutsch |
fr | French | Français |
pt | Portuguese | Português |
es | Spanish | Español |
ru | Russian | Русский |
zh | Chinese | 中文 |
it | Italian | Italiano |
pl | Polish | Polski |
tr | Turkish | Türkçe |
sv | Swedish | Svenska |
uk | Ukrainian | Українська |
ja | Japanese | 日本語 |
da | Danish | Dansk |
ko | Korean | 한국어 |
hu | Hungarian | Magyar |
vi | Vietnamese | Tiếng Việt |
Language Configuration Examples
English (Default)
German
Spanish
Japanese
Chinese
What Gets Translated
Changing the language affects:- Command feedback messages
- Error messages
- Success confirmations
- Help text and command descriptions
- Timer broadcast messages
- Join notification messages
- System messages
Custom messages you configure (like
ping-message, player-count-message, etc.) are NOT automatically translated. You must set these manually in your preferred language.Custom Messages vs Plugin Messages
Understand the difference between plugin messages and custom messages:Plugin Messages (Translated)
These are internal plugin messages that change based on thelanguage setting:
Custom Messages (Manual)
These are messages you configure inconfig.yml and must translate manually:
Contributing Translations
The Maintenance plugin uses Crowdin for community translations. You can help improve existing translations or add new languages.How to Contribute
- Visit the Crowdin Project: https://crowdin.com/project/maintenance
- Create a Crowdin Account (if you don’t have one)
-
Select Your Language:
- Choose an existing language to improve
- Or request a new language if yours isn’t available
-
Start Translating:
- Review untranslated strings
- Improve existing translations
- Add context to help other translators
-
Vote on Translations:
- Upvote accurate translations
- Downvote incorrect translations
- Suggest better alternatives
Translation Guidelines
- Preserve placeholders: Keep variables like
%TIMER%,%ONLINE%,%MAX%,%SERVER%unchanged - Maintain MiniMessage tags: Don’t translate tags like
<red>,<green>,<bold> - Match tone: Keep the same level of formality as the English version
- Test formatting: Ensure translations don’t break message formatting
- Context matters: Read the context provided for each string
- Be concise: Some messages have space limitations
Example Translation
English (Original)
Spanish (Correct)
Spanish (Incorrect - placeholder translated)
Finding Missing Translations
If you notice untranslated messages:- Check if you’re using the latest plugin version
- Verify the language code is correct in config.yml
- Report missing translations on the Crowdin project
- Temporarily use English while waiting for translations
Multi-Language Networks
If you run servers in different languages:Option 1: Separate Proxies
Run separate proxy instances with different language settings:proxy-en.example.com→language: enproxy-es.example.com→language: esproxy-de.example.com→language: de
Option 2: Custom Messages Only
Use a neutral language for plugin messages and customize player-facing messages:Option 3: Regional Servers
Use per-server maintenance with different language configurations on each backend server.Troubleshooting
Messages Still in English
If messages don’t change after setting a language:- Verify the language code is correct (case-sensitive)
- Reload the plugin:
/maintenance reload - Check plugin version: Ensure you’re using the latest version
- Review logs: Look for errors about missing language files
- Test with another language: Try a different language code to confirm the feature works
Special Characters Not Displaying
If special characters (é, ñ, ü, etc.) don’t display correctly:- Ensure your server is using UTF-8 encoding
- Check that your console supports Unicode
- Verify your config.yml is saved with UTF-8 encoding
Inconsistent Translations
If some messages are translated but others aren’t:- The translation may be incomplete on Crowdin
- You might be using a development version with new strings
- Check the Crowdin project to see translation progress
- Consider contributing missing translations
Language Files Location
Language files are embedded in the plugin JAR and loaded automatically. You don’t need to download or manage separate language files. The plugin handles:- Loading the correct language on startup
- Falling back to English for missing translations
- Caching translations for performance