# 游戏 UI / 预设实体 / 编辑器 UI 英文与乱码复核(续) 日期:`2026-03-30` ## 说明 - 这份文档是对当前分支的重新复核,不直接沿用旧审计文档的正文,因为旧文档本身已经存在较明显乱码。 - 本轮重点覆盖三类范围: - 游戏运行时 UI:`src/components/` 下实际会进入主流程的界面,以及 `src/components/game-shell/` - 编辑器 UI:`src/components/*Editor*.tsx`、`src/components/preset-editor/`、`src/editor/shared/` - 预设实体 / 数据层:`src/data/` 中会被编辑器、预览面板或游戏详情页直接透出的文本 - 复核方式: - 直接按 UTF-8 读取源码,避免把终端显示问题误判成源码乱码 - 只记录会显示在玩家或编辑器使用者面前的文本 - `import`、类型名、变量名、接口字段名、纯内部注释默认不计入 - 但保存 / 加载提示这类虽然来自 helper 文件、最终会显示到 UI 的字符串,仍计入 ## 结论摘要 - 当前分支里,真正“源码里已经写坏”的中文乱码,主要集中在 4 个位置: - `src/components/GameShell.tsx` - `src/components/preset-editor/shared.ts` - `src/components/CustomWorldEntityEditorModal.tsx` - `src/components/preset-editor/PresetEditorPanels.tsx` - 其中最严重的是 `src/components/preset-editor/PresetEditorPanels.tsx`: - 角色/NPC/场景/敌对 NPC 资源四个子面板里都有残缺字符串 - 同时混有 `NPC`、`ID`、`FPS`、`Build Buff`、`Medieval NPC` 等英文术语 - 数据层 `src/data/` 本轮没有再扫到新的中文乱码;问题更多是英文预设值直接透到编辑器 / 预览 UI。 - 游戏运行时 UI 侧已经比旧清单干净很多,但仍有几块明显英文残留: - `AdventurePanel` - `AdventureEntityModal` - `CompanionCampModal` - `NpcModals` - `game-shell/CharacterSelectionFlow` ## 一、已确认的真乱码 | 范围 | 文件 | 行号 | 当前文本示例 | 说明 | | --- | --- | --- | --- | --- | | 游戏 UI | `src/components/GameShell.tsx` | `565`, `578`, `591`, `710` | `瑙掕壊`、`鍐掗櫓`、`鑳屽寘`、`闃熶紞` | 主界面底部 tab 和浮层标题已写坏 | | 编辑器 UI | `src/components/preset-editor/shared.ts` | `42-55` | `瑙掕壊`、`鍦烘櫙`、`鐗╁搧`、`鏁屽 NPC`、`姝︿緺`、`浠欎緺`、`鑷畾涔変笘鐣?` | 新版预设编辑器 tab 与世界标签已写坏 | | 编辑器 UI | `src/components/CustomWorldEntityEditorModal.tsx` | `383`, `429`, `433` | `宸查€?`、`鍙栨秷`、`淇濆瓨淇敼` | 自定义世界实体编辑弹窗里的已选中/取消/保存文案乱码 | | 编辑器 UI | `src/components/preset-editor/PresetEditorPanels.tsx` | `251`, `530`, `1383`, `1468`, `1478`, `1830` 等多处 | `鏂版妧鑳?`、`鏂板鎶€鑳?`、`绾満鏅?`、`鑳屾櫙鍥捐矾寰?`、`涓嶈缃?`、`... FPS銆?` | 新版预设编辑器存在大面积残缺字符串,部分已经带 `?` 结尾 | ### `PresetEditorPanels.tsx` 乱码分布 - 角色预设区: - `251`, `310`, `323`, `379`, `467-688`, `719-802` - 示例:`新技�?`、`预览技�?`、`法力消�?`、`属性面�?`、`主场�?` - NPC 预设区: - `1000-1208` - 示例:`这里汇总了场景里的所�?NPC 角色预设�?`、`如果�?NPC 绑定了角色技能...�?`、`敌对 NPC 会沿用战斗资源预设展示...�?` - 场景预设区: - `1244-1478` - 示例:`没有可编辑的场景预设�?`、`敌�?NPC`、`纯场�?`、`背景图路�?`、`不设�?` - 敌对 NPC 资源区: - `1551-1851` - 示例:`没有可编辑的敌对 NPC 资源�?`、`基础数�?`、`最大生�?`、`... 和 FPS�?`、`起始�?` ## 二、游戏 UI 中仍会显示的英文 ### 1. 主冒险面板 - `src/components/AdventurePanel.tsx:363` - `Currency` - `src/components/AdventurePanel.tsx:371` - `No item bounty attached to this quest.` - `src/components/AdventurePanel.tsx:1424` - `LOOT CACHE` - `src/components/AdventurePanel.tsx:1427-1428` - `Tap an item icon to inspect its details.` - `No usable loot dropped this time, but the battle is still settled.` - `src/components/AdventurePanel.tsx:1442` - `No loot dropped this time.` - `src/components/AdventurePanel.tsx:1524` - `HP` / `MP` ### 2. 实体详情与交互弹窗 - `src/components/AdventureEntityModal.tsx:1163-1165` - `x{item.quantity}` - `Inspect` - `src/components/AdventureEntityModal.tsx:1428` - `NPC 背包` - `src/components/CompanionCampModal.tsx:177-178`, `233-234`, `255` - `HP` - `MP` - `NPC` - `src/components/NpcModals.tsx:252`, `273`, `356`, `408` - `NPC 商品列表` - `这个 NPC 当前没有可售商品。` - `NPC 商品` - `HP` / `MP` ### 3. 开场选角流 - `src/components/game-shell/CharacterSelectionFlow.tsx:28-32` - `Sword Princess` - `Royal Blade` - `Vanguard` - `Twin Blade Rogue` - `Assassin` - `Armored Spear` - `src/components/game-shell/CharacterSelectionFlow.tsx:35-39` - `STR` - `AGI` - `INT` - `SPI` - `src/components/game-shell/CharacterSelectionFlow.tsx:329-333` - `Character Stats` - `Gender:` ## 三、编辑器 UI 中仍会显示的英文 ### 1. 旧预设编辑入口 - `src/components/PresetEditor.tsx:61-69` - `Preset Workshop` - `Unified Preset Preview And Editor` - `Manage character, NPC, scene, monster, item, and behavior presets from one editor shell. Each tab now loads its own container so the entry component stays small and focused.` ### 2. 新预设编辑器共享配置 - `src/components/preset-editor/shared.ts:60-72` - `idle` - `move` - `attack` - `die` - `steady` - `burst` - `mobility` - `finisher` - `projectile` ### 3. 新预设编辑器主面板 - `src/components/preset-editor/PresetEditorPanels.tsx:620` - `Build Buff` - `src/components/preset-editor/PresetEditorPanels.tsx:966` - `No NPC presets available.` - `src/components/preset-editor/PresetEditorPanels.tsx:1100-1202` - `NPC` - `NPC ID` - `Medieval NPC` - `src/components/preset-editor/PresetEditorPanels.tsx:1830`, `1867` - `FPS` ### 4. 物品编辑器 - `src/components/ItemCatalogEditor.tsx:648` - `HP` - `MP` - `CD` - `src/components/ItemCatalogEditor.tsx:783` - `Build Buff` - `src/components/ItemCatalogEditor.tsx:800` - `套装 ID` - `src/components/ItemCatalogEditor.tsx:576-585`, `793-800` - `selectedItem.tags`、`buildProfile.role`、`setId` 等原始英文值会直接显示在预览或输入框里 ### 5. 选项行为编辑器 - `src/components/StateFunctionEditor.tsx:818`, `821` - `HP` - `No visible target` - `src/components/StateFunctionEditor.tsx:885`, `915` - `HP` - `n/a` - `src/components/StateFunctionEditor.tsx:1060-1064` - `Failed to save option behavior overrides` - `Option behavior overrides saved.` - `src/components/StateFunctionEditor.tsx:1185` - `AnimationState` 枚举值直接作为 label 显示 - `src/components/StateFunctionEditor.tsx:1191` - `idle` / `move` / `attack` - `src/components/StateFunctionEditor.tsx:1217` - `steady` / `burst` / `mobility` / `finisher` / `projectile` ### 6. NPC 视觉编辑器与自定义世界编辑器 - `src/components/npcVisualEditorPersistence.ts:27-32`, `46-51` - `Failed to save NPC visual overrides` - `Saved NPC visual overrides to src/data/npcVisualOverrides.json.` - `Failed to save NPC layout config` - `Saved shared NPC layout config.` - `src/components/CustomWorldEntityCatalog.tsx:345` - `MedievalFantasyCharacters` - `src/components/CustomWorldEntityEditorModal.tsx:457` - `MedievalFantasyCharacters` ## 四、预设实体 / 数据层中会透到 UI 的英文值 ### 1. 物品预设 - `src/data/itemDesign.ts:52-58`, `67-69`, `123-149` - `worldAffinity: "neutral" / "wuxia" / "xianxia"` - `role: "fieldcraft" / "breaker" / "caster" / "berserker" / "assassin"` - `rarity: "common" / "rare" / "epic"` - `tags: ["caster", "mana"]` 等 - `src/data/itemDesign.ts:213-219` - `pieceName: "boots" / "chest" / "gloves" / "helm" / "leggings" / "shield" / "weapon"` - `src/data/itemDesign.ts:538-545`, `588-606`, `730-766`, `818-836`, `904-919` - 描述和 profile 中直接拼入 `build`、`role`、`dust`、`crystal`、`gem` 等英文值 - 这些字段会在 `ItemCatalogEditor` 预览和构筑信息里直出 ### 2. 敌对资源 / 掉落预设 - `src/data/monsterPresets.ts:494-540`, `647-723` - 掉落类别:`Armor`、`Relic`、`Material`、`Consumable` - 掉落名称:`Carapace Plate`、`Guard Core`、`Spore Pouch`、`Burst Cap`、`Ashfire Feather`、`Serpent Eye`、`Tide Ink`、`Lake Pearl`、`Thorn Nectar` - 掉落描述整句仍是英文 - 这些条目会直接进入掉落预览、NPC 交易与物品详情 ### 3. 角色预设 - `src/data/characterPresets.ts:53-70` - 对话风格值:`blunt`、`wary`、`evasive`、`measured`、`gentle`、`teasing`、`dry`、`steady`、`direct`、`fragmented`、`deflecting` - `src/data/characterPresets.ts:368-379`, `525-536`, `839-850`, `1024-1038` - 动画资源名:`Double Jump`、`jump attack`、`Wall Slide`、`skill1 bullet FX` 等 - `src/data/characterPresets.ts:384-386`, `541-543`, `855-857`, `1043-1045` - `guardStyle` / `warmStyle` / `truthStyle` 的英文原值 - 这些值会在角色预设编辑器与动作 / 风格下拉中透出 ### 4. Build / 标签词典 - `src/data/buildTags.ts:42`, `56`, `91`, `126-147`, `309-316` - `assassin` - `fieldcraft` - `breaker` - `caster` - `armor` - `relic` - `material` - `consumable` - `rare` - `wuxia` - `xianxia` - `neutral` - 这些原始 tag 会通过物品标签、build profile 和编辑器预览进入显示层 ## 五、本轮复核中未发现新增中文乱码的范围 ### 游戏 UI - `src/components/CharacterChatModal.tsx` - `src/components/CharacterDetailModal.tsx` - `src/components/CharacterPanel.tsx` - `src/components/MapModal.tsx` 说明: - 上述文件大体已中文化。 - 仍可能存在少量英文缩写、内部 ID 或技术词,但本轮没有再发现新的明显中文乱码。 ### 数据层 - `src/data/scenePresets.ts` - `src/data/npcInteractions.ts` - `src/data/treasureInteractions.ts` - `src/data/customWorldLibrary.ts` - `src/data/customWorldRuntime.ts` 说明: - 本轮在 `src/data/` 中没有扫到新的中文乱码。 - 当前数据层问题主要是英文 tag、role、rarity、pieceName 等原始值会被上层编辑器直接显示。 ## 六、建议优先级 1. 先修 `src/components/preset-editor/PresetEditorPanels.tsx` - 当前最集中的真乱码源 - 已经影响角色 / NPC / 场景 / 敌对资源四个主编辑子页 2. 再修 `src/components/preset-editor/shared.ts` 与 `src/components/GameShell.tsx` - 一个影响预设编辑入口 tab 与世界标签 - 一个影响玩家主界面底部导航 3. 然后处理 `src/components/CustomWorldEntityEditorModal.tsx` - 量不大,但按钮文案已经坏到影响操作判断 4. 最后统一清英文术语 - 游戏 UI:`AdventurePanel`、`AdventureEntityModal`、`CompanionCampModal`、`NpcModals`、`CharacterSelectionFlow` - 编辑器 UI:`PresetEditor.tsx`、`ItemCatalogEditor.tsx`、`StateFunctionEditor.tsx`、`npcVisualEditorPersistence.ts` - 数据层:`itemDesign.ts`、`monsterPresets.ts`、`characterPresets.ts`、`buildTags.ts`