The internationalization workflow is the same as in main Volto: you develop your add-on, then add the translations to your code. See Creating i18n Strings for how to mark strings and phrases as translatable.
Your add-on has a
locales folder with a
Create the following structure in your add-ons
localesfolder for every language you want to support. As an example for the language Italian:
it └── LC_MESSAGES └── volto.po
yarn i18nin the context of your add-on.
Go to each
.pofile in your
localesfolder, and write the translations for each translation literal.
In the context of your project, run
yarn i18n to merge the add-on translations with the ones of your project.
If you have multiple add-ons installed in your project, the translations are loaded in the order your add-ons are listed in
If two add-ons provide different translations for the same message, then the last defined add-on wins.
yarn i18n in the context of your project, the project's own locales are processed last and can override translations from any add-on.