Skip to content

fix: 修正若干NPC对话以及名称等汉化内容#730

Open
skykiseki wants to merge 1 commit into
BeiDouMS:masterfrom
skykiseki:fix-pr717-zhcn-targets-20260612
Open

fix: 修正若干NPC对话以及名称等汉化内容#730
skykiseki wants to merge 1 commit into
BeiDouMS:masterfrom
skykiseki:fix-pr717-zhcn-targets-20260612

Conversation

@skykiseki

@skykiseki skykiseki commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

问题原因

原提交中有部分汉化文本被写入英文原版资源目录,导致英文基准资源混入中文内容。
项目当前区分英文原版与中文资源:英文原版保留在 gms-server/scriptsgms-server/wz,中文汉化内容应放在 gms-server/scripts-zh-CNgms-server/wz-zh-CN

改动汇总

  • 保留 NPC 脚本汉化改动到 gms-server/scripts-zh-CN,不再修改英文原版 gms-server/scripts
  • 保留 WZ 文本汉化改动到 gms-server/wz-zh-CN,不再修改英文原版 gms-server/wz
  • 修正骆驼中巴、任务说明、NPC 名称、道具/地图/装备等中文文本,使本次汉化只作用于中文资源目录。
  • 未迁移 Mob.wz 英文原版中的单条怪物对白改动,避免只新增局部中文 Mob.wz 后触发整目录语言切换造成其他怪物资源缺失。

客户端影响

本次包含 wz-zh-CN 的 XML 文本改动;客户端资源发布或联调时,需要同步更新对应的客户端 IMG 资源,确保中文文本在客户端显示一致。

验证

  • 已确认本分支仅修改 scripts-zh-CNwz-zh-CN 下的汉化资源。
  • 已确认英文原版 scriptswz 目录不包含本次汉化改动。
  • 已检查 XML 可解析,未发现格式错误。

@github-actions

Copy link
Copy Markdown

🤖 AI Code Review

The user wants me to review a PR for a MapleStory v83 private server project. Let me analyze the diff carefully.

Looking at the changes, this PR is primarily a localization/translation improvement patch for Chinese (zh-CN) content. Let me categorize what's happening:

  1. Text translation fixes (NPC scripts):

    • 2002000.js: 快乐村 → 幸福村 (Happyville translation fix)
    • 2042000.js, 2042001.js, 2042002.js: English dialogue → Chinese (refining NPC)
    • 2110005.js: English → Chinese (camel cab)
    • 9105004.js: 快乐村 → 幸福村
    • 9105005.js: 快乐村 → 幸福村
    • 9201033.js: 快乐村 → 幸福村
    • 9201039.js: English → Chinese (Claudia hair coupon NPC)
    • 9220004.js, 9220005.js: 快乐村 → 幸福村
    • 9270043.js, gachapon.js, gachaponRemote.js, gachaponold.js: Gachapon → 快乐百宝箱 (Gachapon translation)
  2. String table translations:

    • Etc.wz/ScriptInfo.img.xml: 出租车 → 中巴
    • Quest.wz/QuestInfo.img.xml: 阿莫里亚 → 阿莫利亚, translation improvements
    • Quest.wz/Say.img.xml: Major translation overhaul (Maya's quest and Claudia's quest)
    • String.wz/Consume.img.xml: 休彼德蔓 → 休彼得蔓 (character name fix)
    • String.wz/Eqp.img.xml: 休彼德蔓 → 休彼得蔓
    • String.wz/Etc.img.xml: 休彼德蔓 → 休彼得蔓, 克劳蒂亚 → 克劳迪娅
    • String.wz/Map.img.xml: 休彼德蔓 → 休彼得蔓
    • String.wz/Npc.img.xml: Multiple NPC name/text fixes including 坤, 休彼德蔓 → 休彼得蔓, 9201088 (7-Eleven Barry)

Let me think about quality of the changes:

Positive aspects:

  1. Major translation quality improvements - replacing machine-translated/broken Chinese with proper natural Chinese
  2. Consistent terminology updates (e.g., 休彼德蔓 → 休彼得蔓, 克劳蒂亚 → 克劳迪娅)
  3. Replaces mixed English/Chinese dialogues in zh-CN files with proper Chinese
  4. The Maya quest translation in Say.img.xml was particularly bad before (with "席卷而来" which is meaningless in context, "nActually..." with literal "\n" markers, etc.)
  5. Place name consistency: 快乐村 (Happy Village) → 幸福村 (Happyville - more accurate translation)
  6. The 9201088 (Barry/7-Eleven NPC) translation fix is great

