# 40250 服务端名称快照 2026-09-28 从 `192.168.21.203` 的 `player.item_proto` 与 `player.mob_proto` 只读导出 `vnum, HEX(gb2312name)`,按 GBK 解码为本目录的 UTF-8 TSV。导出时服务端配置为 `LOCALE=newcibn`、`DB_NAME_COLUMN=gb2312name`。客户端原型只修改 `szLocaleName`, 游戏属性和 VNUM 仍取自 40250 客户端原型。 | 文件 | 条数 | SHA-256 | | --- | ---: | --- | | `item_names_zh.txt` | 5,743 | `5604985d7f11039f3d3e38d4e2c07995e80ca3e4f6deb01fe57cd772e9cd0f70` | | `mob_names_zh.txt` | 1,334 | `fdbfe4b3f3367d5842c0e9bbe0b5e5ea2dbe99fb6e566ef5789f65d3794eab5c` | 线上字段里的 1,608 个物品名及 346 个怪物/NPC 名不含汉字,本快照原样保留。 它们的审核译文(2026-09-28 确认)单独放在 `item_names_zh_overlay.txt`、 `mob_names_zh_overlay.txt`,界面回退键译文在 `locale_game_zh_overlay.txt`; `scripts/build_zh_locale.py` 构建时以 overlay 覆盖快照同 VNUM / 同键的值。 旧的龙驹中文表与线上表有 21 个相同 VNUM 不同名;不把旧表覆盖到服务端。 服务端名称若再更新,需重新只读导出并核对差异后更新本快照。 ## 任务文本(translate.lua) 40250 的任务文本都通过 `gameforge.<任务>.<键>` 引用。game 启动时从 `share/locale//translate.lua` 读取这些文本(questlua.cpp), 所以换文件后重启即可生效,不用重新编译 quest。 - 译文放在 `quest_translate_zh.tsv`,每行一条:`<任务>.<键>`、制表符、中文,UTF-8 编码。 - 译文里的 `[ENTER]` 是有意的换行;构建时每行按 50 列(汉字算 2 列)重新折行。 - 英文原文相同的其他键会共用同一条译文。 - 还没有译文的键保留英文。 - 构建:`python3 scripts/build_zh_translate_lua.py build <输出>`,输出 GBK 编码。 - 构建逐行保留英文文件的结构(包括嵌套表),只替换字符串值。 - GBK 双字节字符的第二个字节可能是 0x5C(反斜杠),构建时会把它写成两个。 - 查看待译条目:`python3 scripts/build_zh_translate_lua.py todo <目录> --quests <命名空间,...>`。 - 部署到 203:覆盖 `/usr/metin2/server/share/locale/newcibn/translate.lua`,然后重启。英文原件备份在同目录的 `translate.lua.en-20260930`。