引擎指南FAQPatreonDiscord下载
登录
RuneTranslate · 端到端翻译日式游戏
引擎指南对比图片文字存档编辑器作弊模式FAQ下载PatreonDiscordYouTube隐私政策服务条款联系我们
全部文章
tyranobuilder · tutorial · engine

如何将 TyranoBuilder / TyranoScript 游戏翻译成英语

2026年6月9日·5 分钟阅读

用 RuneTranslate 翻译 TyranoBuilder / TyranoScript 视觉小说 —— 提取 data/scenario/*.ks 脚本、屏蔽 KAG 标记、翻译角色显示名,并导出一个可玩的 HTML5 或 Electron 构建。

TyranoBuilder 和底层的 TyranoScript 引擎支撑着一大批独立日语视觉小说 —— 它是 Kirikiri 和 Ren'Py 的 Web 技术(HTML5 / JavaScript)替代品,发布形式要么是独立的 HTML5 文件夹,要么是 Electron 封装的可执行文件。它的剧本使用与 Kirikiri 相同的 KAG 风格 .ks 语法,所以一旦你知道文本住在哪里,就很容易触及。本指南带你端到端地用 RuneTranslate 翻译一个 TyranoBuilder 游戏,包括大多数工具漏掉的部分:角色显示名。

你需要准备什么

  • Windows 版 RuneTranslate —— 免费,每一种引擎和翻译服务都已解锁。
  • 一个 TyranoBuilder 游戏:一个独立的 HTML5 文件夹(松散的 data/ 和 tyrano/ 目录),或一个 Electron 构建(一个承载 tyrano/tyrano.js 和 data/scenario/*.ks 的 resources/app.asar)。RuneTranslate 两者都检测。
  • 一个目标语言 —— 英语、西班牙语、法语、德语、中文,以及 30 多种其他语言。
  • 一个翻译服务。视觉小说对话量大,所以 LLM(OpenAI / Anthropic)或 DeepL 读起来最好;免费的 Google Translate 开箱即用。

第 1 步:打开游戏文件夹

启动 RuneTranslate,点击 新建项目,把它指向游戏目录(Electron 构建则指向含 .exe 的文件夹)。检测会从它的 tyrano/ 运行时加上 data/scenario/ 脚本识别出 TyranoBuilder;对于 Electron 构建,它直接读取 app.asar,所以你从不拆包任何东西。你的原始游戏永远不会被修改。

第 2 步:字符串如何被提取

RuneTranslate 从 TyranoBuilder 存储文本的每一处拉出可翻译文本:

  • 剧本脚本 —— 每一个 data/scenario/**/*.ks 文件,包括 _preview.ks 和加密构建所依赖的 system/_*.ks 镜像。
  • UI 和配置 —— tyrano/lang.js 和 data/system/Config.tjs。
  • 角色显示名 —— 对话上方显示的说话者标签(下一节)。

KAG 内联标记 —— [r] 换行、[p] 点击等待、[改ページ] 分页、[font color=...],以及日语命名的标记 —— 在任何东西到达翻译服务之前被屏蔽在数字 [[U#]] 占位符之后,然后在导出时被还原,于是格式原封不动地保留。二进制或加密的 .ks 文件通过一次 UTF-8 嗅探被检测到,并绝不覆盖。

第 3 步:角色名 —— Tyrano 特有的部分

剧本常常用一个内联简写来称呼说话者,比如 [yuki] —— 一个角色 ID,而非显示文本。RuneTranslate 从不改写那些引用(那会破坏引擎的角色查找并让场景崩溃)。取而代之,它翻译显示名,并在导出时把一个正规的 [chara_new name=... jname=...] 条目注入 data/system/chara_define.ks。屏幕上显示的名字被翻译;脚本使用的 ID 保持不动。

第 4 步:翻译并审校

选一个翻译服务并运行。一个 LLM(OpenAI / Anthropic)对角色声线读起来最好;DeepL 对旁白又快又干净;免费的 Google Translate 覆盖菜单。先给你的角色阵容和反复出现的术语建好术语表,让名字在每条路线上渲染得一模一样 —— 参见 术语表 101。每一行都落进编辑器里,紧挨它的源文;就地编辑(失焦或 Ctrl+Enter 时保存)、用查找替换,或运行可选的 AI 润色器 做一遍上下文感知的二次处理。免费档位在速度上被适度限流 —— 在 AI 服务上大约是付费吞吐量的一半 —— 输出质量完全相同。

第 5 步:导出可玩的版本

点击 导出。对于独立的 HTML5 游戏,RuneTranslate 会把译好的 .ks 脚本、lang.js、配置和注入的 chara_define.ks 写进游戏的一个副本。对于 Electron 构建,它重新打包一个修改过的 app.asar。无论哪种方式,你都在你选择的位置得到一个完整、可运行的副本 —— 启动它,它就用你的目标语言游玩。

已知的局限

  • 加密的 .ks 文件(被检测为非 UTF-8)保持不动,所以一个加密构建里的剧本不会翻译。
  • 图片文字(标志、手绘 UI、CG 说明)在机器翻译范围之外。
  • 在运行时构建对话的自定义插件可能需要在编辑器里快速手修。

为什么这比旧办法更容易

手动路线意味着拆开 app.asar、找到每一个 .ks 文件(包括易漏的系统镜像)、手工绕过 KAG 标记翻译、弄清角色名注入,然后在不损坏 asar 的情况下重新打包。RuneTranslate 把整条链折叠进点几下鼠标,同时保持编辑器打开,让你掌控措辞。

查看 TyranoBuilder 引擎页面了解完整功能清单,读 Kirikiri 指南看相关的 KAG 引擎,或下载 RuneTranslate在一个真实游戏上试一试。

相关阅读
01

如何翻译游戏的 .po 和 .mo 文件(gettext)

gettextpomoenginetutorial2026年8月4日 · 7 分钟
阅读 →
02

如何将 Godot 游戏翻译成英语

godotenginetutorial2026年6月17日 · 6 分钟
阅读 →
03

如何将 Ren'Py 游戏翻译成英语(完整教程)

renpytutorialengine2026年6月9日 · 6 分钟
阅读 →

准备好试用 RuneTranslate 了吗?

免费版即可解锁全部引擎 + 全部翻译服务商。支持者($3/mo)解锁全速翻译。

下载 Windows 版