Found while localizing the Studio dashboard property panel (objectui#7254, PR objectstack-ai/objectui#7366).
packages/platform-objects/src/apps/translations/zh-CN.metadata-forms.generated.ts carries:
dashboard.sections.layout = { label: "布局", description: "栅格与响应式" }
The source it translates — packages/spec/src/ui/dashboard.form.ts — says:
{ label: 'Layout', description: 'Grid sizing and refresh cadence.', ... }
「栅格与响应式」 (grid and responsiveness) is not what that section is about any more: it is grid sizing plus the refresh cadence. The source moved and the translation did not follow.
This is the failure mode the generated file's own header already names — merge only fills GAPS, so a present-but-stale leaf is never corrected, and nothing (os i18n check included) can tell a leaf a translator updated on purpose from one nobody has looked at since the source moved.
Two parts worth separating:
- the specific stale leaf above (and a sweep for its siblings —
dashboard.fields.header.helpText reads 「标题、操作按钮与筛选」 against a source that says "Dashboard header config (title, subtitle, actions)", so it looks like the same vintage);
- whether the source-hash machinery already present in that directory (
zh-CN.source-hashes.generated.ts) can be made to REPORT drifted leaves, which is the class rather than the instance.
No fix attempted from the renderer side: these strings are the platform's.
Found while localizing the Studio dashboard property panel (objectui#7254, PR objectstack-ai/objectui#7366).
packages/platform-objects/src/apps/translations/zh-CN.metadata-forms.generated.tscarries:The source it translates —
packages/spec/src/ui/dashboard.form.ts— says:「栅格与响应式」 (grid and responsiveness) is not what that section is about any more: it is grid sizing plus the refresh cadence. The source moved and the translation did not follow.
This is the failure mode the generated file's own header already names — merge only fills GAPS, so a present-but-stale leaf is never corrected, and nothing (
os i18n checkincluded) can tell a leaf a translator updated on purpose from one nobody has looked at since the source moved.Two parts worth separating:
dashboard.fields.header.helpTextreads 「标题、操作按钮与筛选」 against a source that says "Dashboard header config (title, subtitle, actions)", so it looks like the same vintage);zh-CN.source-hashes.generated.ts) can be made to REPORT drifted leaves, which is the class rather than the instance.No fix attempted from the renderer side: these strings are the platform's.