Supported engine · Electron VN
Some Japanese visual novel studios ship their games as custom Electron apps that aren't TyranoBuilder — a JavaScript renderer plus a bundled Chromium runtime, packaged into resources/app.asar. RuneTranslate's Electron VN adapter is the catch-all for these: it reads and repacks app.asar via @electron/asar, translates known content files (files/text.js, html/chat.html), and runs a generic JP-text scanner over .js, .html, .json, and .ks files in the archive. The output is a modified app.asar that drops back into resources/ — no patching of the Electron runtime needed.
Custom Electron VNs ship in bespoke layouts — RuneTranslate's generic source-text scanner (tuned for Japanese, but it picks up other source languages too) can find the strings, but it can't know which ones are speaker names vs free-form dialogue. Lock the cast in the glossary so the heuristic-extracted bits stay consistent: every name in the chat panels, every named system message, and any in-world terminology. Once the glossary is set, you can re-run the translation with a different provider and the named entities still match the previous run. Glossary 101 →
Point RuneTranslate at the game directory containing the Electron .exe. The adapter looks for resources/app.asar and confirms it's NOT a TyranoBuilder layout (which has a dedicated adapter). Read access via @electron/asar — no manual unpacking needed.
The generic scanner walks every .js, .html, .json, and .ks file inside the asar and pulls out source-language string literals (Japanese by default; any supported source language). Known-format files (files/text.js, html/chat.html) get structured extraction; unknown files get the heuristic scanner. Binary files are skipped.
Pick a provider — Anthropic Claude and OpenAI GPT-4o are strongest on the conversational JS-embedded strings these shells tend to use. DeepL is a solid fallback. Free Google Translate works for short UI strings via provider routing.
On export, RuneTranslate writes a modified app.asar with the translated strings baked in. Drop it back into the game's resources/ folder. The translated build runs in the original Electron runtime.