1807 字
9 分钟
通用 AI翻译教程
GalTransl
/
GalTransl
Waiting for api.github.com...
00K
0K
0K
Waiting...

GalTransl 简易教程#

AI 汉化原理#

游戏资源(文本、脚本、图片、视频等)被各种引擎以不同方式打包。静态汉化的核心思路是“偷梁换柱”:提取文本,翻译后再替换回去。

由于游戏脚本通常混合了显示文本和程序代码,AI 不能直接处理这种混合文件,否则极易将代码一并翻译,从而破坏游戏功能。因此,现代 AI 游戏汉化的基础工作原理是 “提取-翻译-回注” 策略,完整流程如下:

  1. 使用解包工具(如 GARbro)解包游戏文件。
  2. 精确提取脚本中需要翻译的文本,转换为中间格式(GalTransl 使用 JSON)。
  3. 配置 API,仅对提取出的文本进行 AI 翻译。
  4. 将译文精确回注到原始脚本的对应位置。
  5. 重新打包为游戏可读取的格式。

一、准备阶段#

1. 翻译模型选择与 API 价格参考#

由于 AI 模型更新迭代极快,关于各模型的最新翻译质量评测与推荐,请直接参考 GalTransl 官方 Wiki: 👉 翻译模型测评 (GalTransl Wiki)

选定模型后,你需要获取相应的 API。以下是一些支持 Azure 分组的 API 购买渠道(仅供参考):

价格参考示例: 以一款文本量约 3M 的 Galgame 为例,常见 API 价格估算如下(仅供参考):

  • DeepSeek 官网: 约 5 元/M,总计约 15 元
  • 标准 GPT-4o: 约 10 元/M,总计约 30 元
  • Azure 分组 GPT-4o (0.1倍率): 约 1 元/M,总计约 3 元

⚠️ 注意: 有条件的话,推荐寻找支持 Azure 分组的 API 网站。但目前中转网 AI 质量和 API 稳定性下降严重,请注意甄别。


二、实操流程#

(以 KRKR / KiriKiri 引擎为例)

1. 解包游戏#

使用 GARbro 等工具提取 .ks 等脚本文件。

2. 提取 JSON#

  1. 打开 GalTransl 根目录。
  2. 运行 useful_tools\GalTransl_DumpInjector\GalTransl_DumpInjector.exe
  3. 在工具界面中配置以下路径:
    • 日文脚本文件夹:选择 GARbro 提取出的脚本文件夹。
    • 日文JSON保存文件夹:推荐选择 SampleProject/gt_input
  4. 点击 “提取脚本到JSON” 开始提取。

提取 json

3. 设置翻译器#

  1. 在根目录找到 SampleProject 文件夹。
  2. config.inc.yaml 重命名为 config.yaml
  3. 使用文本编辑器打开并修改该配置文件。

⚠️ 重要警告:YAML 配置文件中,所有冒号 : 后面必须保留一个半角空格!

backendSpecific:
  OpenAI-Compatible: # (ForGal/gpt4/r1模板) OpenAI API 兼容接口通用
    tokens:
      - token: sk-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        endpoint: https://api.openai.com # 请求地址,使用转发或第三方 API 时修改
    rewriteModelName: "gpt-4o" # 设置自定义的模型名称,用于调用 Claude/DeepSeek 等模型

  filePlugin: file_galtransl_json # 支持更多格式:字幕用 file_subtitle_srt_lrc_vtt,小说用 file_epub_epub 或 file_plaintext_txt

  workersPerProject: 16 # 同时翻译 n 个文件(单个文件需多线程时请开启 splitFile)

4. 开始翻译#

  1. 在项目目录中双击运行 run.bat
  2. 将编辑好的 config.yaml 拖入弹出的命令行窗口并按回车。
  3. 选择翻译模型后再次回车,开始翻译。 (注:翻译耗时取决于你设置的线程数和 API 的响应速度。)

5. 导出译文#

