支持的引擎 · Electron VN
一些日本视觉小说工作室会把游戏做成非 TyranoBuilder 的自定义 Electron 应用 — 一个 JavaScript 渲染器加上内置的 Chromium 运行时,打包进 resources/app.asar。RuneTranslate 的 Electron VN 适配器就是应对这些的通用方案:它通过 @electron/asar 读取并重打包 app.asar,翻译已知的内容文件(files/text.js、html/chat.html),并对归档中的 .js、.html、.json 和 .ks 文件运行一个通用的日文文本扫描器。输出是一个修改后的 app.asar,直接放回 resources/ 即可 — 无需给 Electron 运行时打补丁。
自定义 Electron VN 采用各自专属的布局 — RuneTranslate 的通用源文本扫描器(针对日语调优,但也能识别其他源语言)能找到字符串,却无法判断哪些是说话者名、哪些是自由格式的对话。在术语表里锁定角色,让启发式提取出来的部分保持一致:聊天面板里的每个名字、每条具名的系统消息以及任何世界观内术语。一旦设定好术语表,你可以换一家服务商重新翻译,具名实体仍会与上一次运行匹配。 术语表入门 →
将 RuneTranslate 指向包含 Electron .exe 的游戏目录。适配器会寻找 resources/app.asar,并确认它不是 TyranoBuilder 布局(后者有专用适配器)。通过 @electron/asar 读取 — 无需手动解包。
通用扫描器会遍历 asar 内的每个 .js、.html、.json 和 .ks 文件,并提取源语言字符串字面量(默认日语;任意受支持的源语言)。已知格式的文件(files/text.js、html/chat.html)走结构化提取;未知文件走启发式扫描器。二进制文件会被跳过。
选择一家服务商 — 对于这些外壳常用的、嵌入在 JS 中的对话式字符串,Anthropic Claude 和 OpenAI GPT-4o 表现最强。DeepL 是可靠的备选。免费的 Google Translate 可通过服务商路由处理短 UI 字符串。
导出时,RuneTranslate 会写出一个内嵌翻译字符串的修改版 app.asar。把它放回游戏的 resources/ 文件夹即可。翻译后的版本在原始 Electron 运行时中运行。