🌍 Localization
Voidium supports English and Czech locale presets. Every user-facing message can be customized per config file, and one-click locale presets let you switch all messages at once.
Quick Navigation
⚙️ How It Works
Voidium does not use a separate language file. Instead, every message is a config field in its respective config file (e.g., discord.json, restart.json, tickets.json).
The LocalePresets class provides complete sets of translated values for each module:
| Module | Config File | Translated Fields |
|---|---|---|
| General | general.json |
modPrefix |
| Discord | discord.json |
20+ fields: kick messages, link messages, bot responses, status messages |
| Announcements | announcements.json |
prefix, announcements[] |
| Ranks | ranks.json |
promotionMessage |
| Votes | vote.json |
announcementMessage |
| Tickets | tickets.json |
11 fields: ticket created/welcome/close messages, MC messages |
| Restart | restart.json |
warningMessage, restartingNowMessage, kickMessage |
| Entity Cleaner | entitycleaner.json |
warningMessage, cleanupMessage |
| Stats | stats.json |
reportTitle, reportPeakLabel, reportAverageLabel, reportFooter |
| Player List | playerlist.json |
headerLine1–3, footerLine1–3 |
Supported Locales
| Code | Language |
|---|---|
en |
English (default) |
cz |
Czech |
🔄 Applying a Locale
Via Web Panel (Recommended)
- Open the Config Studio in the web panel
- Use the Locale Preset dropdown (or call
/api/config/locale) - Select
enorcz - All modules’ messages will be updated and saved immediately
Via In-Game Command
/voidium locale <en|cz>
This calls applyLocale() on every config class, overwriting all message fields and saving each config file.
Manually
Edit individual config files in config/voidium/ and change specific message fields. This gives you full control — you can mix languages or write completely custom messages.
📝 Placeholders
Messages support dynamic placeholders using the %name% syntax. Each message field has its own set of available placeholders:
Common Placeholders
| Placeholder | Available In | Value |
|---|---|---|
%player% |
Discord, Ranks, Votes | Minecraft player name |
%user% |
Discord chat bridge | Discord username |
%message% |
Chat bridge | Chat message text |
%code% |
Discord whitelist | 6-digit linking code |
%max% |
Discord linking | Max accounts per Discord user |
%online% |
Channel topic | Online player count |
%uptime% |
Channel topic | Server uptime |
%days%, %hours%, %minutes% |
Uptime format | Uptime components |
%rank% |
Ranks | Rank name |
%time% |
Restart warning | Time until restart |
%count% |
Entity Cleaner | Number of entities removed |
%voter% |
Votes | Voter’s player name |
Placeholders are replaced at runtime via String.replace(). If a placeholder isn’t replaced, it appears as-is in the message — this helps debug typos.
✏️ Custom Messages
You can customize any message by editing the config field directly:
Example: Custom restart warning
In restart.json:
{
"warningMessage": "&c&l⚠ SERVER RESTART in %time%! Save your builds!",
"restartingNowMessage": "&4Server is restarting NOW!",
"kickMessage": "Server is restarting. Please reconnect in a moment."
}
Example: Custom Discord link success
In discord.json:
{
"linkSuccessMessage": "✅ Successfully linked to **%player%**! Welcome aboard."
}
Color Codes
All in-game messages support & color codes:
| Code | Result | Code | Result |
|---|---|---|---|
&0–&9 |
Colors (black–blue) | &l |
Bold |
&a–&f |
Colors (green–white) | &o |
Italic |
&n |
Underline | ||
&r |
Reset |
Web Panel Language
The web panel UI language is controlled separately via web.json:
{
"language": "en"
}
Set to "cz" for Czech UI labels in the Config Studio and dashboard.
Related Pages
- Configuration — All config files reference
- Web Control Panel — Config Studio documentation
- Discord — Discord bot messages