Languages

The 18 bundled languages, how NexusShout picks each player's language, and how to edit or add a translation.

NexusShout's own messages, such as cooldown and filter warnings, come from language files in plugins/nexusshout/locales/ (plugins/NexusShout/locales/ on BungeeCord). The chat format, the private message formats, and Discord text are set in config.yml and discord.yml instead.

Bundled languages

FileLanguage
ar_SA.ymlArabic
de_DE.ymlGerman
en_US.ymlEnglish (US)
es_ES.ymlSpanish (Spain)
fr_FR.ymlFrench
hi_IN.ymlHindi
id_ID.ymlIndonesian
it_IT.ymlItalian
ja_JP.ymlJapanese
ko_KR.ymlKorean
nl_NL.ymlDutch
pl_PL.ymlPolish
pt_BR.ymlPortuguese (Brazil)
ru_RU.ymlRussian
sv_SE.ymlSwedish
tr_TR.ymlTurkish
vi_VN.ymlVietnamese
zh_CN.ymlChinese (Simplified)

How the language is picked

  • With detect-player-language: true (the default), each player sees messages in their Minecraft client language when a file for it exists.
  • The file name must match the client language and region exactly. A player using Spanish (Mexico) gets the fallback, not es_ES.yml. Add es_MX.yml to cover them.
  • The fallback is the default-locale file (en_US by default). It is also used for the console, and for everyone when detect-player-language is false. If no file matches default-locale, en_US.yml is used and a warning is logged.
  • When a key is missing from a player's file, the default-locale text is used, then the en_US text. When it is missing there too, the key name itself is shown.

Editing messages

  • Edit any file, then run nshoutreload.
  • Messages use the formatter from config.yml, so & codes, MiniMessage tags, or both work the same way as in format.
  • Your edits are kept when you update. New keys are added to the end of the bundled files on start.
  • A bundled file you delete comes back with default text on the next start or reload.

Keys

KeyShown whenPlaceholders
no-permissionThe player is missing a permission
cooldownThe player is on cooldown{time}, {unit}
players-onlyThe console runs a player command
server-disabledGlobal chat is used on a server not in enabled-servers
empty-messageThe message is empty, or /gchat has no message while toggle mode is off
global-chat-enabled, global-chat-disabledGlobal chat mode is turned on or off
player-mutedA muted player uses global chat
anti-flood, anti-spam, anti-capsA filter stops the message
player-not-foundThe private message target is offline or vanished{name}
cannot-message-selfA player messages themselves
no-reply-targetThe reply command has no one to reply to
pm-usageThe message command is used without a player and a message{label}
reply-usageThe reply command is used without a message{label}
pm-disabledPrivate messages are turned off
pm-mutedA muted player sends a private message
second, seconds, minute, minutesTime units in the cooldown message
time_formatCooldown time of a minute or more with leftover seconds{minutes}, {minutes_unit}, {seconds}, {seconds_unit}
  • {label} is the command the player typed, so pm-usage shows /nms when they used /nms.
  • For waits like "1 minute 30 seconds", {time} is empty and {unit} holds the whole time_format text.

Adding a language

  1. Copy en_US.yml and name it after the client language, for example es_MX.yml or pt_PT.yml.
  2. Translate the text. Keep the keys and the {placeholders} as they are.
  3. Run nshoutreload.

Files you add are not updated by NexusShout. When a new version adds a key, your file shows the en_US text for it until you add the key yourself. The changelog lists new keys.