翻译完成后:

  1. 再次打开 GalTransl_DumpInjector.exe
  2. 设置以下路径:
    • 日文脚本文件夹:原始脚本位置
    • 日文JSON保存文件夹SampleProject/gt_input
    • 译文JSON保存文件夹SampleProject/gt_output
    • 译文脚本保存文件夹:选择你希望导出汉化脚本的位置
  3. 点击 “注入JSON回脚本” 完成导出。

导出译文

6. 打包#

  • 普通 KRKR 引擎:使用 xp3_upk,直接将文件夹拖到工具上即可。
  • 需保留目录结构的 KRKR 引擎:使用 arc_conv 打包。
  • 其他加密 KRKR 引擎:使用 KrkrExtract 等专属工具处理。

三、其他引擎的游戏(进阶)#

1. 引擎分析#

使用 GARbro 获取引擎名称,随后在 GitHub 或搜索引擎上查找相关资料(建议借助 Grok 等具备联网能力的 AI 直接检索开源工具,效率更高)。

引擎分析决策树:

1. 游戏的文本是否加密?
   ├─ 否 → 直接提取并翻译
   └─ 是 → 寻找文本解密和重加密工具
      ├─ 有工具 → 解密 → 翻译 → 重加密
      └─ 没工具 → 考虑学习逆向,或转为动态汉化(如 Hook)
   
2. 该引擎是否有打包工具?
   ├─ 有 → 使用对应工具打包
   └─ 没有 → 是否支持免封包读取?
      ├─ 支持 → 使用 MoleBox 等工具封包
      └─ 不支持 → 考虑学习逆向,或转为动态汉化(如 Hook)

2. 编码与乱码问题#

当提取的脚本是 Shift-JIS 编码时,可能会遇到汉化后游戏内乱码的问题:

  1. 首选测试:尝试将文本转换为 Unicode 编码(UTF-16LE、UTF-8、GBK),测试游戏能否正常读取并显示。
  2. 备选方案:如果游戏强制要求 Shift-JIS 编码,有两种解决思路:
    • 方案 A(硬核):通过逆向工程,修改游戏引擎使其支持 GBK 编码。
    • 方案 B(巧妙):使用“汉字→日文替换表”(hanzi2kanji_table.txt)结合特殊修改的字体来实现视觉上的中文显示。 (原理:这是示例文本(UTF-8) → 這是示例文本(Shift-JIS) → 这是示例文本(视觉呈现))

3. 打包示例#

不同引擎需要不同的命令行打包方法,例如 Qlie未加密 KRKR 引擎 可使用 arc_conv 工具:

arc_conv.exe --pack xp3 patch patch.xp3
arc_conv.exe --pack qlie data data8.pack

对于其他陌生引擎,必须回到“引擎分析”步骤,寻找对应的专属打包工具。


四、翻译质量与优化#

关于翻译缓存管理、自动化找错与修正,请务必阅读官方文档:

💡 核心建议: GPT 字典功能对最终的翻译质量影响极具决定性。强烈建议在开始批量翻译前,至少先在字典中配置好核心角色的人名和专属名词。


五、常见工具一览#

工具名称核心用途特点说明
GARbro拆包工具功能强大,能识别绝大多数 Galgame 引擎(状态栏会显示引擎名称)。
EmEditor编码处理可批量指定文件的打开与保存编码,解决乱码痛点。
Notepad—文本处理支持强大的批处理和多文件正则替换。
Python脚本工具用于编写自定义的文本提取、数据转换和自动化脚本。
GalTransl_DumpInjectorJSON 提取GalTransl 自带的图形化工具,开箱即用。
Grok资料检索适合快速定位 GitHub 上的解包/封包工具及相关技术文档。

六、免责声明#

  1. 本教程仅介绍 GalTransl 自带的 JSON 提取器及推荐的常规方法,不对其他非标准提取方式做保证。
  2. 本教程不对任何因使用本工具或修改文件导致的游戏损坏、系统问题负责。
  3. 涉及逆向工程的部分,请确保您充分了解相关的技术难度与法律风险。

七、视频演示实例#

通用 AI翻译教程
https://lublog.netlify.app/posts/trans2/
作者
凛游Blog
发布于
2025-03-17
许可协议
CC BY-NC-SA 4.0