news 2026/9/25 3:12:07

如何用QuickBMS快速做游戏本地化翻译:SLog命令与重导入实战教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用QuickBMS快速做游戏本地化翻译:SLog命令与重导入实战教程

如何用QuickBMS快速做游戏本地化翻译:SLog命令与重导入实战教程

【免费下载链接】QuickBMSQuickBMS by aluigi - Github Mirror项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS

QuickBMS 是一款开源的多平台游戏解包引擎,它内置的SLog 命令可以把游戏档案里的文本字符串直接导出成纯文本文件,翻译完成后再用重导入(Reimport)功能把译文写回原档案——整个过程不需要你编写任何重打包程序。本文将带你完整走通"导出 → 翻译 → 重导入"的游戏本地化全流程,并讲清三种重导入模式的差别与常见坑。


一、为什么选 QuickBMS 做游戏本地化 🎮

大多数解包工具只能"拆不能装":把游戏文件解出来后,改完文字就很难再塞回原档案。QuickBMS 的独特之处在于:

  • 同一套 BMS 脚本,既能解包也能重导入——提取和回写用的是同一个脚本文件,省去了单独写重建工具的工作量;
  • SLog 命令专为本地化设计:按行导出字符串到 UTF-8 文本文件,翻译时"一行一句",改完即可回写;
  • 跨平台:Windows、Linux、macOS 通用,源码见 readme.md 开头的介绍。

官方说明:"The reimport feature of QuickBMS has already allowed to slightly mod and translate various games."——重导入功能已被社区用于多种游戏的 Mod 与翻译(见 readme.md)。

二、获取 QuickBMS 与必备文件清单 📦

两种方式任选其一:

# 方式一:克隆源码仓库 git clone https://gitcode.com/gh_mirrors/qui/QuickBMS cd QuickBMS && make # Linux/macOS,需 openssl、zlib、bzip2 开发库
# 方式二:Windows 下使用官方发布的 quickbms.exe(GUI 双击即可)

Linux 编译依赖可参考 src/Makefile,常见问题用apt-get install gcc g++ zlib1g-dev libssl-dev unicode解决。

拿到 QuickBMS 后,重点关注 scripts/ 目录下的 5 个重导入脚本,它们是本地化工作流的核心入口:

脚本实际执行的命令用途
scripts/reimport.batquickbms.exe -G -w -r标准 REIMPORT 模式
scripts/reimport2.batquickbms.exe -G -w -r -rREIMPORT2:支持译文变长
scripts/reimport3_localizations.batquickbms.exe -G -G -w -r -r -rREIMPORT3:专为本地化文件设计,可自动收缩/扩大档案
scripts/reimport_4gb_files.batquickbms_4gb_files.exe -G -w -r处理大于 4GB 的档案
scripts/reimport2_4gb_files.batquickbms_4gb_files.exe -G -w -r -rREIMPORT2 的 4GB 版本

💡 注意:reimport3_localizations.bat从文件名就能看出定位——它就是给语言/本地化文件准备的回写入口。

三、SLog 命令详解:一条指令导出全部游戏文本 📝

SLog 的语法(完整文档见 readme.md):

SLog NAME OFFSET SIZE [TYPE] [FILENUM] [ID]
参数说明本地化场景建议
NAME输出文件名(UTF-8、Windows 换行),为空则自动命名固定命名如strings_zh.txt
OFFSET>=0导出指定位置的字符串;<0从当前位置读取并前进多数脚本用-1顺序读取
SIZE>=0固定长度读取;<0读到字符串结束符视游戏格式而定
TYPE数据类型,缺省为 String,也支持long、unicode等数字类字段可用long
ID指定 ID 后只有匹配的字符串会被重导入只回写已翻译的行,非常安全

关键特性:

  • 每行一条字符串,多行文本通过\r、\n转义符写在同一行内(反斜杠是 C 风格转义);
  • 译文不能比原文更长(SLog 回写模式下该限制与全局重导入规则一致),多余空间用空格填充(可用命令行-b选项改填充字节);
  • 配合命令行选项-j可强制以 UTF16 输出,适合需要 Unicode 字符串的引擎;
  • 官方强烈建议用Notepad++编辑,并把编辑器切到INS(覆盖)模式,从根源上避免译文超长。

一个典型的导出脚本片段长这样:

set STRINGS_FILE string "strings.txt" slog STRINGS_FILE -1 -1 # 从当前位置按字符串读入并前进

四、五步完成一次游戏本地化 🔁

  1. 备份原档案(最重要的一步,官方文档反复强调 Make a backup copy);

  2. 提取文本:

    quickbms script.bms archive.pak output_folder
  3. 翻译:用 Notepad++ 打开 SLog 导出的文本,逐行把原文替换为译文,保持长度不超原文,删除不需要回写的行;

  4. 重导入:双击 scripts/reimport.bat,或在命令行执行(参数与第 2 步相同):

    quickbms -w -r script.bms archive.pak output_folder
  5. 运行游戏验证,出错就回滚备份重来。

命令行方式同样支持 GUI 流程,-w开启写模式、-r开启重导入,细节见 readme.md。

五、三种重导入模式怎么选?

