Title
Captions written via MDL always land as en_US — breaks projects whose only/default language isn't en_US
Body
Summary
Every MDL write path that sets a caption/title/label hardcodes the translation under en_US (confirmed in docs/11-proposals/PROPOSAL_translations.md, "75 hardcoded en_US sites"). On a project whose configured language is something else (e.g. nl_NL only, no en_US enabled), the caption is written to a language Studio Pro isn't displaying — so the widget shows the empty-caption placeholder (<>) plus a "no translation for this language" warning, even though mxcli/mx check/mxbuild all report success.
Steps to Reproduce
- A project with a single configured language,
nl_NL (no en_US enabled).
- Create or alter any widget with a caption via MDL, e.g.:
create or modify page MyModule.MyPage (
...
button button1 (Caption: 'Opslaan')
...
)
- Open the page in Studio Pro.
Expected
The button caption shows "Opslaan" in the nl_NL client, no warning.
Actual
The button shows the empty-caption placeholder (<>) and Studio Pro warns that there is no translation for the project's language. mx check / mxbuild show 0 errors — nothing catches it.
Root cause (per the project's own proposal doc)
docs/11-proposals/PROPOSAL_translations.md already documents this precisely: there is no MDL syntax to author a translation for a specific language, so every writer (Title:, Caption:, Content:, Label:, etc.) re-emits the given string under a hardcoded "en_US" LanguageCode, regardless of the project's actual DefaultLanguageCode or enabled languages. Related: #702 (the read-side version of this — describe picking the wrong language — was fixed there; this issue is the write-side counterpart, which the #702 fix explicitly did not cover).
Environment
- mxcli: v0.18.0
- Mendix Studio Pro: (project language: nl_NL only, no en_US enabled)
Ask
At minimum, mx check/mxcli check should warn when a write lands under a LanguageCode the project doesn't have enabled — right now this is silent. Full fix is presumably what PROPOSAL_translations.md scopes (MDL syntax to author a translation in a given language, e.g. writing under the project's DefaultLanguageCode instead of a hardcoded en_US).
Title
Captions written via MDL always land as en_US — breaks projects whose only/default language isn't en_US
Body
Summary
Every MDL write path that sets a caption/title/label hardcodes the translation under
en_US(confirmed indocs/11-proposals/PROPOSAL_translations.md, "75 hardcodeden_USsites"). On a project whose configured language is something else (e.g.nl_NLonly, noen_USenabled), the caption is written to a language Studio Pro isn't displaying — so the widget shows the empty-caption placeholder (<>) plus a "no translation for this language" warning, even thoughmxcli/mx check/mxbuildall report success.Steps to Reproduce
nl_NL(noen_USenabled).Expected
The button caption shows "Opslaan" in the nl_NL client, no warning.
Actual
The button shows the empty-caption placeholder (
<>) and Studio Pro warns that there is no translation for the project's language.mx check/mxbuildshow 0 errors — nothing catches it.Root cause (per the project's own proposal doc)
docs/11-proposals/PROPOSAL_translations.mdalready documents this precisely: there is no MDL syntax to author a translation for a specific language, so every writer (Title:,Caption:,Content:,Label:, etc.) re-emits the given string under a hardcoded"en_US"LanguageCode, regardless of the project's actualDefaultLanguageCodeor enabled languages. Related: #702 (the read-side version of this —describepicking the wrong language — was fixed there; this issue is the write-side counterpart, which the #702 fix explicitly did not cover).Environment
Ask
At minimum,
mx check/mxcli checkshould warn when a write lands under aLanguageCodethe project doesn't have enabled — right now this is silent. Full fix is presumably whatPROPOSAL_translations.mdscopes (MDL syntax to author a translation in a given language, e.g. writing under the project'sDefaultLanguageCodeinstead of a hardcodeden_US).