Potential concerns:

  1. Name change for Maple administrator "休彼德蔓" → "休彼得蔓": This is a character name (Mr. Wetbottom / Maple Administrator). Changing established NPC names is risky because:

    • It might be referenced elsewhere in scripts/strings
    • Players who recognize the old name might be confused
    • This is the official GMS character "Maple Administrator" but in Chinese version it should likely be a transliteration. "休彼德蔓" vs "休彼得蔓" - need to verify which is correct
  2. "克劳蒂亚" → "克劳迪娅": Name change for Claudia. Same concerns.

  3. "快乐村" → "幸福村": Happyville translation. The English meaning is "Happy Village" so 幸福村 is actually more accurate. 快乐 means "joyful/cheerful" while 幸福 means "happy/blissful". This is a defensible change.

  4. "阿莫里亚" → "阿莫利亚": This is Amoria. 亚 is the typical transliteration for -ia suffix in Chinese, so 阿莫利亚 is more standard. Good change.

  5. Henesys translations:

    • 射手村 (Archer Village) - this is actually the established Chinese name
    • 魔法密林 (Mystical Forest) - established
    • 勇士部落 (Warrior Town) - established
    • 废弃都市 (Abandoned City) - established for Kerning City
    • 林中之城 (City in Forest) - Sleepywood
    • 蘑菇神社 (Mushroom Shrine) - established
    • 昭和澡堂 - established for Showa Spa
    • 玩具城 (Toy City) - Ludibrium
    • 新叶城 (New Leaf City) - established
    • 冰峰雪域 (Ice Peak Snow Field) - El Nath
    • 诺特勒斯号 (Nautilus) - transliteration
  6. "扭蛋机" → "快乐百宝箱": Gachapon is called "扭蛋机" (capsule machine) in most Chinese versions, "快乐百宝箱" (Happy Treasure Box) seems unusual. However, this might be a specific translation choice for this server. The gachapon.js says "冒险岛" → it could be "MapleStory Gachapon" in Chinese "冒险岛扭蛋机".

    Actually wait - looking at the official Chinese version of MapleStory, Gachapon is called "快乐百宝箱" (Happy Treasure Box). So this is actually a correction to use the official name. That's good!

  7. "出租车" → "中巴": 出租车 = taxi, 中巴 = minibus/shuttle. The script 2110005.js refers to "Camel Cab" - 骆驼中巴 makes more sense as it's a multi-passenger vehicle, not a single taxi. Good change.

  8. "经验头发券" → "克劳迪娅的优惠券": The translation actually CHANGED the meaning here. The original Chinese says "经验头发券" which doesn't make sense. The English version (referenced in the diff) talks about "EXP hair coupon" (which itself is strange). The new version is more consistent with the actual item name.

Code quality concerns:

  • These are XML/data files and JS script files - mostly string changes
  • No logic changes
  • The gachapon.js has a no-newline-at-end-of-file warning already present (not introduced by this PR)
  • In 9270043.js, the no-newline-at-end-of-file was already there

Potential issues to flag:

🟡 中危:

  1. Consistency not maintained: The PR only changes the zh-CN versions. If the server has multiple locale options (e.g., gms-server/scripts/ which might be English), the translations are now divergent. Need to verify there's no other locale folder that also needs updating.

  2. Character name changes (休彼德蔓→休彼得蔓, 克劳蒂亚→克劳迪娅): These NPC names may be referenced in:

    • Quest scripts
    • Item descriptions
    • Other NPC dialogues
    • Map strings
      The PR should verify all references are updated. Let me check if any references remain...

    Looking at the diff, I can see in 9105004.js and 9105005.js, "斯克鲁奇" (Scrooge) is used, but I don't see references to 休彼德蔓 in NPC scripts. The changes look comprehensive for the items and maps.

🟢 低危:

  1. "快乐村" → "幸福村" terminology change: Gameplay-related - if players are used to the old name, this could cause confusion. Should consider if this matches official Chinese version.

  2. "Gachapon" → "快乐百宝箱": This is a known good change matching official localization.

  3. String length: Some text strings got longer. In MapleStory, NPC dialog has length limits per line. The original mixed Chinese/English often allowed longer text. The new Chinese text might be cleaner but possibly longer in character count. However, with proper Chinese this should be fine.

