A guide to multilingual Joomla 2.5 websites.
Since version 1.6 Joomla! offers a language manager and a switcher built in, now you can create a site in different languages without external components like was before.
One thing remained unchanged if you want to create a website in two languages, you have to create content in two languages. Just because you create a multilingual Joomla! website doesn’t mean it will translate your content for you. So first create your content in both (or all) languages!
Configuration Joomla Multilanguage site is divided into few steps.
- Additional language installation.
Additional languages are installed exactly the same like any other Joomla! extensions via Extension Manager. After installation, in menu Extensions >> Language Manager, there should be more than one language visible. The new language should be added to every tab (Site, Administrator, Content).
- Configure Language Filter and Language Switcher.
In the next step, we need to enable the plugin called System – Language Filter and set a proper configuration. More information about this plugin is available on official Joomla! documentation page (docs.joomla.org).
- Create Menu for every language.
Starting from Joomla 1.7, the menu configuration in languages has been changed. Now, a user needs to create a menu for every installed language and one additional for both languages. So, in our case with two languages, we need to create 3 menus :
- Menu with ‘Home’ element for all languages
- Menu with ‘Home’ element for Language 1
- Menu with ‘Home’ element for Language 2
First of all, we create a menu for both languages, this ‘Home’ element will be visible before a user chooses any language (if a plugin doesn’t force a default language). To make this, we need to go to menu Menu > Add new Menu and create new menu elements as always (in this tutorial, this menu will be called ‘Main Menu’). Then, in Main Menu, we add an element called ‘Home for both languages – default’ and, what is important, select Language to ‘All’ in this menu item.
After this step, we should see a star in this menu in a menu list.
Then, we create two additional menus (not menu items) called ‘Menu for English Language’ and ‘Menu for Italian Language’ and, according to the first menu, we create two additional ‘Home’ menu items in this menus but for particular language. So, now we have this menu structure :
Main Menu | - Home (set as a Home in menu item list, language: ALL) Menu for English Language | - Home for English Lang (set as a Home in menu item list, language: English) Menu for Italian Language | - Home for Italian Lang (set as a Home in menu item list, language: Italian)
Now, we should notice in menu list some languages flags in these two created menus and the star in menu for both languages (like in the third image).
- Create Language Switcher module.
A language switcher module is a part of default Joomla modules and we can add it by Module Manager, select New in top right corner and then Language Swticher from a popup list. The module needs to be set to some template position like top1, user1 etc. and Published and assigned to some menu items (or publish on all pages). After this step, you should see the module with language flags or languages list in a proper position.
- Create menu items for languages.
‘Menu for English Language’ and ‘Menu for Italian Language’ menus, should have only for one menu item (the Home one) then the items visible in particular language will be created in ‘Main Menu’. If you create a new item in this menu and select language to English, the item will be visible only after a user chooses English Language, similarly; when you create a menu item and set language to Italian the menu will be visible only after the Italian language was selected. The menu in templates based on Gavern framework will load proper items automatically, a user doesn’t need to set any additional parameters etc., the menu in top depends on currently active language.
Additional information about configuration multilanguage site in Joomla! is available here >> docs.joomla.org , especially the part marked as a New in Joomla! 1.7.
- Each module in Joomla! can be assigned to selected language or for all.
- If you want to create an article in two or more languages, you need to create this same numbers of new articles. For example: one in Hindi and one in English.
- This process can be greatly simplified by using Falang, Joomfish or one of the other extensions from the JED. You’ll be able to see both translations on the same page which makes creation and changes much easier.
Watch also this tutorial movie: youtube.com/watch?v=gnhVVtyejPg
This article was first published November 3rd, 2011