Joomla Tutorials and Blog Posts

Multi-language Sites in Joomla

UPDATES:

Joomla includes a basic way to implement a multi-language site. This doesn't replace other multi-language content management like, Joomfish, for example. You can find a complete list of these in the JED.

What you can do is activate the language switcher module, and let visitors switch the joomla core labels and headings to their preferred language. You will need to download and install specific language packs for each language you want to use. You can find the language packs in the JED.

advert-full-class

1. Activate the Language Filter Plugin and set basic site options.

tutuploads1._NEW_to_1.7_-_Activate_the_Language_Filter_Plugin_and_s.png

New to Joomla 1.7 go to Extensions>Plug-in Manager and find the System-Language Filter Plugin and click on the name to edit it.

2. NEW option - Automatic Language Change

tutuploads2._NEW_option_-_Automatic_Language_Change.png

Choose the site language or try to detect the users browser settings and it will automatically switch to that language. Set Automatic Language Change to "Yes"

NEW to 1.7: You can now associate menu items in different languages. 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.

3. Open the Language Manager and add to Content.

tutuploadstutuploads1._Open_the_Language_Manager.png

Start out by going to Extensions>Language Manager

4. Go to the Content tab to start configuring your languages.

tutuploadstutuploads2._Go_to_the_Content_tab..png

Click on the "Content " tab.

5. View the default as an example.

tutuploadstutuploads3._View_the_default_as_an_example..png

You will only see "Englisth (UK). Click on the name and look at the way this one is configured. You'll be doing the additional ones in a similar manner

tutuploadstutuploadsmedia_1310762849957.png

Title = The name of the language as it will appear in the dropdown lists when assigning the language to an item. This Title will also be used by the langswitcher module in front-end when flags are not used.

Title Native = A title in any language desired by the admin to be displayed in the Content Language list.

URL Language Code= This Language Code will be appended to the site url. When SEF is enabled, one will get http://mysite.com/en/. If SEF is disabled the suffix &lang=en will be appended at the end of the URL. Note the Language Code must be unique among all the languages.

Image Prefix = Prefix of the image file for this language when using the "Use image flags" Language Switcher basic option. Example: if 'en' is chosen, then the image shall be en.gif. Images and CSS for this module are in media/mod_languages/
Users can add any image/flag there with any prefix. Example: pt_br for the Brazilian flag.

Language Tag = Enter here the language tag example: en-GB for English (UK). This should be the exact prefix used for the language installed or to be installed.

Published = Whether this content language is published or not. If published, it will display as a choice in the Language Switcher module in frontend.

To work OK, the specific site language must be installed. But, you can prepare contents in a specific Content Language without even installing the language concerned. You can complete this process and install the language packs when you need to.

Metadata (Not pictured) These metadata definitions will override Global Configuration Metadata in Multilanguage configuration for each language used.

6. Add A new language

tutuploadstutuploads4._Add_A_new_language.png

Simply click the "New" Icon and you'll see the form, but everything will be blank. In the one below you can see how it was set up for the German language.

Repeat this step for each language you are going to use.

7. Configure the new language.

tutuploadstutuploads5.__Configure_the_new_language..png

You can get the image prefix from the images already loaded into /public_html/yourjoomladirectory/media/mod_languages/images
And the language tag is the name of the folder that has the language files after you upload them. You will find them in /language

8. Activate the System-Laguage Filter

tutuploadstutuploads6._Activate_the_System-Laguage_Filter.png

Go back to the Extensions menu and go to the Plug-in Manager. Locate the System - Language Filter by scrolling or using the search box. Make sure it is enabled.

9. Go back to the main menu and create a new menu item for each language.

tutuploadstutuploads7._Go_back_to_the_main_menu_and_create_a_new_menu_item_fo.png

You need to create a menu item for each language, including English. Main home page link will use 'All" in the language designation. At least one button has to be designated to use "All" and you won't be able to change the main home page language selection.

tutuploadstutuploadsmedia_1310768531711.png

You can name the pages anything you want and they do not need to be published. If everything is going well, you'll see the flags. You can also make detailed menu assignments when you set the parameters in the menu item.

10. When you create the menu item, choose the language and set it as a default.

tutuploadstutuploads8._When_you_create_the_menu_item__choose_the_language_and.png

You need to have a page for each language you use, and you need to have it be the default page for that language. So check the "Yes" in Default Page. This will not change the main default page which is on the main menu. These pages will be hidden.

Choose the language for this page in the Language drop down

You can also set the template style for this language if you need multiple designs. For example, you might want a each language section to have it's own header, colors and layout.

11. Make Menu Associations

tutuploads11._Make_Menu_Associations.png

For example: When a menu item is tagged to fr-FR, and 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. You will only see this option in the slider if you chose "Yes" to Menu Associations in step 1, when you activated and configured the plugin.

12. Go to the Module Manager and enable the Language Switcher module.

tutuploadstutuploads9._Go_to_the_Module_Manager_and_enable_the_Language_Switc.png

There will be a default copy there already.

You can activate this one, and/or create additional copies for inclusion on different pages or positions.

tutuploadstutuploadsmedia_1310763233288.png

13. Set the module parameters

tutuploadstutuploads10._Set_the_module_parameters.png

It's just like any other module. Pay attention to the position, though. It installs with a default position, that may not be on your template. Be sure it is published in a visible position.

NEW to 1.7

tutuploadsNEW_to_1.7.png

New to Joomla 1.7: is an option for a dropdown menu instead of the country flags. If you prefer a text, set this to yes.

14. Set module page assignments.

tutuploadstutuploads11._Set_module_page_assignments..png

You must have the module assigned at least to the default language home pages.

15. Check the language setting on your default home page.

tutuploadstutuploads12._Check_the_language_setting_on_your_default_home_page..png

The actual site home page should have the language set to "All" at least one page on the site has to be set to "All"

16. Go back Extensions>Extension Manager to upload your language packs.

tutuploadstutuploads13._Go_back_ExtensionsExtension_Manager_to_upload_your_la.png

You can do this before, or after, creating the Language Content entries. If you add new languages at a later time be sure to go through the process for the new language.

17. Upload the language package files.

tutuploadstutuploads14._Upload_the_language_package_files._There_will_be_two..png

You can find language packs at http://extensions.joomla.org/extensions/languages/translations-for-joomla

You may see two zip files, one for admin and one for site. Sometimes they are combined in a single package. Just be sure to carefully check the download pages to make sure you get the right one. Be careful not to confuse the language pack with the full foreign language distribution, which is a fully translated Joomla installation, not just an add on language.

18. Success!

tutuploadstutuploads15._Success_.png

You will know you are successful if you see the language switcher module in your desired location, and the flags, or text dropdown, are visible. When you click on them you'll see the alternate translation.

Comments

 
Ajmal
#1 Ajmal 2011-07-21 04:32

Thanks for the quick run through with the language options.

I got some questions; does this method work for all extensions or only those installed from language pack?

I wish Joomla! think off a better, easier and lesser steps on getting and managing the language part of it.

Looks like there are too many things involved, but yet the result is only,

"Joomla 1.7 includes a basic way to implement a multi-language site. This doesn't replace other multi-language content management like, Joomfish, for example."

From personal experience, it gives the impression if the URL doesn't contain the item ID or menu ID (dynamic URLs that Joomla! always magically create) of that specific language, say from example above German with ID 2 , the intended language will not show/come up. Right?
 
 
Tina
#2 Tina 2011-07-21 04:57

I havent used joomfish but is the new multi-language feature on J1.7 same as joomfish? Or what is the difference?
 
 
Tobby
#3 Tobby 2011-07-21 14:38

