Skip to main content

Messages Language Mapping

File: mods/Zuxaw_RPGLeveling/MessagesLanguageMapping.json This file contains all translatable text strings for the plugin. It was renamed from messages.json in version 0.2.0.

Overview

The file supports full localization and includes messages for:
  • Stat names and descriptions — Health, Stamina, Damage, Defense, etc.
  • HUD messages — Level, XP progress, zone names
  • GUI labels and buttons — Stat allocation, navigation, confirmations
  • Error messages — Invalid commands, permission errors
  • Notification messages — Level up, stat allocation, system messages
  • Command descriptions and responses — Help text, feedback messages

Translation Support

The plugin uses this file to support multiple languages. You can create a full translation by editing all text strings in this file.

Supported Languages

Any language can be supported by editing the text strings. Common translations include:
  • English (default)
  • French
  • Spanish
  • German
  • Portuguese
  • Russian
  • Japanese
  • Chinese
  • And more…

File Structure

The file is organized into logical sections:
{
  "Version": "0.2.0",
  "Stats": {
    "Health": "Health",
    "Stamina": "Stamina",
    "Damage": "Damage",
    "Defense": "Defense",
    ...
  },
  "HUD": {
    "Level": "Level",
    "XP": "XP",
    "Zone": "Zone",
    ...
  },
  "GUI": {
    "Title": "Stats",
    "AllocateButton": "Allocate",
    "ResetButton": "Reset",
    ...
  },
  "Commands": {
    ...
  },
  "Notifications": {
    ...
  }
}

Common Message Keys

Stat Names

{
  "Health": "Health",
  "Stamina": "Stamina",
  "Mana": "Mana",
  "Damage": "Damage",
  "Defense": "Defense",
  "Mining": "Mining",
  "Woodcutting": "Woodcutting",
  "StaminaRegenSpeed": "Stamina Regen Speed",
  "StaminaConsumption": "Stamina Consumption",
  "Ammo": "Ammo",
  "Oxygen": "Oxygen"
}

Stat Descriptions

{
  "HealthDesc": "Increases maximum health",
  "StaminaDesc": "Increases maximum stamina",
  "DamageDesc": "Increases damage to NPCs",
  "DefenseDesc": "Reduces damage taken (%, max 80%)",
  "MiningDesc": "Increases damage to stone/ore blocks",
  "WoodcuttingDesc": "Increases damage to wood blocks"
}

HUD Messages

{
  "Level": "Level",
  "XP": "XP",
  "Zone": "Zone",
  "LevelProgress": "{current} / {required}",
  "ZoneLevel": "Zone {id} (Lvl {min}–{max})"
}

GUI Labels

{
  "StatsGUITitle": "Stats",
  "AllocateButton": "Allocate",
  "ResetButton": "Reset",
  "AvailablePoints": "Available: {points}",
  "MaxReached": "Max reached"
}

Notifications

{
  "LevelUp": "Level Up! You are now level {level}",
  "StatAllocated": "Allocated {points} point(s) to {stat}",
  "StatsReset": "Stats reset successfully",
  "MaxLevel": "You have reached the maximum level!"
}

Command Messages

{
  "CommandHelp": "/lvl - Open stats GUI",
  "CommandInfo": "/lvl info - Show your level and stats",
  "NoPermission": "You don't have permission to use this command",
  "InvalidArgument": "Invalid argument: {arg}"
}

Example Translation (French)

Here’s an example of a partial French translation:
{
  "Version": "0.2.0",
  "Stats": {
    "Health": "Santé",
    "Stamina": "Endurance",
    "Mana": "Mana",
    "Damage": "Dégâts",
    "Defense": "Défense",
    "Mining": "Minage",
    "Woodcutting": "Bûcheronnage"
  },
  "HUD": {
    "Level": "Niveau",
    "XP": "XP",
    "Zone": "Zone"
  },
  "Notifications": {
    "LevelUp": "Niveau supérieur! Vous êtes maintenant niveau {level}",
    "StatAllocated": "{points} point(s) alloué(s) à {stat}",
    "StatsReset": "Statistiques réinitialisées avec succès"
  }
}

Placeholders

Many messages support placeholders that are replaced with dynamic values:
PlaceholderDescriptionExample
{level}Player level”You are now level 50
{points}Stat points”Available: 15 points”
{stat}Stat name”Allocated to Damage
{current}Current XP1250 / 2000”
{required}Required XP”1250 / 2000
{min}Min level”Zone 2 (Lvl 25–50)“
{max}Max level”Zone 2 (Lvl 25–50)“
{id}Zone/instance IDZone 3

Creating a Translation

To create a full translation:
  1. Copy the default MessagesLanguageMapping.json file
  2. Translate all text strings to your target language
  3. Keep the JSON structure intact (don’t change keys, only values)
  4. Test in-game to ensure all messages display correctly
  5. Share your translation with the community!

Formatting Tips

  • Keep placeholders intact{level}, {points}, etc. must remain as-is
  • Maintain similar length — Very long translations may not fit in UI elements
  • Use consistent terminology — Use the same word for “level”, “stat”, etc. throughout
  • Test thoroughly — Check HUD, GUI, commands, and notifications

File location and reload


See Also