EnginesGuidesFAQPatreonDiscordDownload
Sign in
RuneTranslate · translate Japanese games end-to-end
EnginesGuidesCompareImage textSave editorCheat ModeFAQDownloadPatreonDiscordYouTubePrivacyTermsContact
All engines

Supported engine · TyranoBuilder / TyranoScript

Full — rebuilt & played

TyranoBuilder translator — translate TyranoBuilder and TyranoScript visual novels

TyranoBuilder (and the underlying TyranoScript) is a Japanese visual novel engine popular for indie releases on itch.io, DLsite, and Steam. RuneTranslate detects both Electron-wrapped builds (resources/app.asar containing tyrano/tyrano.js + data/scenario/*.ks) and HTML5-standalone builds (loose files at root). It translates every .ks scenario file (including _preview.ks and system/_*.ks mirrors used by encrypted-build games), tyrano/lang.js for UI strings, data/system/Config.tjs for config strings, AND injects character display names into a chara_define.ks block — inline [<JP-id>] speaker shorthand becomes proper [chara_new name=... jname=...] entries automatically. Combine with the Supporter-tier Glossary feature to lock every character name in the cast list to a specific rendering before the first translation batch runs. Source language defaults to Japanese but is a per-project setting — Chinese, Korean, English, and more all work, so a non-Japanese Tyrano build extracts the same way.

Glossary tip for this engine

TyranoBuilder's character-name injection already gives you a clean shortlist of speakers — but everything else in the script (place names, organization names, signature jutsu / spell names) still drifts by default. Add those to the glossary. Inline KAG tags ([r], [p], [font color=...]) are tag-masked so glossary substitutions never accidentally clobber an inline directive — a common failure mode of hand-edited tyrano translations. Glossary 101 →

Download RuneTranslate for Windows

How to translate TyranoBuilder / TyranoScript

  1. STEP 1

    Open the TyranoBuilder game folder

    Point RuneTranslate at the game root. Engine detection handles both layouts: Electron-wrapped (resources/app.asar containing tyrano/) and HTML5-standalone (data/scenario/ at the root). For Electron builds RuneTranslate reads + repacks app.asar transparently via @electron/asar.

  2. STEP 2

    Extract scenarios, UI strings, and character names

    RuneTranslate scans data/scenario/**/*.ks (including _preview.ks and the system/_*.ks mirrors that encrypted builds use), tyrano/lang.js for engine UI, and data/system/Config.tjs for config-level strings. Inline KAG tags ([r], [p], [改ページ], [font color]) and Japanese-named tags are masked via a Unicode-aware regex so the LLM can't corrupt them.

  3. STEP 3

    Inject character display names

    When the scenario uses inline [<JP-id>] speaker shorthand without matching chara_define.ks entries, RuneTranslate generates a chara_define.ks block with [chara_new name="<EN>" jname="<JP>"] entries — preserving the engine's character lookup. Inline references stay untouched, so saves and CG galleries still match.

  4. STEP 4

    Export the translated build

    For HTML5 builds, RuneTranslate writes modified .ks files in place. For Electron builds, the modified app.asar is repacked. Binary / encrypted .ks files (detected via UTF-8 sniff) are never overwritten. The translated build runs in TyranoBuilder identically to the Japanese original.

Supports

  • TyranoBuilder Electron-wrapped builds (resources/app.asar)
  • TyranoBuilder HTML5-standalone builds
  • TyranoScript projects (loose data/scenario/ at root)
  • All .ks scenarios including _preview.ks and system/_*.ks mirrors
  • tyrano/lang.js UI strings
  • data/system/Config.tjs config strings
  • Character display name injection into chara_define.ks
  • KAG inline tags ([r], [p], [改ページ], [font]) preserved

Limitations

  • Binary / encrypted .ks files (non-UTF-8) are detected and skipped, not translated
  • Custom plugins with non-standard string formats may need hand-fix

Related reading

The full TyranoBuilder / TyranoScript translation walkthrough
Read the guide →

Related reading

RuneTranslate vs MTool
Read the guide →

Other supported engines

GettextRPG MakerRPG Maker XP/VX/AceRen'PyKirikiriWolf RPGElectron VNUnityBakinSRPG StudioNScripterGodotArtemisYU-RISAliceSoftUnrealLiveMaker