Thanks Ed Andrea, nice description.
Maybe you could mention that if using the menu association you of course should add the language switcher to all pages concerned. If you also include a description how to hide the All languages Home menu it's perfect. It took me some time to find this out. I use a not visible position for this.
@Ajmal I think you mix different issues. Language packs have not much with multilungal sites to do. If you need multilingual pages you have too look for extensions that handle it. e.g. The Joomla core Articles(Conten t) does.
@Tina At the moment you have to keep track of the different contibutions in different languages on the site by your own. I hope the menu associations are only a first step. With JoomFish you really add translations. Those are stored in separate database tables.
 
 
abdelouahed
#4 abdelouahed 2011-07-22 14:14

thank you,nice description
 
 
Jens
#5 Jens 2011-07-23 21:08

Very nice breakdown of the new language functionalities . Congrats!

I hope someone could help me with one strange problem regarding step 11 (Make Menu Associations). I upgraded my site from joomla 1.6.3 to joomla 1.7 and everything works but this new option is not shown when editing the menu items... also if you create new ones...

Does anybody have an idea how to solve this? Every help or hint is highly appreciated since this would be a great feature to use.

Thx in Advance!

Jens.
 
 
Gerasan
#6 Gerasan 2011-07-24 15:04

Hello Andrea,

thanks for nice tutorial. That worked like this on my Joomla 1.6.3 site. But after a update to 1.7 it is not possible anymore to set menu-items as Language-Hompag es within one menu. The error "A menu should contain only one Default home" appears. Any ideas why? I don't need to create a entire menu for each language, isn't it?

Thanks for any advice.
 
 
J-F Bohemier
#7 J-F Bohemier 2011-07-25 16:22

I got the same error... I had to create one menu for each language, and assign the default in each menu
 
 
epsi
#8 epsi 2011-08-03 14:25

1.7 require one menu group for each language.

forum.joomla.org/.../
info-graf.fr/.../...
 
 
Gabriel
#9 Gabriel 2011-08-08 08:08

Hi, thanks for the guide. I got the module working, but now every link in the page doesn't work.
 
 
Gabriel
#10 Gabriel 2011-08-08 09:18

Hi, thanks for the tutoria.
I've installed everything but now every link in Joomla, doesn't reach the correct page.
Any idea?
 
 
Habrikcz
#11 Habrikcz 2011-10-14 10:46

Use this guide! Best of best.
scribd.com/.../...
 
 
Patmer
#12 Patmer 2011-10-22 16:34

This guide doesn't take care of the main menu...
 
 
sam
#13 sam 2011-10-24 19:06

in my setup the language switcher module is not displaying in any position.

whats the problem?
 
 
Coga
#14 Coga 2011-10-30 11:39

Everything you need to know is on the following link:

docs.joomla.org/.../

Download the pdf and check out the demo
 
 
Nick
#15 Nick 2011-10-30 19:05

Hi and welcome, everyone!

Sorry for the inconvenience, if you need support and you're a student at OSTraining, could you copy and paste this into the support forum so one of our support techs can look into it for you? All you have to do is log in at www.ostraining.com and click on Support Forum in the main menu.

Please see the support FAQ for more information:
www.ostraining.com/.../

Thanks!

Kind regards,
Nick
 
 
Beginning2Grok
#16 Beginning2Grok 2011-11-01 15:34

I have set up the system as described above. Indeed two of the three installed languages show up, en and de. Yet, what ever I try, I do not seem to get the es (spanish) language working. I tried searching google and tried everything, but it does not want to work. Also when I try install another language, only de and en are there. Any suggestions?
Thanks!
 
 
Rob Mongeau
#17 Rob Mongeau 2011-11-03 23:24

i did all the step until step 9 i can't create another menu item as default it won't let me save, it tell me that i can only have one default home, and this tutorial tells me two create two new one one for each language. Please tell me what i'm missing
 
 
Sergey
#18 Sergey 2011-11-18 09:34

Full and useful. Thanks
 
 
Nick
#19 Nick 2011-11-20 22:01

You're welcome, Sergey! There's a lot more available to students if you're interested in learning more :) www.ostraining.com/online
 
 
Nick
#20 Nick 2011-11-20 22:01

Hi and welcome, everyone!