What about other risks?

  • The changes look mostly safe because they're just string content
  • No new logic, no SQL injection, no game state changes
  • The translation improvements actually FIX bugs where the original Chinese was garbled (like "\nActually..." in Say.img.xml, which had a literal backslash-n that would display as text rather than newline)

Wait, let me look at that more carefully:

<string name="0" value="非常感谢你今天的工作。谢谢你,我感觉很健康,我给你很多。\ nActually ...我今天有件事要跟你讨论..."/>

The \ n (with a space) is a literal text, not a newline character. This was clearly a machine translation bug. The new version:

<string name="0" value="前些日子真的谢谢你。多亏了你,我现在身体好多了,真的欠你一个大人情。\n其实……今天我有件事想和你商量。..."/>

Uses proper \n without space. This is a real bug fix.

Similarly, "席卷而来" appearing multiple times in quest text was just nonsense copy-pasted text meaning "sweep in" which made no sense in context. These are real translation bug fixes.

Score assessment:

  • Code quality: 5/5 - The changes are clean string replacements, no logic issues
  • Security: 5/5 - No security implications
  • Maintainability: 4/5 - Good, but should consider:
    • Verify all references to changed names are updated
    • Consider if this is the official Chinese localization style guide

Let me also check: was there a backup/rollback? These changes are quite extensive - if a player update was made, there's no way to easily revert individual changes without git history. But that's normal for any PR.

Let me think about whether the 2002000.js change "快乐村" → "幸福村" is actually correct. Looking at the map ID 209000000 which is HAPPYVILLE in the gachapon.js array. In official Chinese MapleStory, Happyville is indeed called "幸福村" (literally "Happiness Village"). The "快乐" version was a mistranslation. So this is a good fix.

Wait, actually, looking more carefully - the comment in 9201033.js says "HAPPYVILLE" with the constant, so this is indeed the Happyville map. The Chinese name 幸福村 matches the official translation.

One more thing - in 2110005.js, the original text was already in Chinese (the diff shows the old text starts with "对不起..."). The PR improves the wording but the original was already in Chinese. The English text at the top was being changed. So the PR fixed a mixed-language issue where the initial variable declarations were in English but the action() responses were in Chinese.

Overall, this is a high-quality localization PR that fixes many real translation bugs. The main concerns are:

  1. Cross-reference verification for name changes
  2. Consistency with other locale versions
  3. Terminology alignment with official Chinese version

Let me write up the review.

📋 PR 概览

本 PR 是中文(zh-CN)本地化内容的大规模翻译质量优化,修正了 NPC 脚本、任务对白、物品/地图/任务字符串中存在的机翻错误、用词不一致、混语种(中英混杂)、占位错误(\ n 字面量)等问题,同时统一了多处 NPC/地名译名(休彼德蔓→休彼得蔓、克蒒蒂亚→克劳迪娅、快乐村→幸福村、扭蛋机→快乐百宝箱、阿莫里亚→阿莫利亚、出租车→中巴等)。

⚠️ 潜在问题

🟡 中危

  1. NPC/物品名称变更可能存在未同步的引用

    • 休彼德蔓休彼得蔓克劳蒂亚克劳迪娅 这类专有名词变更需要全仓库检索。本次改动覆盖了 Npc.img.xmlEqp.img.xmlEtc.img.xmlConsume.img.xmlMap.img.xml 等,但需确认:
      • scripts-zh-CN/ 下的所有 NPC 脚本中是否还有遗漏引用旧名(如 2042000.jsaction() 中是否提及该 NPC)
      • 是否有 scripts/(英文)或其他语言目录中包含中文字面量需要同步
      • 建议追加 git grep "休彼德蔓\|克劳蒂亚" 验证零残留
  2. 跨目录翻译一致性未在同 PR 处理

    • 本次只修改 scripts-zh-CN/wz-zh-CN/,但项目根目录通常还有 scripts/wz/ 等其他 locale。这些目录中的相同脚本(如 2042000.jsgachapon.js)如果玩家切换语言会出现内容不一致。建议确认是否存在"双语共享资源"或"只维护一份脚本+多套 wz"的设计,否则需要在同一 PR 中处理。
  3. 占位符语义变更需客户端配合

    • 旧文 我希望 中的 \ nActually...(含空格)是机器翻译残留,会原样显示给玩家。新文改为中文 其实……。这种修复是正确的,但应注意所有 #b#r#k\r\n\n 等颜色代码与换行符在新文中的位置是否被错误替换(从 diff 看此次替换处理良好,仅作为提醒)。

