Supported engine · Unreal Engine
Unreal Engine powers a huge and growing library of Japanese games — and packs them very differently from an RPG Maker or Ren'Py title. Unreal keeps its translatable interface text (menus, system messages, item and skill names, subtitles) in compiled .locres localization files, bundled inside one or more .pak archives — frequently AES-256 encrypted and Oodle-compressed — and, on modern UE5, inside IoStore .utoc / .ucas containers instead of loose paks. RuneTranslate reads all of it. It parses the .pak format in pure TypeScript, decrypting the archive with a key it recovers automatically by scanning the shipping .exe (or one you paste), reads the .locres entry for the language you're translating from, and lists every string. For UE5 IoStore games it unpacks the containers with a bundled copy of retoc (the open-source MIT IoStore tool). You translate with any provider, and on export RuneTranslate writes the translations back into the .locres and ships a small, unencrypted override pak — named with the _P 'patch' suffix so Unreal mounts it last and transparently replaces the original text, with no re-signing and no multi-gigabyte repack of the game. This is a newly added, best-effort engine: .locres covers the bulk of a game's UI / menu / system / subtitle text, but dialogue compiled into DataTables or cooked .uasset blobs is out of scope, and you should verify the translated build in-game before sharing. Source language is Japanese by default but configurable per project (Chinese, Korean, English, and more).
Unreal .locres text is keyed by namespace + key, and the same item, skill, or character name recurs across many entries. Glossary your recurring terms first so every menu and tooltip renders them consistently. Glossary 101 →
Point RuneTranslate at the game directory — the folder containing the .exe and a <Game>/Content/Paks folder of .pak (and/or UE5 IoStore .utoc / .ucas) archives. Engine detection recognises the Unreal pak footer and IoStore containers automatically; your original files are never modified.
If the paks are AES-encrypted, RuneTranslate recovers the key automatically by scanning the shipping .exe — or you can paste it (encrypted titles often publish their key on modding wikis) in the New Project dialog. Unencrypted games need nothing. UE5 IoStore containers are unpacked with the bundled retoc sidecar.
RuneTranslate lists every translatable string from the source-language .locres — menus, system text, item / skill names, subtitles — with Unreal’s {0} / {Arg} format tokens and <RichText> markup masked behind placeholders so a provider can’t mangle them. Translate with DeepL, an LLM (OpenAI / Anthropic), free Google Translate, or a local model; an optional AI-refiner second pass tightens phrasing.
On export, RuneTranslate writes your translations back into the .locres and builds a small, unencrypted override pak (named with the _P patch suffix) — plus a short README. It does NOT copy the whole multi-gigabyte game.
Copy the _P.pak into the game’s Content/Paks folder and launch. Unreal mounts patch paks last, so it replaces the original text with your translation — no re-signing or AES key needed. Confirm the menus read correctly in-game before sharing.