7akeem0/007-firstlight-toolkit
GitHub: 7akeem0/007-firstlight-toolkit
一套用于修改 Glacier 引擎游戏 007 First Light 的 Python 工具集,提供从文本提取、字体安装到完整翻译注入的一站式本地化解决方案。
Stars: 10 | Forks: 2
# 007 First Light — Toolkit
# 007 First Light 本地化工具包
本项目源于 2026 年的阿拉伯语本地化工作——这是该游戏的首次完整翻译。这些工具经过了通用化处理,可以服务于任何语言,而不仅仅是阿拉伯语。
## 🇸🇦 阿拉伯语
### 这个 Toolkit 是什么?
一套用于修改游戏 007 First Light(Glacier 引擎,RPKG v2 格式)的 Python 工具集。它可以:
- 📖 **提取所有文本**(UI + 对话 + 发言者名称),导出为可编辑的 JSON。
- 🔤 **安装任何字体**(TTF)到游戏中,同时保持 engine 稳定。
- 💉 **通过一条命令注入完整的翻译**(UI + 对话 + 名称 + 字体)。
- 🔄 **通过一条命令还原所有内容**。
### 前置条件
- Windows(也可在 Linux 上运行)
- [Python 3.10+](https://www.python.org/downloads/)
- 已安装的 007 First Light(Steam / GOG / Epic / Xbox / 任何自定义文件夹——自动检测,支持任何版本)
### 快速安装
```
git clone https://github.com/7akeem0/007-firstlight-toolkit.git
cd 007-firstlight-toolkit
pip install -r requirements.txt
```
### 三大主要用例
#### 1. 完整本地化游戏(阿拉伯语示例)
```
# 从游戏中提取所有文本
python tools/extract_text.py --game-dir "D:/SteamLibrary/steamapps/common/007 First Light" --out my_translation/
# 翻译 my_translation/ui.json, dialogue.json, speakers.json 中的值
# 从 Google 下载 Noto Kufi Arabic 字体并将其放入 examples/arabic/fonts/
# 使用单个命令安装所有内容
python tools/install_translation.py --config examples/arabic/translation_config.json
```
#### 2. 仅安装字体(无翻译)
如果你只想更改字符的外观:
```
python tools/install_font.py --config examples/arabic/font_config.json
```
#### 3. 浏览游戏文件
```
# chunk0 中的所有资源列表
python tools/list_resources.py "D:/.../Runtime/chunk0.rpkg"
# 仅字体 (GFXF)
python tools/list_resources.py chunk0.rpkg --type GFXF
# 提取特定字体
python tools/extract_font.py chunk0.rpkg 01DD9580958CDC9B my_font.GFXF
```
### 恢复
```
python tools/install_translation.py --restore
# 或者
python tools/install_font.py --restore
```
### 支持的语言
| 语言 | reshaping/bidi | 备注 |
|---|:---:|---|
| 阿拉伯语 | ✅ 自动 | 使用 Arabic Presentation Forms-B |
| 波斯语 | ✅ 自动 | 添加 چ پ ژ گ |
| 乌尔都语 | ✅ 自动 | 需要 Noto Nastaliq Urdu |
| 土耳其语/法语/西班牙语等 | ❌ 不适用 | 带变音符号的拉丁字母 |
| 俄语/保加利亚语等 | ❌ 不适用 | 西里尔字母 |
### 架构
```
007-firstlight-toolkit/
├── glacier/ # المكتبة الأساسية (modular)
│ ├── rpkg.py # قراءة/كتابة RPKG + XTEA + XOR
│ ├── locr.py # نصوص الواجهة
│ ├── dlge.py # نصوص الحوار + أسماء المتحدّثين
│ ├── gfxf.py # بناء الخطوط
│ ├── shaping.py # reshaping للعربي والفارسي
│ └── steam.py # اكتشاف مسار اللعبة
├── tools/ # سكربتات CLI
│ ├── list_resources.py # استعراض الموارد
│ ├── extract_text.py # استخراج كل النصوص
│ ├── extract_font.py # استخراج خط
│ ├── install_font.py # تركيب خط (all-in-one)
│ └── install_translation.py # تركيب ترجمة كاملة (all-in-one)
├── examples/
│ └── arabic/ # مثال عربي كامل وجاهز
├── docs/
│ ├── RPKG_FORMAT.md # توثيق صيغة الـ chunks
│ ├── FONT_INJECTION.md # شرح حقن الخط
│ └── TRANSLATION_WORKFLOW.md # سير عمل الترجمة
└── README.md
```
## 🇬🇧 English
### 这个 Toolkit 是什么?
一套用于修改 007 First Light(Glacier 引擎,RPKG v2)的 Python 工具集。它可以:
- 📖 **提取所有文本**(UI + 对话 + 发言者名称),导出为可编辑的 JSON。
- 🔤 **安装任何字体**(TTF)到游戏中,同时保持 engine 稳定。
- 💉 **通过一条命令注入完整的翻译**(UI + 对话 + 名称 + 字体)。
- 🔄 **通过一条命令还原所有内容**。
### 前置条件
- Windows(也可在 Linux 上运行)
- [Python 3.10+](https://www.python.org/downloads/)
- 已安装的 007 First Light(Steam / GOG / Epic / Xbox / 任何自定义文件夹——自动检测,且与版本无关:支持任何游戏版本)
### 快速安装
```
git clone https://github.com/7akeem0/007-firstlight-toolkit.git
cd 007-firstlight-toolkit
pip install -r requirements.txt
```
### 主要用例
#### 1. 完整翻译游戏(阿拉伯语示例)
```
# 从游戏中提取所有文本
python tools/extract_text.py --game-dir "D:/.../007 First Light" --out my_translation/
# 翻译 my_translation/ui.json, dialogue.json, speakers.json 中的值
# 从 Google Fonts 下载 Noto Kufi Arabic → 将其放入 examples/arabic/fonts/
# 使用单个命令安装所有内容
python tools/install_translation.py --config examples/arabic/translation_config.json
```
#### 2. 仅安装字体(无翻译)
```
python tools/install_font.py --config examples/arabic/font_config.json
```
#### 3. 浏览游戏文件
```
python tools/list_resources.py chunk0.rpkg
python tools/list_resources.py chunk0.rpkg --type GFXF
python tools/extract_font.py chunk0.rpkg 01DD9580958CDC9B my_font.GFXF
```
### 恢复
```
python tools/install_translation.py --restore
# 或
python tools/install_font.py --restore
```
### 支持的语言
| 语言 | reshaping/bidi | 备注 |
|---|:---:|---|
| 阿拉伯语 | ✅ 自动 | 使用 Arabic Presentation Forms-B |
| 波斯语 | ✅ 自动 | 添加 چ پ ژ گ |
| 乌尔都语 | ✅ 自动 | 需要 Noto Nastaliq Urdu |
| 土耳其语/法语/西班牙语等 | ❌ 不适用 | 带变音符号的拉丁字母 |
| 俄语/保加利亚语等 | ❌ 不适用 | 西里尔字母 |
### 架构
`glacier/` 是一个纯净的 Python 包——你可以将其作为库使用。`tools/` 是封装了该库的 CLI 脚本。请查阅 `docs/` 获取深入的技术文档。
### 致谢
- **游戏翻译与引擎逆向工程 (2026):** Hesham ([@7akeem0](https://github.com/7akeem0))
- **Toolkit(本仓库):** MIT — 随意使用。
### 免责声明
本工具包不包含也不分发任何游戏资产。你必须拥有合法的 007 First Light 副本。该工具包不修改游戏可执行文件,仅修改数据归档,并包含恢复命令。
标签:Glacier引擎, Homebrew安装, Python, 文本提取, 无后门, 游戏Mod, 游戏本地化, 资源注入, 逆向工具