Page History
...
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 be applicable toapply to.
Example: The contact edit form has Save changes and Cancel buttons.
The Contacts app does not provide the text for either button in its own message bundle. They are provided in the module-ui-framework-messages_en.properties
file of the ui-framework
module.
...
Therefore, it is not necessary to insert two specific keys such as the following into the .properties
file of the Contacts app:.
Code Block | ||||
---|---|---|---|---|
| ||||
contacts-app.actions.commit=save changes contacts-app.actions.cancel=cancel |
If your app needs these buttons, just name your actions commit
and cancel
.
...
enableHeadingAttributes | false |
---|---|
enableSorting | false |
class | m5-configuration-tree |
enableHighlighting | false |
...
Mgnl n |
---|
...
Mgnl n |
---|
...
Mgnl p |
---|
...
info.magnolia.ui.form.action.SaveFormActionDefinition
...
Mgnl p |
---|
...
info.magnolia.contacts.app.form.action.SaveContactFormAction
...
Mgnl n |
---|
...
Mgnl p |
---|
...
info.magnolia.ui.form.action.CancelFormActionDefinition
Providing a key to other modules or apps
...
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 needed needs a different translation from that used in MTK, the key can be expanded into a more specific form:
...
[<app>.][<subapp>.]views.numerator<column>[.label]
If used in the key, <subapp>
requires <app>
.
...
Tabs
<module>.<dialogPath>.<tab>[.label]
dialogstabs.<dialogPath><tab>[.label]
Chooser dialogs
Dialogs
<module>.<dialogPath>
Generic:dialogs.chooseDialog[.label]
- App-specific:
<app>.chooseDialog[.label]
- Action-specific:
dialogs.<action><dialogPath>[.label]
...
Fields
<module>fields.<dialogPath>.<tab><field>[.label]
tabs<app>.<action>.<tab><field>[.label]
...
Select fields
- Generic:
fields.<field>.options
[.label]
- App-specific:
<app>.<action>.<field>.options
[.label]
Field validators
The generic i18n key form for a field validator is validators.<validatorName>.errorMessage
.
...
[<module>.]<dialogPath>.[<tab>.]<field>.validation.errorMessage
<tab>.<field>.validation.errorMessage
fields.<field>.validation.errorMessage
Templates
Pages/components
[<module>.]templates.<templatePath>
[<module>.]templates.<templatePath>.description
Areas
templates.areas.<areaName>
templates.areas.<areaName>.description