Supported engine · Kirikiri / KAG
Kirikiri (and its scripting layer KAG) is the dominant Japanese visual novel engine — most adult VN releases from the last 15 years sit on it. RuneTranslate ships a full XP3 reader and writer plus 23 ported GARbro encryption schemes, per-file XOR descramble for scrambled scenarios, and smart extraction for ruby annotations, character names, button labels, glink text, and edit-field placeholders. The translated build emits loose files into scenario/ and data/scenario/, plus an AfterInit2.tjs path-priority hook that tells KrkrZ engines to load the loose translated files in preference to the original XP3 contents — so you never need to repack the archive. Character name consistency across the dozens of scenarios a Kirikiri VN typically ships? That's what the Supporter-tier Glossary feature is for — add the heroine's name once, every scenario file translates it the same way.
Kirikiri VNs typically spread their dialogue across dozens of separate scenario files, each translated in its own batch. Without a glossary, that's a recipe for the same character name drifting across chapters. Add every named speaker (especially ones whose name uses kanji that machine translators routinely flip-flop on), location names, and signature attack/spell terminology. Bonus: KAG inline ruby annotations are tag-masked, so glossary substitutions land correctly even on lines with [ruby] / [name] inline tags. Glossary 101 →
Point RuneTranslate at the directory containing the engine .exe (krkr.eXe, krkrZ.exe, etc.). Engine detection scans for XP3 archives + the .ks scenario format. The XP3 reader tries plain reads first, then iterates through the 23 ported GARbro encryption schemes until one validates.
RuneTranslate parses .ks scenarios with a KAG-aware tokenizer. Translatable strings are extracted from dialogue lines, [ruby], [ch], [name], [title], [button], [checkbox], and [edit text="..."] tags. Inline KAG tags ([r], [p], [改ページ], [font]) are masked as opaque placeholders so the LLM preserves them.
Pick a provider — DeepL is the workhorse for long Kirikiri scripts because of its pricing and JA→EN quality. OpenAI and Anthropic are strongest for dialogue with strong character voice. Free Google Translate handles menu strings cheaply via provider routing on Supporter / Pro tier.
On export, RuneTranslate writes scenario/ and data/scenario/ as loose files plus an AfterInit2.tjs hook into the game root. KrkrZ engines load that hook on startup and prepend the loose paths to the search order, so translated scripts win over the encrypted XP3 contents. The original archive stays untouched.