Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Game Translate · 游戏本地化工具集

用本地大模型给游戏做中文本地化:为开源翻译器 AiNiee 增加原生键-值型 TSV 读写支持(适配文本在松散文件里的游戏),并提供一套 XUnity.AutoTranslator 运行时翻译流水线(适配标准文本的 Unity 游戏)。两条路线都接同一个 OpenAI 兼容的本地模型后端。

Python Platform Engine Unity License


概述

本项目是一套游戏中文本地化工具集,把本地大模型接入两条经过实战验证的翻译路线:

  • 路线 A · 文件型游戏 → AiNiee(已加 TSV 支持) 给 AiNiee 增加了原生键-值型 TSV 读写器:自动识别 .tsv,只翻第一个制表符之后的文本列,键列、[占位符]、字面量 \n、整体结构原样保留,输出 UTF-8 无 BOM。已完整汉化 R.E.P.O.(HUD/Menu/Game 共 603 行)。

  • 路线 B · Unity 游戏 → XUnity.AutoTranslator(运行时翻译) 对用标准文本组件渲染文字的 Unity 游戏,在运行时拦截文本并翻译;通过适配器 xuat_llm_shim.py 把 XUAT 的 CustomTranslate 协议桥接到本地模型。

在动手翻译前,先确认游戏是否已有官方中文(看 Steam 商店页语言列表)。大量 3A 大作自带官方简中,直接切语言即可。


下载使用(Windows,开箱即用)

打包好的 Windows 版可直接下载,无需自行构建:

  1. 到 Releases 下载 AiNiee_TSV_v1.0_win64.zip
  2. 解压后运行 AiNiee/AiNiee.exe(已内置原生 TSV 支持)
  3. 在「接口设置」里配置 OpenAI 兼容的模型后端,即可开始翻译

系统要求

项目 要求
操作系统 Windows 10 / 11
Python 3.12(从源码运行 / 打包用;用打包版则不需要)
翻译后端 任意 OpenAI 兼容接口(本地大模型 / 在线 API 均可)
路线 B 额外 BepInEx 5(新 Unity)或 ReiPatcher(老 Unity,.NET 3.5)

快速开始

路线 A:文件型游戏(AiNiee + TSV)

  • 用打包版:按上面「下载使用」运行 AiNiee.exe 即可(TSV 支持已内置)。
  • 从源码:进入 AiNiee-main/AiNiee-main/,装依赖后 python AiNiee.py;或 python Tools/pyinstall.py 打包成 exe(已配置打包 Resource/ 与 TSV 模块)。
  • 配好 OpenAI 兼容后端,把游戏的 .tsv 目录设为输入开始翻译,译文结构与占位符自动保留。

路线 B:Unity 游戏(XUnity.AutoTranslator)

  1. 选加载器:查 *_Data/Managed/mscorlib.dll 的 .NET 版本——v2.0.50727(老 Mono,如 Unity 5.3.x)用 ReiPatcher;v4.0.30319(.NET 4.x)用 BepInEx 5。
  2. 接本地模型:运行 python AiNiee_TSV/xuat_llm_shim.py 4404,并在 XUAT 配置里设 Endpoint=CustomTranslate、Url=http://127.0.0.1:4404/translate,Language=zh-Hans、FromLanguage=en、OverrideFont=Microsoft YaHei。
  3. 启动游戏:文本在运行时按需翻译。

完整步骤、踩坑与判断流程见 AiNiee_TSV/游戏翻译工具链_playbook.md。


文件结构

game_translate/
├─ README.md
├─ AiNiee-main/AiNiee-main/             # AiNiee 主程序源码(已集成 TSV 支持)
│  ├─ ModuleFolders/Domain/FileReader/TsvReader.py     # 新增:键-值型 TSV 读取器
│  ├─ ModuleFolders/Domain/FileOutputer/TsvWriter.py   # 新增:键-值型 TSV 写入器
│  ├─ ModuleFolders/Service/Cache/CacheProject.py      # 注册 ProjectType.TSV
│  ├─ Tools/pyinstall.py                # 打包脚本(已修复:打包 Resource 目录)
│  └─ …                                 # 其余为上游 AiNiee 源码
├─ AiNiee_TSV/                          # 配套工具链
│  ├─ 游戏翻译工具链_playbook.md          # 完整工具链手册 + 新游戏判断流程
│  ├─ xuat_llm_shim.py                  # XUAT CustomTranslate -> 本地模型 适配器
│  └─ REPO_translated/                  # R.E.P.O. 译文成果(Game/HUD/Menu.tsv)
└─ detect_game_engine.py                # 引擎检测小工具

不含 Python 虚拟环境与打包产物(dist/build/AiNiee.exe)——打包好的 Windows 版见 Releases,或用 Tools/pyinstall.py 自行构建。


使用方式:怎么判断一款游戏走哪条路

文本存储形式 走哪条路 能否翻译
松散文本文件(tsv/csv/json/po…) A:AiNiee ✅
Unity,标准文本组件渲染 B:XUAT ✅
文字是图片/纹理(像素美术报纸、标题 logo) — ❌ 任何工具都翻不了(除非手工重绘)
自绘字体 / 逐字打字机系统、每帧用原文重绘 — ❌ 能读取翻译但显示不出
已有官方中文 直接切语言 ✅ 无需工具

技术栈

Python 3.12 · AiNiee(TSV 扩展)· XUnity.AutoTranslator · BepInEx / ReiPatcher · OpenAI 兼容本地模型后端 · PyInstaller。


常见问题

问题 处理
AiNiee 把占位符 [xxx] 也翻了 在禁翻表加正则 \[[a-z][a-z0-9]*\]
输出 TSV 带了 BOM 本 TSV 写入器强制 UTF-8 无 BOM;勿用 CsvWriter
自己打包后 exe 启动闪退 确认 Tools/pyinstall.py 打包了 Resource/(本仓库已修复)
XUAT 在老 Unity 上崩溃 别用 BepInEx 运行时注入,改用 ReiPatcher 静态补丁
游戏里中文显示成方块 设 OverrideFont=Microsoft YaHei

致谢


License

本仓库新增的工具与补丁以 MIT 提供;上游 AiNiee、XUnity.AutoTranslator、BepInEx 等各自遵循其原始许可证。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages