The internet is a big space but the world is even bigger. Although English is the most widely used language on the internet at the moment, in less than 5 years it will be Chinese.
We read in our native language, search in our native language and join social groups who use our native language. Also, research suggests that we put more credence into the words we read in our native language.
I recently created a multilingual website for an English School in Goa, India and with WordPress and WordPress Multilingual (WPML) plug-in from ICanLocalize.
Video of a multilingual website with WordPress and WPML plug-in
Here is my video of the front and back end of the multilingual website.
This got me thinking how easy it is to make any sort of website multilingual and roll out the SEO benefits of WordPress into different markets. Here’s how you do it.
Install
First, install WordPress on your web host. Most hosts have good one-click installs these days but if you want to do it manually you can.
Secondly, you need to purchase WordPress Multilingual plug-in from ICanLocalize. Make sure you comply with their minimum requirements. These are quite stringent as you are required to make the WordPress permalink structure to be either the default or /%year%/%monthnum%/%postname%/. And, definitely use a Linux/Unix server rather than a Windows one even though this is not mentioned as one of their requirements.
Then, the plug-in can be downloaded and installed just like any other plug-in.
Set up
Once installed, the plug-in will walk you through an easy process where you choose the default language (in my case, English) and the other languages you intend to translate the site into (which can be added to later). WPML (WordPress Multilingual plug-in) comes with over 40 languages to choose from but you can also add your own language variants.
Finally, you need to add the language switcher which is a drop-down menu for visitors to select their preferred language. This is available as a widget, but I inserted it into the theme using this code: <?php do_action ('icl_language_selector'); ?>
.
Entering the translations
I had the links on the top navigation bar listed with the WordPress command <?php wp_list_pages ('sort_column=menu_order&title_li='); ?>
. Once this is set up the top navigation bar will change depending on which language is selected.
The administration area for entering the translations is very intuitive – it uses flags to denote the translated pages. There is no need to enter the different languages in every page. If you forget to translate a page it won’t be listed using a WordPress command nor will that language be present in the language switcher when the page is viewed in another language. So, no annoying 404 errors!
If you’re concerned with SEO (who isn’t?), the page and site titles can be translated so you have complete control of the most important areas for keywords.
You can even employ ICanLocalize via the back-end to do your translations for you direct into your site!
You can also translate sidebar areas, widgets, footers and every bit of HTML text in your website. Here is some code I used to identify the different languages with PHP:
<?php if(ICL_LANGUAGE_CODE=='en'){ ?>
...English content here...
<?php } if(ICL_LANGUAGE_CODE=='ja'){ ?>
...Japanese content here...
...etc...
<?php } ?>
Translating widgets and other areas of the site
It’s not just about translating WordPress pages and posts. You can translate any part of your site with WPML.
The above video shows you how, with the help of the free Widget Logic plug-in, you can translate any part of the website to create a fully-functioning totally multilingual website.
Contact forms
If you require a contact form there is a very simple solution. Contact Form 7 plug-in and WPML plug-in are a match made in heaven! Contact Form 7 is translated into around 40 languages. So, once you have Contact Form 7 installed, click “Contact” and “Add New” and you can choose the language of the new contact form.
Here you will get a normal contact form already translated complete with the 15 or so success or error messages (“Your message was sent successfully”; “Invalid email address” etc.) in 40 different languages. So, no need to send the contact page to the translators!
Conclusion
I only tried the multi-lingual plug-in with WordPress pages but didn’t translate posts as this website had no blog but I’m sure the plug-in can handle this just as well.
The support at the forum is OK but expect to wait at least 24 hours for responses. Online WPML can be a little confusing. There is no link to the forum at WPML and no link back to the main site from the forum. Plus there is the ICanLocalize site where you purchase the license. I found the distinctions between these separate online entities unclear.
But don’t let these minor quibbles put you off, the WPML plug-in has been around for a long time and is well-supported. It has only just become a premium plug-in, having been free for years, and the developers are committed and professional.
What about you? Have you ever created a multi-lingual site? Has anyone else had experience using the WordPress Multilingual plug-in?
Dominic Copping says
Interesting to see how simple it is to create a multilingual site.
Rob Cubbon says
Thanks, Dominic, I hope it helps. 🙂
Caitlin Foster says
Hi Rob
My computer consultant is building my website in Joomla 1.5. Do you know how we can make it multilingual in that CMS? Please advise. Many thanks, as always, from Caitlin
Rob Cubbon says
Thanks, Dominic.
Hello, Caitlin, I know that the people behind the WordPress Multilingual Plug-in unfortunately only work with WordPress. However I’m sure the answer is yes. There seems to be a Joomla extension called Fish that does something similar. You could ask your consultant about that?
Mijn says
Very cool. Especially if your creating a corporate webdesign. It gives it a more corporate and business like feeling. Whenever I saw multilangual websites I was always impressed with the translation work that went into it. Thinking the corporation was probably a professional one.
Rob Cubbon says
Thank you, it’s very easy, with WordPress and WPML to create a corporate, business-like, multilingual website.
Edna says
Great advise Rob, I am already using the WPLM for a client’s site and for the most part is working great. There are however a few sections on my theme (like the products section) that there is no way to make any translation.
Thank you for your insightful advise.
Edna Campos
Rob Cubbon says
Hello Edna, you should be able to translate any section of the website with WPML. You can use PHP conditional commands to translate areas of the sidebar or footer, for example.
Sherm Stevens says
I stumbled upon your blog in search of a form plugin that interfaces with WPML like CF7 used to. Thought I would add my two cents worth while I’m here.
WPML is actually a pretty spectacular plugin, especially for the money. I’ve built 3 websites in WP/WPML and their sister translation service iCanLocalize.com. WPML & ICL work very well together. Once your site is built in English (or whatever language) and populated with content, you can submit your posts & pages for translation to ICL and find a native language speaker in a virtually unlimited number of languages. Once you fund the translation (prices start at $.06 US per word), the translator starts working and the posts show up automatically on the website (if you configure the plugin that way).
The plugin also allows you to translate other text within your site, not just post or page text. They call it “string translation” and you build a database of translated strings. In the page or php code where they appear, you wrap the text with a tag and the text appears in the current language. There’s also a “Theme and Plugin” localization feature — in case you have a native language speaker editing your website, they can view the pages in their language.
In addition to the WPML plugin, there are 4 or 5 other plugins from WPML that add great functionality — my fav is the menu/navigation that gives you multi-language menus.
If you’d like to see the plugin in action, visit a couple of the websites we managed the translation for:
http://www.grotecompany.com and
http://www.vanmarkequipment.com
All in all, WPML is a well-conceived and implemented plugin system. I couldn’t be happier with it! And my client is extremely happy as well.
Rob Cubbon says
Thanks for this great advice, Sherm, and I’m sorry it’s taken me so long to reply to this comment. Good to know about the iCanLocalize services as well as the “string translation” service.
And, good to see the sites working. Glad to know the client is happy.
Thomas says
I translated three websites for clients with WPML only this year. I learned this:
* check every plugin for being translatable with WPML before you install them (simply type plugin name and “WPML” into the search engine of your choice)
* if you don’t want to purchase the WPML string translation update, you can use Codestyling Localization Plugin to easily translate themes and plugins – this is simply WOW for a free plugin.
* The Media Translation AddOn is a must so you don’t have to insert article thumbnails manually into all translations.
Especially building multilingual websites from already existing blogs was a pain, when clients used plugins that were not compatible with WPML (or translations in general).
Rob Cubbon says
Hello, Thomas, some great advice here. Thanks for sharing. Handy to know about the Codestyling Localization Plugin as well as the Media Translation AddOn.
Tracey Grady says
I’ve just finished working on a site incorporating WPML for a client. WPML is powerful and worth the cost of a license.
I Can Localize has good documentation but I think it could be improved: I frequently came across instructions which apply only if you have downloaded a specific add-on first, but this isn’t clearly outlined in the documentation.
It would also help immensely if ICL added a search function to the WPML support forum.
But I found that the support staff went to great lengths to help me with my queries. I definitely expect to use WPML again.
Rob Cubbon says
Hello Tracey. I had exactly the same impression after using WPML for the first time. It works really well but the way the information is presented on their site is confusing. A support forum without a search function is, indeed, bizzare.
Aurlie says
Good afternoon Rob,
Thanks for your article, advices and tricks.
Does WPML supports cyrillic characters? I’m looking for a smart plugin to develop a website in russian… Do you know somebody (or an example of website) satisfied with the cyrillic version?
Thanks a lot.
Aurlie
Rob Cubbon says
Good evening, Aurlie. Yes, WPML (and WordPress, for that matter) has no problem with cyrillic characters … Japanese, Chinese, Arabic, you name it!
Caldwell says
Hi Rob,
Thanks for the review and process description. I’ve heard that WPML cannot handle larger websites? Whats your take on that? I’m also concerned with how the content database is handled in the backend — will both languages be seperated, or will they be mixed, incase in the future i decided to use something else? Or even export the site to another platform? Your thoughts would be appreciated. Thanks.
Rob Cubbon says
Caldwell, Sherm here has answered your questions here better than I ever could. Your best bet is to see if you can engage Mihai or some of the people at WPML. They’ve been working on this plugin for years and they know exactly what it’s capable of.
Sherm Stevens says
Caldwell,
I’m using WPML on a couple of sites with several hundred pages and have no problems at all. If you use WP Super Cache you have to clear the cache anytime you update the translations.
When you create a post in English (or original language), WPML adds a duplicate/parallel post in the other languages you have set up in the system. The content is never mingled, and WPML does the job of keeping everything coordinated. It does this for pages, categories, etc.
If you disabled WPML the translation flags/links disappear, but the English (or original language) posts stay in place, and the user will never know the translations were there. I believe you can even delete the plugins (it’s 6 or 7 plugins if you install all the pieces & parts) without the database content getting deleted.
I do agree with Tracy’s post above… the ICL website can get confusing (as can WPML) because of its complexity. Support is quick by email, but their forum is sort of goofy — they use their forums like a ticket system and close comments quickly before other people can chime in and say, “yeah, I had that problem too, how do I fix it?”
HTH.
Rob Cubbon says
Thank you, Sherm, I’m sure this will help. You really have gotten to know WPML well.
Sherm Stevens says
WPML is really a solid product, especially considering the price.
Rob Cubbon says
I agree, when you consider what it can do the price is really reasonable.
chuksphil Iheabunike says
very snappy,tnx Rob
Rob Cubbon says
Glad you liked it, chuksphil.
Dave says
Hi Rob,
Reading your post and saw that the permalink structure has to be WordPress default or year, month. I have a client who wants to have Chinese added to their existing WordPress site (Theme MayaShop), yet the permalinks are currently set for Post Name. I’m not comfortable making that switch in case of breaking the site. Would you have any suggestions? Also does WPML change the entire sites language on a click, or does the visitor have to keep clicking their language per page?
Rob Cubbon says
Dave the permalink structure is fine as – I have used it as such on other websites with WPML. I understand you not wanting to break the site. However you could calm your nerves by its taking a copy of the sites or communicating with your host to ensure that could restore it to an older version at any time. Alternatively you could set up a “dev” copy site and test it out on that first.
Dave says
Thanks Rob, that makes sense, and we do have a back up system.
Sherm Stevens says
Dave,
I use the permalink structure on my clients’ WPML sites. The SEO benefits outweigh any perceived negatives.
WPML creates parallel pages/posts in additional languages. The base language site (i.e. English) can exist without the translations — you can disable WPML without harming the original base site. To access the additional languages, the user must click on a flag or dropdown representing the other language(s).
My suggestion: create a copy of the site on a subdomain. I always use SANDBOX.whatever.com, create a new database instance and import the existing database, and copy all the files into the new subdomain. It’s essentially moving a WordPress site. I build this for every client site, so they can train + play and I can test updates and installs without breaking the live site (which is often mission-critical for my clients).
Once you have the duplicate, you can install plugins, test to your heart’s content, and you can make the site as accessible to clients to test as needed. You could optionally password protect the sandbox site to prevent anyone from finding it. You also want to edit the robots.txt file to keep out nosy search engines, and turn off any Google analytics tracking. You don’t WANT to attract any attention to the sandbox site.
Regarding your other question: once the user is in the other language — let’s say it’s an English based site, but they’ve clicked on the Spanish flag — subsequent clicks, menu navigation, etc. will stay in the Spanish site until they go to another language. It’s all pretty brilliant.
Hope this helps!
Dave says
Thanks for the tips, very helpful information indeed. I will try the alternate site for testing as it does make sense for my e-commerce sites.
Sherm Stevens says
I should mention some updates that I’ve made recently on my client sites: I’ve integrated Formidable Forms Pro, Events Manager and MapPress in multiple languages. More and more plugin developers are making sure their plugin integrates with WPML. It seems to have become the standard bearer for WP localization.
Rob Cubbon says
Awesome relies, Sherm, thank you so much for your efforts with your commenting on this post, you’ve helped not just myself but so many people.
I use the UnderConstruction plug-in to sandbox the test site and make it available only to those with WP logins. Awesome plug-in. Editing the robots.txt is also a good move. And delete the test site when finished with from the server. This is what I do anyway.
Completely agree with you, WPML is the standard bearer for WP localization at the moment. Thank you.
Sherm Stevens says
Rob,
I actually keep the sandbox site live (but secure) even after the LIVE site is working… as I mentioned earlier, it allows me to test updates prior to rolling them out. Especially with WPML which can sometimes cause a setup to be fairly volatile (the other plugins, not WPML itself).
And the recent upgrade to WP 3.8 was a nightmare. If not for my strategy, I would have had to roll back the live sites. Instead, I waited until 3.8.1 and everything plays nice.
One final note: this exactly strategy is what won me this client (amounts to about $10k revenue per year). Their previous web vendor let their site go fallow because they were “afraid to upgrade.” I came in and saved the day and now I’m their hero for 3 years…
Thanks for hosting a nice blog, Rob.
Rob Cubbon says
Great bits of advice there, Sherm. I like the idea of keeping the test site as a testing site for new versions. Make sense. And great business advice too! thanks.
Hannah says
Hi Rob, I really liked your video. I want to make my web multilingual so I am considering WPML. But I wanted to ask you if it also works with e-shop? Because I dont want to install it and then find out that it doesnt want to translate my items.
Thank you for answer
Hannah
Rob Cubbon says
Hello Hannah, it would seem that as of 2 years ago e-shop and WPML didn’t play nice together. http://wordpress.org/support/topic/eshop-and-wpml-multilanguage-cms however, I would ask at WPML forums as there you’ll get a definitive reply: http://wpml.org/forums/forum/english-support/