Sorry for the inconvenience, if you need support and you're a student at OSTraining, could you copy and paste this into the support forum so one of our support techs can look into it for you? All you have to do is log in at www.ostraining.com and click on Support Forum in the main menu.

Please see the support FAQ for more information:
www.ostraining.com/.../

Thanks for understanding!

Kind regards,
Nick
 
 
mikev
#21 mikev 2011-11-24 16:21

Hello,

I am member of the forum, you did send me this link and I have been reading it. It looks like m17n I had in may web page where you do asign each menu to a given language but it doesn´t say anything about articles. Can I select also a language for each article? thanks for your help

Mikev
 
 
Nick
#22 Nick 2011-11-25 17:11

Hi Mikev!

Yes, everything is now taggable to a language in Joomla 1.7

Kind regards,
Nick
 
 
WebMFH
#23 WebMFH 2011-12-15 15:12

my Flags, German and UK ;-) , are diplayed on top of each other, with no space between...

but I would like them to be displayed as in your example, next to each other with space between them...

How did you do that? I created my templated with artisteer 3.1, my joomla is 1.7.3

thx
 
 
Nick
#24 Nick 2011-12-15 17:26

Hi and welcome, WebMFH!

That's a good question! We would love to get into a discussion with you on this. If you are a student at OSTraining.com, please log into the support forum (www.ostraining.com/.../) and post the question in there, so that one of our support techs can look into it for you. If you’re not a student, I hope you’ll consider becoming one, so that we can give you the attention you deserve. You can find out more about our online class at www.ostraining.com/online

Kind regards,
Nick
 
 
Spider
#25 Spider 2011-12-23 14:37

Nick: Do you know if there is a Spanish Language Pack for J 1.7? Do I need this, or is there something in J 1.7 that eliminates this need?

Tony
 
 
Nick
#26 Nick 2011-12-23 20:29

Hi Tony,

There is. Check out:
joomlacode.org/.../...

It adds Spanish for your administrator. If you wanted Spanish for your Front-end content, you'd still have to use this tutorial.

Kind regards,
Nick
 
 
Spider
#27 Spider 2011-12-24 00:25

Hi Nick:

Here's my plan... I am doing a website for an Artist -- she is Canadian; but spends time in Mexico... A lot of her work is Mexican in flavor.

I want the front end to have the option to be read in English or in Spanish... Can we do that with Joomla! 1.7...

Tony
 
 
Jeff
#28 Jeff 2011-12-24 15:33

I suggest you use Joomla 1.5 with Joomfish... Making multilingual websites with Joomla 1.7 is not the best option imho.
 
 
Nick
#29 Nick 2011-12-27 15:25

Hi Tony,

Yes, you can. Check out the following discussion:
www.ostraining.com/.../#p34965

Kind regards,
Nick
 
 
Nick
#30 Nick 2011-12-27 15:26

Hi Jeff,

The following discussion might interest you: www.ostraining.com/.../#p34965

Kind regards,
Nick
 
 
Jeff
#31 Jeff 2011-12-27 16:26

Hi Nick, thanks for the links, it points to some interesting discussions. With things being what they are right now, it seems to me that Joomla 1.5 and Joomfish is a better solution for multilingual sites, mostly because of in place translation and third party extension support.

I do hope that the current Joomla 1.7 multilingual structure gets used to its full potential in the future... it seems promising but before it gets used for serious multilingual sites, webmasters will need some kind of content synchronization between languages, like Joomfish does.

Thanks for the tutorial btw... :)
 
 
Nick
#32 Nick 2011-12-27 17:14

You're very welcome, Jeff! I personally wouldn't start any new Joomla sites in 1.5 since 1.5 will soon reach the end of it's life in a few months. You should check out FaLang instead if you want a "Joomfish" solution for 1.7: (extensions.joomla.org/.../...

Kind regards,
Nick
 
 
Jeff
#33 Jeff 2011-12-27 23:41

Hi Nick,

