Skip to content

chore(i18n): zh 可见面术语收敛「对话」→「会话」+ 定义面棘轮门禁 - #2183

Merged
DeliciousBuding merged 1 commit into
masterfrom
chore/cleanup-round-38
Sep 1, 2026
Merged

chore(i18n): zh 可见面术语收敛「对话」→「会话」+ 定义面棘轮门禁#2183
DeliciousBuding merged 1 commit into
masterfrom
chore/cleanup-round-38

Conversation

@DeliciousBuding

Copy link
Copy Markdown
Collaborator

背景

#2154 术语漂移收敛(round-31 取证):用户可见面「对话」与「会话」混用——shortcut.quickChat 甚至自身 title 用「对话」、detail 用「会话」。收敛结论:zh 可见文案统一「会话」;代码标识符保留领域语义(Thread=后端线程实体、Conversation=UI 会话、chat=功能域名),不动标识符。

变更

  • 术语替换(仅 zh 可见值,键与英文不动)
    • nav.chat「对话」→「会话」(shared chatview resources + shared workbench)。
    • shortcut.quickChat「快速新建对话」→「快速新建会话」(desktop zh.json + chatview resources)。
    • shared workbench 星标联系人 subtitle、workbench ContactMainViews 联系人页 subtitle「发起对话」→「发起会话」。
    • mobile-rn strings.ts 7 处 zh 文案统一「会话」。
  • 新增棘轮门禁 scripts/verify/verify-i18n-terminology.py(fail-closed):扫描 5 个 zh i18n 定义面(web zh locale、desktop zh locale、chatview/shared workbench/mobile 资源),禁止术语「对话」,豁免「对话框」(dialog 不同概念);接入 checks.yml → validate,并在 docs/governance/verifier-map.md 登记。硬编码残留与 demo/fixture 数据域不在门禁范围(由既有清理轮与 callsite/dead-key 门禁分治,豁免现状已登记 [整理] 静态审计 backlog 跟踪(探索 lane 剩余项) #2154)。
  • 同步断言:workbench sidebar/pages/composer 的 getByRole('button',{name:'对话'})、shared i18n.test.tsnav.chat 断言、mobile e2e threads.spec.ts 正则。

验证

  • shared i18n/chatview 47 测试、workbench 受影响 3 文件 30 测试全绿;四包 tsc --noEmit 全绿(含 mobile)。
  • 门禁正反向自测:注入「对话」→ exit 1;注入「对话框」→ 豁免通过。
  • verify-doc-ssot / i18n-deadkeys / ci-gates / openapi-contract / migration-idempotency + 新门禁 + git diff --check 全绿。

备注

  • 纯文案/门禁改动,无逻辑、无契约、无 Go 变化;键名与英文文案零改动。
  • 遗留(登记 [整理] 静态审计 backlog 跟踪(探索 lane 剩余项) #2154,超本 PR 范围):workbench/src/mockData.tsmobile-rn/mobileFixtures.ts 数据域「对话」维持不译;ContactMainViews 联系人页仍有成组硬编码中文(subtitle/sectionTitle),建议后续 i18n 化。

@DeliciousBuding
DeliciousBuding merged commit ef7d9ea into master Sep 1, 2026
44 checks passed
@DeliciousBuding
DeliciousBuding deleted the chore/cleanup-round-38 branch September 1, 2026 16:01
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