Multilingual#
This feature has to be enabled and configured both in the backend and in the frontend.
How to enable#
Backend#
Volto provides support for Plone's Multilingual feature. You need to install Multiligual support in Plone (plone.app.multilingual add-on), that comes available by default since Plone 5 and can be installed in Plone's Add-ons control panel. This will setup the backend and it will create the Language Root Folders (LRFs) (/de, /en, etc.)
From your Python policy add-on in profiles/default/registry.xml
:
<!-- Set default language to de -->
<record name="plone.default_language">
<value>de</value>
</record>
<!-- Set language to de/en -->
<record name="plone.available_languages">
<value>
<element>de</element>
<element>en</element>
</value>
</record>
Warning
The default language and the supported languages must match the one set in the Plone side, and those should be set using GenericSetup using your policy package or manually via the Languages control panel, i.e. en for English, or pt-br for Portuguese (Brazil)
Frontend#
You should configure Volto also to declare that the site is multilingual.
You should modify the configuration object (in a project from your src/config.js
or from your add-on src/index.js
like:
config.settings.isMultilingual = true;
config.settings.supportedLanguages = ['de', 'en'];
config.settings.defaultLanguage = 'de';
Warning
The multilingual redirector relies on the language of the "current context object". If you want to switch the default language of the website you need to edit the language
field for the Plone site, in the Plone editing interface.
Make code i18n aware#
See Internationalization.