Localization
Multi-language support
Included Languages
| Code | Language |
|---|---|
en | English |
es | Spanish (Español) |
fr | French (Français) |
pt | Portuguese (Português) |
hu | Hungarian (Magyar) |
tr | Turkish (Türkçe) |
de | German (Deutsch) |
it | Italian (Italiano) |
ru | Russian (Русский) |
Changing Language
- Open
/xp→ Settings - Click your preferred language
- Changes apply immediately

Language preference is saved per-player.
Adding Custom Languages
- Navigate to
mods/mmoskilltree/localization/ - Copy
messages-en.jsontomessages-XX.json(e.g.,messages-ja.json) - Translate all values (keep keys the same)
- Run
/mmoconfig reloadlang - New language appears in Settings!
Message Structure
Language files use a flat key-value structure with placeholder support:
{
"language.name": "English",
"ui.button.close": "CLOSE",
"ui.button.back": "< BACK",
"ui.viewxp.title": "Skill Overview",
"ui.viewxp.level_prefix": "Lv. {0}",
"notify.xp_gain": "+{0} {1} XP",
"notify.level_up": "LEVEL UP! {0} is now Level {1}!",
"skill.mining": "Mining",
"reward.stat_health": "Max Health",
"reward.format.percent": "+{0}%",
"reward.format.flat": "+{0}"
}Message Categories
| Prefix | Description |
|---|---|
ui.* | UI labels, buttons, page text |
notify.* | XP gain, level up, combat notifications |
skill.* | Skill names |
reward.* | Reward type names and formats |
cmd.* | Command responses |
cmd.config.* | /mmoconfig command messages |
Placeholders
Use {0}, {1}, etc. for dynamic values:
"notify.xp_gain": "+{0} {1} XP"→ "+50 Mining XP""ui.viewxp.level_prefix": "Lv. {0}"→ "Lv. 42"
Hot Reload
/mmoconfig reloadlangReload all language files without server restart. New translations take effect immediately.
Fallback Behavior
- Missing keys fall back to English
- Players without skill data use English by default
- Raw keys are never shown to users
Sharing Translations
Language files are portable! Share your messages-XX.json with other servers or contribute to the community.
What's Localized
- All UI text (pages, buttons, labels)
- XP and level-up notifications
- Skill names
- Reward type names and descriptions
- Command responses and error messages
- Settings labels