1644 字
8 分钟
AI翻译教程【第二版】
2025-03-17
无标签

GalTransl 机翻教程 2025版#

前言:GalTransl官方教程已经很完善了,此篇教程主要面向简单引擎的实际操作,更多详情请参考官方教程。

AI翻译原理#

游戏资源(文本、脚本、图片、视频等)被各种引擎以不同方式打包。翻译的核心思路是:提取文本文件,翻译,再打包回去(即”偷梁换柱”)。因此,游戏翻译的一般流程为:解包、翻译和打包。

对于AI翻译,由于文本文件中还包含脚本代码,直接翻译显然不合适。因此我们需要引入中间格式——在GalTransl中通常是JSON格式,在Translator++中则是表格形式。

完整流程如下:

  1. 使用Garbro解包游戏文件
  2. 从文本文件里提取需要翻译的内容
  3. 配置API和相应参数
  4. 等待AI翻译完成
  5. 将翻译好的文本回注到原始文件
  6. 打包回原来的格式

一.准备阶段#

1. 各个AI和API现状分析 (截至2025年3月)#

AI翻译模型可分为以下几个档次:

分级模型备注
一梯队官转Claude,中转Claude不包括逆向
二梯队GPT4o,DeepSeek-R1性价比较高
三梯队Qwen,Grok等适合简单场景
本地队sakura(14B)模型太小,质量很差

详细分析请查看:https://galge.top/posts/29792#comment_445180

相关资源链接:

提示: 有能力的话可以寻找支持Azure分组的API网站,Azure分组只需原价的十分之一,用GPT4o翻译一款游戏大约只需1元。(但目前中转网AI质量和API稳定性下降严重)

二. 实操流程(以KRKR引擎为例)#

(KiriKiri(也简称KRKR)引擎)

1. 解包游戏#

使用GARbro mod提取ks等文本文件。

2. 提取JSON#

  1. 打开GalTransl文件夹(根目录)
  2. 找到并运行useful_tools\GalTransl_DumpInjector\GalTransl_DumpInjector.exe
  3. 在工具界面中:
    • 选择”日文脚本文件夹”(GARbro提取的脚本文件夹)
    • 选择”日文JSON保存文件夹”(推荐使用SampleProject/gt_input)
    • 点击”提取脚本到JSON”按钮开始提取

3. 设置翻译器#

  1. 在根目录找到SampleProject文件夹
  2. config.inc.yaml重命名为config.yaml
  3. 编辑配置文件,主要关注以下内容:
GPT4: # OpenAI API接口通用,GPT4/Claude-3/Deepseek-V3/R1
  tokens:
    - token: sk-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
      endpoint: https://api.openai.com # 使用转发或第三方API时修改
  rewriteModelName: "gpt-4o" # 使用指定的模型型号替换默认模型

workersPerProject: 1 # 多线程设置,同时翻译n个文件

filePlugin: file_galtransl_json # 文件插件选择
# 其他选项:
# file_subtitle_srt_lrc_vtt(字幕)
# file_epub_epub或file_plaintext_txt(小说)
# file_i18n_json(mtool导出JSON)

注意: 配置文件中冒号后必须保留空格!

4. 开始翻译#

  1. 在项目目录中运行run.bat
  2. 将编辑好的配置文件拖入弹出的界面并按回车
  3. 选择翻译模型后再次回车,开始翻译

翻译时间取决于线程数和API速度,单线程可能需要10+小时,而百线程可能只需10分钟。

5. 导出译文#

翻译完成后:

  1. 打开GalTransl_DumpInjector.exe
  2. 设置以下选项:
    • “日文脚本文件夹”(原始脚本位置)
    • “日文JSON保存文件夹”(SampleProject/gt_input)
    • “译文JSON保存文件夹”(SampleProject/gt_output)
    • “译文脚本保存文件夹”(选择导出位置)
  3. 点击”注入翻译到脚本”完成导出

6. 打包#

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

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

1. 引擎分析#

使用GARbro获取引擎名称,然后在GitHub和搜索引擎上查找相关资料。针对不同引擎,需考虑以下问题:

引擎分析决策树:

1. 该游戏的文本是否加密?
   - 否 → 直接提取翻译
   - 是 → 寻找文本解密和重加密工具
     - 有工具 → 解密后翻译,翻译完重加密
     - 没工具 → 考虑学习逆向或放弃
   
2. 该引擎是否有打包工具?
   - 有 → 使用对应工具
   - 没有 → 是否支持免封包读取?
     - 支持 → 使用MoleBox封包
     - 不支持 → 考虑学习逆向或放弃

2. 编码和启动问题#

当GARbro提取的脚本是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

对于其他引擎,必须回到分析步骤,寻找合适的打包工具。

提示:更多引擎细节请参考GalTransl官方Wiki

四. 翻译质量问题#

关于翻译质量问题、缓存管理与修正,请参考GalTransl官方文档:

重要建议:GPT字典功能对翻译质量影响显著。强烈建议在开始翻译前至少设置好角色人名和关键词汇。

五. 常见工具一览#

工具名称用途特点和功能
GARbro拆包工具功能强大,能识别大多数Gal引擎,状态栏会显示引擎名称
EmEditor文本编码处理可批量选择打开文件的编码,确保文件编码转化正确
Notepad—文本批量处理支持批处理和单文件批量替换
Python多功能脚本工具可用于脚本提取、文本处理、自动化任务、数据转换等
GalTransl_DumpInjectorJSON提取工具GalTransl自带的图形化工具,简单易用

六. 免责声明#

  1. 本教程仅介绍GalTransl自带的JSON提取器(GalTransl_DumpInjector)及推荐的Python提取方法,其他提取方式不做保证。
  2. 本教程不对任何因使用导致的游戏或系统问题负责。
  3. 对于需要逆向工程的部分,请确保您了解相关法律风险和技术难度。
AI翻译教程【第二版】
https://lublog.netlify.app/posts/trans2/
作者
凛游Blog
发布于
2025-03-17
许可协议
CC BY-NC-SA 4.0