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).
Downstream: objectstack-ai/hotcrm#682.
Companion to #5084 (view-mode switcher,
Sum:/Avg:footer, dialog a11ystrings). 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
enThe dependent-lookup placeholder on a create form renders the API name
instead of the object's (translated) label:
Select crm_account first请先选择crm_accountまず crm_account を選択してくださいSeleccione primero crm_accountThe sentence is localized; the interpolated name is raw. Note the
enrow: thisis 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 localizecorrectly (全部 / すべて / Todo); KPI stat cards carry English sub-captions
(
Total Amount / Accounts / Contacts / Leads). Widget titles/descriptionstranslate fine, which is what makes the mismatch conspicuous.
4. The
envalidation toast joins field names with the CJK enumeration commaThe
validation.formInvalidjoiner is hardcoded、(U+3001) — wrong inEnglish, 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).
Downstream: objectstack-ai/hotcrm#682.