发现于 #3819 的实施过程(围栏外,PR #3911 未夹带)。未认领,交 PM triage。
机制
PageBlockInspector 的外围 chrome 全部走翻译表:
{t('engine.inspector.pageBlock.properties', locale)}
{t('engine.inspector.pageBlock.advanced', locale)}
{t('engine.inspector.pageBlock.visibleWhen', locale)}
但这个面板的内容——每个块类型的 curated 字段——的 label 来自 previews/block-config.ts 里的字面量,renderField 原样交给 InspectorTextField:
{BLOCK_CONFIG[block.type as string].map((f) => renderField(f, readProp, patchProp))}
renderField 里是 label={f.label},没有经过 t()。block-config.ts 里 100 多个 label(Object、Columns、Fields、Sections、Severity、Dismissible…)以及 addLabel(Add section、Add item)都是硬编码英文,metadata-admin/i18n.ts 里也没有对应键(比对过:i18n.ts 有 designer.canvas.addSection 给表单布局画布用,但块检查器这条路上一个都没有)。
所以在 zh-CN 会话里,这个属性面板呈现为:章节标题「属性」是中文,底下每一格的名字是英文。同一个面板里两种语言。
影响
zh-CN 管理员今天就会看到 —— 打开任意页面块的检查器即可复现,不需要特殊数据。不是 dormant,也不是纯装饰:这是本仓 i18n 纪律(参见刚落地的 #3837)在设计器内容面上的一个空洞。
边界与去重
一处取舍提醒
BLOCK_CONFIG 是一张 curated 表,label 与 spec 的 property 名一一对应;做 i18n 时要决定键的形状(按 block-type.prop 还是复用 spec 侧已有的 label 翻译),这属于契约面决定,所以本单只记录现象,不预设改法。
参考位置
packages/app-shell/src/views/metadata-admin/inspectors/PageBlockInspector.tsx —— renderField(label={f.label},未过 t())与外围 t('engine.inspector.pageBlock.*') 的对比
packages/app-shell/src/views/metadata-admin/previews/block-config.ts —— 全部字面量 label / addLabel
packages/app-shell/src/views/metadata-admin/i18n.ts —— 翻译表(不含这些键)
关联:#3819 / PR #3911(新增的 Name (i18n key) label 沿用了本文件既有的英文字面量惯例,没有单独破例)、#3134(邻域另一个设计面)
发现于 #3819 的实施过程(围栏外,PR #3911 未夹带)。未认领,交 PM triage。
机制
PageBlockInspector的外围 chrome 全部走翻译表:但这个面板的内容——每个块类型的 curated 字段——的 label 来自
previews/block-config.ts里的字面量,renderField原样交给InspectorTextField:renderField里是label={f.label},没有经过t()。block-config.ts里 100 多个 label(Object、Columns、Fields、Sections、Severity、Dismissible…)以及addLabel(Add section、Add item)都是硬编码英文,metadata-admin/i18n.ts里也没有对应键(比对过:i18n.ts有designer.canvas.addSection给表单布局画布用,但块检查器这条路上一个都没有)。所以在 zh-CN 会话里,这个属性面板呈现为:章节标题「属性」是中文,底下每一格的名字是英文。同一个面板里两种语言。
影响
zh-CN 管理员今天就会看到 —— 打开任意页面块的检查器即可复现,不需要特殊数据。不是 dormant,也不是纯装饰:这是本仓 i18n 纪律(参见刚落地的 #3837)在设计器内容面上的一个空洞。
边界与去重
ObjectFormCanvas那个设计面),这里是页面块检查器的 curated 属性 label,两个不同的面。若 PM 判定应合并,可作为 [Studio i18n] 表单布局设计器未解析已有的对象字段和分组翻译 #3134 的邻域参考。PageBlockInspector、block-config/BLOCK_CONFIG、inspector labels i18n),没有同题单。一处取舍提醒
BLOCK_CONFIG是一张 curated 表,label 与 spec 的 property 名一一对应;做 i18n 时要决定键的形状(按block-type.prop还是复用 spec 侧已有的 label 翻译),这属于契约面决定,所以本单只记录现象,不预设改法。参考位置
packages/app-shell/src/views/metadata-admin/inspectors/PageBlockInspector.tsx——renderField(label={f.label},未过t())与外围t('engine.inspector.pageBlock.*')的对比packages/app-shell/src/views/metadata-admin/previews/block-config.ts—— 全部字面量 label / addLabelpackages/app-shell/src/views/metadata-admin/i18n.ts—— 翻译表(不含这些键)关联:#3819 / PR #3911(新增的
Name (i18n key)label 沿用了本文件既有的英文字面量惯例,没有单独破例)、#3134(邻域另一个设计面)