🟢 低危

  1. 地名"快乐村 → 幸福村"与玩家社区惯用叫法可能冲突

    • 官方中文版确实用"幸福村",所以此改动符合官方译名,是正确选择。但部分老玩家/攻略站可能仍使用"快乐村",建议在公告中说明,避免社区误解。
  2. 部分字符串长度变化

    • 旧文常为短促/机翻短语,新文更自然但更长。冒险岛客户端 NPC 对话框有行宽限制(通常 35-40 字符),新文案如"前些日子真的谢谢你。多亏了你,我现在身体好多了……"较长,建议人工在客户端预览一次所有改动脚本,避免出现意外换行/截断。
  3. gachapon.js9270043.js 末尾缺换行

    • 旧文件已经存在 \ No newline at end of file 警告,本 PR 未顺带修复。低优先级但建议 IDE 保存时统一加 EOL。

💡 改进建议

  1. 补充 PR 描述与变更索引:这是面向玩家可见的文案大改,建议在 PR 描述中列出:

    • 统一了哪些译名(附旧名 → 新名对照表)
    • 引用了哪些官方中文版资料(链接/版本号),便于 reviewer 验证准确性
    • 标注哪些脚本存在客户端分行风险,方便测试重点关注
  2. 新增翻译规范文档:在 gms-server/scripts-zh-CN/docs/ 下新增 TRANSLATION_GUIDELINES.md,固化:

    • 核心 NPC/地名/物品译名表(防止后续 PR 又把"休彼得蔓"改回"休彼德蔓")
    • 颜色码使用规范(#b/#r/#k 不能删除或误改)
    • 占位符保留规范(#h0##t02050003##o5400000# 等)
    • 单行长度建议(≤38 中文字符)
    • 避免机翻特征词(如"席卷而来"、"正在进行的工作"等无意义短语)
  3. 补充回归测试脚本:因为本次只改文案,单元测试无法覆盖,但建议:

    • 启动服务端后用 GM 指令或测试客户端依次触发:与 9201039(克劳迪娅)、2042000/2042001/2042002(精炼)、9270043/gachapon.js(百宝箱)、2110005(骆驼中巴)、9105004/9105005(幸福村组队任务)对话,肉眼检查文本无错别字、占位符被正确替换、行宽合理
    • 在多个分辨率/字体下截图比对,避免出现截断

📊 评分

维度 评分 说明
代码质量 ⭐⭐⭐⭐⭐ 纯文案改动,无逻辑变更;占位符处理细致;未误删 #b 等颜色码
安全性 ⭐⭐⭐⭐⭐ 不涉及任何安全相关代码
可维护性 ⭐⭐⭐⭐ 译名统一性提升明显,但缺少翻译规范文档固化结论,存在后续 PR 改回去的风险;建议补全残留引用检查并补一份指南

总结:这是一次高价值的中文本地化修复 PR,修复了多处严重影响玩家体验的机翻 bug(\ n 字面量、"席卷而来"无意义短语、NPC/地名译名混乱),改动方向正确、与官方中文版对齐。主要风险是名称变更的跨文件同步是否彻底,以及文案长度增加是否引发客户端分行问题——这两点补充一次全仓检索 + 客户端目视回归即可闭环。

@skykiseki skykiseki changed the title fix: 修正汉化内容目录 fix: 修正若干NPC对话以及名称等汉化内容 Jun 12, 2026
@skykiseki skykiseki changed the title fix: 修正若干NPC对话以及名称等汉化内容 fix: 修正汉化内容目录 Jun 12, 2026
@skykiseki

skykiseki commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

已补充本次改动对应的客户端累计 full 包,供需要同步客户端资源的玩家使用。

说明:该包包含本 PR 影响的客户端 IMG 资源,并基于上一版客户端中文补丁累计打包。

@skykiseki skykiseki changed the title fix: 修正汉化内容目录 fix: 修正若干NPC对话以及名称等汉化内容 Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant