String resource internationalization

I’m developing an embedded product that will be released around the World.

  • What does LVGL do to support using user-facing strings as resources that can easily be translated?
  • How robust is the virtual keyboard widget in this regard?
  1. This library implements translations for C strings: https://github.com/lvgl/lv_i18n. I don’t personally use it as my projects are all English-only, but it should work.
  2. The default keyboard only supports English letters, however, you can create custom keyboard layouts for it.

I’ve used it in my projects and it worked well. It even handles plural forms. E.g. “1 user”, “10 users”.

How do you implement language switching during operation?Can you tell me?

As far as I know, you can call lv_i18n_set_locale and then set the text of all your widgets again. It will automatically use a different translation.

Thank you. Yes, this setting is successful. But I want to realize that after calling the lv_i18n_set_locale function, all texts are automatically refreshed and the modified language is displayed. Does lvgl provide similar functions?

Unfortunately that’s not easy to implement for most widgets as they store a copy of the string themselves. The easiest solution is to architect your code in such a way that you can reset the text without having to tear down and recreate the entire widget structure.

Okay, thank you for your reply.