By default, WordPress is not a multi-lingual platform. It was not designed to support more than one language at a time. Fortunately the WordPress community has solved this problem by developing plugins that will translate your website or content into another language.
-
1
Methods
- 1.1 Manage multilingual posts in one post per language
- 1.2 Store all language alternatives for each post in the same post
- 1.3 Manage translations on the generated page instead of using a post context
- 1.4 Plugins that direct you to external translation services
- 1.5 Plugins that link together separate WordPress network (multisite) installations for each language by pinging back and forth
- 2 Multilingual Plugins
- 3 Tips
- 4 Wrapping Up
Methods
There are several methods to making your WordPress site multi-lingual. Some are more difficult than others and some get quite complex. In general, making your WordPress site multi-lingual is done by installing WordPress in more than one language and using a plugin so that users can switch between them. Most plugins will require you to manually install .mo language files. Many of them make this easy by letting you choose the languages from a list and selecting to install them. The languages are then installed for you.
There are several plugins for making your WordPress site multi-lingual. They work in different ways and some might be better suited to your specific needs than others. The WordPress codex describes several methods of making your WordPress site multi-lingual. Here is a look at the methods.
Manage multilingual posts in one post per language
Plugins use language files to perform the translation. Translations are linked together creating a group. Users can switch between the translations. This creates a complex architecture.
Store all language alternatives for each post in the same post
This one uses meta tags to determine the languages and only displays the active language the user is using. You can edit each language side by side. Language tags might have to be installed manually.
Manage translations on the generated page instead of using a post context
The plugin will perform a machine-generated translation on the fly as it is asked by the user. Users can even help with the translation by making suggestions or by making changes manually. This is a great choice because it can translate anything. It doesn’t have to be content that was pre-created or tagged. Unfortunately, machine-translation can be iffy and won’t always provide good results.
Plugins that direct you to external translation services
This works by an automatic translation that is outside of the website. It uses outside services such as Google Translate. These are easy to install and use and any content can be translated. This one also has the issue of automated translation being iffy and not always providing good results.
Plugins that link together separate WordPress network (multisite) installations for each language by pinging back and forth
Separate sites, all in different languages and on the same domain or server, connected together. They will run the same theme and plugin. This method works smoothly, but requires independent management of multiple sites. Due to the multiple site administration I don’t recommend this method as your first option as it becomes time-consuming. It requires server administration experience.
Multilingual Plugins
There are many great WordPress translation plugins to choose from. They use differing methods to supply the translation. Here is a quick look at some of the best plugins in each category. You can find even more in our list of the best WordPress translation plugins.
WPML
This plugin will let you manage multilingual posts in one post per language. It will translate your pages, posts, custom types, menus, and the text within your theme. It runs a multilingual site from a single WordPress install. You can choose from over 40 languages and add your own language variants. You can also arrange different language contents in the same domain under different language directories, in sub-domains, or in different domains. It’s completely compatible with all WordPress themes and plugins.
This is a premium plugin with several options for purchase. The first is Multilingual Blog for $29 for the first year. It will translate posts, pages, custom types, tags, categories, custom taxonomy, and menus. It includes standard translation controls and browser language detection. The second is Multilingual CMS for $79 for the first year. It adds translation of custom fields, e-commerce support, translation of widgets, texts in theme and plugins, manage attachments in different languages, multi-user translation management, XLIFF interface, CMS navigation, and sticky links. The next is Multilingual CMS Lifetime for $195. It is a lifetime membership and never needs renewing.
Polylang
This is another plugin that will let you manage multilingual posts in one post per language. It is one of the most downloaded and highest rated multilingual plugins, and for good reason. It packs a lot of the power and features of WPML in a free package. It is very easy to use and has lots of translation options. You write your posts, pages, categories, and tags as normal, and then define the language for it to be translated into. You can use as many languages as you want.
It will translate posts, pages, media, categories, post tags, menus, widgets, custom post types, custom taxonomies, sticky posts, post formats, and RSS feeds. The language can be set by the content or by the language code in URL. You can also use a different domain for each language if you want. It even includes a customizable language switcher that can be used as a widget or in the navigation menu.
Using it is fairly straightforward. You add the languages you want by selecting them from the dropdown menu and selecting the Add New Language button. Then you can set all of your default settings, which determines what the default language is and what gets translated and what does not. Then you drag and drop a widget that provides the languages to translate into from a menu. This places the names of the languages that you’ve chosen in the sidebar for visitors to select from.
It also gives you a box in the visual editor with languages to choose from.
I found this one to be easy to set up and use. For free this is not a bad way to convert your WordPress site into a multi-lingual site.
xili-language
This one allows you to manage multilingual posts in one post per language. You can translate your content into multiple languages and provides a nice widget so readers can select the language that they want to see.
You add languages by selecting them from the list in the dashboard (including Klingon, and yes I had to add it just because). You can set the order that it appears in the list. Once you add the language you have to choose the server to update the .mo files from before any translation will occur.
Once you’ve installed the languages you want, you simply write your post as normal and publish. Then you can come back to it and select to copy the post into another language. The post will translate into the new language and saves as a draft. You can publish that post for readers in that language to see. You can refresh the list and translate again into another language.
It comes with three widgets:
- List of languages
- List of recent posts
- Recent comments list
You can use any or all of them in your sidebar.
The list of languages includes HTML tags so you can mark them up any way you want. The names of the languages appear in the sidebar as links. Clicking on a link changes to the content that was written for that language.
This one isn’t bad for free. It does have a lot of setup that you have to go through before it will do any translating.
Bogo
Bogo lets you create a multi-lingual blog from a single WordPress install by using WordPress’s built-in localization capability. You can manage multilingual posts in one post per language. It adds a dropdown list at the top of your site that users can select their languages from. You can also include the language switcher in a post, page, or widget as a shortcode. Users can also choose their language on the dashboard or in their profile page. It will translate posts and pages.
In order to use it you have to install the languages on your site. Bogo has a long list of languages that you can install. You click on the ones you want and it will install it for you. It will change your dashboard to match your selected language. You can change it easily from the language switcher at the top of the screen.
This is one of the easiest to use of all the multi-lingual plugins that I tried. You just choose the languages you want installed and they appear as options in the language switcher.
qTranslate Plus
This free plugin lets you store all language alternatives for each post in the same post. It is an update to another plugin that has not updated in a while known as qTranslate. This one replaces it and brings those same features to the latest edition of WordPress.
It includes a language chooser widget. Your readers can select the language they want and it changes your content (or at least the content that was created after the install) to that language. It also changes your menus.
When you add a post it gives you fields so you can type in a title for each language, and tabs so you can create content for each language. If you only post the title in one language, when the reader switches to a different language the title will show the original language in parenthesis.
This is definitely one of the easiest multi-lingual plugins that I’ve used.
Transposh
This one lets you manage translations on the generated page instead of using a post context. It has lots of advanced features. It will automatically translate 92 languages. It actually allows your users to help in the translation process. It will also integrate with a professional translation service (subscription required). It has a widget that you can place in your sidebar. Your visitors can choose a language from the dropdown box.
It has a nice dashboard with lots of features. To get started, you first choose the languages that you want. Next, place the widget where you want it and you’re done! Your visitors can choose from the dropdown box and every element of your site is translated into the language they selected.
This free plugin is extremely easy to set up and use. One thing that I like about this one is you don’t have to create content in each language. Also, all of your previous content gets translated. This is a major improvement over some of the other plugins. They will only translate posts that were created with the plugin installed.
For translation settings you can connect to your MSN API, Google API, and a professional translating service called One Hour Translation.
Google Language Translator
This free plugin connects to the Google Translate external translation service. It provides translations for 81 languages. It places a small box on your site that users can click on to perform the translation. You can also post the button in pages, posts, and in the sidebar with a shortcode.
You choose the languages you want in the settings menu. The flags of these languages will show when users click on the widget that shows at the bottom right corner of your page. It will show the Google Translate toolbar at the top after it does the translation.
There are lots of adjustments in the settings. You can adjust the size of the flags, apply CSS styles, change how and where the widget displays, turn the flags on or off, use translation management, apply Google Analytics, and more. You can place it in the header or footer of your theme. You can also save a single language usage in your navigation, posts, and pages.
This one is easy to install and simple to use. There is also a premium version for $15 that adds a manual translation module, allows you to exclude content from being translated, allows you to drag and drop flags into a different order, full support, and lots more.
The button doesn’t take much space and the flags look elegant.
Multisite Language Switcher
Plugins that link together separate WordPress network (multisite) installations for each language by pinging back and forth. If you do decide to use a multisite installation, Multisite Language Switcher is the most popular choice. It lets you manage translations of posts, pages, custom post types, categories, tags, and custom taxonomies. It will work with the WordPress MU Domain Mapping plugin to set up multiple sites across multiple domains on the same server.
You can use the widget, a shortcode, or a content_filter which displays a hint to the user if a translation is available. It places a switcher on the site that users can use to change from one language to another.
You can even add it directly into your theme files using this the code:
<?php if ( function_exists( ‘the_msls’ ) ) the_msls(); ?>
It’s free and only works with multisite installations. I recommend trying one of the other methods first as this method requires you to maintain multiple sites.
Tips
Spend some time evaluating your options before settling on a plugin. Some plugins are easier to change than others. For a plugin that creates a new post for each language, if you change to another plugin you might have to start over with creating the posts.
Choose the model that best adapts to your content strategy.
Make a backup of your database first. Depending on which plugins you choose, they can make significant modifications to your database.
Use a test server if one is available. This will help ensure that the plugin is compatible with your theme and plugins before going live.
Wrapping Up
These plugins offer great translation abilities, but they do so using different methods. You are sure to find one on this list that will fit your specific needs.
How about you? Have you made your WordPress site multi-lingual? Did you use one of the methods described here, or did you use a different method? Do you have anything to add? I’d like to hear about it in the comments below!
Article thumbnail image by Hermin / shutterstock.com
Hi,
These plugging looks all nice, but I write on myself in two languages and I would like the wordpress website tell the user that this post is another language than the default language, i.e. English, and as well letting them to specifically look in one language … but my intention is not to translate or to provide any of these posts in more than their first written languages …
I thought maybe you have an idea, what might be the best practice …
Thanks in advance
Hi Brenda,
Just came across your article after a quick Google search for multilingual WordPress plugins. Thank you so much for the details and thorough write up of each of these plugins. Am off to test now, for a multi-lingual 2016!
I’m using polylang with Glow Elegant themes…
But I have a problem with the home page, what should I do to fix mainly the featured slider that doesn’t appear in the translated website?
Hi Nade, sorry you’re having that issue. The best place for us to help you out with that is via our support forum.
I’m working on a site in theme Divi with plugin Divi-builder.
I tried several of the plugins you described. I liked most Transposh. Unfortunatly it doesn’t work with Divi.
What translation plugins would work well with Divi?
Who has tried any?
Are plugins only for wordpress.org? I just upgraded my wordpress.com-blog to the premium version but still cannot use plugins (besides the few widgets that were already pre-installed). I would like to create a bilingual wordpress blog (by having the user chose the languages from a dropdown menu). Is there no way I can do this?
Yes, the vast majority of plugins are for self-hosted WordPress.org websites.
It is not exactly totally clear to me the advantages of multi-site. But I will make some guesses:
1) different media libraries: if you have images that have words in them, you will need different pictures
2)different checkout standards: checkout regulations in Germany are higher than in the US.
Any others? Or challenges to these two?
Hi, I use Divi and WPML . If you use the search function built into the main menu , searches are made only in the default language of the site . The search widget standard WordPress ( in the sidebar ) instead works without problems . Why? How can I fix ? Thank you
Hello Brena
You open a very interesting discussion here.
Reading at all these comments, it seems that there is no perfect option for a multi language web site if you decide to use a plug-in.
But Hey! Since we would use a plug-in by laziness ( to avoid duplicating 2 or more contents each time we publish it, in 2 different websites), it should be at the end at our own expenses. If our SEO is not efficient because of this choice then our popularity on various search engine won’t be great, hurting directly our business.
So no pain, no gain?
I’ve been using Codestyle Localization to translate mo and po files online for years and that has worked greate. Today I wanted to try to add english to a swedish site and ended up trying qTranslate-X (which seems to be the currently active fork of qTranslate). It has worked great, even managed to translate custom theme features (in my case DeepFocus Quotes) by using “[:sv]Swedish text[:en]English text”. And finally qTranslate slug plugin for slugs. It doesn’t feel right to have to use 3 plugins for localizations, but as long as it works I’m ok with it for now.
I am new to wordpress and even I don’t know to code…I made few websites. I also want to translate and using polylang is great on all pages and widgets but I don’t know however how to translate the home page with it’s featured boxes, sliders, featured images etc. Can anyone tell me how to do it? Thanks
only english so far… :-/ i might try some of your recommendations, even if it’s going to take time.
Any remarkable growth in visits after turning site to multi language?
Hi Brenda, so glad I found your blog post.
What is not quite clear to me, with which of these plugins can I revise the translation before it is posted?
I would never use a machine translation. They are usually not very accurate but good material for jokes. I always find it a bad testimony for a company when they just have a machine translated website without any human proofreading.
Thanks!
Can anyone tell the plugin(s) for Indian Languages which work perfect ?
Another question … does anyone know if any of these plugins translate to Haitian Creole? Most of our Haitian population understands French which is an alternative.
Thanks again!
I’m curious to hear about any experiences as to the accuracy of the English-Spanish translation. I live in Miami where Spanish is quite often the first language and some auto-translations can be inaccurate and very embarrassing. I will be helping to manage a site built on WordPress for a performing arts center that has a largely Latino audience. Ideally, the description of a show (or any text) uploaded in English would be automatically translated into Spanish. Given the audience, the result needs to be of good quality. Thanks!
Hello,
I am a newbie in the WordPress world. We have some professionals to write the WEB page but I am supposed to find out possibility to get the most proper way of tranalation our WEB page.
Our WEB page is supposed to be updated frequently.
Therefore it will require some frequent actions from translators.
It would be good then if all strings/texts from one language are packed into single file. Then these files would be available to for translators. This would be the best way to translate from our point of view as we do not want to allow all translators to freely modify our WEB page.
I saw however that there is another option with Google translator.
Maybe this can replace our idea of exchanging files?
Which plugin would be most suitable for such purpose?
Does the Hindi work perfectly in WPML. Can anybody suggest me a better plugin for Hindi. I have used most of the plugins mentioned in this post by Brenda but could not get one perfect out of these.
This been great! Love it. Thanks for a great utility!
Great article! I have used Polylang for one website and I am satisfied with it. But since you described other solutions very well I will learn more about them also!
Thank you – great resource!
This is an excellent list of plugins, not only that, covers each of them in great detail. Based on this detail, I am sure Polylang will be perfect for me, if nothing, I will have my hands wet without spending a single penny.
First of all thanks for this post. And i want to say lots of thanks those people hard work each different language file translate. Because, for those people we get this language. So thanks lot.
thank you for this great article
i used qtraslate and Ceceppa Multilingua they are perfect for me
thank you
Hi Mark,
I can’t seem to get ceceppa working with Divi. It seems that when I change languages, the URL changes, but the page content doesn’t. It only works on the home page. How did you get this working?
Anyone has the same problem with ceceppa and Divi?
Hi Brena !
I think out of the various ways you have shared for making WordPress blog accessible in various languages, the best way to do so is by using WordPress plugin but sadly none of them are so effective. I tried many of them but result showed that eventually Transposh is somewhat better than others but not the most perfect.
By the way, thanks for sharing.
I was planning to start a multilingual website and I was worried about social engine optimisation as it would crawl one language only?
Hi Brenda!
Thanks a lot! This is a rock article. I have just started a multilingual site I am using TRANSPOSH, it is an awesome plugin. You can manage translations on any page which you want. Your users can help you in the translation process and this is one of the great feature of this plugin.
All the very best!
Kind regards,
K G Mozumder
Oh so there is a lot out there apart from WPML, will give them a try 🙂
Thanks for this great article!
I’m right now working in a multi-lingual website for the firs time. I’m using Divi with the Polylang plugin. I think it’s an awesome plugin for the price (it’s free!), but I find a problem with the theme: I don’t know how to place the language switch in the main menu.
¿Anyone with the same trouble has found a solution?
Thanks for the post, a really useful article.
On the menu setting page, links for ‘options’ upper right,
There you can activate more options.
Also the language switch.
Hope this help.
Guido
Http ://actxcellence.de
Thank you very much Guido, it has been really helpful!
Now I got what I wanted 🙂 Polylang is a great plugin.
After working a couple of years with qtranslate, I’ve finally moved to wpml ($79/year) and at the end , it’s a better option for me and my clients. String translation plugin is a cool feature.
With all plugins, there’s always some problems down the line, depending of the theme used but overall, things are rather easy.
Sometime I feel lazy and make two wp installs (in both wp languages) and separate content, which is less complicated to setup at first but a little more work when it’s time to add content. Not a big issue, especially if you’re on a hourly rate 🙂
These alternatives are all good….but they won’t allow you to get found on international search engines, for example when a chinese person types your keywords in chinese. This is only achievable with Multilingual SEO. A great company with more than 10 years of experience offering this services is http://www.mseo.com
You can check that the methodology works by clicking on their case studies, where they show how they positioned websites on the first page of google in multiple languages.
Click here for proof: https://mseo.com/project/nike-sports-camps/
Wich is the best to use with Divi?
I use WPML with Divi, and it’s awesome. You can check it out on our website here – http://www.horizonlviv.org
Thank you very much!! 🙂
Hi! I’m using WPML (subscription fee $79) with Divi with no problems at all so far. I’d recommend using WPML. It’s worth the price and it has worked not only with Divi but with other themes from Elegant Themes and from others authors. And it has very good compatibility with plugins (very important).
It takes some time get familiar with all the small adjustments you may have to do to have it completely running to the detail, but it works. If something is not working, there’s always some setting that you have to change and it works. And the support is very friendly. (You mostly don’t need to even ask the support if you have a problem, you search for it online and you get the solutions already).
Hope that helps!
Great write-up! Last year I had a new client that wanted a multi-language site, I said no problem… then panicked and read all I could because I had no clue how to do it.
Some helpful info out there, but some very confusing info. You did a nice concise job of outlining choices.
The website I did was for a foreign language school. I initially used Google Translate on the English site and thought it was great… and easy! but my client didn’t like it because the translations were off.
We settled on a multisite solution. I cloned the English site to the French subdirectory, & German subdirectory. Then client translated each site. It is a static site (no blogs). Works OK, but any changes have to be done 3 times. I created buttons for top banner to switch between languages.
I think I will try Polylang next time.
Thanks!
Thanks a lot for this post. I’m working on a new Divi site and was about to try the same thing Bob mentioned above (WordPress multisite with independent translated content) or maybe just build up new page templates (hiding default menus) using Divi features.
Like Neli Alessio asked above, which translation solution is the more adequate for a Divi based website? Divi is so cool, but it is so different from the regular WordPress themes that not everything may be compatible with it.
VT, check my reply to Neli. I recommend WPML, which I use. 🙂
Hi Brenda. Very nice article.
I personally used to have qtranslate but as you said it hasn’t been updated for long time. Don’t know about the new one.
Now i use polylang for the last six months and i’m very happy with it. Easy to use and great support.
Thanks again for the post.
Hi
This is a topic that passionates me 🙂
my 2 cents…. in the list of plugins, you could have added “Multilingual Press”
free version : https://wordpress.org/plugins/multilingual-press/
premium version : http://multilingualpress.pro/
also, here is a wonderful site on that topic, with lot of interesting info
http://wplang.org/
Great post, nice to see a rising interest for non-English WordPress (and web in general) …. I see that a lot recently, it must be hot! 🙂
Hi Patricia,
In 2014, non-English WordPress versions’ downloads surpassed the English ones for the first time. That says a lot on how much multicultural and multilanguage WordPress has grown.
These plugins are still not optimal solutions but I believe we can be in the right track.
I would include in this list:
Ceceppa – https://wordpress.org/plugins/ceceppa-multilingua/ (it even has support for WooCommerce through https://wordpress.org/plugins/ceceppa-multilingua-support-for-woocommerce/, not perfect but it’s promising)
and, of course,
Babble – http://babbleplugin.com/ which makes use of common WordPress functions and has a better approach as to interface and general design.
Alvaro
Oi Alvaro.
Yes, indeed, more download of WP in an other language than English 🙂
Internaltionalization, Localization, Multilingual solutions… all are important and rising topics nowadays.
I thank you very much for mentioning the other solutions as well. I have seen several presentations with some of the actors in the multilingual topic, at several WordCamps.
My own first language is French and most of the people for whom I install WP want a multilingual solution (living in Switzerland is a must 🙂
Thx again for completing my comment, and talk soon.
Obrigado
I use Multilingual Press for a few domains. They are multisite installs with sites in 3 to 5 languages (english, spanish, french, italian and polish). I have been very pleased with this method which is basically parallel, or similar sites in each language.
All language sites for a given domain share a common theme (a child of Woothemes Canvas). The theme files are localized, so that part of the translation is handled in the theme.
I have one site where they insisted on the Google Translate… it’s quick, easy and fast — oh, and if you need a laugh break, you can read the translations. They usually get the gist of the site, but they are oh so obviously mechanical translations.
free version : https://wordpress.org/plugins/multilingual-press/
premium version : http://multilingualpress.pro/
Thanks for your reply.
Yeah MultilingualPress seems to please its users all the time!
And indeed robot translations are so funny, very good to understand something and a quick translate, but obviously not suitable for any serious publishing (but it looks not everyone is aware of the fact)
🙂
Where WordPress will be natively multilingual?
See also
https://wordpress.org/plugins/ceceppa-multilingua/
I just installed Polylang last week and my website is almost all translated now, it’s super easy and straighforward, I HIGHLY recommend it.
Thank for the post!
If I can suggest you, there is another great plugin created by an italian developer called Ceceppa Multilingua.
When a client asked for a multilingual site last year I was a little intimidated by this. Did some research on free and paid plugins. Asked around and finally settled for WPML.
I’m a happy and very satisfied customer! You’ll have to upgrade very quickly form their cheaper $29 option (which is really just to dip your toe in the water and get a taste of their plugin). I’d suggest to just start with the medium plan ($79) or up since the cheaper one won’t translate widgets ( and that’s practically a must).
Their support was great and helped me with code with one my themes that was not properly coded to handle all the parts in the translation.
This is one of my 2 paid plugins that I have and the investment is really worth it. ( Now that I’ve done several multi language sites).
If you are not a developer and only have a personal site the other cheaper or free options are probably good.
Couldn’t agree more. Worth every penny.
Hi Brenda, great write up. I tested a couple of the free plugins you describe here before settling with Polylang, I use it in a couple of sites without a hitch. I did find one downside with the plugins that store all translations in the same post and use metadata to hide the content, if the plugin crashes or is disabled or have a problem that prevents loading, you will get a post with a lot of garbage and all languages mixed leaving something of a mess.
On the upside will definitely test the Google Translator Plugin to include more languages, besides the ones manually translated, and allow users to at least understand what they are reading.