Generic i18n keys - 5 UI


These generic i18n keys have been deprecated since Magnolia 6.0. They are part of the Magnolia 5 UI framework.

For the updated implementations, see Generic i18n keys for Magnolia 6 UI instead.

Generic i18n keys can be used in more than one location simultaneously, such as in multiple modules, apps and subapps, tabs or views. A list of such keys is provided at the end of this page.

Reusing keys from other modules

At startup, Magnolia creates a global message bundle by reading keys from all .properties files of all modules in the current project. The global bundle is a virtual bundle, not a physical file. It includes keys from your module and keys from Magnolia’s own modules such as ui-admincentral and ui-framework.

This means that you do not need to provide keys for all UI elements in your app. Keys for commonly reused elements such as buttons and subapps are in Magnolia’s own modules. Just reuse the UI element in your app, and Magnolia will find the existing key automatically. In simple terms, the shorter the form of the key, the more places it will apply to.

Example: The contact edit form has Save changes and Cancel buttons.

Contact edit form

The Contacts app does not provide the text for either button in its own message bundle. They are provided in the file of the ui-framework module.

# Default Action Labels
actions.commit=save changes

Therefore, it is not necessary to insert two specific keys such as the following into the .properties file of the Contacts app.

contacts-app.actions.commit=save changes

If your app needs these buttons, just name your actions commit and cancel.

Configuring buttons

Providing a key to other modules or apps

If a key is to be made available to other modules or apps, make the key less specific by omitting the <module> or <app> part of the key. See the list below for acceptable shorter forms of i18n keys.


can be shortened just to


By omitting the module name (mtk) from the key, the shorter form can be reused for translation in other modules, e.g. in Travel Demo (;#app:resources:detail;/travel-demo/templates/components/teaser.yaml).

Overriding a generic key

There are, however, scenarios when a translation for an element has to be different from the one available in the generic key. In this case, the user still has the option to expand the key from its short (generic) form into a longer pattern that specifies the element (e.g. the module, app, subapp, etc.) where the translation should appear. For example, if the key for the teaser component in the Travel Demo module needs a different translation from that used in MTK, the key can be expanded into a more specific form:

travel-demo.templates.components.teaser=The Travel Demo Teaser

The translation will now be available primarily to the teaser component in the Travel Demo module.

List of generic i18n keys

The parts in [brackets] can be omitted.


  • <app>.app[.label]

App launcher group

  • app-launcher.<groupName>[.label]


  • <app>.[<subapp>.]actionbar.<section>[.label]

  • [<app>.][<subapp>.]actionbar.sections.<section>[.label]

If used in the key, <subapp> requires <app>.


  • [<app>.][<subapp>.]actions.<action>[.label]


  • [<app>.][<subapp>.]views.[<view-type>.]<column>[.label]

If used in the key, <subapp> requires <app>.


  • <module>.<dialogPath>.<tab>[.label]

  • tabs.<tab>[.label]


  • <module>.<dialogPath>[.label]

  • dialogs.<dialogPath>[.label]


  • [<module>.]<dialogPath>.[<tab>.]<field>[.label]

  • [<module>.]<dialogPath>.[<tab>.]<field>.description

  • <tab>.<field>[.label]

  • <tab>.<field>.description

  • fields.<field>[.label]

  • fields.<field>.description

Field validators

The generic i18n key for a field validator is validators.<validatorName>.errorMessage.

If a validator is defined for the field, the i18n keys may take the validator suffix:

  • [<module>.]<dialogPath>.[<tab>.]<field>.validation.errorMessage

  • <tab>.<field>.validation.errorMessage

  • fields.<field>.validation.errorMessage



  • [<module>.]templates.<templatePath>

  • [<module>.]templates.<templatePath>.description


  • templates.areas.<areaName>

  • templates.areas.<areaName>.description


DX Core



This widget lets you know where you are on the docs site.

You are currently perusing through the DX Core docs.

Main doc sections

DX Core Headless PaaS Legacy Cloud Incubator modules
6.3 beta

Magnolia 6.3 beta

Magnolia 6.3 is in beta. We are updating docs based on development and feedback. Consider the 6.3 docs currently in a state of progress and not final.

We are working on some 6.3-beta known issues during this phase.