模式启动方式核心能力适用场景
REIMPORT-r原位替换,文件只能变短或等长译文长度可控、格式最简单的档案
REIMPORT2-r -r自动重写 offset / size 字段,超长文件追加到档案末尾译文明显变长、压缩格式复杂(如 lz4)
REIMPORT3-r -r -r在 REIMPORT2 基础上自动收缩/扩大档案(无 offset 字段时)语言文件、顺序存放的文本档案——本地化首选

选择建议:

  • 一般游戏 Mod:先试 REIMPORT;
  • 纯文本/语言文件(LNG、STR、DIA 等):直接用 scripts/reimport3_localizations.bat;
  • 档案超过 4GB:换用reimport*_4gb_files.bat系列。

REIMPORT2/3 的限制也需知晓(见 readme.md):目录(TOC)被压缩、位于档案尾部、或内容完全顺序无 offset 时不生效;变量上最多允许一次数学运算,否则会算错 offset。

六、SLog 重导入的常见坑与避坑清单 ⚠️

  • 译文超长:QuickBMS 只提示不中断,请务必留意日志——这是最隐蔽的坑;
  • 顺序 NUL 字符串:新文本与原文之间的空隙默认填零(0x00),对连续 NUL 分隔的字符串可能有害,此时应在译文里自己补空格;
  • 只想回写改过的行:给 SLog 传ID参数,回写时只处理当前 ID 匹配的字符串,未翻译的行可以安全删除;
  • 校验是否改对了:重导入加#选项(写作-#)可对比档案内外文件的 hash,未修改的文件自动跳过,更快更安全;
  • 压缩回写较慢:zlib/deflate/lzma 等重压缩耗时会明显变长,属正常现象;
  • 加密/CRC 档案:依赖 MEMORY_FILE 做临时解密、带 CRC 校验的格式不支持回写,遇到这类游戏建议寻找游戏专用重建工具。

七、本地化常用命令行参数速查 ⚡

参数作用本地化用法示例
-l只列出文件不解包先看档案里有哪些文本文件
-f "{}.lng"按通配符过滤文件只提取语言文件
-o覆盖已存在的输出文件反复调试时免确认
-j强制 UTF16 输出兼容 Unicode 字符串的 SLog
-b C自定义 *Log 填充字节空隙填空格而非 0
#按 hash 跳过未修改文件加速大批量回写
-Z把档案内所有文件清零制作"空档案"分发,再回写译文

完整参数列表可直接在命令行不带参数运行 QuickBMS 查看(选项说明见 readme.md),源码实现位于 src/quickbms.c。

八、加分项:QuickBMS 还能反汇编游戏代码 🔍

做深度本地化时,你可能需要看懂游戏的文本加载逻辑。QuickBMS 源码内置了完整的Capstone 反汇编引擎(src/disasm/),支持 x86、ARM、MIPS 等多种架构,配合 BMS 语言的ASM类型可以直接在脚本里反汇编游戏二进制——这也是它区别于普通解包工具的地方。下图是 Capstone 引擎的官方反汇编界面示例:


小结:QuickBMS 的游戏本地化工作流 =SLog 导出文本 + 翻译 + 重导入写回,三个动作覆盖从拆包到封包的闭环。新手建议按"备份 → REIMPORT 试跑 → REIMPORT3 处理语言文件"的顺序上手,遇到 4GB 大档案再切换到quickbms_4gb_files系列工具。掌握这套流程后,你无需为每个游戏单独写一个重打包工具,几十行 BMS 脚本就能让翻译真正落回游戏里。

【免费下载链接】QuickBMSQuickBMS by aluigi - Github Mirror项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 3:10:40

Claude营销团队实战指南:重构AI内容工作流

1. 这不是一场发布会&#xff0c;而是一次真实的AI营销工作流解剖最近在圈内流传的“Anthropic闭门会”消息&#xff0c;其实并不是什么神秘活动&#xff0c;而是几家头部SaaS公司市场负责人私下组织的一场深度对谈——主题直指Claude在真实营销场景中的落地逻辑。我参与了其中…

作者头像 李华
网站建设 2026/9/25 3:07:16

波场链上监控与交易自动化:从区块轮询到TRC20信号捕获

简介&#xff1a;面向Java开发者和区块链技术学习者&#xff0c;这套资料提供一套基于TRON波场链的监控与交易实现方案。方案覆盖HD钱包生成、TRX余额查询、TRC20代币余额查询、TRX与TRC20转账、TRX冻结换取TRON Power&#xff08;TP&#xff09;、交易与转账信息查询、区块信息…

作者头像 李华
网站建设 2026/9/25 3:06:45

后缀树(Suffix Tree)深度解析:从原理到字符串算法实战

教程 【免费下载链接】Learn-Algorithms 算法学习笔记 项目地址&#xff1a; https://gitcode.com/gh_mirrors/le/Learn-Algorithms 点击查看 免费下载 后缀树&#xff08;Suffix Tree&#xff09;是一种压缩存储了字符串所有后缀的树形数据结构&#xff0c;被称为字符串处理的…

作者头像 李华
网站建设 2026/9/25 3:06:06

智能垃圾分类毕设资源拆解:PyQt5界面与深度学习模型实战

简介&#xff1a;这是一份面向计算机、人工智能相关专业学生及课程学习者的智能垃圾分类系统项目资料&#xff0c;可作为毕业设计或课程作业的完整参考。项目围绕计算机视觉、机器学习与大数据分析展开&#xff0c;涵盖图像预处理、特征提取、CNN分类模型训练及数据平台构建等环…

作者头像 李华