合并(文案承载换代·文档设计段): 文案承载裁决换代落文——文案值归 data/l10n/strings.csv、数据表与代码只持文案 key。落文 9 文件(code-conventions §2.5 硬纪律/AGENTS.md 红线单行+导航指路/战斗结算 v2.1/增益状态 v1.8/敌人系统 v2.0/锻造工坊 v0.14/秘宝 v1.5/设置与本地化 v1.3/术语表 v1.30);待办清单条目推进文档设计已闭合+待写卡。区内凭据: 流水线闸 PASS(36条目/57行/2链/5卡)、文档域闸【验收通过】无新增红。合回前置检查读数见 pre-merge 钩子; post-merge 钩子推送触发远端 CI
ci / gates (push) Successful in 32s

This commit is contained in:
DKChan committed 2026-11-09 19:30:40 +08:00
commit cf80732903
10 files changed
+27 -17

No files matched your search

+3
View File
@@ -56,6 +56,9 @@
### 2.4 状态字段语义显式
跨战斗/跨场景携带或恢复的状态字段,其语义来源必须显式(表值 / 明确入参),禁止用入参隐式定义。
### 2.5 玩家可见文案承载——key 单点,文案值住翻译文件
玩家看得见的文字(界面标签、toast、明细行显示名、卡面摘要等)一律两件分离:**文案值只住 `game/data/l10n/strings.csv`**(key 列+`zh_CN` 列,加语言=加列),代码与数据表行只持**文案 key**(全库唯一,点分命名如 `clear_reward.title`);取文案只经 `tr()`(Node 语境)/`atr()`(非 Node 语境),禁在 `.gd`/`.tscn` 内联写死文案字串,禁把文案值塞进 `data/tables/*.tres`(数值表只管数值)。场景静态 `text` 按 key 写入、经 Godot 场景自动翻译解析;数据表文案字段更名 `display_key`/`desc_key`(值域=文案 key,不是文案本身)。豁免面:开发者诊断文字(`push_error`/`assert`/日志)与 `game/sim`/`game/probe`/`game/tests` 的文字不属玩家可见面,不受本条约束。
---
## 3. 测试纪律