P69(中文 UI 文案汇总审校)验证记录 基线:commit 4aa6fab(P68)。本单未 push。 审校范围 - 扫描 src/LivingVillage.Desktop 全部 .fs 的字符串字面量(HUD/任务面板/提示/菜单/对话/交易/保存失败反馈), 逐条核对错别字、半/全角标点、状态词与留白一致。 清单与处置 1. 半/全角标点:全仓中文串内无 CJK 邻接的半角 `, . : ; ! ?`(全部用全角「,:」),无需改。 2. 状态词:待接受/进行中/已完成/已失败 一致。面板打开语不一致—— 「需求面板已打开 / 任务面板已打开」vs「年鉴已打开」→ **改为「年鉴面板已打开」** (Interaction.statusLabel + ChineseText.requiredUiLabels)。 3. 交易缺货口径:对话交易失败名「库存不足」vs HUD 交易「背包不足」→ **统一为「库存不足」**(PlayerTrade.sell)。 (PlayerTrade「背包里没有可卖物品」为「空背包」另一语义,保留。) 4. 提示大小写/留白:对话分页页脚「第 %d/%d 页 空格 翻页 Esc 关闭」用 `Esc`(其余全部 `ESC`)且三空格—— **改为「第 %d/%d 页 空格 翻页 ESC 关闭」**(Game.DrawDialogOverlay)。 5. 其余保留(跨文件一致,无改动):白天/夜晚/清晨/黄昏、1倍速/2倍速/5倍速、职业名、任务名、 剧情线文案、菜单项、按键提示 `ENTER/ESC/空格` 等。 红先 - 先建 P69CopyAuditTests.fs 断言新文案;暂存 4 个实现文件后运行 → 2 例红: 「应为 年鉴面板已打开,实际 年鉴已打开」「应为 库存不足,实际 背包不足」;恢复后转绿。 改动文件 - src/LivingVillage.Desktop/Interaction.fs(年鉴面板已打开) - src/LivingVillage.Desktop/ChineseText.fs(requiredUiLabels 同步) - src/LivingVillage.Desktop/PlayerTrade.fs(库存不足) - src/LivingVillage.Desktop/Game.fs(分页页脚留白 + ESC 大写) - src/LivingVillage.Desktop.Tests/P61GlyphCoverageTests.fs(钉住的页脚样例同步) - src/LivingVillage.Desktop.Tests/P69CopyAuditTests.fs(新,2 例)+ .fsproj 挂载 验收 - dotnet build LivingVillage.sln -c Release → 0 错误,1 警告(P40ArtTests.fs FS0760,既有)。 - dotnet test src/LivingVillage.Desktop.Tests -c Release --no-build → 338/338(336→+2)。 - dotnet test src/LivingVillage.Kernel.Tests -c Release --no-build → 119/119。 - --performance-baseline final_digest=953775FAEB2FDDE97289491AA260BD8D390C571E48A7A13AD2CB6FB7124F7F6C(未动 Kernel/Sim)。 边界 - 只改字符串字面量与直接相关断言;未改逻辑、Kernel/Sim、MapSnapshot/渲染口径;未 push。 - 未改职业名/任务名(由 Kernel `Occupation` 提供,属只读、且全仓一致)。