promotional bannermobile promotional banner

Server I18n API (Reborn)

26.1+ Port for Server I18n API

Server I18n API (Reborn)

This is a server-side only mod API to provide I18n for server-side only mods.

Its a modding library; you won't expect any visual effect without installing dependents.

Language detection is automatic when sending message to player(s).

Upstream: CodeOfArdonia/ServerI18nAPI

This is a fork of Server I18n API for 26.1+ support.

Guide for developers

You need to put language JSONs in data/<mod id>/lang/<language>.json, filling in key-value pairs. Lang files in assets folders are ignored by ServerI18n.

API: ServerI18n.java class.

Examples:

// 1. Translate a key into a specific player's language with positional arguments
String msg = ServerI18n.translate(player, "chat.welcome", "Steve", 5);
// player's language (e.g., "zh_cn") -> "欢迎回来, Steve! 你有5条新消息。"

// 2. Send a translated system message to the command source (player or console)
ServerI18n.sendMessage(stack, "foo.command.success", "backup.zip");
// If stack is a player, uses their language; otherwise falls back to en_us.

// 3. Get raw translation without applying String.format (e.g., for custom formatting)
String raw = ServerI18n.translateRaw("fr_fr", "bar.gui.button.confirm");
// raw = "Confirmer" (if exists), otherwise fallback to en_us or the key itself.

// 4. Broadcast a message to all online players using the server instance
ServerI18n.broadcast(server, "announcement.maintenance", "10:00", "12:00");
// Each player receives the message in their own language.

// 5. Use default language (en_us) explicitly for console or fallback
Component comp = ServerI18n.translateToLiteralDefault("baz.error.file_not_found", "config.yml");
// comp is a literal Component with English text: "File not found: config.yml"

The Server I18n API (Reborn) Team

profile avatar
  • 1
    Followers
  • 10
    Projects
  • 1.1M
    Downloads

More from teddyxlandleeView all