TranSKator by Moderocky

Support for translated messages via Minecraft's built-in language system.

















Bug Fix 1508 days, 16 hours and 46 minutes ago

Minor bug fix.

View Update

Fixes and Improvements 1565 days, 22 hours and 33 minutes ago

Some background fixes to try and avoid component parsing errors have been added to this version.

One of the libraries has also been updated.

A few new syntaxes are being tested here, but they are currently unfinished. You can expect to see their full implementation very soon. :)


  • Translated action bars (beta)

  • Translated boss bars, scoreboards and tablist features

View Update

Lore Translations & Inventory Names! 1648 days, 2 hours and 26 minutes ago

This update adds several new syntax patterns.

Firstly, it's no longer required to specify a complex or simple translation pattern.

send [complex] translated [message[s]] %strings% with [(attachment[s]|input[s])] %strings% to %players%

send [simple] translated [message[s]] %strings% to %players%

On top of that, this addon now has support for translations in item lore and inventory names (currently just chest name).

Item lore uses the new translation style, which can be found below:
"[inputs='hello there!','another input!']"

Item lore syntaxes:
# Set an individual line.
# Will preserve existing lore/components where possible.
set line %number% of %itemtype%'[s] lore to translated %string%

# Get an item with a set lore.
%itemtype% with translated lore %strings%

Create a chest inventory with a translated name:

[a] [new] chest with [simple] translat(ed|able) name %string%

[a] [new] chest with [complex] translat(ed|able) name %string% with [(attachment[s]|input[s])] %strings%

Convert a list of strings into the new lore translation key format:
[the] converted [translation] key %strings%

The first list entry will be used as the key. The subsequent ones (if they exist) will be inputs.

View Update

TranSKator 1657 days, 21 hours and 24 minutes ago


This addon adds a few new expressions and effects. It's incredibly simple but fills a small gap in the market for people who want to support multiple languages.

Minecraft has a built-in language system for translations, which is used for item names, system messages, et caetera.
It is also able to be used by plugins, mods and servers through the use of custom language entries in a resource pack. This allows servers to offer automatic message translation and other incredibly useful little bits and pieces.


  • Skript (ideally 2.4+)
  • Spigot (1.13+)
  • Spigot 1.15+ (for lore translations/inventory names)


send [simple] translated [message[s]] %strings% to %players%
send [complex] translated [message[s]] %strings% with [(attachment[s]|input[s])] %strings% to %players%

[the] converted [translation] key %strings%

[a] [new] chest with [simple] translat(ed|able) name %string%
[a] [new] chest with [complex] translat(ed|able) name %string% with [(attachment[s]|input[s])] %strings%

set line %number% of %itemtype%'[s] lore to translated %string%
%itemtype% with translated lore %strings%

# Note:
# Item lore uses a special translation string format.
# "[inputs='hello there!','another input!']"
# You can generate these with the Converted Key expression.


send translated "translation.test.none" to player
# This will send the language entry "Hello, world!" in the player's locale.
# This entry is already built in to Minecraft.

#send complex translated "translation.test.args" with inputs "Hello" and "there" to player
# This will send one of the other translation tests, '%s %s' to the player.
# The two input points (marked with the %s) will be replaced by the inputs, in order.

send complex translated "translation.test.args" with inputs "1", "2" and "3" to player
# This will send the same as above, with the inputs 1 and 2.
# Notice that the third input, "3", is ignored.
# This is because the translation has only two input points.
# You can use this for when you want additional inputs for certain languages but not others.

send complex translated "" with input "hi" to player
# Unless you have specified this in a resource pack, it will simply send that string.
# The player will receive ''.
# If you specify a custom language entry in the player's locale file (en_us.json by default) then they will receive that instead.

send complex translated "death.fell.assist" with input "player1" and "player2" to all players
# The language entry for this message is: "%1$s was doomed to fall by %2$s"
# By using a specified input order (namely %1$s and %2$s instead of simply %s) you are able to make sure that the inputs are put in the correct order.
# This is useful for language translations where some languages might use a different word order.
# For example, the english "A was killed by B" might be better translated in the order "B killed A" in another language, and in this case you can specify the order of inputs.


If you've found a bug or issue, please contact me on discord at Moderocky#0001 or find me on my projects discord here.

This addon supports only 1.13+ due to using an API built for 1.13+. I will not be providing any support for versions older than this. If you get it to work on an older version then lucky you, but do not expect it to work perfectly.
The tested version is and always will be the latest stable release of Minecraft.


View Update

© Copyright 2014-2024 skUnity

All rights reserved.