Skip to content

Custom per-record action buttons stay English on a localized app (transitions, generates, Duplicate & co.) #6523

Description

@delchev

Observed live on a Bulgarian-localized generated app: the per-record action buttons stay English while everything around them is translated - the transition buttons (Void), the create-from buttons (Save as Template, Record Reminder), and the built-in Duplicate (plus a set of chat/upload strings).

Two independent gaps:

  • The generated catalog template misses nine defaults.* keys the views reference (duplicate, send, status, system, internal, internalNote, writeMessage, upload, uploading) - T() silently falls back to the English default and downstream language catalogs never see the keys.
  • The transition/generates action descriptors carry no translation key: the renderer already supports T(action.translation.key, action.label), but the generated descriptors emit only the raw label, so it renders verbatim.

Fix.

  • The nine keys land in the catalog template.
  • The descriptors carry translation: { key: "<project>:<model>-model.actions.<name>" }; EdmIntentGenerator puts a customActionLabels map on the .model root (one label derivation shared with the descriptors - authored label: else humanized name), and the template engine's translate action folds it into the generated en catalog's actions section - so downstream language catalogs cover the buttons like any other label.

The BPM task form's own labels (Approve) are a separate untranslated surface - #6522.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions