This tutorial is going to show you how to configure a multi-language site based on Joomla 3.x. In order to do this:
- Log into your Joomla admin panel and go to Extensions -> Extension Manager
- Click Install Languages
- Enter the language name you want to install (e.g. ‘Portuguese’) in the Search field and click the magnify glass icon.
- Check the language and click Install
- Wait till you get a message saying the new language’s been installed successfully.
- Go to Extensions -> Language Manager.
- Click the Content tab, then click New.
- Create a new content language with unique parameters. For example, for Portuguese the fields should be filled in this way
- Click on Save and Close. You will see a message saying "Content Language successfully saved"
- Go to Extensions -> Plugin Manager.
- Look for one called System – > Language Filter and enable it
- To create a language switcher, go to Extensions -> Module Manager.
- Click New
- Select Language Switcher
- Enter the module name, make sure its set to published, select its position and click Save.
- Now you need to create a menu for every installed language and leave one additional for both languages. That is, if you have English and Portuguese installed, you will have to create menus both for English and Portuguese. Check, which of your menus is set to be the default menu (has a home icon). For example, if you have the Main Menu with the default menu item, you are going to use it for all languages, and additionally you will need to create two more Main Menus for English and the new language you have just installed. Go to Menus -> Menu Manager -> Add New Menu
- Enter all necessary fields for the English language and click Save and Close
- Go to Menus -> Menu Manager -> Add New Menu again and enter the necessary fields for your new language (e.g. Portuguese) and click Save and Close
- Now you need to add new menu tabs to each of the main menus based on those already added to the default Main Menu. You can go to Menus -> Main Menu for Eng -> Add New to add the menu, but the easiest way would be to just duplicate the exiting menus by going to Menus -> Main Menu -> select the default menu tab like Home and click Save as Copy
- Under “MessageMenu item successfully saved” you need to change the fields for the new languages. For example, for English under the Details tab you should change the Menu Title, the Alias, change the Status to Published, select the Main Menu English you created in the Menu Location drop-down, change the Default Page to Yes, in the Language drop-down select English (UK).
- Click Save and Close.
- Repeat steps 22- 23 for your new language. E.g. for Portuguese it should look like this
(Only in this case under Advanced Options you will also need to click Select Categories and select the category for the new language : for instance, if its set to a category “Home”, you need to have another “Home” for the new language. If you don’t, go to Content -> category manager and create it. The new category needs to have articles in the new language added to it. This can be done any time later, so for now you can just leave it as is).
- If everything is done properly, under Menu you will see flag icons added to the main menus.
- Now you need to duplicate the top menu module for English and the language you added. Go to Extensions -> Module Manager
- Find the module used for the top menu, e.g. Superfish Menu (the name depends on your template). Check it and click Duplicate.
- Click the menu you duplicated. For English, under Details: you are going to change the Name (e.g. to Superfish Menu Eng), change the Status to Published, in the Language drop-down select English (UK)
under Options: in the Select Menu drop-down select Main Menu eng (the one you created in 19);
under Menu Assignment: select Only on pages Selected in the Module Assignment drop-down box, then click Select None and check Home Eng under Main Menu eng
(the one you created in 23). Click Save and Close.
- Repeat the same to create a menu module for the new language. If its Portuguese, the settings should be as follows:
- Disable the Superfish menu for all languages
- Now go to Menus -> Main menu -> Home -> Module Assignment for this Menu Item and check Hide Unassigned Modules.
- Your new Home menus should have the same modules assigned to them if you want your mulingual versions of the site to look correctly. Click each module which has “yes” under Display and in the Menu Assignment select the two menu tabs you added (i.e. Home for eng and Home for pt) and click Save and Close.
- Do the same for the rest of the modules that have “yes” under Display, then click Save.
- Open the front page of your site and try using the language switcher to check how the both versions work. They should be identical. You can now add different content to the new language version.
Feel free to check the detailed video tutorial below: