Localization and multilingual support

Home / Documentation / Administrator guide /

Localization and multilingual support

Introduction

Localization and multilingual support are core application-level principles of the NET Genium platform. NET Genium is designed to support applications that are used in different language and cultural environments without requiring changes to their architecture or application logic.

Application localization

Localization in NET Genium means adapting an application to a specific language and regional context. Typical localization aspects include:

  • user interface language,
  • date and time formats,
  • number and currency formats,
  • regional terminology and conventions.

NET Genium strictly separates localization elements from application logic. As a result, applications can be localized without modifying their functional behavior or compromising system stability.

Multilingual support

Multilingual support represents the ability of an application to operate simultaneously in multiple languages. In practice, this means that:

  • different users can work with the same application in different languages,
  • the selected language is associated with the user or user preferences,
  • changing the language does not affect stored data.

The user's language also affects the number format when entering values; a script can branch on it using the “#language#” variable or the “LANGUAGE” server function. An e-mail sent by the “Send email” script command is translated into the language of its recipients according to their user accounts; the language of the user whose action sent the e-mail is used if none of the recipients has an account, for the values of controls without units if the message is not translated into a single language, and for the link to the record in the own installation and the label of an attached file. A detailed description of e-mail translation is provided in the separate guide Script designer.

NET Genium allows applications to be designed as multilingual from the very beginning, while also supporting the gradual addition of new languages during the application lifecycle.

Writing multilingual texts

The user interface texts of NET Genium itself are translated in the platform dictionaries. Application texts – names, help texts, values of selection lists, script messages – are written directly into the properties of individual elements, in all languages at once:

  • Individual language versions are separated by a marker consisting of the “#” character, a two-letter language code in lowercase and a colon, for example “Obecné#en:General#de:Allgemein”.
  • The user sees the version in their language. If it is missing, the default text before the first marker is displayed; if the text starts with a marker, the first language version is displayed.
  • The default text may carry its own code, for example “cs:Obecné#en:General”; the code is not displayed. Any beginning of the default text consisting of two lowercase letters without diacritics and a colon is omitted, even if it is not a language code (the text “ok:hotovo#en:done” is thus displayed in Czech as just “hotovo”); a text without any marker is displayed unchanged.
  • Values of selection lists are translated one by one, for example “Aktivní#en:Active;Neaktivní#en:Inactive”, and the whole multilingual text is stored in the database.
  • The content of the “RichText” element is not translated as a whole. Continuous text is therefore written into a separate element for each language (the “Language” property), short labels can be translated by the “TRANSLATE” server function. In JavaScript, the “translate” function is used for translation.

The Names to be translated report lists names, labels and other selected texts that lack the marker of any of the languages set for users (except the default language of NET Genium); it does not check help texts or values of selection lists.

The language for the current session can also be changed by the “language” parameter in the page address, for example “Form.aspx?form=12&language=en”.

Language and the user

In NET Genium, the application language is closely tied to the user. The platform supports:

  • setting a preferred language for each user,
  • automatically adapting the user interface based on this preference,
  • combining multilingual environments with permission management.

This ensures that each user works in a language they understand, without affecting other users or shared application data.

Recommendations for designing multilingual applications

When designing applications that support multiple languages, it is recommended to:

  • consider multilingual requirements during the initial application design,
  • avoid embedding fixed texts directly into application logic,
  • use consistent terminology across languages,
  • regularly verify translation completeness.

Following these principles simplifies future development and adaptation to new languages or regions.