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.
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:
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:
- 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:
- 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:
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.
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
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)
- Ceceppa Multilingua
- Multilanguage by BestWebSoft
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:
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:
This is the latest method, external to WordPress, although specific plugins have been developed that facilitate the implementation of this method.
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:
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.
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.
- 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.
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
- 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.