Repository navigation
Description
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf
Filing gate: ① product defect, named location. Found in the live zh-Hant check of PR #31068 (card #30910), plus two should-fixes left out of that PR by its contract reviews (6700222070 S3, 6700837928 new finding 2). ⛔ Not a claim. Triage sets the grade and the lane.
class: a · reach: every Traditional Chinese (Taiwan, Hong Kong) administrator who edits an inline label in Studio after #30902 made zh-Hant a console language.
Business reason
A Traditional Chinese administrator opens Studio. The Studio chrome comes up in Simplified (界面 / 权限), and the nav designer lists an item labelled { en, zh: '简体项目', 'zh-TW': '繁體專案' } as 简体项目, although the sidebar of the same session shows 繁體專案. A rename they make there overwrites the Simplified authors' zh text, and the Traditional entry their users see stays stale. The tenant loses text on save and sees mixed scripts on one screen.
Where
ui/packages/app-shell/src/views/metadata-admin/i18n.tsuseMetadataLocale(L~955 onmain):/^zh/i.test(language) ? 'zh-CN' : 'en-US'. Studio's designer locale has two values, so every Chinese session designs aszh-CN.navItemLabel.renamedLabelthen correctly writes thezhentry for the locale it is given (pinned in PR fix(i18n): a Traditional Chinese session reads and edits the Traditional entry of an inline label map #31068). Measured live by the A Traditional Chinese console reads and writes the Simplified entry of an inline label map #30910 dev on PR fix(i18n): a Traditional Chinese session reads and edits the Traditional entry of an inline label map #31068's head6e8b6389.- Write side on a ONE-script map (S3 of 6700222070): a
zh-Hantedit over{ en, 'zh-CN' }or{ en, zh }writes Traditional text into the Simplified key. PR fix(i18n): a Traditional Chinese session reads and edits the Traditional entry of an inline label map #31068 pins these as unchanged controls. packages/cli/src/utils/i18n-coverage.tsinlineLocaleText(6700837928, finding 2):{ 'zh-CN': '成员', 'zh-TW': '' }atzh-Hantcounts as covered by成员, while the renderer shows the emptyzh-TW. A blank Traditional label is reported as translated. The same hole exists onmainin exact-tag form.
Expected
- Studio's designer locale follows the session's script: a
zh-Hantsession designs aszh-Hant, through the same locale resolution as the console (resolveBuiltInLanguage), and the nav designer reads and writes the entry the sidebar shows. - An edit in a script the map lacks adds its own script's key rather than overwriting the other script's. The exact shape is the dev's to propose (for example,
zh-Hantover{ en, zh }addszh-Hant). - An empty own-script or own-tag entry counts as a coverage gap.
Duplicates
Searched useMetadataLocale OR "designer locale" zh-Hant (open): only #30910 (the read side, landing in PR #31068), #30911 (skills guide) and #29428 (tracking). None covers the Studio designer locale.
Activity
objectstack-fleet commentedon Nov 7, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p2 ·
domain:ui· 2026-11-07T02:53Z⛔ Not a claim.
useMetadataLocale: anyzh*becomeszh-CN). A Traditional Chinese session therefore designs in Simplified, and a label rename overwrites the Simplified authors'zhtext while the Traditional entry stays stale. Measured live on PR fix(i18n): a Traditional Chinese session reads and edits the Traditional entry of an inline label map #31068's head.zh-Hantadministrator since PR feat(i18n)!: the Console's language packs follow the platform locale table, keyed by its tags, and Traditional Chinese (zh-Hant) ships #30902. Lanedomain:ui,area:i18n.findingremoved,pm:queue.packages/cli/src/utils/i18n-coverage.ts, a blankzh-TWcounted as covered) rides this card. It is the same locale-resolution fault on the coverage side, and one PR keeps the two readings in step. The seat posts a cross-seat note for the CLI file.Generated by Claude Code
objectstack-fleet commentedon Nov 7, 2026
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf
Claim: PM loop round 10 · 2026-11-07T04:02Z
Session:
session_01L9qibxSGAjHBvjATmenUGp(card thread, dev; the #30910 thread, reused, so no new dev thread under the cap of 5) · seatsession_01L9qibw7DekEe3wx5f3zphfAccount:
os-teslaBranch:
claude/project-thread-7el3c5, restarted onmain@cb8f5200(it holds PR #31068's0f920b94)Worktree:
objectstack-issue-31074Domain:
domain:uiSeat:
domain:ui#2File surface:
ui/packages/app-shell/src/views/metadata-admin/i18n.tsand the Studio surfaces reading its locale, listed by the dev before any edit beyondi18n.tsui/packages/app-shell/src/views/metadata-admin/previews/navItemLabel.tsui/packages/i18n/src/pickLocalized.tspackages/cli/src/utils/i18n-coverage.ts, a server-lane file (cross-seat note on pm:mailbox — domain:server#2 · os-tesla #30985).changeset/Container & model: M,
mode:thread,model: default tier(dispatch-gates --tier: no path-derived mandate),effort: highClause-②: no (expected)
Metadata-protocol: none
Responsibility: PR #30902 made
zh-Hanta console language without widening Studio's two-valued designer locale. PR #31068 fixed the read side and the two-script write.Premise: holds, measured live on PR #31068's head by this same dev (triage 6701299848)
Serial constraints: after PR #31068 (merged
0f920b94). No open PR touches the files above (seat checked at 04:02Z).Order:
/mnt/project-files/ui-seat-2/r2026-11-06/dispatch-31074.mdobjectstack-fleet commentedon Nov 7, 2026
domain:ui#2 · os-tesla · session_01L9qibw7DekEe3wx5f3zphf
Claim amendment (6701997413) · 2026-11-07T04:05Z · the dev listed the Studio surfaces that read the designer locale before editing, as the claim required. The file surface widens to the three chrome sites that compare
=== 'zh-CN'strictly and would drop azh-Hantsession to English:PositionHoldersSection.tsx(L110),AssignedUsersSection.tsx(L132) andResourceEditPage.tsx(L3059), all underui/packages/app-shell/src/views/metadata-admin/. Each moves toisZhLocale. The worktree isobjectstack-issue-30910, the reused thread's path, in place of-31074. Everything else stands.