复现
- HotCRM 的 zh-CN 翻译已声明 objects.crm_opportunity.fields.name.label = 商机名称,以及 objects.crm_opportunity._sections.basic.label = 基本信息。
- 以中文进入 Studio → 数据 → 商机 → 表单 → 布局。
- 画布仍显示 Opportunity Name 和 Basic Information;同一对象的常规数据视图会正确显示商机名称和基本信息。
这不是种子数据的翻译问题:翻译键存在,且运行态其他表面已能解析。
根因证据
ObjectFormDesigner 的职责说明称布局画布应当与最终用户表单一致,但它直接读取原始元数据:
- SortableField 使用 entry.def.label 作为显示名称。
- 分组标题使用 g.label 或 g.key。
- 组件没有调用已经存在的 useObjectLabel().fieldLabel / sectionLabel。
因此,项目可以提供 objects. 的 fields 和 _sections 翻译,却无法让 Studio 的表单布局画布使用它们。
期望
复现
这不是种子数据的翻译问题:翻译键存在,且运行态其他表面已能解析。
根因证据
ObjectFormDesigner 的职责说明称布局画布应当与最终用户表单一致,但它直接读取原始元数据:
因此,项目可以提供 objects. 的 fields 和 _sections 翻译,却无法让 Studio 的表单布局画布使用它们。
期望
影响
中文 Studio 的表单设计截图和实际 WYSIWYG 预览呈现中英文混排;项目侧补全翻译无法解决。