Skip to main content

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 the language setting in config.yml:
language
string
default:"en"
Sets the language for all plugin messages, command feedback, and UI elements.
language: en
After changing the language, reload the plugin:
/maintenance reload

Available Languages

The following languages are currently available:
CodeLanguageNative Name
enEnglishEnglish
deGermanDeutsch
frFrenchFrançais
ptPortuguesePortuguês
esSpanishEspañol
ruRussianРусский
zhChinese中文
itItalianItaliano
plPolishPolski
trTurkishTürkçe
svSwedishSvenska
ukUkrainianУкраїнська
jaJapanese日本語
daDanishDansk
koKorean한국어
huHungarianMagyar
viVietnameseTiếng Việt

Language Configuration Examples

English (Default)

language: en

German

language: de

Spanish

language: es

Japanese

language: ja

Chinese

language: zh

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 the language setting:
/maintenance on
# English: "Maintenance mode has been enabled."
# German: "Wartungsmodus wurde aktiviert."
# Spanish: "Se ha activado el modo de mantenimiento."

Custom Messages (Manual)

These are messages you configure in config.yml and must translate manually:
# English server
language: en
ping-message:
  messages:
    - "<red>Currently under maintenance<br><yellow>We will be back soon!"

# Spanish server
language: es
ping-message:
  messages:
    - "<red>Actualmente en mantenimiento<br><yellow>¡Volveremos pronto!"

Contributing Translations

The Maintenance plugin uses Crowdin for community translations. You can help improve existing translations or add new languages.

How to Contribute

  1. Visit the Crowdin Project: https://crowdin.com/project/maintenance
  2. Create a Crowdin Account (if you don’t have one)
  3. Select Your Language:
    • Choose an existing language to improve
    • Or request a new language if yours isn’t available
  4. Start Translating:
    • Review untranslated strings
    • Improve existing translations
    • Add context to help other translators
  5. Vote on Translations:
    • Upvote accurate translations
    • Downvote incorrect translations
    • Suggest better alternatives

Translation Guidelines

When translating, keep these guidelines in mind:
  • 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)

Maintenance mode will be enabled in %TIMER%

Spanish (Correct)

El modo de mantenimiento se activará en %TIMER%

Spanish (Incorrect - placeholder translated)

El modo de mantenimiento se activará en %TEMPORIZADOR%

Finding Missing Translations

If you notice untranslated messages:
  1. Check if you’re using the latest plugin version
  2. Verify the language code is correct in config.yml
  3. Report missing translations on the Crowdin project
  4. 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.comlanguage: en
  • proxy-es.example.comlanguage: es
  • proxy-de.example.comlanguage: de

Option 2: Custom Messages Only

Use a neutral language for plugin messages and customize player-facing messages:
language: en

ping-message:
  messages:
    - "<red>Maintenance<br><gradient:#fbffc2:#0fffff>Check Discord for updates"

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:
  1. Verify the language code is correct (case-sensitive)
  2. Reload the plugin: /maintenance reload
  3. Check plugin version: Ensure you’re using the latest version
  4. Review logs: Look for errors about missing language files
  5. 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:
  1. Ensure your server is using UTF-8 encoding
  2. Check that your console supports Unicode
  3. Verify your config.yml is saved with UTF-8 encoding

Inconsistent Translations

If some messages are translated but others aren’t:
  1. The translation may be incomplete on Crowdin
  2. You might be using a development version with new strings
  3. Check the Crowdin project to see translation progress
  4. 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

MiniMessage and Translations

All messages support MiniMessage formatting across all languages:
# English
language: en
ping-message:
  messages:
    - "<red>Under maintenance<br><gradient:#fbffc2:#0fffff>Back soon!"

# German  
language: de
ping-message:
  messages:
    - "<red>Wartungsarbeiten<br><gradient:#fbffc2:#0fffff>Bald zurück!"

# Japanese
language: ja
ping-message:
  messages:
    - "<red>メンテナンス中<br><gradient:#fbffc2:#0fffff>まもなく復旧!"
Use the MiniMessage Web UI to preview formatted text in any language.

Build docs developers (and LLMs) love