This article is for Joomla! CMS Version(s) Joomla 2.5 Joomla 3.1
This Article Needs Your Help

This article is tagged because it NEEDS REVIEW. You can help the Joomla! Documentation Wiki by contributing to it.
More pages that need help similar to this one are here. NOTE-If you feel the need is satistified, please remove this notice.

The Joomla 2.5 series include 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 (it does not replace other multi-lingual extensions managers, such as Joomfish). This is why using the Language Switcher Module to change language is set to redirect to another Content Language Home Page (1.6).

Here is a pdf tutorial

NEW! We do now have an official multi-lingual demo site with tutorial and back-end access. It is updated to 2.5.x presents a tutorial in 6 languages


NEW in Joomla 1.7: Menu items may be associated in different languages. When a menu item, let's say tagged to fr-FR, is associated to a menu item tagged en-GB, if the language switcher module is present on the page, clicking on the en-GB flag/name redirects to the en-GB menu item and reciprocally. If a menu item is not associated, the behavior will be the same as in 1.6, that is redirect to the home page in the language concerned. This let's therefore the choice for the webmaster to associate or not, item per item.


NEW in Joomla 1.7.1: is now included a multilanguage status administrator module.


NEW in joomla 1.7.3 Among other improvements, now available is the possibility of not displaying the language prefix for the site default language.


Also, an official demo site is now available with access to administrator:

To be able to implement the feature, 8 aspects have to be dealt with.

  1. The Content Language parameters in the Language Manager
  2. Assigning these Content languages to various items using the "Language" parameter.
  3. Create a correct site structure • Important !!!
  4. Defining a Default Home page Menu item per language and keep one separate tagged to "All" languages.
  5. The languagefilter System Plugin
  6. The mod_languages Module (also called Langswitcher)
  7. Define a default site template per Content language if needed.
  8. Make sure the site language packs are installed and enabled for any content language you want to display


The "Content" tab in Language Manager

There, one can create a "Content Language", even if the site language is not yet installed.

Make sure your ready-to-go Content languages are published if you want them to display in the langswitcher module. Also make sure your language tag is correct ( en-GB and not en_GB ), this causes the language selector to be empty. If you have completed all steps and the language selector remains empty, check that i.e. the folder language/nl-NL exists and it should contain several .ini files.

The "Language" parameter

Not only Articles but everything is taggable to a specific Content language. Modules obviously but also Categories, Banners, Weblinks, Newsfeeds, Menu Items...

The structure of the site, simple rules

ROOT (Internal Joomla core structure)

Category root ALL

Contents ALL
Subcategory ALL
Contents ALL

Category root Lang1

Contents Lang1
Subcategory Lang1
Contents Lang1

Category root Lang2

Contents Lang2
Subcategory Lang2
Contents Lang2

Defining a Default Home page Menu item per language

As the Language Switcher Module is set to redirect to another Content Language Home Page, one Default Home page menu item has to be defined for each language in a different menu, displayed by a different menu module.

Important Note: A Menu containing a unique Default Home page menu item tagged to "All" should still exist, and the menu module displaying it should not be published or assigned to a position NOT available in the templates.

WARNING! Some templates available on the Net are not totally 1.6 compatible. They do not let create new styles and force to use a unique Default Home page.

The languagefilter System Plugin

This plugin filters the displayed content depending on language. This plugin is to be enabled -only- when the Language Switcher module is published. Parameters are to be set for the plugin.

Peculiarly the Menu Association parameter.

The mod_languages Module (also called Langswitcher)

This module displays a list of available Content Languages (as defined and published in Language Manager Content tab) for switching between them when one wants to use Joomla! as a multilanguage site. Parameters are to be set for the Switcher.

The plugin 'System - Language Filter' has to be enabled. When switching languages, the module redirects to the Home page defined for the chosen language.

NEW in 1.7, when menu items are associated, the module should be displayed on the pages concerned. In this case the redirection will be done to the associated menu items.

Thereafter, the navigation will be the one defined for that language. If the plugin 'System - Language Filter' is disabled, this may have unwanted results. Method:

* Make sure both the module and the plugin are published.

Define a default site template per Content language

If one wants to use different templates styles per Content language, instead of defining for each menu item a different template style, one can assign globally a template style per language when editing it in the Template Manager. This is very handy when one needs to use different headers, logos, etc. for each Content language. It also covers any issue arising from loading a page not linked to any menu item where the default template style would be used, whatever it is.

Warning: some templates available on the Net do not let you choose a different menu containing its language tagged Default Home page for each template style. This will break 1.6/1.7 multilang.

Install the necessary site language packs

Last but not least, each content language to be displayed should have the Joomla site language pack installed and enabled.