Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Patchlator
A client-side Fabric mod that live-translates Wynncraft dialogue into your language — directly inside the custom dialogue HUD, preserving the original layout pixel-perfectly.
- Minecraft 1.21.11 and 26.1.x (separate jar per version) · Fabric Loader ≥ 0.18.1 · Fabric API
- Works with Google Translate (no key needed) or DeepL; the target language follows your game language by default
- Translates the dialogue body and choice options; hand-curated entries in a local table override machine translation
- Optional logging of every original line (with NPC name) for building that table
- Toggle key, hold-to-show-original key, in-game settings screen
- Hooks the final overlay sink, so it stays compatible with mods that rewrite the actionbar (e.g. Wynntils)
How to use
-
Drop the jar into
.minecraft/modstogether with Fabric API. -
Join Wynncraft. Dialogue is translated automatically once the typewriter animation settles.
Key (rebindable) Action F8 Open the settings screen F7 Toggle translation on/off G (hold) Show the original text -
Press F8 — or use the ModMenu config button — to open the settings screen:
Setting Description Translation Master on/off switch (same as the toggle key) Translator Google Translate / DeepL Google API Key Optional. Empty = unofficial free endpoint, set = official Cloud Translation v2 DeepL API Key Required for DeepL. Keys ending in :fxuse the free hostSource language auto= detectTarget language auto= follow the game language; the label hints the code for your language (e.g.fr,ja,zh-CN)Settings persist in
config/patchlator.json. -
To collect sentences for the translation table, launch with
-Dpatchlator.log=true— original dialogue (plus translations) is then appended to.minecraft/patchlator.log. The player name is normalized to<playername>so entries are reusable:time=… npc="Rusty Bartender" text="Would you like a Nemract Whiskey?" choice0="Yes." choice1="No, thank you." time=… translated npc="Rusty Bartender" text="Yes." result="Oui." -
To curate translations by hand, add entries to
config/patchlator/translations.json— they take priority over machine translation (reloaded when you save the settings screen):{ "Would you like a Nemract Whiskey?": "Tu veux un whiskey de Nemract ?", "Greetings, <playername>!": "Salutations, <playername> !" }
Building
Requires JDK 25 for the Gradle JVM (sources target Java 21 / 25 per Minecraft version).
./gradlew build -PmcVer=1.21.11 # → build/libs/patchlator-<v>+1.21.11.jar
./gradlew build -PmcVer=26.1.2 # → build/libs/patchlator-<v>+26.1.2.jar
One shared codebase written against Mojang mappings targets both versions:
for 1.21.11 the fabric-loom-remap plugin remaps the jar to intermediary
names; 26.1+ is unobfuscated, so the plain fabric-loom plugin builds it
directly (one jar cannot run on both sides of that boundary). Per-version
settings live in versions/<ver>.properties, and the few APIs that differ
are isolated in src/compat-remap / src/compat-modern (one Compat class
each). Supporting a future version is adding a properties file and, if APIs
moved, a compat variant.
Fonts
Translated text is rendered with bundled fonts (swappable via
-Dpatchlator.replacementFont):
- Pretendard — Latin, Hangul, Cyrillic, Greek
- Noto Sans SC (Medium, subset to CJK ranges) — kana, Han ideographs, CJK punctuation
Together they cover all languages shipped in the mod's lang/ files.
License
MIT. Bundled fonts are licensed under the SIL Open Font License 1.1.

