Skip to content

[finding] The metadata-admin designer's own i18n table kept ASCII "..." after #3878 converged the ten packs on U+2026 — designer panel and console chrome now spell the ellipsis differently on one screen #4377

Description

@yinlianghui

Found while executing #3878 on branch claude/issue-3878-i18n-copy-trio. #3878 converged the ten locale packs on the typographic ellipsis (U+2026), per the consistency pass on objectstack#6015. The metadata-admin designer does not read those packs — it carries its own flat en/zh table — so it was untouched by that pass and now spells the ellipsis the old way.

Measured

packages/app-shell/src/views/metadata-admin/i18n.ts, 10 entries, 5 keys in each of the two blocks:

key en zh
engine.form.select Select... 请选择...
engine.form.selectObjectDots Select object... 选择对象...
engine.form.addObjects Add objects... 添加对象...
engine.form.selectFieldDots Select field... 选择字段...
engine.form.addFields Add fields... 添加字段...

None of these keys exists in packages/i18n/src/locales/*.ts, so this is not a duplicated-copy case — it is a second, parallel translation table with its own typographic convention.

Why it is a finding and not a bug

Purely a glyph, and confined to the designer's own inspector forms. But it is same-screen visible in the same way #3878 was: the designer renders inside the console shell, so engine.form.select (Select...) sits on screen next to common.select, which #3878 just moved to Select…. Before that PR both said ... and the screen was at least self-consistent; converging the packs alone is what creates the split. Recording it so the next reader does not have to re-derive why one panel disagrees with its own chrome.

Naming the honest cost: the fix is 10 one-character edits, and it needs no gate of its own if the #3878 pin is generalised — but generalising that pin means teaching it a second table with a different shape (flat Record of dotted keys, en and zh in one file, no ten-pack parity), which is more machinery than the defect is worth today. Ten edits and a note in the table's header is the proportionate version.

Related

#3878 (the convergence and its pin, packages/i18n/src/__tests__/ellipsis-glyph-3878.test.ts, whose header already records that it deliberately scopes itself to the ten packs), objectstack#6015 (the ruling). Not an instance of the hardcoded-English family (#4028 and siblings) — these strings ARE translated, into zh, in the designer's own table; only the glyph is off.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions