59 lines
4.0 KiB
Markdown
59 lines
4.0 KiB
Markdown
# 教程汉化交付说明
|
||
|
||
## 当前结果(2026-09-20)
|
||
|
||
用户已确认完整教程及字体修正“没有问题”。本次验收来自用户实机反馈;自动化检查覆盖字节、编码、排版与回滚,不替代实机操作。
|
||
|
||
- 教程全部 57 处标题、消息正文、任务说明使用 42 条中文映射。
|
||
- 范围包括开场、镜头、飞行、高度、攻击、蓄力、吐息、进食、法术、速度控制和结束提示。
|
||
- 开场及后续新增页面使用居中短句;此前已验收的镜头说明保留原有格式。
|
||
- 句号在 12×12 字格中下移 3 像素,边界由 `(2,5,6,9)` 变为 `(2,8,6,12)`;字宽和其他字符不变。
|
||
- 按钮中文与快捷键不再重叠,选项页标题按实际文字宽度居中。
|
||
- 原事件、按键绑定、资源路径、等待与判定条件保持原字节。
|
||
|
||
## 教程构建
|
||
|
||
在仓库根目录使用 Python。将路径换为本机位置,`Tutorial.original.dsc` 必须是保留的原版英文脚本,而非已经汉化的文件。
|
||
|
||
```powershell
|
||
python tools/script_text.py --source "C:/DragonWork/Tutorial.original.dsc" --mapping tools/tutorial_cn.json --out "C:/DragonWork/build/Tutorial.dsc" --allow-alignment-changes
|
||
python tools/verify_tutorial_step1.py modified "C:/DragonWork/Tutorial.original.dsc" "C:/DragonWork/build/Tutorial.dsc"
|
||
```
|
||
|
||
工具同时生成 `Tutorial.manifest.json`。验证器沿用早期文件名,目前检查的是完整教程。
|
||
|
||
| 文件 | SHA256 |
|
||
|---|---|
|
||
| 原版英文输入 | `bd959758223b976ffac35b4ef7d94661f62060c1134316eddb559772d544e02c` |
|
||
| 完整中文输出 | `720b7fce23b80405d6c8af2a1302ed95c085a072d8c8ecbae49b9db2cb32b8e3` |
|
||
|
||
默认严格保留控制符;`--allow-alignment-changes` 仅允许替换同一位置的对齐/缩进控制符,换行顺序及数量仍受检查。原版施法正文两处未转义的 `"F"` 采用专门识别,不扩大到一般表达式。百分数文字 `0% is` 与实际格式占位符分别处理。
|
||
|
||
## 验证
|
||
|
||
字体排版测试需要 `unicorn`,位图测试需要 `Pillow`;排版测试默认读取已修补的本机游戏程序,路径可通过 `tools/test_cjk_layout.py` 的 `DEFAULT_EXE` 统一调整。
|
||
|
||
```powershell
|
||
$tests = @('test_script_text.py', 'test_tutorial_intro.py', 'test_tutorial_flight.py', 'test_tutorial_complete.py', 'test_cjk_layout.py', 'test_cjk_titles.py', 'test_full_stop.py')
|
||
foreach ($test in $tests) {
|
||
python "tools/$test"
|
||
if ($LASTEXITCODE -ne 0) { throw "Test failed: $test" }
|
||
}
|
||
```
|
||
|
||
最新运行:39 项通过。完整教程校验输出 `MODIFIED: all 57 display literals translated; all other bytes unchanged; PASS`。新页面在 360/400/480 像素宽度下检查行首标点、中心坐标和总高度。所有中文字符均核对存在于已生成的 GB2312 字库中。
|
||
|
||
## 安装与恢复
|
||
|
||
本次本机安装已经完成;以下步骤用于以后重建。游戏退出后,先备份当前 `Data/Scripts/English/Tutorial.dsc`,再用生成的同名文件替换。保持已有 CJK 程序补丁、字库及字体表。
|
||
|
||
恢复教程只需把该次备份复制回相同位置,核对 SHA256;不需要重装字体或重建程序。本次已在独立副本执行恢复,字节与备份一致。最后一批的备份是 `E:/DragonHD/backup_game/tutorial-complete-20260920/Tutorial.dsc`,内容为已验收的前五组汉化版本。
|
||
|
||
句号修正通过 `tools/fix_full_stop.py --source <原字库.TGA> --cells <cells.json> --out <新字库.TGA>` 生成。部署须同步更新松散字库和 `Textures.res` 的 `UI\Overhead\Shrift_gb_Germany.TGA` 条目;保留并恢复这两个文件的成对备份。`tools/build_cjk.py` 已包含相同修正,重新生成字库时不会丢失。
|
||
|
||
不要为单独更新教程重新执行 `install_cjk.py install`:它会重建并部署整套程序/字体/字符串文件。
|
||
|
||
## 下一阶段
|
||
|
||
教程已经验收。后续主线汉化或高清素材试作按独立批次推进,尚未在本次启动。历史试作记录见 `DEVLOG.md`,其中早期“待验收”状态以本说明和最终验收条目为准。
|