Prune obsolete docs and update navigation
This commit is contained in:
@@ -1,228 +0,0 @@
|
||||
# 编辑器 UI / 游戏 UI / 预设内容英文与乱码审计
|
||||
|
||||
更新时间:`2026-03-25`
|
||||
|
||||
## 范围与方法
|
||||
|
||||
- 范围只覆盖当前源码里会直接进入编辑器 UI、游戏运行时 UI、预设内容预览的文案。
|
||||
- 本轮直接按 `utf-8` 读取 `src/components` 与 `src/data` 复核,不把旧审计文档当最终事实来源。
|
||||
- 不统计 `import`、类型名、变量名、接口字段名、资源路径等纯开发层英文。
|
||||
|
||||
## 结论摘要
|
||||
|
||||
- 当前目标范围内,确认到 **1 处直接写进源码的中文乱码**:
|
||||
- `src/components/PresetEditor.tsx:72` 的 `鐗╁搧`
|
||||
- 当前更大的问题已经不是“大片中文乱码”,而是 **编辑器与部分游戏界面还残留成组英文 UI 文案**。
|
||||
- 预设内容层面的英文主要集中在 **原始枚举值 / 构筑字段**,例如 `common / rare / legendary`、`neutral`、`buildProfile.role`、`idle / move / attack / die`、`steady / burst / mobility / finisher / projectile`。这些值本身在数据层可以保留英文,但当前有一部分被界面直接原样显示出来了。
|
||||
|
||||
## 编辑器 UI
|
||||
|
||||
### 英文残留
|
||||
|
||||
- `src/components/PresetEditor.tsx:84-89`
|
||||
- 编辑器标签仍是 `Characters / NPCs / Scenes / Monsters / Items / Functions`
|
||||
- `src/components/PresetEditor.tsx:97-104`
|
||||
- 预设编辑里仍直接使用 `idle / move / attack / die` 与 `steady / burst / mobility / finisher / projectile`
|
||||
- `src/components/StateFunctionEditor.tsx:333-367`
|
||||
- 预览实体与效果摘要仍是英文:
|
||||
- `Preview NPC`
|
||||
- `Fallback NPC preview for ...`
|
||||
- `Preview Treasure`
|
||||
- `Treasure preview for ...`
|
||||
- `Damage x / Incoming x / Heal + / Mana + / Cooldown + / Turn x`
|
||||
- `src/components/StateFunctionEditor.tsx:496-607`
|
||||
- 预览阶段与提示说明仍有整段英文:
|
||||
- `Player Turn Preview`
|
||||
- `Escape Preview`
|
||||
- `Travel Result Preview`
|
||||
- `Explore Preview`
|
||||
- `Call-Out Preview`
|
||||
- `Idle Behavior Preview`
|
||||
- `Predicted skill: ...`
|
||||
- `Monster counter template uses ...`
|
||||
- `Battle behaviors are driven by skill weights ...`
|
||||
- `Escape behaviors always use the chase flow ...`
|
||||
- `src/components/StateFunctionEditor.tsx:855-939`
|
||||
- 预览面板头部与信息卡仍是英文:
|
||||
- `Option`
|
||||
- `Mode`
|
||||
- `Replay Preview`
|
||||
- `Preview Playing`
|
||||
- `Preview Ready`
|
||||
- `Live Player`
|
||||
- `Live Scene`
|
||||
- `No scene`
|
||||
- `Resolved Plan`
|
||||
- `Option kind`
|
||||
- `Target scene`
|
||||
- `Cooldowns`
|
||||
- `Battle Snapshot`
|
||||
- `Animation`
|
||||
- `Delivery`
|
||||
- `Damage`
|
||||
- `Predicted kill`
|
||||
- `Target survives`
|
||||
- `Snapshot based on live playback`
|
||||
- `src/components/ItemCatalogEditor.tsx:25`
|
||||
- 稀有度选项仍是 `common / uncommon / rare / epic / legendary`
|
||||
- `src/components/ItemCatalogEditor.tsx:486-560`
|
||||
- 物品预览区仍直接显示英文键和值:
|
||||
- `rarity`
|
||||
- `value`
|
||||
- `usable`
|
||||
- `yes / no`
|
||||
- `equip`
|
||||
- `world`
|
||||
- `neutral`
|
||||
- `HP / MP / Damage / Guard`
|
||||
- `HP Restore / MP Restore / CD Reduce`
|
||||
- `Build / 套装`
|
||||
- `Role / Set / Piece`
|
||||
- `none / standalone`
|
||||
- `src/components/NpcVisualEditor.tsx`
|
||||
- 目前大部分文案已中文化,但 `NPC` 缩写仍在标题、字段、保存提示中大量保留,属于低优先级统一项,不是乱码问题。
|
||||
|
||||
### 确认的中文乱码
|
||||
|
||||
| 文件 | 位置 | 当前文本 | 判断 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/PresetEditor.tsx` | `72` | `鐗╁搧` | 明确乱码,语义应为“物品” |
|
||||
|
||||
### 编辑器 UI 小结
|
||||
|
||||
- **最高优先级乱码修复点**:`PresetEditor.tsx:72`
|
||||
- **最高优先级英文清理点**:`StateFunctionEditor.tsx`、`ItemCatalogEditor.tsx`
|
||||
|
||||
## 游戏各界面 UI
|
||||
|
||||
### 英文残留
|
||||
|
||||
- `src/components/GameShell.tsx:414`
|
||||
- 标题副标仍是 `TAVERNREALMS`
|
||||
- `src/components/GameShell.tsx:1083-1094`
|
||||
- 团队弹窗里仍保留 `TavernRealms`
|
||||
- `src/components/CharacterChatModal.tsx:52,73,76`
|
||||
- `CHARACTER CHAT`
|
||||
- `HP`
|
||||
- `MP`
|
||||
- `src/components/CharacterDetailModal.tsx:24-40`
|
||||
- 属性与技能风格映射仍为英文:
|
||||
- `Strength / Agility / Intelligence / Spirit`
|
||||
- `Burst / Steady / Mobility / Finisher / Projectile`
|
||||
- `Female / Male / Unknown`
|
||||
- `src/components/CharacterDetailModal.tsx:149,186,194-271`
|
||||
- 详情弹窗区块标题与标签仍有整段英文:
|
||||
- `INITIAL COMPANION`
|
||||
- `Close character details`
|
||||
- `Profile`
|
||||
- `Candidate`
|
||||
- `Gender`
|
||||
- `Stats`
|
||||
- `Max HP / Max MP`
|
||||
- `Journey`
|
||||
- `Reason / Goal`
|
||||
- `Skills / Loadout / Pack / Backstory / Personality`
|
||||
- `src/components/InventoryPanel.tsx:39-50`
|
||||
- 稀有度标签仍是 `Legendary / Epic / Rare / Uncommon / Common`
|
||||
- `src/components/InventoryPanel.tsx:179-196,215`
|
||||
- 物品详情仍是英文:
|
||||
- `Quantity`
|
||||
- `Owner`
|
||||
- `Usable`
|
||||
- `Yes / No`
|
||||
- `Equipable`
|
||||
- `Value`
|
||||
- `Type`
|
||||
- `Tags`
|
||||
- `no-tags`
|
||||
- `src/components/AdventureEntityModal.tsx:206-217`
|
||||
- 自动生成的物品描述仍是英文整句:
|
||||
- `helps restore HP`
|
||||
- `supports MP recovery`
|
||||
- `fits offensive loadouts`
|
||||
- `supports defensive gearing`
|
||||
- `works as a rare trinket-grade pickup`
|
||||
- `can be saved for crafting or trading`
|
||||
- `${item.name} can be kept for trading, gifting, or future build planning.`
|
||||
- `${item.name} is a ${item.category} item that ...`
|
||||
- `src/components/AdventureEntityModal.tsx:226-235`
|
||||
- 物品属性摘要仍是英文:
|
||||
- `HP`
|
||||
- `MP`
|
||||
- `Damage`
|
||||
- `Guard x...`
|
||||
- `src/components/AdventureEntityModal.tsx:1271-1332`
|
||||
- NPC 物品详情弹窗仍有一整块英文:
|
||||
- `ITEM DETAIL`
|
||||
- `NPC inventory`
|
||||
- `Quantity`
|
||||
- `Value`
|
||||
- `Equip Slot`
|
||||
- `Not equippable`
|
||||
- `Usable item`
|
||||
- `Story, trade, or gift resource`
|
||||
- `Type`
|
||||
- `Rarity`
|
||||
- `Tags`
|
||||
- `No tags`
|
||||
- `src/components/CompanionCampModal.tsx:152,176-177,213,216`
|
||||
- `Active`
|
||||
- `HP`
|
||||
- `MP`
|
||||
- `待命 roster`
|
||||
- `Reserve`
|
||||
- `src/components/NpcModals.tsx:507`
|
||||
- 招募替换提示里仍混入 `roster`
|
||||
|
||||
### 当前未确认到的乱码
|
||||
|
||||
- 本轮没有在游戏运行时 UI 组件里复核到新的、直接写死在源码中的中文乱码。
|
||||
- 当前游戏 UI 的主要问题已经转为“英文标签 / 英文句子未汉化”,不是大面积中文乱码。
|
||||
|
||||
## 预设内容
|
||||
|
||||
### 直接会透到 UI 的英文源
|
||||
|
||||
- `src/data/itemDesign.ts:52-72`
|
||||
- 材质主题里直接保存了英文原始值:
|
||||
- `worldAffinity: "neutral"`
|
||||
- `role: "fieldcraft" / "breaker" ...`
|
||||
- `rarity: "common"`
|
||||
- `tags: ["scout", "craft"]`
|
||||
- `src/data/itemCatalog.ts:260-270`
|
||||
- `designed.rarity / designed.worldAffinity / designed.buildProfile` 会原样流入物品目录数据
|
||||
- `src/components/ItemCatalogEditor.tsx:486-560`
|
||||
- 上述原始字段当前会在编辑器预览里被直接显示,因此形成了可见英文泄漏
|
||||
- `src/data/questFlow.ts:24-30`
|
||||
- 任务奖励物品稀有度仍是 `rare / uncommon`
|
||||
- `src/data/npcInteractions.ts:71-82,102-103,166`
|
||||
- 稀有度与标签推断仍使用 `common / uncommon / rare / epic / legendary`
|
||||
- 物品标签仍使用 `weapon / armor`
|
||||
- `src/components/PresetEditor.tsx:97-104`
|
||||
- 预设编辑直接使用 `idle / move / attack / die`
|
||||
- 技能风格直接使用 `steady / burst / mobility / finisher / projectile`
|
||||
- `src/components/StateFunctionEditor.tsx:85-98`
|
||||
- 行为编辑直接使用 `battle / idle`
|
||||
- 朝向直接使用 `left / right`
|
||||
- 怪物动画直接使用 `idle / move / attack`
|
||||
- 风格直接使用 `steady / burst / mobility / finisher / projectile`
|
||||
|
||||
### 当前未确认到的乱码
|
||||
|
||||
- 本轮没有在 `src/data/*.ts` 的预设正文里复核到新的、直接写死的中文乱码。
|
||||
- 当前预设内容层面的问题,主要是“英文字段值没有在显示层做 label 映射”,不是正文汉字被写坏。
|
||||
|
||||
## 建议处理顺序
|
||||
|
||||
1. 先修 `src/components/PresetEditor.tsx:72` 的 `鐗╁搧`。
|
||||
2. 再集中处理 `src/components/StateFunctionEditor.tsx` 的整组英文预览与提示文案。
|
||||
3. 然后处理 `src/components/ItemCatalogEditor.tsx` 的物品预览英文键名与英文值。
|
||||
4. 之后清理游戏运行时最明显的英文块:
|
||||
- `src/components/CharacterDetailModal.tsx`
|
||||
- `src/components/InventoryPanel.tsx`
|
||||
- `src/components/AdventureEntityModal.tsx`
|
||||
- `src/components/CompanionCampModal.tsx`
|
||||
- `src/components/CharacterChatModal.tsx`
|
||||
- `src/components/GameShell.tsx`
|
||||
5. 最后为预设源字段补统一显示映射,把 `common / rare / legendary / neutral / idle / left / right ...` 全部收口到统一词典。
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
# 游戏 UI / 预设 / 编辑器 UI 英文与乱码复查
|
||||
|
||||
日期:`2026-03-29`
|
||||
|
||||
## 结论摘要
|
||||
|
||||
- 当前分支里,**确认存在源码级中文乱码的文件只有 1 个**:`src/components/CustomWorldEntityEditorModal.tsx`。
|
||||
- 历史上已经出现过的两处高风险乱码,本次**未复现**:
|
||||
- `src/components/GameShell.tsx` 角色选择页返回按钮
|
||||
- `src/data/npcInteractions.ts` 切磋敌对动作文案
|
||||
- 目前更主要的问题已经从“大面积乱码”转成了三类:
|
||||
- 运行时 UI 里的英文缩写或英文句子
|
||||
- 编辑器 UI 里的英文术语、原始枚举值和英文缩写
|
||||
- 预设数据中的英文名称、分类、标签、世界倾向、构筑角色等原始值直接透到 UI
|
||||
|
||||
## 复查口径
|
||||
|
||||
- 只统计会直接进入游戏 UI、编辑器 UI、预设预览或运行时详情的文本。
|
||||
- 不把纯内部实现名算进问题范围,比如接口路径、变量名、导入路径、素材文件夹名。
|
||||
- 终端输出已切换到 UTF-8 后复查,避免把“控制台显示乱码”误判成“源码真实乱码”。
|
||||
|
||||
## 一、已确认的源码级乱码
|
||||
|
||||
### 1. 编辑器 UI
|
||||
|
||||
| 文件 | 行号 | 当前文本 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/CustomWorldEntityEditorModal.tsx` | `360`, `381` | `褰撳墠浼氱洿鎺...`、`棰勮 #...` | 场景预设选择弹窗的说明文案和预设编号标签已写坏 |
|
||||
| `src/components/CustomWorldEntityEditorModal.tsx` | `551`, `559`, `569`, `572`, `578`, `581`, `584`, `587` | `褰撳墠澶栬妯℃澘`、`褰㈣薄妯℃澘`、`鍚嶇О`、`绉板彿 / 韬唤`、`鑳屾櫙`、`鎬ф牸`、`鎴樻枟椋庢牸`、`鏍囩` | 可扮演角色编辑表单的标题与字段标签存在真实乱码 |
|
||||
| `src/components/CustomWorldEntityEditorModal.tsx` | `663`, `666`, `669`, `672` | `鍚嶇О`、`韬唤 / 鑱岃兘`、`鎻忚堪`、`鍔ㄦ満` | 普通 NPC 编辑表单字段标签存在真实乱码,即“创建自定义世界 -> NPC 编辑页”这一段 |
|
||||
| `src/components/CustomWorldEntityEditorModal.tsx` | `721`, `732`, `736`, `739` | `鍦烘櫙`、`棰勮鍥句腑鐨勫垏纾...`、`鍚嶇О`、`鎻忚堪` | 场景编辑器默认回退文案、说明文案和字段标签存在真实乱码 |
|
||||
| `src/components/CustomWorldEntityEditorModal.tsx` | `771`, `791` | ``瑙掕壊-${...}``、`['绾跨储', '浜掑姩']` | 默认新建数据本身带乱码,会继续流入编辑器与结果页 |
|
||||
|
||||
## 二、游戏 UI 中的英文残留
|
||||
|
||||
| 文件 | 行号 | 当前文本/值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/AdventurePanel.tsx` | `179-187` | `restores HP during an adventure run`、`fits offensive loadouts` 等整句英文 | 奖励物品自动描述仍是英文句子,会直接进入运行时奖励详情 |
|
||||
| `src/components/AdventureEntityModal.tsx` | `815-816`, `988`, `1124-1126`, `1497` | `HP`、`MP` | 玩家、怪物、NPC 状态条与效果预览仍使用英文缩写 |
|
||||
| `src/components/AdventureEntityModal.tsx` | `1071`, `1109`, `1426` | `NPC 信息`、`敌对NPC` / `NPC`、`NPC 背包` | NPC 相关标题和标签仍是中英混排 |
|
||||
| `src/components/CompanionCampModal.tsx` | `176-177`, `232-233`, `254` | `HP`、`MP`、`NPC` | 同行编队卡片和空态提示仍保留英文缩写 |
|
||||
| `src/components/NpcModals.tsx` | `251`, `355`, `407` | `NPC 商品列表`、`NPC 商品`、`HP` / `MP` | 商店弹窗标题和物品效果预览仍是中英混排 |
|
||||
| `src/components/CharacterDetailModal.tsx` | `117` | `数量 x{item.quantity}` | 数量前缀里仍保留英文乘号写法 |
|
||||
|
||||
## 三、编辑器 UI 中的英文残留
|
||||
|
||||
| 文件 | 行号 | 当前文本/值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `601`, `617-623` | `neutral / wuxia / xianxia`、`tag` 原始值 | 世界倾向和标签直接显示原始英文值 |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `637-651`, `689` | `HP`、`MP`、`Build Buff`、`CD` | 属性预览、使用效果和背包卡片预览仍有英文缩写/术语 |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `662-665` | `buildProfile.role`、`synergy` 原始值 | 构筑角色和协同标签直接暴露英文角色定位值 |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `712`, `824`, `841` | `物品 ID`、`使用 Build Buff`、`套装 ID` | 字段标签里仍有 `ID` / `Build Buff` |
|
||||
| `src/components/StateFunctionEditor.tsx` | `843-846`, `910` | `HP`、`No visible target` | 预览摘要和实时状态里仍有英文缩写与整句英文 |
|
||||
| `src/components/StateFunctionEditor.tsx` | `1089-1091` | `Option behavior overrides saved.`、`Failed to save option behavior overrides` | 保存反馈文案仍是英文 |
|
||||
| `src/components/StateFunctionEditor.tsx` | `1133`, `1212`, `1218` | `definition.state`、`AnimationState`、`idle/move/attack` | 原始状态值和动画值仍直接显示 |
|
||||
| `src/components/PresetEditor.tsx` | `86-88`, `2212` | `NPC`、`敌对 NPC` | 页签和说明文案仍有 `NPC` 英文缩写 |
|
||||
| `src/components/PresetEditor.tsx` | `893-910`, `1997-2000` | `AnimationState`、`steady/burst/...`、`idle/move/attack/die` | 技能动作、技能风格、怪物预览动作直接显示原始英文枚举值 |
|
||||
| `src/components/PresetEditor.tsx` | `942`, `1015`, `1142`, `1456`, `1477`, `1483`, `1752`, `1788`, `1796`, `2037`, `2137`, `2174` | `Build Buff`、`ID`、`FPS` | 多个编辑字段和动画配置项仍保留英文术语 |
|
||||
| `src/components/NpcVisualEditor.tsx` | `568-571`, `581`, `817` | `NPC 视觉编辑器`、`当前 NPC`、`x / y` | 标题、字段名和坐标显示仍有英文缩写 |
|
||||
|
||||
## 四、预设 / 数据层中的英文残留
|
||||
|
||||
这些内容虽然不一定直接在当前文件里渲染,但会进入运行时详情、掉落展示、物品编辑器、预设编辑器或交易界面。
|
||||
|
||||
| 文件 | 行号 | 当前文本/值 | 透出路径 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/data/monsterPresets.ts` | `438-456`, `479-499`, `535-540`, `647-650` | `Material`、`Relic`、`Armor`、`Consumable`、`Stone Shell Shard`、`Blood Lens`、英文描述句子、`rare/uncommon`、`material/relic/mana` | 会进入怪物掉落、物品详情、交易弹窗和编辑器预览 |
|
||||
| `src/data/itemDesign.ts` | `56-72`, `123-149`, `602-604`, `761-762`, `832-834` | `worldAffinity` 的 `neutral/wuxia/xianxia`,`role` 的 `fieldcraft/breaker/caster/berserker/assassin`,`tags` 的 `breaker/burst/mana`,`pieceName` 的 `dust/crystal/gem`,以及 `build` 混排短语 | 会直接透到 `ItemCatalogEditor` 的世界、标签、构筑角色、协同标签和套装信息 |
|
||||
| `src/data/characterPresets.ts` | `368-379`, `384-386`, `525-543`, `839-857`, `1024-1045` | `Double Jump`、`jump attack`、`Wall Slide`、`blunt/dry/direct`、`wary/fragmented` 等原始动作名和对话风格值 | 会被 `PresetEditor` 的动作/风格选择器直接显示 |
|
||||
|
||||
## 五、未复现的问题
|
||||
|
||||
- `src/components/GameShell.tsx` 角色选择页返回按钮旧乱码已修复,当前为“返回”。
|
||||
- `src/data/npcInteractions.ts` 旧的切磋动作乱码已修复,当前为“敌对/切磋前蓄力,点击后转为原地闪避”。
|
||||
- 本次扫描 `src/components`、`src/data` 未发现 `<EFBFBD>`(replacement character)类型的编码损坏。
|
||||
- 除 `src/components/CustomWorldEntityEditorModal.tsx` 外,本次未再确认到新的源码级中文乱码文件。
|
||||
- 自定义世界的 NPC 视觉编辑组件 `src/components/CustomWorldNpcVisualEditor.tsx` 本次未发现新的乱码。
|
||||
|
||||
## 六、建议处理顺序
|
||||
|
||||
1. 先修 `src/components/CustomWorldEntityEditorModal.tsx` 的真实乱码。
|
||||
2. 再清理 `src/components/AdventurePanel.tsx` 和 `src/data/monsterPresets.ts` 的整句英文,因为它们最容易直接破坏玩家观感。
|
||||
3. 为高频缩写和枚举值补统一映射层:
|
||||
- `NPC`
|
||||
- `HP` / `MP` / `CD`
|
||||
- `worldAffinity`
|
||||
- `role`
|
||||
- `tags`
|
||||
- `AnimationState`
|
||||
- 技能风格 `steady/burst/mobility/finisher/projectile`
|
||||
4. 最后统一编辑器里所有 `ID`、`FPS`、`Build Buff` 之类术语的显示策略。
|
||||
@@ -1,87 +0,0 @@
|
||||
# 游戏 UI / 预设 / 编辑器 UI 英文与乱码复核
|
||||
|
||||
日期:`2026-03-30`
|
||||
|
||||
## 结论摘要
|
||||
|
||||
- 当前分支里,确认仍在真实渲染的源码级乱码主要集中在 2 个文件:
|
||||
- `src/components/GameShell.tsx`
|
||||
- `src/components/CustomWorldEntityEditorModal.tsx`
|
||||
- `src/components/NpcVisualEditor.tsx` 中确实还留有旧乱码字符串,但位于 `/* ... */` 注释块里,本次不计入“当前 UI 问题”。
|
||||
- 英文残留仍然较多,主要分为三类:
|
||||
- 游戏运行时界面的英文标题、空态文案和缩写
|
||||
- 编辑器界面的英文术语、英文保存反馈和原始枚举值
|
||||
- 预设 / 数据层中的英文名称、标签、角色定位、动画目录和 build 相关原值直接透到 UI
|
||||
|
||||
## 复核口径
|
||||
|
||||
- 显式按 UTF-8 读取文件,避免把终端编码问题误判成源码乱码。
|
||||
- 只统计会进入游戏 UI、编辑器 UI、预设预览或结果页的文本。
|
||||
- 注释块、变量名、导入路径、接口路径等内部实现名不计入本次问题清单。
|
||||
- 英文残留部分以下表中的“当前确实会显示或透传”的高优先级项为主。
|
||||
|
||||
## 一、已确认的真实乱码
|
||||
|
||||
| 范围 | 文件 | 行号 | 当前文本 | 说明 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 游戏 UI | `src/components/GameShell.tsx` | `565` | `瑙掕壊` | 主界面底部“角色”页签已写坏 |
|
||||
| 游戏 UI | `src/components/GameShell.tsx` | `578` | `鍐掗櫓` | 主界面底部“冒险”页签已写坏 |
|
||||
| 游戏 UI | `src/components/GameShell.tsx` | `591` | `鑳屽寘` | 主界面底部“背包”页签已写坏 |
|
||||
| 游戏 UI | `src/components/GameShell.tsx` | `710` | `闃熶紞` / `鑳屽寘` | 浮层标题根据面板切换时会显示乱码 |
|
||||
| 编辑器 UI | `src/components/CustomWorldEntityEditorModal.tsx` | `386` | `宸查€?` | 场景预设选择弹窗中的“已选中”状态标签已写坏 |
|
||||
| 编辑器 UI | `src/components/CustomWorldEntityEditorModal.tsx` | `432` | `鍙栨秷` | 统一保存栏的取消按钮已写坏 |
|
||||
| 编辑器 UI | `src/components/CustomWorldEntityEditorModal.tsx` | `436` | `淇濆瓨淇敼` | 统一保存栏的主按钮文案已写坏 |
|
||||
|
||||
## 二、游戏 UI 中的英文残留
|
||||
|
||||
| 文件 | 行号 | 当前文本 / 值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/AdventurePanel.tsx` | `363` | `Currency` | 任务奖励卡的货币标题仍是英文 |
|
||||
| `src/components/AdventurePanel.tsx` | `371` | `No item bounty attached to this quest.` | 任务奖励空态文案仍是英文 |
|
||||
| `src/components/AdventurePanel.tsx` | `1424-1428` | `LOOT CACHE`、`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` | `1352`, `1524` | `x{item.quantity}`、`HP` / `MP` | 数量展示与效果预览仍保留英文缩写 |
|
||||
| `src/components/AdventureEntityModal.tsx` | `892-899` | `label="HP"`、`label="MP"` | 同行状态估计卡仍使用英文缩写 |
|
||||
| `src/components/AdventureEntityModal.tsx` | `1073`, `1111`, `1428` | `NPC 信息`、`敌对NPC` / `NPC`、`NPC 背包` | NPC 详情区仍是中英混排 |
|
||||
| `src/components/CompanionCampModal.tsx` | `177-178`, `233-234`, `255` | `HP`、`MP`、`NPC` | 营地卡片和空态提示仍保留英文缩写 |
|
||||
| `src/components/NpcModals.tsx` | `79`, `252`, `273`, `356`, `408` | `x{item.quantity}`、`NPC 商品列表`、`这个 NPC 当前没有可售商品。`、`NPC 商品`、`HP` / `MP` | 交易弹窗、详情弹窗和数量角标存在中英混排 |
|
||||
| `src/components/CharacterDetailModal.tsx` | `117` | `数量 x{item.quantity}` | 角色详情中的数量前缀仍保留英文 `x` |
|
||||
|
||||
## 三、编辑器 UI 中的英文残留
|
||||
|
||||
| 文件 | 行号 | 当前文本 / 值 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `576-581`, `621-624` | `fieldcraft`、`breaker`、`mana`、`boots`、`dust`、`crystal`、`gem` 等原值 | 物品标签、构筑角色、部件名和协同信息会直接显示英文原值 |
|
||||
| `src/components/ItemCatalogEditor.tsx` | `648`, `671`, `729-783`, `800` | `HP` / `MP` / `CD`、`物品 ID`、`使用 Build Buff`、`套装 ID` | 物品编辑器预览与字段标签仍有英文缩写 / 术语 |
|
||||
| `src/components/StateFunctionEditor.tsx` | `818-821`, `885`, `915` | `HP`、`No visible target`、`n/a` | 选项行为预览面板仍有英文缩写和英文空态 |
|
||||
| `src/components/StateFunctionEditor.tsx` | `1060-1064` | `Failed to save option behavior overrides`、`Option behavior overrides saved.` | 保存反馈仍是英文 |
|
||||
| `src/components/StateFunctionEditor.tsx` | `1106`, `1185`, `1191` | `battle/idle`、`AnimationState` 的原始动作值、`idle/move/attack` | 状态和动作枚举值直接显示为英文 |
|
||||
| `src/components/PresetEditor.tsx` | `88`, `90`, `1474-1501`, `1806-1814` | `NPC`、`敌对 NPC`、`NPC ID`、`关联角色 ID`、`敌对资源 ID`、`连接场景 ID` | 多个标签和页签仍保留英文缩写 / `ID` |
|
||||
| `src/components/PresetEditor.tsx` | `101-106`, `896-913`, `2008-2018` | `idle/move/attack/die`、`steady/burst/mobility/finisher/projectile` | 角色技能和敌对资源预览会直接显示英文枚举值 |
|
||||
| `src/components/PresetEditor.tsx` | `945`, `2155`, `2192` | `Build Buff`、`FPS` | 技能编辑和动作图集配置仍有英文术语 |
|
||||
| `src/components/NpcVisualEditor.tsx` | `416-461` | `Failed to load NPC visual overrides`、`Failed to load NPC layout config`、`using bundled defaults` | NPC 视觉编辑器的加载失败提示仍是英文 |
|
||||
| `src/components/NpcVisualEditor.tsx` | `678`, `718` | `Saved NPC visual overrides to ...`、`Saved shared NPC layout config.` | 保存成功反馈仍是英文 |
|
||||
| `src/components/NpcVisualEditor.tsx` | `903`, `906`, `919`, `1226` | `NPC 视觉编辑器`、`当前 NPC`、`x ... / y ...` | 标题、字段标签与坐标信息仍存在中英混排 |
|
||||
|
||||
## 四、预设 / 数据层中会透到 UI 的英文值
|
||||
|
||||
| 文件 | 行号 | 当前文本 / 值 | 透出路径 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/data/monsterPresets.ts` | `494-512`, `522-540`, `647-652`, `718-723` | `Armor`、`Relic`、`Material`、`Consumable`、`Carapace Plate`、`Guard Core`、`Spore Pouch`、`Burst Cap`、`Ashfire Feather`、英文描述句子、`rare/uncommon` | 会进入怪物掉落、战利品详情、交易弹窗和物品预览 |
|
||||
| `src/data/itemDesign.ts` | `56-57`, `67-68`, `123-149` | `worldAffinity: neutral/wuxia/xianxia`、`role: fieldcraft/breaker/caster/berserker/assassin`、`tags` 中的 `caster/mana/burst/assassin` | 会透到 `ItemCatalogEditor` 的世界、角色定位、标签和协同信息 |
|
||||
| `src/data/itemDesign.ts` | `213-219`, `538-545`, `589-604`, `731-762`, `820-834`, `906-918` | `pieceName: boots/chest/gloves/...`、`build`、`setId`、`role`、`dust/crystal/gem` 等 | 会透到物品编辑器、套装信息和部件信息展示 |
|
||||
| `src/data/characterPresets.ts` | `54-69` | `blunt/wary/dry/direct/fragmented` | 对话风格与性格归类原值会被编辑器直接显示 |
|
||||
| `src/data/characterPresets.ts` | `368-379`, `525-526`, `839-850`, `1024-1025` | `Double Jump`、`jump attack`、`Wall Slide` | 角色动作目录 / 前缀原值会被 `PresetEditor` 直接显示 |
|
||||
| `src/data/characterPresets.ts` | `384-386`, `541-543`, `855-857`, `1045` | `guardStyle` / `warmStyle` / `truthStyle` 对应的英文原值 | 角色预设风格字段在编辑器中仍会显示英文 |
|
||||
|
||||
## 五、未计入项
|
||||
|
||||
- `src/components/NpcVisualEditor.tsx:681-683`、`721-722` 的乱码字符串位于块注释内,不会进入当前界面,因此未计入本次“活跃问题”。
|
||||
- `docs/*.md` 里的历史审计文档和旧清单不在本次范围内,本次只统计游戏 UI、预设和编辑器 UI。
|
||||
|
||||
## 六、建议处理顺序
|
||||
|
||||
1. 先修 `src/components/GameShell.tsx` 和 `src/components/CustomWorldEntityEditorModal.tsx` 的真实乱码,因为它们已经直接出现在主流程界面。
|
||||
2. 再清理 `src/components/AdventurePanel.tsx` 的英文空态、战利品标题和 `Currency`,这是玩家最容易直接看到的一批英文。
|
||||
3. 然后统一编辑器术语映射,优先处理 `HP` / `MP` / `NPC` / `ID` / `FPS` / `Build Buff` / `AnimationState`。
|
||||
4. 最后为 `src/data/itemDesign.ts`、`src/data/monsterPresets.ts`、`src/data/characterPresets.ts` 增加显示层映射,避免原始英文值继续直接透到编辑器和运行时界面。
|
||||
@@ -1,280 +0,0 @@
|
||||
# 游戏 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`
|
||||
- 示例:`新技<E696B0>?`、`预览技<E8A788>?`、`法力消<E58A9B>?`、`属性面<E680A7>?`、`主场<E4B8BB>?`
|
||||
- NPC 预设区:
|
||||
- `1000-1208`
|
||||
- 示例:`这里汇总了场景里的所<E79A84>?NPC 角色预设<E9A284>?`、`如果<E5A682>?NPC 绑定了角色技能...<2E>?`、`敌对 NPC 会沿用战斗资源预设展示...<2E>?`
|
||||
- 场景预设区:
|
||||
- `1244-1478`
|
||||
- 示例:`没有可编辑的场景预设<E9A284>?`、`敌<>?NPC`、`纯场<E7BAAF>?`、`背景图路<E59BBE>?`、`不设<E4B88D>?`
|
||||
- 敌对 NPC 资源区:
|
||||
- `1551-1851`
|
||||
- 示例:`没有可编辑的敌对 NPC 资源<E8B584>?`、`基础数<E7A180>?`、`最大生<E5A4A7>?`、`... 和 FPS<50>?`、`起始<E8B5B7>?`
|
||||
|
||||
## 二、游戏 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`
|
||||
|
||||
@@ -1,194 +0,0 @@
|
||||
# 游戏 UI / 预设 / 编辑器 UI 文案排查
|
||||
|
||||
日期:`2026-03-31`
|
||||
|
||||
## 说明
|
||||
|
||||
- 本文档基于当前分支源码重新复核,直接按 UTF-8 读取,不沿用旧审计文档中的乱码文本。
|
||||
- 只记录会出现在游戏 UI、预设编辑器 UI、结果页预览或保存反馈中的文本。
|
||||
- `import`、变量名、注释、仅内部使用的路径名,不计入本次问题清单。
|
||||
- 位图图片里的内嵌文本未做 OCR,本次只看源码层可见文案。
|
||||
|
||||
## 结论摘要
|
||||
|
||||
- 当前问题可以分成 3 类:
|
||||
- 真实中文乱码或截断。
|
||||
- 英文或英文缩写直接暴露在中文界面。
|
||||
- 预设数据中的英文原始值直接透出到编辑器或预览。
|
||||
- 乱码最集中的文件:
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx`
|
||||
- `src/components/NpcVisualEditor.tsx`
|
||||
- `src/components/CustomWorldEntityEditorModal.tsx`
|
||||
- `src/components/GameShell.tsx`
|
||||
- `src/editor/shared/FormFields.tsx`
|
||||
- 英文最集中的文件:
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx`
|
||||
- `src/components/game-shell/PreGameSelectionFlow.tsx`
|
||||
- `src/components/game-shell/CharacterSelectionFlow.tsx`
|
||||
- `src/components/PresetEditor.tsx`
|
||||
- `src/components/ItemCatalogEditor.tsx`
|
||||
- `src/components/StateFunctionEditor.tsx`
|
||||
- 预设数据层仍有一批英文原始值会直接透出到 UI:
|
||||
- `src/data/itemDesign.ts`
|
||||
- `src/data/monsterPresets.ts`
|
||||
- `src/data/characterPresets.ts`
|
||||
- `src/data/buildTags.ts`
|
||||
|
||||
## 一、已确认的中文乱码 / 截断
|
||||
|
||||
| 范围 | 文件 | 行号 | 当前文本示例 | 说明 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 游戏 UI | `src/components/GameShell.tsx` | `598`, `611`, `624` | `瑙掕壊` / `鍐掗櫓` / `鑳屽寘` | 主流程底部三个 tab 标签已写坏 |
|
||||
| 游戏 UI | `src/components/AdventurePanel.tsx` | `569-571` | `已完<E5B7B2>?` / `已交<E5B7B2>?` / `进行<E8BF9B>?` | 任务状态标签出现截断乱码 |
|
||||
| 游戏 UI | `src/components/CharacterDetailModal.tsx` | `223` | `属<>?` | 角色详情分区标题截断 |
|
||||
| 编辑器 UI | `src/components/CustomWorldEntityEditorModal.tsx` | `242`, `384`, `430`, `434` | `鏀寔...URL` / `宸查€?` / `鍙栨秷` / `淇濆瓨淇敼` | 自定义世界实体编辑弹窗的占位、选中态、取消和保存按钮已写坏 |
|
||||
| 编辑器 UI | `src/components/preset-editor/shared.ts` | `42-55` | `瑙掕壊` / `鍦烘櫙` / `鏁屽 NPC` / `姝︿緺` / `浠欎緺` / `鑷畾涔変笘鐣?` | 预设编辑器主 tab 和世界标签存在乱码 |
|
||||
| 编辑器 UI | `src/components/preset-editor/PresetEditorPanels.tsx` | `1269`, `1364`, `1371-1372`, `1467`, `1477-1486`, `1521`, `1654-1661`, `1689`, `1707` | 多处整句乱码 | 主编辑面板说明文案、预览模式、帮助文本、提示段落大面积损坏 |
|
||||
| 编辑器 UI | `src/components/NpcVisualEditor.tsx` | `463`, `521`, `550`, `701-705`, `719`, `786-833` | 多处整句乱码 | NPC 视觉编辑器的空态、失败提示、回滚提示、页头说明和多组选项已写坏 |
|
||||
| 编辑器 UI | `src/editor/shared/FormFields.tsx` | `156` | `淇濆瓨涓?..` | 通用保存按钮的“保存中...”状态显示乱码 |
|
||||
|
||||
## 二、游戏 UI 中的英文残留
|
||||
|
||||
### 1. 冒险主界面与奖励弹层
|
||||
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:114-125`
|
||||
- 奖励物品描述 fallback 仍是整句英文,如 `restores HP during the run`、`works as a rare relic reward`。
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:136-157`
|
||||
- 任务目标展示里仍有 `BOUNTY TARGET`、`CACHE TRACE`、`SPAR SESSION`、`Inspect the hidden reward site`。
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:262-291`
|
||||
- 任务奖励卡里仍有 `REWARD CACHE`、`Tap an item icon to inspect its details.`、`Affinity`、`Currency`、`No item bounty attached to this quest.`。
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:351-358`
|
||||
- 目标详情卡仍有 `Objective`、`Area`。
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:490`, `525`, `668`
|
||||
- 统计说明、保存禁用提示、空任务提示仍是英文,如 `Inspect play time, kills, quests, and travel history.`、`Saving is temporarily disabled...`、`No active quests yet.`。
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx:749`, `781-785`, `831`, `887-908`, `925-1016`
|
||||
- 完成奖励与战斗奖励弹层仍有 `Claim reward`、`QUEST COMPLETE`、`Reward ready`、`Quest reward claimed`、`Battle reward`、`LOOT CACHE`、`No loot dropped this time.`、`Rarity`、`Quantity`、`Slot`、`Not equippable`、`Usable directly`、`Effect preview: HP + ... / MP + ...`。
|
||||
|
||||
### 2. 实体详情与 NPC 交互
|
||||
|
||||
- `src/components/AdventureEntityModal.tsx:1073`, `1111`, `1163-1165`, `1252`, `1428`
|
||||
- 仍有 `NPC 信息`、`NPC`、`x{item.quantity}`、`Inspect`、`Character`、`NPC 背包`。
|
||||
- `src/components/AdventureEntityModal.tsx:892`, `898`
|
||||
- 同伴状态标签仍直接显示 `HP` / `MP`。
|
||||
- `src/components/CompanionCampModal.tsx:177-178`, `233-234`, `255`
|
||||
- 同伴卡片和空态句子里仍有 `HP` / `MP` / `NPC`。
|
||||
- `src/components/NpcModals.tsx:79`, `252`, `273`, `356`, `408`
|
||||
- 交易弹窗与详情弹窗里仍有 `x{item.quantity}`、`NPC 商品列表`、`这个 NPC 当前没有可售商品。`、`NPC 商品`、`效果预览:HP + ... / MP + ...`。
|
||||
|
||||
### 3. 开场流程与角色选择
|
||||
|
||||
- `src/components/game-shell/CharacterSelectionFlow.tsx:28-44`
|
||||
- 角色名、称号、定位、标签全部是英文,如 `Sword Princess`、`Royal Blade`、`Vanguard`、`STR`、`AGI`、`Female`、`Male`。
|
||||
- `src/components/game-shell/CharacterSelectionFlow.tsx:329-391`
|
||||
- 面板标题和按钮仍有 `Character Stats`、`Gender:`、`Backstory`、`Customize`、`Details`、`Enter Camp`、`Go`。
|
||||
- `src/components/game-shell/PreGameSelectionFlow.tsx:63-75`
|
||||
- 自定义世界生成进度仍全是英文,如 `Finalizing world archive...`、`Generating core NPCs...`、`Parsing world setup...`。
|
||||
- `src/components/game-shell/PreGameSelectionFlow.tsx:252-308`
|
||||
- 开场按钮和入口仍有 `New Game`、`Start Game`、`Developer Team`、`Go`、`CONTACTS`、`WORLD SELECT`、`Back`。
|
||||
- `src/components/game-shell/PreGameSelectionFlow.tsx:344-421`
|
||||
- 世界卡片与自定义世界入口仍有 `Online`、`Featured`、`Saved`、`Playable`、`Landmarks`、`Custom`、`Create Custom World`、`Enter a world setup...`。
|
||||
- `src/components/GameShell.tsx:630`, `651`, `695`
|
||||
- Suspense fallback 仍显示 `Loading party panel`、`Loading adventure panel`、`Loading inventory panel`。
|
||||
|
||||
### 4. 其他游戏 UI
|
||||
|
||||
- `src/components/CharacterDetailModal.tsx:112`
|
||||
- `数量 x{item.quantity}` 中的 `x` 仍保留英文数量前缀。
|
||||
|
||||
## 三、编辑器 UI 中的英文残留
|
||||
|
||||
### 1. 编辑器入口与共享配置
|
||||
|
||||
- `src/components/PresetEditor.tsx:65-73`
|
||||
- 页头完整为英文:`Preset Workshop`、`Unified Preset Preview And Editor` 及其说明段。
|
||||
- `src/components/preset-editor/shared.ts:43`, `60-72`
|
||||
- 主 tab 仍有 `NPC`;动画和技能风格选项仍直接使用 `idle`、`move`、`attack`、`die`、`steady`、`burst`、`mobility`、`finisher`、`projectile`。
|
||||
|
||||
### 2. 预设编辑器主面板
|
||||
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx:1267`, `1594`
|
||||
- 保存反馈仍是 `Saved.`。
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx:1277-1279`, `1327-1328`, `1414-1415`, `1608-1609`, `1647-1648`
|
||||
- 多个分区标题和描述仍是占位英文 `Section` / `Editor section.`。
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx:1283`, `1442`, `1448`
|
||||
- 表单标签出现错误拼接,如 `Field"NPC"`、`Field"ID"`。
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx:1320`, `1640`
|
||||
- 保存按钮文字仍是 `Save`。
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx:1421`, `1658-1661`, `1692`, `1698`, `1701`, `1710`, `2149`
|
||||
- 仍有 `NPC ID`、`Monster Encounter`、`NPC Encounter`、`Empty Scene`、`None`、`NPC`、`FPS` 等英文或英文缩写。
|
||||
|
||||
### 3. 物品 / 行为 / NPC 视觉编辑器
|
||||
|
||||
- `src/components/ItemCatalogEditor.tsx:648`, `729`, `736`, `760`, `767`, `783`, `800`
|
||||
- 仍有 `HP`、`MP`、`CD`、`Build Buff`、`ID`。
|
||||
- `src/components/ItemCatalogEditor.tsx:793-817`
|
||||
- `buildProfile.role`、`setId`、`pieceName` 等原始英文值直接显示在输入框。
|
||||
- `src/components/StateFunctionEditor.tsx:818-821`, `885`, `915`
|
||||
- 预览信息里仍有 `HP`、`No visible target`、`n/a`。
|
||||
- `src/components/StateFunctionEditor.tsx:1060-1064`
|
||||
- 保存失败/成功提示仍是英文:`Failed to save option behavior overrides`、`Option behavior overrides saved.`。
|
||||
- `src/components/StateFunctionEditor.tsx:1106`, `1185`, `1191`, `1217`
|
||||
- 仍直接展示 `battle` / `idle`、`AnimationState` 原值、`idle` / `move` / `attack`,以及 `steady` / `burst` / `mobility` / `finisher` / `projectile`。
|
||||
- `src/components/NpcVisualEditor.tsx:538`, `714`, `781`, `798`
|
||||
- 仍有 `Save failed`、`Current NPC`、`Custom Hair Color`、`Hide Facial Hair`。
|
||||
- `src/components/npcVisualEditorPersistence.ts:26`, `31`, `45`, `50`
|
||||
- 保存提示仍为 `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.`。
|
||||
|
||||
### 4. 自定义世界结果页 / 编辑弹窗
|
||||
|
||||
- `src/components/CustomWorldEntityCatalog.tsx:346`
|
||||
- 说明文案里直接暴露资产名 `MedievalFantasyCharacters`。
|
||||
- `src/components/CustomWorldEntityEditorModal.tsx:242`, `458`
|
||||
- 图片路径占位里仍保留 `URL`;NPC 形象编辑说明里直接出现 `MedievalFantasyCharacters`。
|
||||
|
||||
## 四、预设 / 数据层中会透出 UI 的英文原始值
|
||||
|
||||
### 1. 物品预设
|
||||
|
||||
- `src/data/itemDesign.ts:56-58`, `67-69`, `123-149`
|
||||
- `worldAffinity`、`role`、`rarity`、`tags` 中仍有 `neutral`、`wuxia`、`xianxia`、`fieldcraft`、`breaker`、`caster`、`berserker`、`assassin`、`common`、`rare`、`epic` 等原始值。
|
||||
- `src/data/itemDesign.ts:213-219`
|
||||
- `pieceName` 仍为 `boots`、`chest`、`gloves`、`helm`、`leggings`、`shield`、`weapon`。
|
||||
- `src/data/itemDesign.ts:538-545`, `581-598`, `731-748`, `906-913`
|
||||
- 描述拼接和构筑信息里仍直接出现 `build`、`role`、`dust`、`crystal`、`gem` 等英文原始词。
|
||||
- 这些值会直接透出到 `ItemCatalogEditor` 的标签、构筑字段和预览信息。
|
||||
|
||||
### 2. 怪物掉落预设
|
||||
|
||||
- `src/data/monsterPresets.ts:494-536`, `647-721`
|
||||
- 掉落类别仍有 `Armor`、`Relic`、`Material`、`Consumable`。
|
||||
- 掉落名称仍有 `Carapace Plate`、`Guard Core`、`Spore Pouch`、`Burst Cap`、`Ashfire Feather`、`Serpent Eye`、`Tide Ink`、`Lake Pearl`、`Thorn Nectar`。
|
||||
- 掉落描述仍有整句英文,如 `A toxin sac prized by alchemists and assassins alike.`。
|
||||
- 这些值会进入战斗奖励、物品详情和交易 UI。
|
||||
|
||||
### 3. 角色预设
|
||||
|
||||
- `src/data/characterPresets.ts:54-70`
|
||||
- 会话风格原始值仍为 `blunt`、`wary`、`evasive`、`measured`、`gentle`、`teasing`、`dry`、`steady`、`direct`、`fragmented`、`deflecting`。
|
||||
- `src/data/characterPresets.ts:368-386`, `525-543`, `839-857`, `1024-1045`
|
||||
- 动画文件夹 / 前缀与风格原始值仍有 `Double Jump`、`jump attack`、`Wall Slide`、`guardStyle`、`warmStyle`、`truthStyle`。
|
||||
- 这些值会透出到角色预设编辑器、技能预览和部分选择器。
|
||||
|
||||
### 4. Build / 标签词典
|
||||
|
||||
- `src/data/buildTags.ts:42`, `56`, `91`, `126-147`, `308-316`
|
||||
- 仍有 `assassin`、`fieldcraft`、`breaker`、`caster`、`weapon`、`armor`、`relic`、`material`、`consumable`、`rare`、`wuxia`、`xianxia`、`neutral` 等原始标签。
|
||||
- 这些值会在物品编辑器标签、构筑画像和相似度映射结果中直接显示。
|
||||
|
||||
## 五、优先级建议
|
||||
|
||||
1. 先修 `src/components/preset-editor/PresetEditorPanels.tsx` 和 `src/components/NpcVisualEditor.tsx`
|
||||
- 这两处是当前编辑器侧最严重的问题源,既有大面积乱码,也有大量英文占位词。
|
||||
2. 再修游戏首屏与奖励相关 UI
|
||||
- 优先处理 `src/components/adventure-panel/AdventurePanelOverlays.tsx`
|
||||
- 优先处理 `src/components/game-shell/PreGameSelectionFlow.tsx`
|
||||
- 优先处理 `src/components/game-shell/CharacterSelectionFlow.tsx`
|
||||
3. 然后修直接影响主流程判断的乱码
|
||||
- `src/components/GameShell.tsx`
|
||||
- `src/components/AdventurePanel.tsx`
|
||||
- `src/components/CharacterDetailModal.tsx`
|
||||
- `src/components/CustomWorldEntityEditorModal.tsx`
|
||||
- `src/editor/shared/FormFields.tsx`
|
||||
4. 最后补“显示层映射”
|
||||
- 为 `itemDesign.ts`、`monsterPresets.ts`、`characterPresets.ts`、`buildTags.ts` 这类预设原始值统一增加中文显示映射,避免继续把内部英文值直接透给编辑器和游戏 UI。
|
||||
|
||||
@@ -1,325 +0,0 @@
|
||||
# 游戏 UI / 预设 / 编辑器文本审计
|
||||
|
||||
日期:`2026-04-01`
|
||||
|
||||
## 范围
|
||||
|
||||
- 扫描范围:`src/components/`、`src/editor/`、`src/routing/`、`src/hooks/`、`src/services/`、`src/data/`
|
||||
- 聚焦对象:
|
||||
- 游戏内实际可见 UI 文本
|
||||
- 预设编辑器与自定义世界编辑器中的可见文本
|
||||
- 会直接透出到游戏 UI / 编辑器 UI 的预设原始值
|
||||
- 未覆盖:
|
||||
- 图片资源内嵌文字的 OCR
|
||||
- `docs/` 历史文档本身
|
||||
- 单纯内部实现用的 import path、className、asset path、纯 id 常量
|
||||
|
||||
## 方法
|
||||
|
||||
- 先做一轮源码级 AST 扫描,抽取 JSX 可见文本、按钮文案、占位文案、标签文案和常见说明文案。
|
||||
- 再做一轮“反向解码”复核:
|
||||
- `瑙掕壊 -> 角色`
|
||||
- `鍦烘櫙 -> 场景`
|
||||
- `姝︿緺 -> 武侠`
|
||||
- `鏈煡 AI 閿欒 -> 未知 AI 错误`
|
||||
- 结论只保留当前源码里仍然存在的问题,不直接沿用旧审计文档。
|
||||
|
||||
## 结论摘要
|
||||
|
||||
- 当前仍然有 3 类问题:
|
||||
1. 真实乱码:主要在 `appRoutes.tsx`、`AdventurePanel.tsx`、`CharacterDetailModal.tsx`、`useStoryGeneration.ts`、`preset-editor/shared.ts` 和 4 个拆分后的预设面板文件中。
|
||||
2. 游戏 / 编辑器英文残留:主要在 `AdventurePanelOverlays.tsx`、`AdventureEntityModal.tsx`、`PreGameSelectionFlow.tsx`、`NpcVisualEditor.tsx`、`ItemCatalogEditor.tsx`、`StateFunctionEditor.tsx`、自定义世界编辑器几处。
|
||||
3. 预设原始值直接透出:主要在 `characterPresets.ts`、`itemDesign.ts`、`monsterPresets.ts`、`buildTags.ts`、`scenePresets.ts`、`stateFunctions.ts`。
|
||||
- 编辑器侧当前最明显的重灾区不是旧的 `PresetEditorPanels.tsx` 大文件,而是已经拆分出的:
|
||||
- `src/components/preset-editor/shared.ts`
|
||||
- `src/components/preset-editor/CharacterPresetPanel.tsx`
|
||||
- `src/components/preset-editor/SceneNpcPresetPanel.tsx`
|
||||
- `src/components/preset-editor/ScenePresetPanel.tsx`
|
||||
- `src/components/preset-editor/MonsterPresetPanel.tsx`
|
||||
- 游戏主流程里影响最直观的点:
|
||||
- 路由加载页文本乱码
|
||||
- 冒险面板里的任务状态 / 对话状态 / NPC 交互短描述乱码
|
||||
- AI 错误兜底文案乱码
|
||||
|
||||
## 一、游戏 UI:已确认乱码
|
||||
|
||||
| 文件 | 行号 | 当前文本 / 范围 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `src/routing/appRoutes.tsx` | `103-115` | `LOADING EDITOR`、`LOADING GAME`;`姝e湪杞藉叆缂栬緫鍣?..`;`姝e湪杞藉叆鍐掗櫓...` | 路由级加载屏文案。后两段是真乱码;结合反向解码可确定原意分别接近“正在载入编辑器...”和“正在载入冒险...”。 |
|
||||
| `src/components/AdventurePanel.tsx` | `99`、`101`、`103`、`109`、`111`、`113` | `查看库存与价<E4B88E>?`、`聊聊并试探口<E68EA2>?`、`看看能得到什么帮<E4B988>?`、`离开并继续探<E7BBAD>?`、`战斗决胜<E586B3>?`、`切磋几招看身<E79C8B>?` | NPC 交互短描述里有多处截断 / 乱码。 |
|
||||
| `src/components/AdventurePanel.tsx` | `200`、`203` | `可作为制作材<E4BD9C>?`、`任务奖励物品,可用于后续路线、交易或构筑规划<E8A784>?` | 任务奖励物品说明文本被截断。 |
|
||||
| `src/components/AdventurePanel.tsx` | `569-571` | `已完<E5B7B2>?`、`已交<E5B7B2>?`、`进行<E8BF9B>?` | 任务状态标签乱码。 |
|
||||
| `src/components/AdventurePanel.tsx` | `771` | `<60>?` | 对话气泡里的屏幕阅读器标签损坏。 |
|
||||
| `src/components/AdventurePanel.tsx` | `833`、`837`、`870` | `剧情推演<E68EA8>?..`、`对话进行<E8BF9B>?`、`剧情推理完成,继续后显示新的冒险选项<E98089>?` | 加载态 / 流式对话态 / 继续冒险提示都有截断。 |
|
||||
| `src/components/CharacterDetailModal.tsx` | `35-36`、`223` | `女<>?`、`男<>?`、`属<>?` | 性别标签与“属性”标题乱码。 |
|
||||
| `src/hooks/useStoryGeneration.ts` | `1214`、`1266`、`1409`、`1549`、`1978`、`2325` | `鏈煡 AI 閿欒` | 游戏故事流里 AI 失败时的统一兜底提示乱码;可反解为“未知 AI 错误”。 |
|
||||
|
||||
## 二、游戏 UI:英文残留
|
||||
|
||||
### 1. 冒险面板和奖励弹层
|
||||
|
||||
- `src/components/adventure-panel/AdventurePanelOverlays.tsx`
|
||||
- `554-570`:`Adventure stats`、`Current area:`、`ADVENTURE SUMMARY`、`enemies defeated`、`items in inventory`、`scene transitions so far`
|
||||
- `622-668`:`Quest log`、`Total quests:`、`No active quests yet.`
|
||||
- `711-798`:`QUEST BRIEF`、`Claim reward`、`QUEST COMPLETE`、`Reward ready`、`Reward pickup is now available in the quest log.`、`Open quest log`
|
||||
- `887-1016`:`Battle reward`、`Defeated enemies:`、`BATTLE END`、`LOOT CACHE`、`Tap an item icon to inspect its details.`、`No usable loot dropped this time.`、`No loot dropped this time.`、`Rarity:`、`Quantity:`、`Slot:`、`Not equippable`、`Usable directly`、`Passive / non-immediate item`、`Effect preview: HP +`、`MP +`、`Cooldown -`、`Tags:`、`none`
|
||||
- `src/components/AdventurePanel.tsx`
|
||||
- `359-388`:`REWARD CACHE`、`Tap an item icon to inspect its details.`、`Affinity`、`Currency`、`No item bounty attached to this quest.`
|
||||
- `636-638`:`Current area`
|
||||
- `803`、`824`:两个按钮都显示 `Refresh`
|
||||
|
||||
### 2. 实体详情、同伴、交易
|
||||
|
||||
- `src/components/AdventureEntityModal.tsx`
|
||||
- `892`、`898`:`HP`、`MP`
|
||||
- `1073`:`NPC 信息`
|
||||
- `1111`:`敌对NPC`、`NPC`
|
||||
- `1163`:数量前缀 `x{item.quantity}`
|
||||
- `1165`:`Inspect`
|
||||
- `1428`:`NPC 背包`
|
||||
- `src/components/CompanionCampModal.tsx`
|
||||
- `177-178`、`233-234`:`HP`、`MP`
|
||||
- `255`:`NPC`
|
||||
- `src/components/NpcModals.tsx`
|
||||
- `252`、`273`、`356`:`NPC 商品列表`、`这个 NPC 当前没有可售商品。`、`NPC 商品`
|
||||
- `408`:`效果预览:HP +... / MP +... / 冷却 -...`
|
||||
- `src/components/CharacterDetailModal.tsx`
|
||||
- `112`:`数量 x{item.quantity}`
|
||||
|
||||
### 3. 开场流程与加载态
|
||||
|
||||
- `src/components/game-shell/PreGameSelectionFlow.tsx`
|
||||
- `48-49`:`QQ Group`、`WeChat`
|
||||
- `81`、`89`:`核心NPC`
|
||||
- `471-473`:`Wuxia Base`
|
||||
- `519-527`:`Custom`、`Create Custom World`、`Enter a world setup and let the system generate playable characters, NPCs, items, and landmarks.`
|
||||
- `src/components/game-shell/CharacterSelectionFlow.tsx`
|
||||
- `401`:`Character Details`
|
||||
- `406`:`Current Character`
|
||||
- `src/components/GameCanvas.tsx`
|
||||
- `32`:`Loading scene`
|
||||
- `src/components/GameShell.tsx`
|
||||
- `859`:`正在加载 NPC 交互...`
|
||||
|
||||
### 4. 运行时文案源头
|
||||
|
||||
- `src/data/sceneObservation.ts`
|
||||
- `9-36` 整段观察结果仍是英文:
|
||||
- `You pause to listen...`
|
||||
- `Possible NPCs: ...`
|
||||
- `Possible hostile NPCs: ...`
|
||||
- `Possible treasure clues: ...`
|
||||
- `Boss clue: ...`
|
||||
- `src/hooks/useStoryGeneration.ts`
|
||||
- `216`、`219`:最近战斗 / 最近协作提示仍是英文
|
||||
- `639-646`:营地聊天结果文本混用了英文句子
|
||||
- `662-667`:预览对话选项里仍有 `Speak with ...` 与 `Focus on the person in front of you first...`
|
||||
|
||||
## 三、编辑器 UI:已确认乱码
|
||||
|
||||
### 1. 共享标签与世界名
|
||||
|
||||
- `src/components/preset-editor/shared.ts`
|
||||
- `42`:`瑙掕壊`,可反解为 `角色`
|
||||
- `44`:`鍦烘櫙`,可反解为 `场景`
|
||||
- `45`:`鏁屽 NPC`,可反解为 `敌对 NPC`
|
||||
- `46`:`鐗╁搧`,可反解为 `物品`
|
||||
- `47`:`鍔熻兘`,可反解为 `功能`
|
||||
- `53`:`姝︿緺`,可反解为 `武侠`
|
||||
- `54`:`浠欎緺`,可反解为 `仙侠`
|
||||
- `55`:`鑷畾涔変笘鐣?`,基本可判定原意是“自定义世界”,但当前字符串已经不完整
|
||||
|
||||
### 2. 角色预设面板
|
||||
|
||||
- `src/components/preset-editor/CharacterPresetPanel.tsx`
|
||||
- `79`:空状态 / 顶部说明整段乱码
|
||||
- `372-373`:装备区标题乱码
|
||||
- `395-397`:背包区标题乱码
|
||||
- `446-447`:技能预览相关标签乱码
|
||||
- `475-477`:技能区提示乱码
|
||||
- `590-592`:底部说明大段乱码
|
||||
|
||||
### 3. 场景 NPC 预设面板
|
||||
|
||||
- `src/components/preset-editor/SceneNpcPresetPanel.tsx`
|
||||
- `87`:空状态整段乱码
|
||||
- `267`:技能预览空态说明乱码
|
||||
- `346`:角色 ID 标签乱码
|
||||
- `352`:怪物预设 ID 标签乱码
|
||||
- `389`:视觉编辑器说明整段乱码
|
||||
|
||||
### 4. 场景预设面板
|
||||
|
||||
- `src/components/preset-editor/ScenePresetPanel.tsx`
|
||||
- `52`:空状态整段乱码
|
||||
- `220-221`:敌对 NPC 分区标题乱码
|
||||
- `254-255`:场景 ID 标签乱码
|
||||
- `298-299`:怪物 ID 列表标签乱码
|
||||
- `316-317`:关联 NPC 分区标题乱码
|
||||
|
||||
### 5. 怪物预设面板
|
||||
|
||||
- `src/components/preset-editor/MonsterPresetPanel.tsx`
|
||||
- `53`:顶部说明整段乱码
|
||||
|
||||
## 四、编辑器 UI:英文残留
|
||||
|
||||
### 1. 预设编辑器主面板
|
||||
|
||||
- `src/components/preset-editor/CharacterPresetPanel.tsx`
|
||||
- `278-279`:`Character List`、`Choose a player character, preview it live, and edit the preset fields.`
|
||||
- `325`:`Save Character Overrides`
|
||||
- 多处通用占位仍是 `Section`、`Editor section.`、`Field`
|
||||
- `347`:`Inventory World`
|
||||
- `468-484`:`Skill Loadout`、`Add Skill`
|
||||
- `510`:`Skill ID`
|
||||
- `651`:`Character ID`
|
||||
- `682`:`Asset Variant`
|
||||
- `698`:`Personality`
|
||||
- `713`:`Attributes`、`Adjust the four core character attributes.`
|
||||
- `772`:`Unset`
|
||||
- `798`:`scene-id-1 / scene-id-2`
|
||||
- `src/components/preset-editor/SceneNpcPresetPanel.tsx`
|
||||
- `181-182`:`NPC Library`、`Browse and select an NPC preset.`
|
||||
- `186`:`NPC ID`
|
||||
- `223`:`Save NPC Overrides`
|
||||
- `230-246`:`Skill Preview`、`Preview ranged skills from the linked character.`、`Skill`、`World`
|
||||
- `275-276`:`Hostile NPCs use monster presets...`、`Narrative NPCs can preview linked visuals...`
|
||||
- `318-382`:`NPC Details`、`Role`、`Avatar`、`Initial Affinity`、`Description`、`Visual Editor`
|
||||
- `src/components/preset-editor/ScenePresetPanel.tsx`
|
||||
- `145`:`Scene`
|
||||
- `172`:`Save`
|
||||
- `179-193`:`Scene Preview`、`Preview Mode`、`Monster Preview`、`NPC Preview`、`Treasure Preview`、`Empty`
|
||||
- `223`、`230`、`233`、`242`:`None`、`NPC`
|
||||
- `248-272`:`Scene Details`、`World`、`Name`、`Description`
|
||||
- `288`:`Unset`
|
||||
- `src/components/preset-editor/MonsterPresetPanel.tsx`
|
||||
- `172`:`Save Monster Overrides`
|
||||
- `179-180`:`Monster Override Preview`、`Editor section.`
|
||||
- `213-222`:`Attack Range:`、`Speed:`、`HP:`、`Max HP:`
|
||||
- `236`:`Monster ID`
|
||||
- `242`:`Name`
|
||||
- `258`:`Intro Action`
|
||||
- `373`:`FPS`
|
||||
|
||||
### 2. 其他编辑器 / 自定义世界
|
||||
|
||||
- `src/components/ItemCatalogEditor.tsx`
|
||||
- `654`:`HP`、`MP`、`CD`
|
||||
- `677`、`806`:`ID`
|
||||
- `789`:`Build Buff`
|
||||
- `458`、`863`:`public/Icons`、`itemOverrides.json`
|
||||
- `src/components/NpcVisualEditor.tsx`
|
||||
- `463`、`702`、`708`、`718`:`NPC`
|
||||
- `977`:`Shift`
|
||||
- `1028-1052`:`Current loadout:`、`Unknown headgear`、`No headgear`、`Unknown main hand`、`No main hand`、`Unknown off hand`、`No off hand`
|
||||
- `src/components/CustomWorldEntityCatalog.tsx`
|
||||
- `139`、`268`、`276`、`349`:`NPC`
|
||||
- `224`:`WORLD DOSSIER`
|
||||
- `346`:`MedievalFantasyCharacters`
|
||||
- `src/components/CustomWorldEntityEditorModal.tsx`
|
||||
- `242`:`URL`
|
||||
- `460`:`MedievalFantasyCharacters`
|
||||
- `478-479`、`730`、`758-759`:`AI`、`AI生成NPC形象`、`AI生成场景`
|
||||
- `631-653`:`NPC`
|
||||
- `src/components/PresetEditor.tsx`
|
||||
- `71`:介绍文案里仍然直接显示 `NPC`
|
||||
- `src/components/StateFunctionEditor.tsx`
|
||||
- `803`:`Failed to play preview`
|
||||
- `818-821`:`HP`、`No visible target`
|
||||
- `915`:`n/a`
|
||||
- `1060-1064`:`Failed to save option behavior overrides`、`Option behavior overrides saved.`
|
||||
- `1106`:直接显示原始 `state`
|
||||
- `1185`:直接把 `AnimationState` 值作为 label
|
||||
- `1191`:敌对 NPC 反应动画里仍直接显示 `idle` / `move` / `attack`
|
||||
- `1217`:技能风格仍直接依赖 `steady` / `burst` / `mobility` / `finisher` / `projectile`
|
||||
|
||||
## 五、预设 / 数据层:会直接透出 UI 的英文原始值
|
||||
|
||||
这一部分不是“源码内部英文就算问题”,而是“当前编辑器或预览没有做显示映射,导致原始英文值直接露给用户”。
|
||||
|
||||
### 1. 角色预设
|
||||
|
||||
- `src/data/characterPresets.ts`
|
||||
- 动作文件夹 / 前缀仍是英文:
|
||||
- `363-379`
|
||||
- `520-536`
|
||||
- `739-755`
|
||||
- `834-850`
|
||||
- `1019-1038`
|
||||
- 对话风格原始值仍是英文:
|
||||
- `384-386`:`blunt` / `dry` / `direct`
|
||||
- `541-543`:`wary` / `dry` / `fragmented`
|
||||
- `760-762`:`blunt` / `teasing` / `deflecting`
|
||||
- `855-857`:`blunt` / `steady` / `direct`
|
||||
- `1043-1045`:`measured` / `steady` / `fragmented`
|
||||
- 技能风格 / 投射方式仍是英文:
|
||||
- `407-408`、`445`、`473-474`
|
||||
- `572-573`、`604-605`、`636-637`、`668-669`、`700-701`
|
||||
- `791-792`、`815-818`
|
||||
- `886`、`906`、`926-927`、`958-959`、`990-991`
|
||||
- `1066-1077`、`1109-1110`、`1133-1146`、`1178-1179`
|
||||
- 这些值当前会在角色预设编辑器、技能预览和部分行为预览里直接露出。
|
||||
|
||||
### 2. 物品设计 / Build 标签
|
||||
|
||||
- `src/data/itemDesign.ts`
|
||||
- `56-201`:`worldAffinity` / `role` / `rarity` 原始值仍是英文,如 `neutral`、`wuxia`、`xianxia`、`fieldcraft`、`breaker`、`berserker`、`legendary`
|
||||
- `213-219`:`pieceName` 仍是 `boots`、`chest`、`gloves`、`helm`、`leggings`、`shield`、`weapon`
|
||||
- `820`:说明文本里仍混入 `build`
|
||||
- `src/data/buildTags.ts`
|
||||
- `11-291`:整套 build tag id 都是英文,如 `quickblade`、`combo`、`dash`、`ranged`、`burst`、`caster`、`vanguard`、`paladin`、`starter`
|
||||
- 这些值会进入物品编辑器、构筑标签和相关预览。
|
||||
|
||||
### 3. 怪物与掉落
|
||||
|
||||
- `src/data/monsterPresets.ts`
|
||||
- `490-736`:掉落 id、稀有度、tag 原始值大量是英文,如 `rare`、`uncommon`、`armor`、`material`、`relic`、`healing`
|
||||
- `718-736`:有两条掉落本身是完整英文可见值:
|
||||
- `Consumable` / `Thorn Nectar` / `Sticky sap that can be refined into emergency recovery tonic.`
|
||||
- `Relic` / `Devour Bloom` / `A predatory blossom that stores concentrated life force.`
|
||||
|
||||
### 4. 场景 / 行为 / 锻造 / NPC 交互
|
||||
|
||||
- `src/data/scenePresets.ts`
|
||||
- `349-651`:场景 id 全部是英文连字符格式,如 `wuxia-bamboo-road`、`xianxia-cloud-gate`
|
||||
- 当前在编辑器 ID 字段中会直接显示。
|
||||
- `src/data/stateFunctions.ts`
|
||||
- `113-372`:`category` 原始值仍是 `battle` / `recovery` / `escape` / `idle`
|
||||
- 编辑器预览还会直接显示动画 / delivery 原始值。
|
||||
- `src/data/forgeSystem.ts`
|
||||
- `264`:描述里混入 `build`
|
||||
- `274-281`:`relic`、`epic`、`setId`、`pieceName` 等原始值会进入物品编辑器链路
|
||||
- `src/data/npcInteractions.ts`
|
||||
- `207-209`:兜底对话风格仍是 `measured` / `steady` / `fragmented`
|
||||
|
||||
## 六、建议修复顺序
|
||||
|
||||
1. 先修最影响主流程观感的真实乱码。
|
||||
- `src/routing/appRoutes.tsx`
|
||||
- `src/components/AdventurePanel.tsx`
|
||||
- `src/components/CharacterDetailModal.tsx`
|
||||
- `src/hooks/useStoryGeneration.ts`
|
||||
2. 再修预设编辑器的共享标签和 4 个拆分面板。
|
||||
- `src/components/preset-editor/shared.ts`
|
||||
- `src/components/preset-editor/CharacterPresetPanel.tsx`
|
||||
- `src/components/preset-editor/SceneNpcPresetPanel.tsx`
|
||||
- `src/components/preset-editor/ScenePresetPanel.tsx`
|
||||
- `src/components/preset-editor/MonsterPresetPanel.tsx`
|
||||
3. 再统一清理英文残留。
|
||||
- 游戏端优先:`AdventurePanelOverlays.tsx`、`AdventureEntityModal.tsx`、`PreGameSelectionFlow.tsx`
|
||||
- 编辑器端优先:`ItemCatalogEditor.tsx`、`NpcVisualEditor.tsx`、`StateFunctionEditor.tsx`、自定义世界编辑器
|
||||
4. 最后做“显示层映射”,避免预设原始英文继续漏到 UI。
|
||||
- `characterPresets.ts`
|
||||
- `itemDesign.ts`
|
||||
- `buildTags.ts`
|
||||
- `monsterPresets.ts`
|
||||
- `scenePresets.ts`
|
||||
- `stateFunctions.ts`
|
||||
|
||||
## 七、备注
|
||||
|
||||
- 本次结论以当前源码为准,和旧审计文档相比,已有一部分旧问题已经被修掉。
|
||||
- `src/components/preset-editor/PresetEditorPanels.tsx` 现在只是 re-export 壳文件,真正的问题已经分散到拆分后的 panel 文件里。
|
||||
- `src/components/preset-editor/shared.ts` 里的几处乱码已经可以明确反解,适合优先直接修正。
|
||||
- `src/data/` 中很多英文值本身可能是内部枚举,但只要当前编辑器 / 预览没有做中文映射,就仍应视为“会暴露到用户侧”的文本问题。
|
||||
@@ -1,6 +1,6 @@
|
||||
# 文本与乱码审计总览
|
||||
|
||||
这一组文档记录的是同一条清理链路的不同阶段:从“发现哪里有英文/乱码”到“扩展到 prompt、npcInteraction、编辑器深层文本”。
|
||||
这一组只保留当前仍需要执行的文本与乱码审计入口。早期逐日扫描已经聚合到当前结论,不再保留旧稿链路。
|
||||
|
||||
## 当前推荐入口
|
||||
|
||||
@@ -11,17 +11,8 @@
|
||||
3. [GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-04-02.md](./GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-04-02.md)
|
||||
适合看“扩展重查版”的 UI / 预设 / 编辑器问题面。
|
||||
|
||||
## 历史时间线
|
||||
|
||||
- [EDITOR_GAME_PRESET_TEXT_AUDIT_2026-03-25.md](./EDITOR_GAME_PRESET_TEXT_AUDIT_2026-03-25.md):较早期的整体首轮盘点。
|
||||
- [GAME_EDITOR_PRESET_TEXT_AUDIT_2026-03-29.md](./GAME_EDITOR_PRESET_TEXT_AUDIT_2026-03-29.md):复查阶段,开始收紧范围和口径。
|
||||
- [GAME_EDITOR_PRESET_TEXT_AUDIT_2026-03-30.md](./GAME_EDITOR_PRESET_TEXT_AUDIT_2026-03-30.md):继续复核真实乱码与英文残留。
|
||||
- [GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-03-30_CONTINUED.md](./GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-03-30_CONTINUED.md):对上一轮的续扫补充。
|
||||
- [GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-03-31.md](./GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-03-31.md):继续收敛 UI、预设与编辑器问题。
|
||||
- [GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-04-01.md](./GAME_UI_PRESET_EDITOR_TEXT_AUDIT_2026-04-01.md):进入更明确的审计范围与方法阶段。
|
||||
|
||||
## 融合结论
|
||||
|
||||
- 早期几份文档主要负责“摸清哪里有问题”。
|
||||
- 早期几轮扫描已经完成使命,核心结论是:不要把乱码当成普通文案改写,先确认真实编码;文本修复要优先处理会进入玩家体验和 AI 生成链路的内容。
|
||||
- `2026-04-02` 两份文档开始把重点收敛到真正会影响玩家体验和 AI 生成质量的链路。
|
||||
- 现在做文本修复时,不必从最早一份开始逐篇读;优先看 `CHINESE_MOJIBAKE_INVENTORY` 和 `2026-04-02` 两份即可。
|
||||
|
||||
Reference in New Issue
Block a user