Skip to content

Language & Localization

InviteMe includes built-in support for multiple languages and fully editable message files.

CodeLanguage
enEnglish (default)
esEspañol
deDeutsch

Language files are stored at:

plugins/InviteMe/locales/
├── en.yml
├── es.yml
└── de.yml

These files are created automatically when InviteMe first starts. Edit them directly to customize messages.


The server language is set in config.yml:

# files automatically based on available files.

Currently InviteMe uses the locale files directly. All three files are active. Player-facing messages use the default locale unless a per-player language system is configured.


Edit plugins/InviteMe/locales/en.yml (or es.yml, de.yml).

Messages are organized in sections. Example structure:

invite:
add:
success: "<green>✓ {player} has been invited to the server!"
already-invited: "<red>✗ {player} is already invited."
limit-reached: "<red>✗ You've reached your invitation limit ({limit}/{limit})."
no-permission: "<red>✗ You don't have permission to invite players."
temp-success: "<green>✓ {player} has been invited for {days} days!"
remove:
success: "<green>✓ {player} has been removed from the server!"
not-found: "<red>✗ {player} is not in the invitation list."
with-reason: "<green>✓ {player} has been removed. Reason: {reason}"
list:
header: "<gold>Your Invitations ({count}/{limit}):"
entry-permanent: "<white>- {player} <gray>(permanent, invited {days} days ago)"
entry-temp: "<white>- {player} <gray>({remaining} days left, expires in {days} days)"
empty: "<gray>You haven't invited anyone yet."

Keep the {placeholder} variables intact — they’re replaced with real values at runtime:

invite:
add:
success: "<green>✓ {player} has been invited to the server!"
invite:
add:
success: "<aqua>🎉 Welcome {player}! They've been added to the whitelist."
/im reload

Changes take effect immediately — no restart needed.


InviteMe uses MiniMessage format for colors and styling:

FormatResult
<red>Red text
<green>Green text
<gold>Gold/yellow text
<aqua>Cyan text
<gray>Gray text
<white>White text
<bold>Bold
<italic>Italic
<underlined>Underlined
<click:run_command:/invite menu>text</click>Clickable text
<hover:show_text:'Tooltip text'>text</hover>Hover tooltip

Example with formatting:

invite:
add:
success: "<green><bold>✓</bold> <white>{player}</white> <gray>has been invited!</gray>"

  1. Copy plugins/InviteMe/locales/en.yml to a new file:

    plugins/InviteMe/locales/fr.yml
  2. Translate all values (keep all keys and {placeholder} variables unchanged)

  3. Reload:

    /im reload

Note: InviteMe will not auto-detect new language files unless the plugin is updated to include them. For now, adding a new locale file works for custom setups.


If you accidentally corrupt a locale file:

  1. Delete the file:

    rm plugins/InviteMe/locales/en.yml
  2. Reload InviteMe:

    /im reload

InviteMe will recreate the file with default messages.


When InviteMe starts, it checks locale files for missing keys. If your file is outdated after an update, you’ll see:

[InviteMe] WARNING: Missing keys in en.yml: invite.add.pending, invite.menu.page-info

Fix: Delete the locale file and reload to get a fresh copy with all keys, then re-apply your customizations.