[‼️ROS 1] Internationalisation and language support

Internationalisation and localization are important topics to ensure your robot application is accessible to a broad range of users.

Internationalisation support on PAL robots consists in:

  1. multi-lingual speech recognition, with one language model per supported locale;

  2. multi-lingual dialogue management, with translated chatbots (eg chit-chat, diagnostics…) for supported locales;

  3. multi-lingual speech synthesis, with one speech model per locale.

The PAL language_center monitors the pal/language for changes, and accordingly notify the ASR and chatbot engine of the new locale, triggering the loading of the appropriate language model.

Note

As of PAL OS edge, PAL robots do not have a central mechanism to generate and maintain the translations of pages displayed on the robot tablet. You need to create one page/one presentation per language, and manually change the presentation, either from your mission controller, or from the web pages themselves.

Future SDKs might provide an automatic mechanism.

Available languages

British English (en_GB) is always available on your robot. Additional languages might be available, subject to what language(s) the robot was ordered with.

You can check the list of available languages on your robot with the parameter tts/supported_languages.

Changing the current language

You can set the default language on your robot for the Web user interface Settings tab.

You can also set the /pal/language parameter to change the currently active language (see below).

ROS APIs

  • pal/language ROS parameter: read that parameter to know what is the current locale of the robot; write to that parameter to change the current locale. For instance:

    $ rosparam get /pal/language # get the current active language
    en_GB
    $ rosparam set /pal/language fr_FR # set the language to French
    
  • tts/supported_languages ROS parameter: list of currently supported language on the robot

  • /i18n_manager/set_locale ROS action (type i18n_msgs/SetLocaleAction): changes the current language of the system, including the TTS engine and the chatbot engine.

FAQ

See also