Translations

Guide to implementing multi-language support in LVGL Pro projects.

Implement multi-language support in your LVGL Pro projects using the XML translation module to define and manage translated strings efficiently.

Overview

The XML translation module allows defining and using translated strings directly within XML files.

It's built on top of LVGL's translation module.

Check LVGL's translation module documentation to learn more about selecting the active language, retrieving translations, and fallback behavior.

Usage

Example XML translation definition:

xml
<translations languages="en de hu">
 <translation tag="dog" en="The dog" de="Der Hund" hu="A kutya"/>
 <translation tag="cat" en="The cat" de="Die Katze" hu="A cica"/>
 <translation tag="snake" en="A snake" de="Eine Schlange" hu="A kígyó"/>
</translations>

In the root translations tag, the languages attribute defines the available languages, e.g., languages="en de hu". Language codes are free-form, but ISO-style codes are recommended.

Each translation defines a tag, which acts as the lookup key, and attributes for each language.

Translations may be omitted — fallbacks will be applied when needed. Refer to the LVGL translation module documentation for details on fallback behavior.

To register XML translations:

  • lv_xml_register_translation_from_file("path/to/file.xml")
  • lv_xml_register_translation_from_data(xml_string)

Multiple XML sources can be registered; they will be merged and searched collectively.

How is this guide?

Last updated on

On this page