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-sdk-23.1, 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 (as explained in eg ARI’s Touchscreen manager and Presentations), and manually change the presentation, either from your application 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 WebCommander 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

  • /asr/set_locale ROS action (type i18n_msgs/SetLocale): change the ASR language

  • /chatbot/set_locale ROS action (type i18n_msgs/SetLocaleAction): changes the current language of the RASA chantbot engine.

FAQ#

See also#