Your Minecraft server,
in every language.

Babel is a Paper plugin that translates everything the server sends — chat, menus, holograms, scoreboards — for each player, in real time. No client mod. Works with every other plugin you already run.

58
languages
0
client mods
1 line
in config.yml
babel://streamlive
ES<Player1>hola a todos·JA<Steve_42>誰か交換したい?·DE<Alex>verkaufe diamanten·ZH<MineKing>出生点在哪·FR<BlockBoy>bonne chance·ES<Crafter>tienda cerrada·JA<PixelPro>ありがとう·DE<Redstone>pass auf·FR<ZeroOne>à plus tard·ZH<Skywarrior>建得真好·
ES<Player1>hola a todos·JA<Steve_42>誰か交換したい?·DE<Alex>verkaufe diamanten·ZH<MineKing>出生点在哪·FR<BlockBoy>bonne chance·ES<Crafter>tienda cerrada·JA<PixelPro>ありがとう·DE<Redstone>pass auf·FR<ZeroOne>à plus tard·ZH<Skywarrior>建得真好·
EN · ES · FR · DE · JA · KO · ZH · AR · HI · PT · IT · RU · NL · PL · TR · VI · TH · ID · SV · DA · FI · UK · CS · HE · EL · RO · HU · EN · ES · FR · DE · JA · KO · ZH · AR · HI · PT · IT · RU · NL · PL · TR · VI · TH · ID · SV · DA · FI · UK · CS · HE · EL · RO · HU ·

See it switch.

Type a message on the left. The right panel is what a player on a different client locale sees — translated before the packet ever leaves the server.

Client locale
server / englishEN
<Player1>hi everyone
<Steve_42>anyone want to trade
<Alex>selling diamonds
>
client / esES
<Player1>hola a todos
<Steve_42>¿alguien quiere comerciar?
<Alex>vendiendo diamantes
babel://translate · cache 92% · ES
Try:

Three moves, four minutes.

  1. 01

    Create your account

    Sign up at babelmc.com with an email and password. Takes ten seconds, no credit card.

  2. 02

    Generate a server key

    From your dashboard, create a key for each server. Paste it into Babel's config.yml and reload. The key locks to that server on first use.

  3. 03

    Players pick their language

    In-game, players run /babel lang and pick a flag. From that moment every message they see — from any plugin — renders in their language.


Everything the server sends.

Babel hooks the outgoing packet, so anything any plugin renders to a player passes through the same translation layer — no per-plugin integration.

Hooked at the protocol layer.

OUTChatPacket { "anyone want to trade" }
HOOKBabel intercept · target=es
CACHEhit · key=phr.5e9
OUTChatPacket { "¿alguien quiere comerciar?" }

Three-tier fallback.

Live API → local cache → offline dictionary → source text. No frozen menus, ever.

LiveCacheDictSrc

Keys lock to one host.

First successful request claims the hostname. Regenerate from the dashboard to move it.

$ babel status
key bblmc_live_••••
→ bound mc.example.com

Twelve packet types.

  • Global and private chat
  • Action bars and titles
  • Boss bars
  • Tab list header and footer
  • Inventory and GUI titles
  • Item names and lore
  • Book pages
  • Signs, front and back
  • Scoreboards
  • Team prefixes
  • Villager trades
  • Holograms

Answers.

Do players need to install anything?+

No. Babel runs entirely on your server. Any vanilla 1.20.4 – 1.21.x client just works.

Does it translate other plugins' text?+

Yes — that's the whole point. Babel hooks outgoing packets, so EssentialsX, CMI, shop GUIs, quest plugins, cosmetics, all pass through the same translation layer automatically.

Can I share one key across servers?+

No. Each key binds to the first server's hostname or IP that successfully uses it. Regenerate from the dashboard to move a key to a different server.

What if the translation service is briefly unreachable?+

Babel falls back to its offline dictionary and local cache, and ultimately to the source text. No crashes, no frozen menus.

Free key in under a minute.