In the WordPress plugin directory, you can find close to 200 plugins tagged “Translation”. In addition to these, you can add the ones that you can pay for. While some of these plugins offer a complete multilingual solution, others only have a specific task. In this article I analyze these plugins in a simple and practical manner, as well as the different ways that exist to design a multilingual website using WordPress.
INDEX
1. WordPress contents: dynamic and static
1.1. Core WordPress text strings
1.2. Text strings for themes and plugins
2. I need a WordPress website in a particular language
2.2. In a language other than English
3. I need a WordPress website in several languages
3.3. Several individual installations of WordPress
3.4. Method based on Javascript and alternatives
Introduction
If you search in WordPress plugin repository using the tag “translation”, approximately 200 plugins will show up, not counting the additional plugins you would have to add that you can pay for.
If out of these 200 plugins I eliminate those that are simply extensions of other plugins or old plugins that have gone years without being updated, I would be left with a list of about 50, all of which have some distinct functions:
- About 10 are used to insert a widget that allows you machine translation
- Around 20 offer a more or less complete multilingual solution for doing manual translations (such as individual WordPress, WordPress Multisite or other more recent translation methods)
- 5 are use to connect directly with professional translation services using the admin panel in WordPress
- The rest of the plugins have very concrete functions: translating WordPress themes, simply inserting a language selector, inserting Hreflang tags, etc.
There are many articles that explain how to make a WordPress website in one or more languages. However, most items that you will find (and there are many) simplify their analysis excessively, reducing everything to installing some plugin.
This article attempts to give focus simply and practically on the different ways that exist for designing a WordPress website in one language or several.
1. WordPress contents: dynamic and static
Before we start talking about the different options for translating a WordPress website, there must be a very clear distinction between the two types of content that we can find in WordPress: dynamic and static content.
Dynamic content are those which you create through adding posts, pages, custom posts, sliders, widgets, etc. These contents have to be translated by the user (either directly or by hiring a translator).
Static content are those that are already in the programming code and can generally be found in 3 different locations: at the core of WordPress, in the themes or in the plugins you use.
While dynamic content must always be translated by the user, static content (usually called “text strings”) often come translated into other languages. Let’s see what these are static content.
1.1. Core WordPress text strings
Firstly, the core of WordPress already comes with a series of static content in English. It currently contains about 5,000 expressions or text strings that can generally be found mainly in two different places:
- In the visible part of the website. These are texts on the website. Some examples: “posted in”, “by”, “Leave a comment”, “No comments yet,” “Uncategorized”, etc. Some texts also appear in the URL: “Category”, “Tag”, “Archive”, “Author”, etc.
- In the WordPress admin panel. These are the texts that can be seen on the dashboard of WordPress. Examples: “Thank you for creating with WordPress”, “Edit my profile”, “log out”, etc.
These are static content and have already been translated into over 100 languages voluntarily by the community using the WordPress translation platform GlotPress. Languages include regional variants (Spanish in Spain, Spanish in Mexico, Spanish in Colombia, etc.) and in some cases different styles (formal and informal). In addition, they take into account aspects that go beyond a translation, such as the format of dates and times in each country.
To view this WordPress content in your language you should go to:
- Settings> General> Language Site
The completed translations are contained in PO and MO files (which can be edited via the free software Poedit). These files are in the folder:
- wp-content/languages
1.2. Text strings for themes and plugins
WordPress themes also brings its own texts or modifies some of the existing ones. They can also be found in both the visible part or in the WordPress dashboard. However, not all of the themes come with their static content translated into other languages.
Thus, a question that arises for many users is why, despite installing WordPress in your language, some texts continue to appear in English on its website. Normally, it is static content coming as part of the WordPress theme you are using and which has not been translated.
You may find yourself with the following cases:
- Themes that come with the installation of WordPress (Twenty Fifteen, Fourteen Twenty, Twenty Thirteen, etc.). These themes have also been translated into many other languages by the GlotPress platform. Its translations are in the folder:
- wp-content/languages/themes
- Free themes in the WordPress themes repository. You can find anything here. Normally, the most used and downloaded usually come already translated into other languages. Translations are usually done voluntarily by the users themselves using Poedit and sent to the developer to incorporate into the subject or, sometimes, it is the developers themselves who promote a collaborative translation using platforms like GlotPress, Transifex, PhraseApp, Poeditor, etc. Translations are located in the folder:
- wp-content/themes/theme-name/languages
- Premium Themes. You can find everything here as well. You can find themes that are already translated into many other languages (Genesis Framework, ElegantThemes, AitThemes, the most famous themes of ThemeForest like Avada, etc), but there are many premium themes that do not come with translations and therefore have to be done by the user. They also often use collaborative translation platforms for conducting translations.
What is really important is that the theme you are using is “Translation ready”, i.e. that it is ready to be translated into other languages by PO and MO files. To do this, the developer has to prepare the theme for this. Most themes today are often prepared for translation. Even some, like Genesis Framework, have developed a specific plugin (Genesis Translations) in order to not have to use either PO nor MO files.
Moreover, WordPress plugins also come with their own texts, most of which usually appear in the admin panel but may also appear on the website.
For example, texts such as the confirmation message when you fill out and send a form for a Contact Form 7: “Your message was sent successfully. Thanks “,” Please fill the required field “, etc.
As is the case with themes, there are plugins that already come with translations (typically the most popular, such as, for example, Contact Form 7), while others do not come with translations and must therefore be performed by the user. Translations are usually located in one of these folders:
- wp-content/languages/plugins
- wp-content/plugins/plugin-name/languages
In the features of the plugin or theme usually specifies translations that come:
Recommendation: If you want to save yourself the work, use both themes as well as plugins the come already translated into the language you will use on your site or at least that are “Translation ready”.
More information can be found on these articles:
- A Guide to Choosing a Multilingual WordPress Theme
- How to translate a WordPress theme (or plugin): Poedit
- What does «translation ready theme» mean in WordPress?
- How to create multilingual contact forms for WordPress
2. I need a WordPress website in one language
2.1. Only in English
I will start by explaining how to have a website in English only. I know this is obvious, but this will allow me to add more complexity and make the process of localization and translation into other languages more understandable.
If you want to make a WordPress website in English only, you have it very easy, since WordPress default language is English. You just need to follow the usual steps common across the web in making a site with WordPress:
- Install the latest version of WordPress
- Install your theme and the plugins you need, which are already in English.
- Begin to create content in English through posts, pages, etc.
That’s all. You have a website 100% in English.
2.2. In a language other than English
If you need to have a WordPress site in a single language other than English (whether it be Spanish, German, French or Italian), then things change a bit. You must follow these steps:
- Install the latest version of WordPress in your language. For example, the Spanish version can be downloaded from the official website of WordPress in Spain, although the language can always be changed retrospectively from the WordPress admin panel in Settings> General> Language Site.
- Install your theme and the plugins you need. Two things can happen: that your theme (and plugins) are already translated to your language or they are not. If they are not, you will have to translate them using PO and MO files. For this you can use an external program like Poedit or a plugin like Loco Translate.
- Begin to create content in your language through posts, pages, etc.
This way, you will have a website 100% in your language.
More info:
3. I need a WordPress website in several languages
If in order to translate the static content it is not mandatory to use a plugin (it is possible to do this with Poedit), in order to translate dynamic content (posts, pages, etc.), the most common thing is to install a specific plugin.
I would say in summary that there are four methods for making a multilingual website with WordPress:
- A individual installation of WordPress along with a translation plugin
- A WordPress Multisite installation together with a network plugin connecting the various versions
- Several individual installations of WordPress with a plugin that connects the different versions
- The JavaScript-based method, which also typically involves installing a plugin that connects to an external translation platform
Before applying any of these methods, it is always advisable to use themes and plugins that are already translated into other languages.
3.1. Individual WordPress
The first method is the most popular to date and also the fastest and easiest to implement. It consists of using a single installation of WordPress and installing a translation plugin, whereby you can translate and synchronize all content.
In any case, all content will be located on a single server, although you can use both domains as subdomains or subdirectories.
It consists of installing a translation plugin in a single individual installation of WordPress. According to the translation method that you prefer to use, you have 3 possibilities:
First. Automatic translation. Personally I prefer that the user is the one that chooses an automatic translation from their browser, but it may also be possible to insert an automatic translation language selector into WordPress via a widget. Several plugins allow this:
- Translate WordPress with GTranslate
- Google Language Translator
- Bing Website Translator by Prisna.net
- Easy Translator
- Goo Translate Widget
- Translate This Blog Translator
- Bing Translator
Second. Semiautomatic translation. Some plugins allow automatic translation but with the ability to edit the translations to make them more human:
- GTranslate – Website Translator (Premium)
- Ajax Revolution Translator (Premium)
- Transposh WordPress Translation
- GTS Translation Plugin
Third. Manual translation. If you are serious about your multilingual website, you need a plugin for translations done by people. The most popular plugins are:
- WPML (Premium)
- AitThemes (Premium themes that come with a specific translation plugin)
- Polylang
- qTranslateX
- Ceceppa Multilingua
- Xili-language
- Bogo
- Sublanguage
- Multilanguage by BestWebSoft
- WPGlobus
While some plugins (like WPML or Polylang) create a separate post for each language and then link them, others (like qTranslateX) store all the translations in the same post.
If you have chosen a manual translation plugin, you can carry out the translation on your own or use professional translation services. Various plugins allow you to use these professional services. Some are integrated into other translation plugins while others act independently:
- Professional translation services integrated into plugins. Some plugins incorporate professional translation services:
- WPML. Through the WPML Translation Management extension, it allows you to connect with various professional translation services: Cloudwords, ICanLocalize, TranslateMedia, Translations.com and OneHourTranslation. It also allows you to export XLIFF files to send the contents to professional translators.
- GTranslate. The premium version of this plugin offers automatic translation post-editing service by a native speaker and also professional translation service. You can get a quick website translation quote and the translation project will be managed by GTranslate.
- Polylang. Through the Lingotek Translation plugin, it allows you to perform translations via the translation agency Lingotek.
- Transposh. This plugin includes translation services company OnehourTranslation.
- qTranslateX. Currently it does not offer professional translation services but its developers are considering the possibility of incorporating them.
- Professional translation services not integrated into plugins. There are also plugins developed by large translation agencies for connecting with their translation services regardless of the plugin you use. The problem is that they do not always have the quality you expect and sometimes end up slowing the administration panel. I think it is better to send the content directly to the agency before using their plugin. Some examples:
Individual WordPress: Advantages/Disadvantages
Advantages: This is the quickest and easiest way to set up a multilingual website with WordPress.
Disadvantages: If the plugin crashes, all language versions will stop working. This is important because not all plugins are quickly updated to the latest versions of WordPress. Also, some plugins create additional tables in the database that can affect performance.
Which solution should I choose?
- If you just want a machine translation, it is not necessary to install any plugin. You can let it be the user who decides to make the translation from your browser (Chrome, Mozilla, Safari, etc.).
- If you want to make a professional multilingual website or e-commerce site, it is best to choose a premium solution with technical support (WPML or AitThemes). If you do not have the budget and are looking for something free, there are several plugins that have good ratings from users. Personally the one I like is Polylang.
- Installing a multilingual plugin in a single WordPress installation is a major change in your website and database, so it is always advisable to first create a test site and verify that the plugin you have chosen works well with your theme and other plugins. You can even try paid solutions such as WPML, which offer a trial period of 30 days (Refunds policy) or individual multilingual themes from AitThemes, which also offer a trial period of 30 days (please note that you must pay first and if you are not satisfied, you can get your money back).
- If you need professional translation services, I am not in favor of installing additional plugins, as they may end up causing trouble with other WordPress plugins or slowing down your website. You can send HTML content to other translation agencies by simpler methods (e.g. read this article: How to Translate a WordPress Post with TextMaster)
More info about translation plugins:
3.2. WordPress Multisite
This is a newer method, available starting with WordPress version 3.0, which was released in June 2010. It is possible to use a WordPress Multisite installation, i.e. a network of sites that share the same WordPress installation. Each of these sites can serve a different language.
To connect each of the sites on the network, you will need to install a plugin network connecting the different language versions.
All contents are on a single server. They can use subdomains and subdirectories. Likewise, it is also possible to use domains with the WordPress MU Domain Mapping plugin.
This method involves making a new installation of WordPress Multisite (or converting your individual installation in Multisite), creating as many websites as you need languages.
To connect the different languages you should install a network plugin. The three existing at present, through which you can make manual translations, are:
If the contents in each language are different, you may not need to connect the different versions or install a plugin network at all. In this case, it may be sufficient to design a landing page or a language selector to redirect the user to the home page of each version.
WordPress Multisite: advantages and disadvantages
Advantages: It allows you to separate content more clearly and offers better performance. If the plugin stops working or is disabled, all sites will continue to operate separately.
Disadvantages: It is not as simple and quick to set up as the previous method. It requires you learn how to use WordPress Multisite.
Which solution should I choose?
- The best existing translation plugin for WordPress Multisite today is certainly MultilingualPress. The plugin is free, but if for any reason you need support, you can pay an annual subscription that costs $99.
- Multisite Language Switcher is also an excellent choice but simpler and less functional.
- None of these plugins networks currently connect with professional translation services, although MultilingualPress is finishing up incorporating these services.
More info about how to make your website multilingual with WordPress Multisite:
3.3. Several individual WordPress installations
Another possibility, though more difficult to manage, is to use multiple individual WordPress installations along with a plugin that connects the different versions.
Unlike the previous two methods, where all versions are on the same server, this method can have each version on a different server.
The method consists of having several individual installations of WordPress, in as many languages as you need.
To connect content between languages, you can use a plugin that allows you to insert Hreflang tags:
- Language Selector Related
- Add Meta Tags
- Hreflang Manager (plugin premium)
As you begin creating new content, you must perform translations and manually connect each of the posts, pages, categories, tags, etc., using any of the plugins that I mentioned.
If the content of each version is different and does not need to be synchronized, then you will not need any of these plugins. It would be sufficient to include a language selector to lead to the homepage for each language.
Several individual installations: advantages and disadvantages
Advantages: It allows a complete separation of content and the use of different servers for each version (though with the above methods you can use a CDN service).
Disadvantages: The implementation is much more laborious. You have to keep multiple WordPress installations (perhaps on multiple servers) and have to go about connecting the posts and pages one at a time (with the above methods, the plugins are responsible for automatically connecting all translations as you go along).
Which solution should you choose?
This is probably the least desirable method of all, unless you want to host each version on a different server. The plugin for connecting the different versions using hreflang tags has very limited functionality:
- Language Selector Related is perhaps the best option. It is specifically designed to insert hreflang tags to connect the different pages, however, it has been two years since it was updated and it does not insert language and region codes properly (using the en_US format instead of the en_US format), although it is possible to correct it in the programming code. It allows you to include a very basic language switch but with knowledge of CSS it is possible to do it in a more appropriate format.
- Add Meta Tags is not specifically designed to insert hreflang tags but it does allow you to do so.
- Finally, Hreflang Manager is a very basic but not very intuitive plugin. It does not allow the inclusion of a language selector.
More info on inserting hreflang tags:
3.4. Methods based on Javascript and alternatives
This is the latest method, external to WordPress, although specific plugins have been developed that facilitate the implementation of this method.
If with the above three methods the translated content is on your server, using the JavaScript-based method, the translations come from an external server.
This method involves inserting a line of JavaScript code on your WordPress web site (in the same way that Google Analytics code is inserted) and the content is automatically detected, extracted and stored in a platform for localization and translation of some of the companies that offer this service.
Once stored on the platform, it is possible to translate the content on the same platform or even live on the website. The translations can be done by the user or you can hire the translation services of these platforms (collaborative translation and professional translation).
After doing the translations, they can be published and served from the translation platform according to the visitor’s language. If you create new content, it is detected automatically by the platform for translation.
There are different companies that offer this system: Transifex, Wovn.io, Localizejs, Bablic, etc. Also, to easily implement this method, numerous plugins have emerged that facilitate this integration:
JavaScript-based method: Advantages and disadvantages
Advantages: This is an easy solution to implement and can use a single domain since all versions are offered. Some platforms allow the translation live on the website. It allows outsource translation from the platform.
Disadvantages: This is still an expensive method based on monthly plans according to the number of words served. You depend on an external server. Some search engines do not run Javascript and it can be difficult to index the translated content.
What solution should you choose?
Of these, perhaps the most advanced system is the Transifex Live, since it allows for live translation. Localizejs is also a very good choice.
Alternative methods not based on Javascript
There are alternative methods not based on Javascript and where translations also come from an external server:
- Easyling plugin for WordPress. Offered by the company Easyling, it’s a proxy-based website translation solution. It crawls your website and you can do the translation yourself using their live editing/preview/review editor, or export as an XLIFF file and do the translation in your favourite CAT tool. Prices based on the number of words.
- Weglot Translate. It’s a plugin that detects all content in your website and provides a dashboard in Weglot website to edit translations or purchase professional translations. Translated pages have their dedicated URLs. Prices based on the number of words and websites.
4. Conclusions
As you have seen, there are many possibilities when making a multilingual website with WordPress, but to meet the needs of everyone, you will have to respond to a series of questions.
Do you really need a translation plugin? If the contents of the various versions are completely different in each language (for example, an e-commerce store that sells different products in each market), then you probably do not need a plugin. You can make a landing page where you can choose the language or simply insert a widget in a language selector that takes the user to a different home page for each language.
Do you need the plugin only for a specific purpose?
- If you only need to translate your theme, then you can do it with Poedit (also with the Loco Translate plugin).
- If you need only translate the WordPress admin panel, there are different plugins for this purpose in the WordPress repository.
- If you only need to insert a language selector that leads to the home page of each version, you do not have to install any plugin (although there are some plugins for this purpose as Simple Language Switcher).
- If you only need to perform automatic translation, then you have many plugin option to that end, although I would not advise them. Rather, I would let the user perform the automatic translation from their browser.
- If you only need to insert the Hreflang tags, there are specific plugins for this purpose.
- If you only need translation services from an agency, there are plugins that allow you to connect to their services
Do you need a plugin in order to have a complete multilingual solution?
There are plugins that offers several features simultaneously, such as syncing content between different languages, inserting a switch between languages, performing the translation while displaying the original at the same time, redirecting the user automatically to their language, inserting Hreflang tags, connecting with translation agencies, exporting XLIFF files to be sent to professional translators, etc.
In this case, the best available solutions today, in my opinion, are:
- Individual WordPress: WPML, AitThemes and Polylang
- WordPress Multisite: MultilingualPress and Multisite Language Switcher
- JavaScript methods: Transifex Live and Localize.js
- Translation Proxy: GTranslate
What method should you choose?
This will depend on the needs of each and every project. You will have to analyze the advantages and disadvantages. I hope this article will have helped you make the right decision.
If this article has proved useful to you, you can help me by sharing it on your social networks in order to reach more people interested in this fascinating subject.
Recommended links:
Corbax SEO y Diseño Web says
An excellent post, very complete and very well explained all options. I keep it as a reference for future work. Greetings: Huberto
Irena Domingo says
Thank you very much Huberto
Thorsten Frommen says
Now that’s a full-fledged post on multilingual WordPress. 🙂 Thanks for this.
Augustin says
Thanks a lot Irina for mentioning us (Weglot).
Just to clarifiy we are a source code (php) solution for WordPress and not a Javascript one :). So we are crawled and indexed by Google.
Plus, we do not have a served-word pricing offer but licence per site (less expensive and more usual for WordPres users).
Thanks again!
Irena Domingo says
Thanks for the clarification Augustin
Mark says
Great post. Could a woocommerce store be run using the multi-site method? Would all sites be able to share the stock levels, pricing etc?
Irena Domingo says
Thanks Mark. WooCommerce by default does not allow this, although there are some payment solutions that allow so (search “Woocommerce Multisite” in Google). I have not tried it so I can not say much about it.
Bernhard says
This is really a great overview on the different options you have going multilingual. And it’s not promotion a specific solutions. I will totally use this as a reference when asked on this topic again.
Irena Domingo says
Thank you very much Bernhard
Katie Keith says
Fantastic article, thanks very much! This is the most comprehensive overview of the current ways of translating a WordPress website that I have ever seen. Personally I find multilingual plugins like WPML much harder to set up than multisite with a bigger learning curve. With multisite, once it’s set up then anyone who is familiar with WordPress can add the translations with no further learning curve. I also like the fact that multisite doesn’t slow down your site like some multilanguage plugins.
George Notaras says
Hello Irena,
This article is high quality material. Thank you for mentioning the Add-Meta-Tags plugin in it!
Being the developer of this plugin, I’d like to add a few more notes about the concept behind its multilingual features, which I’m sure your readers are going to find interesting.
In short, the plugin lets the user set a site wide locale in its settings and also customize this locale on a per post basis. Moreover, an ‘hreflang’ link is generated for each post according to the site wide or post specific locale that has been set.
The main use case scenario for this functionality was the existence of different content written in various languages within the same blog (either a single site installation or a single site of a multisite installation). For instance, a post about topic A written in English, another one about topic B written in Russian, etc. In such a case the plugin generates a single ‘hreflang’ link in order to simply let search engines know about the language the content is written in.
However, apart from the above use case, the fact that the user may enter additional ‘herflang’ links for each post makes it possible to maintain the same content in several different translations within the same web site or in different ones exactly as it would happen if a dedicated multilingual plugin had been used. But, although this works well from a technical point of view, for most users quickly moving from one translation to the other and making changes is going to be a little cumbersome. This is because the plugin is missing a special widget, which would identify the available translations based on the hreflang links as set by the user and provide quick links to each one of the relevant posts. This is something I’ve been considering for future implementation, but, even if this is implemented, I will still recommend using a dedicated multilingual plugin to most users, as it would provide the complete feature set and the necessary user-friendliness most editors need. Add-Meta-Tags can do this job well too, but requires some planning outside WordPress, so maintaining translations using AMT is going to be a little difficult for some users.
I just thought that this clarification would be useful for your readers.
Again thank you for mentioning my plugin and keep up the great work you are doing!
George
PS: Had some problems with the comment submission. Hope it has not been sent multiple times!
Irena Domingo says
Thank you very much for your comment George. Your plugin is really good especially to optimize your website with meta tags, but probably not for a full multilingual solution. However, it can be very useful if you have a few articles in other languages in your website and you don’t need to use a full multilingual solution (simply add hreflang tags and ready).
Thank you so much for your words.
Irena
George Notaras says
Irena, thank you for your reply and for the kind words. Much appreciated!
George
Ben Pines says
Great post. I work for a company that sells RTL and multilingual themes. I think the multisite solution doesn’t really require a plugin because rarely to visitors reach a page in a wrong language.
I came across a video that deals with why multisite is a problematic solution: http://wordpress.tv/2013/08/01/mika-epstein-dont-use-wordpress-multisite/
What do you think about this?
Irena Domingo says
Hi Ben, thanks. Well, obviously WP Multisite is not the solution for everything, but I think a multilanguage website is a very good reason for using WP Multisite. You can independently manage each language, promote contents…I think that if contents are similar on each language then is important using a plugin to add Hreflangs automatically (very important for multilingual SEO), redirecting users automatically to their language, insert a language switcher…If contents are different then you do not need a plugin.
Alex says
Hey Ben,
first of all, the video is from 2013, since then, many things in setting up multisite changed and it is much easier now. Also she says right in the beginning, that she adores multisite. But she talks about some specific cases, where user uses multisite, where you really don’t need multisite since the function is already in WordPress or there is a simple plugin available, where it would be ridicolous to use a multisite. So she is right in those cases she is pointing to.
But in case of multilingual with multisite, which she doesn’t mention, there are several important advantages to use a solution based on multisite.
For example, you can delete or deactivate the plugin and your content is still there, so your are not depending on a single plugin. Better SEO, since you can edit or enter everything for the certain language. Better performance, because it is just requesting the content of one language. Possibility to have on page completely different in look and feel comparing to another language, and so on…. as Irena already mentioned some of them
So I hope this explains quite a bit.
@Irena, very good and comprehensive right up!
Nitish Nayak says
Excellent post Irena!
You have explained it so well that even a new user can also understand the importance and use of language translation in Word Press. Your hard work on importance and use of multilingual website is clearly visible.
Recently I got to know about MOX Gateway, website language translation software. I was planning to get the same for my website, but first wanted an expert advice on the same. I would be really helpful, if you could guide me and help me find the right website localization solution for my eCommerce website. Please check the software and give your opinion. http://process9.com/products-mox-gateway.html
david says
Thank you for this great post ( although I ended with more questions than answers lol)
I have a website of private tours in my city and I want to create another version for German language but since the website is simple ( just some menus and 6 pages) would it be needed for a sophisticated plug in like WPML?
What I wanted was a simple solution since Its a small site and I can translate everything in 2 days by myself.