Multilingual Catalog Extension

This tutoial only applies to the CatalogExt extension build 49 and up. The documentation below only explains how to configure the CatalogExt Front-End modules for display in a website with multiple languages (see reference links below).

Setup

This tutorial assumes you have setup a page structure consisting of at least two page roots, each for a different language version of the website. It is also assumed you setup a catalog in one of the languages. This language is called the "main language" from now on. Though the principal of this tutorial can be applied to as many different language versions as needed in one website, it is explained assuming a setup with just two languages. The second language is called the "second language" from now on.

Changes to the catalog

All fields that are displayed in the main language will need to be translated. Each field that needs translating needs to be added manually. Below is a catalog with three fields and an image, all fields are fields in the main language:

GAMES CATALOG
Title (text, main language)
Price (text, main language)
Description (longtext, main language)
Screenshots (files)

After adding a new field for each existing field in the main language that needs translating we end up with the following:

GAMES CATALOG
Title (text, main language)
Price (text, main language)
Description (longtext, main language)
Screenshots (files)
Titel (text, second language)
Prijs (text, second language)
Omschrijving (longtext, second language)

The fields titel, prijs and omschrijving where added. In this example the second language is Dutch and the new fields are the Dutch equivalents of title, price and description.

Once you've added the fields for the second language then the changes to the catalog are complete.

Displaying fields

The modules from both the Catalog and CatalogExt extension allow you to choose which fields are visible in the front end. This way we can make sure that the fields from the second language do not show up in the main language. By default the fields are not selected and therefor not visible.

Duplicating modules

In the same way that the new fields have been created it is required to add new modules as well. Each frontend catalog module that displays fields containing text in the main language (title, price or description in this case), needs to be duplicated. The difference between the original and the duplicate module is only in the fields that are displayed. For example the visible fields in the main language module are:

Visible fields:
[X] Title (text, main language)
[X] Price (text, main language)
[X] Description (longtext, main language)
[X] Screenshots (files)
[ ] Titel (text, second language)
[ ] Prijs (text, second language)
[ ] Omschrijving (longtext, second language)

The duplicate module is for the second language and therefor needs to display only the fields needed in the second language, like this:

Visible fields:
[ ] Title (text, main language)
[ ] Price (text, main language)
[ ] Description (longtext, main language)
[X] Screenshots (files)
[X] Titel (text, second language)
[X] Prijs (text, second language)
[X] Omschrijving (longtext, second language)

Suppose these are the visible fields for a "Catalog Reader" module, then this means that the original (main language) will display English text and that if the duplicate module is displayed it will show only Dutch (second language) text.

When all of the catalog modules have been duplicated then the duplicates can be used in the second language articles. They should replace the original version of themselves

JumpTo change

Up until build 49 there was only one jumpTo page per catalog. This meant that whether you are in the catalog listing of the main language or in the listing of the second language, all of the links will point to the same page in which there can be only a reader for one language. Since build 49 it is possible to override the catalog jumpTo setting from every module.

For every catalog module in the second language (except catalog reader) the jumpTo setting needs to be changed into the page that contains you second language reader. By default it would have jumped back to the main language.

--- Tutorial created by scare

Also available in: HTML TXT