Localization

The ‘Localisation’ menu node contains menu items relating to the management of localisations for the Lobster Data Platform.

For many texts (labels, messages, menu entries, etc.) within the Lobster Data Platform (especially for Lobster Data Platform / Orchestration functions), it is possible to assign a so-called localisation instead of the default text specified in the source code, which can be used to define a specific text for different output languages.

In all relevant cases, the ‘text resource’ in question is identified by a unique combination of two text values (Resource bundle, Resource name), which serves as a composite key for the assignment of localisations.

Text resources are often combined into a bundle for a specific object class. The fully qualified class name for the relevant class is then used as the text key for the Resource bundle, while the Resource name uniquely names the resource in the bundle. The name of the data field is used as the Resource name for the properties of an object. By convention, the Resource name $name identifies the resource that defines the localisation for the class name (see example in the screenshot).

The Localisation entries menu item opens a combined view that summarises information on text resources and their localisation in the list area, while the detail area allows you to edit localisations:

images/download/attachments/201673759/image-2025-5-12_10-20-19-version-1-modificationdate-1747038019163-api-v2.png

  • In the screenshot, the list area (due to the text filter applied for the Resource bundle column: *.DateRange) shows all localisation entries for the bundle that concerns the ‘Date range’ class.

  • The localisation for the DateRange class defines the selected line for the Resource name $name. The localisation for the supported Locale ‘German’ (de) is the text ‘Date range’ (see also German column and German text field in the detail area).

  • The German, English and French columns show localisation values or the default text (not translated) if there is no localisation for a Locale.

  • The Current column in the screenshot shows the same text as the German column. This is not surprising as long as ‘German’ (de) is selected as the Current locale.
    NOTE◄ The value for Current may differ from the value displayed for the Current locale if the State is ‘Changed’ (see below), Company specific localization is applicable or there is no localisation for the Current locale and therefore a localisation for another Locale is used.

  • Flag columns whose title corresponds to the scheme Is <language> localised? use a symbol to indicate the languages for which localisations are available. This simplifies filtering or sorting the list.

  • The Translations column indicates the number of languages for which localisations are available for the respective language management entry.
    NOTE◄ It is not necessary to explicitly store localisations for all languages. As a rule, the localisation for ‘English’ (en) applies as a fallback (see Locale for details).

  • The State column is important for interpreting the information displayed in the list:

State

Interpretation

System

The State 'System' exists if no entity of the 'Localisation entry' (LocalizationEntry) type has (yet) been created for the displayed bundle/resource key.

This can have different causes:

  • This is a bundle/resource key specified by the system, for which the localisations specified by the source code apply (so far).

  • This is a bundle/resource key that implies a specific custom Designer (e.g. Enumerations, Custom type definitions, etc.) and for which no localisations are available.


IMPORTANT◄ The Search API only provides access to localisation entries with the status ‘Database’ (see below). The system localisations from the source code cannot be retrieved via Search, nor can a list of ‘non-localised’ bundle/resource keys.

Database

The 'Database' state indicates that the displayed localisations (if available) are stored in the database.

  • If it is a bundle/resource key predefined by the system, this usually indicates that the localisation has been adapted.

    • At least one localisation value must be created for a supported Locale for the database entry to be made. A localisation entry without any localisations is automatically deleted.

    • However, when saving, the system does not check whether the specified localisation values differ from the system localisations (in the source code).

  • A bundle/resource key implied by a Designer is only saved in the database if at least one localisation has actually been created.


NOTE◄ Many input screens for configurations that imply bundle/resource keys contain input fields for localisations. If these are used for at least one language, the relevant localisation entry immediately appears in the Localization with the state ‘Database’.

Changed

The ‘Changed’ state indicates that the relevant list line displays volatile data for a localisation entry that has been transferred via the Apply ribbon button but not yet transferred to the database via the Save changes ribbon button.

NOTE◄ Until the final save, the Current column shows the state of the database for the Current locale (unless deviating Company specific localization is applicable), while the columns for localisations (and the associated label columns) already reflect the volatile state with Apply.