Skip to content

fix(i18n): 补齐 zh-CN 缺失的 127 个 canonical 键 - #16

Open
snqig wants to merge 2 commits into
mainfrom
i18n/zh-cn-canonical-fill
Open

snqig wants to merge 2 commits into
mainfrom
i18n/zh-cn-canonical-fill

Conversation

@snqig

@snqig snqig commented Sep 7, 2026

Copy link
Copy Markdown
Owner

概要

补齐代码引用但 zh-CN 缺失的 127 个键(canonical locale 缺口),消除默认中文界面里出现的裸 Namespace.key

来源与可信度

  • 48 个从 git 历史恢复(verified):用 git show <codemod提交>~1:<file> 取 codemod 替换前的原始中文。含 2 个需消歧的键——k_1cy20k0=新建评审(editItem.id 三元运算 FALSE 分支)、k_1wtck8n=余料(isRem 分支)。
  • 79 个推断(inferred):Dcprint 自描述英文键(cardSelected/scanQR/uvInk/burdened 等)、Common.activate/deactivateHr.fillMonthSalesReturn.selectOrder,按键名 + 代码上下文(setSuccess/setError/label/placeholder)推断。
  • 2 个待复核Warehouse.k_1gfnr28(成本表空态,推断“暂无成本数据”)、Warehouse.k_sfsp66(仓库设置必填 label,推断“仓库名称”)。

根因

这些键由 P2 codemod (scripts/i18n-codemod-p2.cjs) 在源码插入 ts('k_xxx')/t('ns.key') 调用,但写入 messages 的步骤在提交前被回退/重置,导致中文原文丢失(提交 73a2e8f9 含一个损坏的 PDF blob,会令 git log -S 的 diff 中断,需 core.attributesfile=/dev/null 规避)。

验证

  • i18n-key-check 代码→zh-CN 真实扁平缺失键 归零(剩余 73 条为脚本按命名空间顶层浅校验、无法识别 trace.timeline.x 式嵌套键的误报,非真实缺口)。
  • messages/zh-CN.json CRLF 行尾保留、JSON 可解析。
  • 三语言 + zh-CN 经 src/i18n/request.ts 的 fallbackLocale 深合并已自动对齐。

后续建议

  1. 复核 k_1gfnr28 / k_sfsp66 两处推断值。
  2. 修正 scripts/i18n-key-check.mjs 的浅校验 bug(识别嵌套键),使孤儿/缺失扫描准确。
  3. 清理 zh-CN 的 5646 个 k_xxxxxx 孤儿键(含 codemod 占位)。

🤖 Generated with CodeBuddy

zh-TW: 补齐缺失的 93 个键(含 Error 命名空间,经 opencc 转繁体)

en/vi: 新增 Error 命名空间 36 键翻译 + 补齐 3 个非 Error 缺失键

en: prune 49 个代码未引用的死键(别名键,已 verify_en_extra 校验 0 引用)

src/i18n/request.ts: 落地 fallbackLocale 深合并回退(阶段1)

孤儿 key 精扫: diagnose_i18n_keys + i18n-key-check --unused(zh-CN 5646 孤儿键待清理;226 缺失含 73 嵌套误报)
从 git 历史父版本恢复 48 个键的原始中文(46 直接恢复 + 2 消歧:k_1cy20k0=新建评审、k_1wtck8n=余料)。

其余 79 个为 Dcprint 自描述英文键(cardSelected/scanQR/uvInk 等)、Common.activate/deactivate、Hr.fillMonth、SalesReturn.selectOrder,按键名+代码上下文推断中文;仅 k_1gfnr28(成本表空态)、k_sfsp66(仓库名称) 为上下文推断待复核。

验证:i18n-key-check 代码→zh-CN 真实扁平缺失键归零(剩余 73 为脚本浅校验嵌套键误报,非真实缺口);CRLF 行尾保留;JSON 可解析。
@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
vnerp Error Error Sep 7, 2026 2:56am UTC

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