从 #4854(已随 PR #5165 修复关闭)拆出的独立范围,原文「Worth deciding together with」一节,记录不认领。 ## 事实(#4854 报告方实测) - `report` / `dataset` 在 `METADATA_DOCUMENT_TRANSLATORS` 无条目、`TranslationDataSchema` 无键;`defineStack` 对 `reports:` 块是剥离 + TS2353 双重拒绝。 - 后果:dataset 绑定的 dashboard widget 的**表格列头**(dimension/measure 标签)在任何 locale 下永远英文 —— 中文部署里仅次于 #4854 的可见英文残留。 ## 已有的线索(可能不需要新翻译面) 同一 dashboard 实测:dimension `name` 与真实字段名一致的(`current_grade`)已渲染中文**字段**标签;不一致的(`account_name` ≠ 字段 `name`)显示英文。⇒ 若 resolver 在 dimension 命中真实字段名时回落到字段标签,大多数场景**零新面**解决。 ## 两个方向(裁决位,先测量后动手) 1. **dimension→字段标签回落**(小):`resolveDatasetLabel` 类比 #5165 的修法,命中字段名即用字段翻译;photo 面不新增。剩余不命中的(改名 dimension)维持英文,记台账。 2. **完整 translator 面**(大):`TranslationDataSchema` 增 `_datasets`/`_reports` 键 + translator 注册 —— 新授权面,须按 #4001 战役标准 strict + 三处锚定,且要回答「谁产出这些翻译」。 按创业专注原则倾向方向 1 先行、方向 2 挂 v18 地图;实测(translator 管线的实际结构)可能推翻,届时回报。 Refs:#4854、PR #5165、`packages/spec/src/system/i18n-resolver.ts`。
从 #4854(已随 PR #5165 修复关闭)拆出的独立范围,原文「Worth deciding together with」一节,记录不认领。
事实(#4854 报告方实测)
report/dataset在METADATA_DOCUMENT_TRANSLATORS无条目、TranslationDataSchema无键;defineStack对reports:块是剥离 + TS2353 双重拒绝。resolveViewLabelreads two fields the served view document does not have #4854 的可见英文残留。已有的线索(可能不需要新翻译面)
同一 dashboard 实测:dimension
name与真实字段名一致的(current_grade)已渲染中文字段标签;不一致的(account_name≠ 字段name)显示英文。⇒ 若 resolver 在 dimension 命中真实字段名时回落到字段标签,大多数场景零新面解决。两个方向(裁决位,先测量后动手)
resolveDatasetLabel类比 fix(spec): 视图标签按运行时真实下发的文档形状解析(#4854) #5165 的修法,命中字段名即用字段翻译;photo 面不新增。剩余不命中的(改名 dimension)维持英文,记台账。TranslationDataSchema增_datasets/_reports键 + translator 注册 —— 新授权面,须按 未知键静默剥离仍是全仓默认:把 #3405 的 strict 收紧从一个 schema 推广到整个可授权面(ADR-0078 完整性闸门) #4001 战役标准 strict + 三处锚定,且要回答「谁产出这些翻译」。按创业专注原则倾向方向 1 先行、方向 2 挂 v18 地图;实测(translator 管线的实际结构)可能推翻,届时回报。
Refs:#4854、PR #5165、
packages/spec/src/system/i18n-resolver.ts。