Multi-language

Create multilingual websites using the standard Joomla workflow.

The main principle of creating a multi-language website with YOOtheme Pro is duplicating the content, mainly a page or a module, translating it and assigning it to a specific language. By choosing their preferred language on your website, readers switch between these content translations.

Note If a module or a page is not assigned to a language, the default language will be displayed.

The official Joomla documentation includes a tutorial that explains the basic process of choosing a language. YOOtheme Pro-specific cases will be discussed in this documentation.


Translate Pages

To translate a page, create multiple versions of the page and translate them individually. Make sure to have one version for each language. Assign each page to a language.

There are two ways to copy the existing page layout to the translated page:

  • Duplicate the existing article in the Joomla article view and assign it to the new language.
  • Save the existing layout in the YOOtheme Pro layout library. Then create a new empty article in a corresponding language, open the YOOtheme Pro page builder and import the stored layout.

Now the page is ready to be translated in the YOOtheme Pro page builder.

Note At the moment, the content fields are not extracted and cannot be translated separately from the page builder settings. This means if you change the settings in the page builder, you have to change it for every translation. We are working on the solution to simplify the process.


Translate Modules

Translating modules works the same as with pages. Create multiple versions of the module and translate them individually. Make sure to have one version for each language. Assign each module to a language.

There are two special cases which need to be taken into consideration.

Multi-language Menus

YOOtheme Pro offers a menu positions option to Joomla. However, this option does not work for a multilingual website. Instead, use menu modules. Duplicate your menu modules so that you have one menu for each language and assign them to their language. Publish them in the Navbar or Mobile position. Follow creating menus documentation in Joomla.

YOOtheme Pro offers the Footer Builder to create complex footer layouts. However, this option does not work for a multilingual website. Instead, use the Builder Modules. Duplicate your footer module so that you have one footer for each language and assign them to their language. Publish them in the Bottom position.


Translate Language Strings

YOOtheme Pro uses multiple language strings within its templates. For example, the "Read more" button shows the text "Continue Reading". YOOtheme Pro is translated into more than 20 languages, and each of these language files contains translations of the language strings. For more information, refer to translation documentation.

The language files can be found in the languages folder, for example languages/en-GB/en-GB.tpl_yootheme.ini.

Override Language Strings

Override the existing language strings in Joomla Extensions → Language(s) → Overrides. Follow Joomla Language Overrides documentation.

In the Filter dropdown list, select a language for overrides. Add a new override by clicking the Add New button. Search for a constant TPL_YOOTHEME . Fill in the language constant to override and the new translation. This will create a new language override file in languages/overrides.

Alternatively, if you want to override the translation of the whole language file, copy the file templates/yootheme/languages/en-GB/en-GB.tpl_yootheme.ini to languages/overrides/en-GB.override.ini and override it manually.

Create New Language Strings

Apart from the default language strings in YOOtheme Pro, there are also input fields where you add content yourself. These are, for instance, the logo text, the cookie banner or the newsletter messages. In these cases, create new language strings using Language Overrides in Joomla.

  1. Open Layout → Site in YOOtheme Pro and add a new language constant, for example to the Logo Text field. The language constant needs to be uppercase and must not contain spaces, e.g TPL_YOOTHEME_LOGO_TEXT.
  2. Add a new language override for the available languages in Extensions → Language(s) → Overrides and use the previous language constant.

Use this method to translate other builder input strings.


YOOtheme Pro