How To Create a Multilingual Joomla Website? - Step by Step Guide
- by Naveen Kumar
- on Tutorials
English is one of the most popular languages over the internet, because of which a number of websites are usually designed keeping that in mind. But what about those who don’t understand English? Does that mean the internet is not for them? Or they will have to learn a new language to use the internet? Sounds like you are an alien in cyberspace if you don’t know English, right?
Now don’t be sad because there are a number of websites that give multiple languages support. Some of the benefits of having such a website are that with this you can reach a wider audience, increase your sales, extra benefits & profits and so much more.
So now if you plan to build a multi-language website, then Joomla is for you. Joomla is one of the CMSs that have the most languages supported 75+ until now, and building a multilingual website is way easier here than in any other CMS.
So if you are planning to build such a website in Joomla then follow these super easy steps and create one without having to purchase any other extension.
Steps to create a Multilingual Joomla Website
Creating such a website in Joomla is easy because you don’t need any other extension support; it's Joomla’s core feature. Follow these steps to start creating your own website:-
#1 Install the new language
The first step in the process would be to install the language to which you would like to convert your website to. Follow these steps to install it:-
- Go to Extensions > Language(s) > Installed.
- Click on the Install Languages button and search your language here(eg. German) and install it.
- After installing, go to Extensions > Language(s) > Content Languages and publish it.
#2 Enable System- Language Plugins
After installing the languages now enable the language plugins.
- Go to Extensions > Plugins.
- Enable the 2 plugins that are System - Language Code & System - Language Filter.
#3 Create the Multilanguage Content
Here you have to start creating the content that will be displayed for each of your languages. This will include Articles & Categories for each:-
To create Categories, follow these steps
- Go to Content > Categories and create a new category.
- Before saving, make sure to select the language from the dropdown(eg. German) to which it belongs.
- Click Save & Close.
- Repeat the same steps for the default language(eg. English).
To create Articles, follow these steps
- Go to Content > Articles and create new articles and set its language(eg. German).
- Or instead of creating articles you can also copy & paste the existing articles to the new language(eg. German).
- In case of copy-pasting, select all the articles and Batch them.
- Set the language to the new one(eg. German) and Copy the articles to the new category created earlier.
- You will now have articles one for the default language & the other for the new language(eg. German).
#4 Create the Multi-Language Menus
After creating the content it's now time to create menus for the new language. Follow these steps to know how you can do that:-
To create a Menu, follow these steps
- Go to Menu > Manage > Add new menu.
- Add the title and menu type.
- Repeat the same steps for the default language(for eg. English) also.
To create the Menu Items, follow these steps
- Go to the new Menu and create new menu items one by one.
- Or instead, you can also batch and copy the existing menu items to the new menu.
- Select all the menu items > Batch them > set the language to new(e.g. German) > Copy them to the new parent Menu.
- Repeat the same steps for the default language menus as well (e.g. English).
#5 Set the default Home page for each language
Now define the home page for each language. This step is important when you change from one language to the other the selected page will appear as your default page. This is one of the most important steps of setting up a multilingual Joomla website.
- Navigate to Menu > German Menu.
- Click on the star icon of your Home page menu item.
- It will then be changed to the German flag indicating that this is the default page for the German Menu.
- Repeat the same steps for the other default language(e.g. English) also.
#6 Making associations between 2 contents
Adding associations or an alternative of any content in a multilanguage site is a new feature added in Joomla since version 3.7. This feature gives you the ability to change the content when you switch to another language.
Associations can be made on 3 levels: Menu, Category & Article. In simple terms, if you have the content in language A but you wish to view the same in language B then you will have to make an association between the 2 contents. Given below are the steps on how you can associate 2 articles:-
In Step #3 you created articles in both languages, so I will tell you how to associate those:
- Navigate to Content > Article and choose any article, let say German Article-1.
- Go to the Associations tab or click on the Associations button.
- When you navigate to the Associations tab you can select the counterpart article in the other languages.
- But when you open click on the button your screen will then be divided into 2, Reference & Target that will make things easier to associate with when there are a lot of articles.
- After associating remember to Save the content.
Follow these similar steps to associate the Menus & Categories.
#7 Duplicate the template for each language
After creating all the content and menus it’s now time to duplicate the template you are using into different languages you have added. This way you can style and design the content of each language differently from the other.
- Navigate to the Template Styles page.
- Select your template(e.g. Protostar) and click on the Duplicate button.
- Edit the duplicated template and assign the menu items to it in the new language.
- Repeat the same steps for the default language(e.g. English)
#8 Create the Language Switcher Module
Now the final step pending here is creating a language switcher module, that you can create using these steps:-
- Go to Extensions > Modules > Create a new module of type Language Switcher.
- Add the module's title and position one matching in with your template.
- Select the language as All such that it will always be displayed regardless of the language chosen.
- Save & Close and your language module switcher are ready to use.
Phew! and you are now finally done creating a multilingual Joomla website for your business. Carefully work through each and every step else you might end up getting all confused. Go ahead and create more such websites in Joomla as it has the highest number of language support than other CMSs and does let me know your reviews in the comments below.