支持的引擎 · Unity
现代日语独立和同人游戏的一大部分 —— RPG、视觉小说和模拟作品 —— 发布在 Unity 上。RuneTranslate 翻译这些游戏外部化的文本:TextAsset 载荷(JSON / CSV / TSV / 纯文本剧本数据块)和打进 .assets、level 文件和 AssetBundles(含单包 data.unity3d 游戏)里的 MonoBehaviour 字符串字段,加上 StreamingAssets 下松散的脚本文件。一个捆绑的 UnityPy 运行时读写二进制资源,全部在一个每项目工作区里,让原始游戏保持不动。MonoBehaviour 文本在 Mono 和 IL2CPP 两种构建上都处理 —— Mono 上类型树来自游戏的 Managed/*.dll,IL2CPP 上 RuneTranslate 从 GameAssembly.dll + global-metadata.dat 重建它们(尽力而为;需要可解析的元数据)。它还解密 AES-CTR 加密的 Addressable bundles,并为 CJK 和其他文字注入一个非拉丁后备字体。范围之外:编译进游戏代码(Assembly-CSharp.dll)里的字符串字面量。在重新分发之前先在一个真实游戏上验证。
Unity VN/RPG 脚本通常作为 JSON 或 CSV 表外部化,所以角色名和反复出现的术语会在许多 TextAsset 里出现数百次。翻译服务会在批次之间不一致地改写它们。事先给主角、队伍、反复出现的 NPC、地名,以及任何招牌技能或系统术语建好术语表,让每一个 TextAsset 和 StreamingAssets 文件都把它们渲染得一模一样。 术语表入门 →
把 RuneTranslate 指向游戏目录(含 <Name>_Data 文件夹的那个)。引擎检测会寻找 globalgamemanagers / data.unity3d / resources.assets。捆绑的 UnityPy 运行时被自动使用 —— 无需单独安装 Python。
RuneTranslate 扫描序列化文件里源语言的 TextAsset 和 MonoBehaviour 字符串(默认日语;可按项目设任意支持的源语言),加上 StreamingAssets 下松散的脚本文件。结构化载荷(JSON / KAG / HTML)被切成一条条可翻译的行,让文件结构完整往返。
DeepL 是叙事对话的强力默认;OpenAI GPT-4o 或 Anthropic Claude 处理风格化台词和拟声词更好。免费的 Google Translate 或一个本地模型(Ollama / LM Studio)覆盖菜单字符串和物品名。翻译服务分流可以把短字符串分到一个便宜通道。
导出时,RuneTranslate 会复制游戏,并就地把译好的字符串写回资源文件和 StreamingAssets 脚本。译好的构建像原版一样运行 —— 无需手动摆弄资源。