You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
console: chrome i18n gaps beyond #5084 — raw object API name in a lookup placeholder, untranslated toolbar/filter strings, CJK list joiner in the en validation toast #5407
Companion to #5084 (view-mode switcher, Sum:/Avg: footer, dialog a11y
strings). The items below are the remainder found in the same acceptance sweep
on 17.0.0-rc.2, all in console-supplied chrome that no app bundle key reaches —
deliberately excluding everything #5084 already lists.
1. Lookup placeholder interpolates the raw object API name — in every locale including en
The dependent-lookup placeholder on a create form renders the API name
instead of the object's (translated) label:
Locale
Rendered
en
Select crm_account first
zh-CN
请先选择crm_account
ja-JP
まず crm_account を選択してください
es-ES
Seleccione primero crm_account
The sentence is localized; the interpolated name is raw. Note the en row: this
is not only an i18n bug — an English user sees an internal identifier too. The
fix is presumably to interpolate the resolved object label rather than object.name.
2. Toolbar/list chrome with no translation key
More actions, Add reaction, Clear, Close (visible button, distinct from #5084's sr-only string) stay English in every locale. Same class as #5084;
listed here so the set is complete.
3. Dashboard filter chips and KPI sub-captions hardcoded
Filter chips read Owner: / Lead Source: while their values localize
correctly (全部 / すべて / Todo); KPI stat cards carry English sub-captions
(Total Amount / Accounts / Contacts / Leads). Widget titles/descriptions
translate fine, which is what makes the mismatch conspicuous.
4. The en validation toast joins field names with the CJK enumeration comma
Please check the highlighted fields: Subject、Account、Status…
The validation.formInvalid joiner is hardcoded 、 (U+3001) — wrong in
English, right by accident in zh/ja. Related nit, same layer: the es-ES
template lacks gender agreement (Cuenta es obligatorio → obligatoria).
All four items are unreachable from app metadata; every one needs a console
bundle key (the console already ships bundles for zh-CN/ja/es/…, per #5084).
Activity
yinlianghui commentedon Aug 5, 2026
认领:objectui 分片 PM 滚动补位第 2 单(bug 优先口径;#3316 验收后空槽即补)
会话:
session_01GTRjn8xBqp75dk7kFupVRt分支:
claude/issue-5407-console-chrome-i18n(代码落地 objectui 仓,按repo:objectui路由)Worktree:
objectui-issue-5407域:objectui 分片(components / plugin-detail / plugin-dashboard / i18n locales)
文件面(已逐项定位,越界即停):① lookup placeholder →
packages/components/src/renderers/form/form.tsx;② toolbar/chrome 串 →packages/components/src/renderers/action/action-menu.tsx、layout/containers.tsx、packages/plugin-detail/src/ReactionPicker.tsx、RecordActivityTimeline.tsx;③ dashboard filter chips / KPI 副标题 →packages/plugin-dashboard/src/;④validation.formInvalidjoiner + es-ES 性一致 →packages/i18n/src/locales/*.ts(仅词条,⛔ 不碰provider.tsx—— 另一 dev 在飞 #5406)+ 相应测试 +.changeset/*.md排程注记:队列中的 objectui#3272 / #3303 同碰
form.tsx,已记串行在本单之后。与 #5084(list-view chrome)刻意互斥,不重复处理其清单。Generated by Claude Code
yinlianghui commentedon Aug 5, 2026
PM 验收:ACCEPT → objectui PR #3379 已转 ready + auto-merge(CI 15/15 全绿),跟到 MERGED。逐项结论:
dependsOnLabels递 label,无宿主时逐字节回落)。packages/fields非form.tsx),dev 已核对与并行 worktree 零相交,PM 追认。detail.moreActions既有 key,防同页两个 ⋯ 读法不一致);Clear/Close复现不出 —— 仓内每处Clear均已过 t() 且十包齐,唯一例外(plugin-gantt)渲染的是中文与症状相反(另立 objectui:ObjectGantthardcodes Chinese quick-filter labels — English-only-codebase violation, and the gantt toolbar is Chinese in every locale #5427);可见文字的Close只有 Setup 的 ImportObjectDialog,与「toolbar/list chrome」对不上。请您补一下 rc.2 现场(页面路径或截图),补到后精确修;图标按钮类 aria-label 已归入 objectui: remaining untranslated console-chrome accessible names (Page header actions,Emoji picker, the reaction-count label,Close/Close panelin the nav overlay) #5430 并行推进。DashboardFilterDef.label、KPI 副标题是 dataset measure label —— 都是 app 元数据,console 无 bundle key 可翻(这正解释了「值翻了、前缀没翻」)。测量中翻出的真实渲染缺陷(plugin-dashboard 三份私有 resolveLabel 接受 I18nLabel 却从不调 t())已立 objectui: dashboard KPI cards drop the translated widget title/description — the self-containedmetricpath bypassestWidgetTitle, and the plugin's privateresolveLabelnever callst()#5428,其中 filter label 的形状问题是契约决策位,已挂needs-user-decision,分析见该单。validation.formInvalidJoiner;Intl.ListFormat经实测排除 —— zh/ru 下 unit 型分隔符是空串,比现状更糟;es 性数一致用阳性中心词模板解决)。衍生 5 单已分诊:#5425(objectui 有文件含裸 U+0000、全仓无 NUL 门禁 —— 已入队,建议优先)、#5427、#5430(入队)、#5428(决策位)、#5432(finding)。
objectui 分片 PM
session_01GTRjn8xBqp75dk7kFupVRtGenerated by Claude Code