You are absolutely right about the end of life of 1.5 coming soon. FaLang is a good alternative if you only use content elements. But what would you suggest for components like stores and picture galleries? If by any chance there are components that use the new native J1.7 multilingual capabilities, you would still end up translating stuff in different places of the site (i.e. in each component), would you? Are there any prospects that would replace Joomfish's content elements (which make translation a breeze)?

Kind regards,

Jeff
 
 
Yosef
#34 Yosef 2012-01-06 06:58

Followed the instructions
but i do not get any flag?
help
 
 
Nick
#35 Nick 2012-01-12 01:24

Hi Yosef,

Try clearing your site's cache and your browser's cache. Do you get any error messages?

Kind regards,
Nick
 
 
Nick
#36 Nick 2012-01-12 01:25

Hi Jeff,

Those are great questions! We would love to get into a discussion with you on this. If you are a student at OSTraining.com, please log into the support forum (www.ostraining.com/.../) and post the question in there, so that one of our support techs can look into it for you. If you’re not a student, I hope you’ll consider becoming one, so that we can give you the attention you deserve. You can find out more about our online class at www.ostraining.com/online

Kind regards,
Nick
 
 
Jeff
#37 Jeff 2012-01-12 05:26

Thanks Nick... Great news... Joomfish has announced they will release version 2.5 for Joomla 2.5... first beta coming soon
 
 
Nick
#38 Nick 2012-01-12 05:50

Very nice! Thanks for letting me know! :)

Kind regards,
Nick
 
 
0zz1
#39 0zz1 2012-01-18 04:16

I got exactly same problem.... I think I saw some other post that we do need to create 3 different menus!! One for all and one for each language... and then we can have them as default... could be wrong... but Im gonna try that. Does not make much sense to me if that is the problem.
 
 
0zz1
#40 0zz1 2012-01-18 04:21

actually that does not work either... i do get the same warning "Save failed with the following error: A menu should contain only one Default home."
 
 
pusp joshi
#41 pusp joshi 2012-01-19 17:26

I cannot see the dropdown list in front end only blank dropdown is there in my front page.
 
 
Nick
#42 Nick 2012-01-19 18:17

Hi and welcome!

We would love to help you troubleshoot this. If you are a student at OSTraining.com, please log into the support forum (www.ostraining.com/.../) and post the question in there, so that one of our support techs can look into it for you. If you’re not a student, I hope you’ll consider becoming one, so that we can give you the attention you deserve. You can find out more about our online class at www.ostraining.com/online

Kind regards,
Nick
 
 
Theodore
#43 Theodore 2012-01-19 23:56

Save failed with the following error: A menu should contain only one Default home.

This happens when trying to follow your advise and set default homepage for different languages in the main menu. Any ideas?
 
 
Nick
#44 Nick 2012-01-20 04:21

Hi Theodore,

Take a look at the following Issue Tracker and see Jean-Marie's answers:
joomlacode.org/.../...

Hope that helps!

Kind regards,
Nick
 
 
Nick
#45 Nick 2012-01-20 04:21

Hi Ozz1,

Take a look at the following Issue Tracker and see Jean-Marie's answers:
joomlacode.org/.../...

Hope that helps!

Kind regards,
Nick
 
 
Nick
#46 Nick 2012-01-20 04:22

Hi Rob,

Take a look at the following Issue Tracker and see Jean-Marie's answers:
joomlacode.org/.../...

Hope that helps!

Kind regards,
Nick
 
 
Thang
#47 Thang 2012-02-06 09:07

Hi,

Thanks for your post, very helpful!

"...At least one button has to be designated to use "All" and you won't be able to change the main home page language selection."

So, what it means is that we can have a multi-language site, EXCEPT for our HOME page? Do I understand correctly?

What I am doing now is that: The HOME PAGE, make it bilingual, e.g. English with Vietnamese (I am from Vietnam) just followed. Does anybody get a better solution for a perfect multi-lang? Mine is the worst I think!

Kind regards,
Thang
 
 
Nick
#48 Nick 2012-02-07 15:00

Hi Thang,

