Multi-lingual Joomla

Create specific menus

Create menus for each Content language.

=>Menu Manager

Create menu items for each menu.

All menu items created in a specific menu should be assigned to the same language or to language "All".
One of the menu items —in only one menu— should be defined as default home page for this language.
The menu items assigned to a specific language have to display contents assigned to the same language.
In this respect, Language "All" should be considered as any other specific language..

Example : see the mainmenuen menu and its menu items, one of them being defined as default Home page (with flag).

Résult : we have at least one menu per Content Language which contains a menu item defined as default Home page + one menu assigned to Language "All".
This last one will be chosen in an unpublished menu module assigned to Language "All".

Site contents structure

A multi-lingual site has to be structured in a specific way to avoid 404 when drilling down / navigating.

1. Create, for each Content language, a ROOT parent category for each component used. Assign to the Content Language.
2. Create children categories for each root or parent category. Assign the same language used for the root category.
3. A root category and siblings assigned to Language "All" shall be structured the same way as those prepared for Content Languages.
4. Example of the structure of this site for the com_content categories.
5. Create contents in each of these categories and assign them to the same Content language as the root category.
6. Example for articles.

Use the filters in each Manager to display in function of category or/and Content Language.

Content Languages

After installing Joomla WITHOUT sample data, you first have to create Content Languages for each language.
Once these are defined, they will be available all over Joomla User Interface.

This can be done even if the site language pack is not yet installed.
You will just have to make sure that the desired site pack is installed and enabled before launching the site.

==>Go to "Language Manager" ->"Content" tab after login in the back-end.

Enter parameters for each content language.
The URL Language Code, the Language Tag and the Image Prefix shall be unique.
The Language Tag is the language pack one (fr-FR, en-GB, de-DE, etc.).
The Title is used in the "langswitcher" module (1.6.1 and 1.6.2). The Title Native in later versions.

Default Home page assigned to "All"

Make sure you keep one Default Home page assigned to Language "All".

To prevent further confusion, rename the Default main Menu : here Main Menu-ALL.
Keep there any type of Menu item defined as Default Home page and assigned to Language "All" . Here Home-ALL.
UNPUBLISH the Menu module (here DEFAULT MAIN MENU ALL) displaying the Main Menu-ALL menu. The module itself is assigned to Language "All".


Joomla 1.7 includes a basic way to implement a multi-language site.

This feature does not work as an association-type display where each content, whatever it is, has an equivalent in another language.
In 1.6 the module is set to redirect to the Default Home page for each content language.

In 1.7, was introduced a new feature that lets associate menu items to other menu items in different languages.
In this case the Language Swicher module will redirect to the associated menu items.
New in 1.7 - Associated menu items

It does not replace other multi-lingual managers extensions such as Joomfish.

This feature could be described as a way to create a Joomla multi-site filtered and displayed by language, rather than a pure translation oriented site.
One could create the same site structure on a monolingual site. The difference is that the Interface as well as the display of different menus and modules would not be language dependent.

This demo site lets you access to the back-end of the site in one of the languages proposed so as to understand how such a site shall be structured.
You just have to log here (log) and use the name/password for the available administrator language of your choice.

Languages proposed for now, are :

English (en-GB)
Name : multidemo_en
Password: multidemo_en

Français (fr-FR)
Name: multidemo_fr
Password: multidemo_fr

Español (es-ES)
Name: multidemo_es
Password: multidemo_es

Deutsch (de-DE)
Name: multidemo_de
Password: multidemo_de

Italiano (it-IT)
Name: multidemo_it
Password: multidemo_it

Македонски (mk-MK)
Name: multidemo_mk
Password: multidemo_mk

தமிழ் (ta-IN)
Name: multidemo_ta
Password: multidemo_ta