specs/models/M_MULTILINGUAL_APPS

Multilingual Apps

The App Editor allows to manually translate text within Tulip apps into multiple languages. Translated apps will be shown in each operator’s selected profile language, if the app is available in that language. Otherwise they are shown the "original language" of the app.

Translations can be added within the App Editor for each widget/element (“in situ”). This specifically includes:

  • Widgets
    • Text widgets
    • Button widgets
  • Labels of table fields and object properties in interactive table widgets, variable widgets and table record widgets.

Apps that have translations enabled can be edited (e.g. moving a widget) in any of the languages. Changes will reflect across translations.

Additionally, the following "App Info" variables are available in apps with translations:

  • App’s displayed language
  • Operator’s preferred language

Enable

  • Translations can be enabled for an app in the App Editor by clicking on the "Enable Translation" button at the top right of the page.
  • The "Original Lanugage", i.e. the language the app was built in and the current language of all text, as well as any additional lanugages that should be used for the app need to be selected. The available languages are the same as available for the Tulip platform:
    • Bulgarian
    • Czech
    • Danish
    • German
    • Greek
    • English
    • Spanish
    • Estonian
    • Finnish
    • French
    • Hungarian
    • Indonesian
    • Italian
    • Japanese
    • Lithuanian
    • Latvian
    • Dutch
    • Polish
    • Portuguese (all Portuguese varieties excluding Brazilian Portuguese)
    • Portuguese (Brazilian)
    • Romanian
    • Russian
    • Slovak
    • Slovenian
    • Swedish
    • Turkish
    • Chinese
  • By clicking "Save", translations are enabled for the app.
  • The "Enable Translation" button changes to a dropdown menu allowing to switch to any of the languages selected in the modal.

Create

  • To create/add a translations for a widget, the following steps are required:
    • Use the language dropdown to switch to the desired language
    • Select the to-be-translated widget/element (see above for supported widgets/elements)
    • Enter the translated text into the relevant input field for the widget/element (e.g. the label input for a button)
  • The original language text is always shown next to the input field for reference
  • Widgets/elements that are missing a translation in the currently selected language are highlighted by an orange (i) icon in the top right corner of the widget
  • If a new widget is added while viewing a language different to the "original lanugage", a modal prompts the user to first enter the original language text to keep the original language complete at all times.

Edit

  • Languages can be edited by clicking on the "Edit Languages" option in the language dropdown. This allows to:
    • Add additional lanugages by clicking on "Select a language" and selecting the respective lanugage
    • Change to another original language by selecting it in the dropdown menu for "Original Lanugage".
      • If the newly selected original language is missing translated text for one/multiple widgets, a warning is shown. The user can still decide to use that language as the new original lanugage.
  • Individual translations for widgets/elements can be edited the same way they are created, by selecting the widget and editing the text in the relevant input field.

Delete

  • Languages can be deactivated by clicking on the "Edit Languages" option in the language dropdown. This allows to:
    • Deactivate additional lanugages by clicking on the "x" next to a language. This will not delete any of the translations for that language, but only make them unavailable for use in that version of the app. Re-adding the language later will show the already entered tranlsations again.
    • Deactivate translations for the app by clicking on "Deactivate Translations". Two options are available for deactivation:
      • Archive translations: This persists any translated content for this app. It will be available in case translations are re-activated for this app in the future.
      • Delete all translations: This permanently deletes all translated content and resets any translation-related settings to before translations were initially activated for this app.
  • Individual translations for widgets/elements can be deleted by deleting any input from the relevant input field. If this is done, the original language text will be shown again for the widget/element.

Tests

No tests

Requirements

No requirements