No, that's not correct. The "home"/"default " menu item will not show to your users but rather they will be redirected to the appropriate language. Each language will have it's own default home page.

Kind regards,
Nick
 
 
army
#49 army 2012-02-18 02:17

Multi language site in joomla was great idea I like this post!
 
 
Heywolf
#50 Heywolf 2012-03-10 00:49

I followed the tutorial and checked out many others.I added Danish language, but there was version 1.7.3 and my joomla 1.7.2
It was not working- showing only one page.
Then I updated the Joomla to 2.5
Now I still cannot change the language, all template formating is gone but I can see whole menu in English and articles in Danish.
Any idea what can be wrong?
 
 
OB
#51 OB 2012-04-17 20:41

Hello, thank for the tutorial. I've just got one question.
I'm developing a Joomla website that will require multiple languages. Am I right in thinking that the language switcher will change ALL content on the site, i.e. menus and actual written content? My client is in the process of having the English version translated but is this not required?

Thanks
 
 
koko
#52 koko 2012-04-20 09:57

My language switcher doesn't show languages.
I already created new language contents.
Plz advice me...
 
 
sino
#53 sino 2012-05-02 11:54

I installed a joomla! 2.3.4 and setuped a site for multilaguage site, but the Language Switcher seen to be protected, can you help me ?
 
 
scottshort
#54 scottshort 2012-05-14 19:45

Hi going through this tutorial and wanted to see flags instead of language names but I do not have Language Switcher Module that should be there by default... running now Joomla 2.5.4... I search JED and Google for this [also for Langswitcher] but can not find it. Do I understand correctly that the option "use image flags" is inside this module settings??
 
 
Brad Kelley
#55 Brad Kelley 2012-06-13 20:33

Very important to note that this tutorial is outdated and will not work with Joomla 2.5. A number of folks continue to errantly link to this tutorial. Try these instead:

help.joomla.org/.../...

and

docs.joomla.org/.../
 
 
steve
#56 steve 2012-06-13 20:38

Brad - can you be specific about what doesn't work?
 
 
steve
#57 steve 2012-06-19 16:30

We've now published a version of this tutorial which is updated for Joomla 2.5:
ostraining.com/.../...
 
 
automasla.eu
#58 automasla.eu 2012-09-26 23:20

good work, 10x
 
 
www.fengshuibg.com
#59 www.fengshuibg.com 2012-10-02 22:33

I like Joomfish ...
 
 
Barend
#60 Barend 2012-12-22 14:26

Hi, I recently upgraded Joomla to version 2.5.8 and now I notice that the url of my homepage also gets the language code in the url:
klusheeren.nl/nl/ instead of klusheeren.nl

How do I prefent the homepage from getting the language code?

For now we only use one language by the way, but I want to keep the multiple language option open.
 
 
stephy
#61 stephy 2013-02-13 05:32

My multilingual website have 2 problems:
1. It display the MainMenu-ALL instead of MainMenu-En & MainMenu-ZH in the site (even though my flag and multilingual status work well)
2. Menu association can choose menu item which language is ALL.

What is wrong for my joomla multilingual? Is it because of using K2? Previously I done has no problem without using K2 item. Thank you
 

Add comment


Security code
Refresh

blog-ad

Start Online Training

Members get access to all our video training. That's 1,142 training sessions in Joomla, Drupal, WordPress and Coding.

Manage All Your Joomla Sites

adminicredible

With Admincredible you can update and manage all your Joomla sites. If you have 5 or 500 sites, Admincredible will make your life easier! Visit Admincredible.com.

Latest Comments

The License for Our Tutorials

All of our tutorials are published under the Creative Commons Attribution-NonCommercial license. This means:

  • You can re-use these tutorials.
  • You can modify these tutorials.
  • You must link back to our original tutorial.
  • You can't use these tutorials commercially.

Click here to read the full license.

Open Source Training is not affiliated with or endorsed by the Joomla, WordPress or Drupal projects.
All product names and trademarks are the property of their respective owners.

Copyright 2013 Open Source Training, LLC. All rights reserved.