If the internet is a global village, WordPress is undoubtedly the town square: a bustling place where people of various backgrounds and cultures meet to share knowledge and experience from all ends of life.
Unfortunately, the humankind has not yet managed to develop a language where everyone can understand each other.
So it has happened that the WordPress platform, as vast and as flexible as it may be, is lacking one very important commodity- the ability to express ideas in many different languages.
Although several developers have come out of their way to build translation and localization plugins that help bridge these cultural gaps, the WordPress community still has a lot to improve on that front.
In this article we will be discussing the different methods in which you can localize a WordPress website, create translated multilingual sites, and the things you should keep in mind before you start.
WordPress Localization for a Single Non-English Language
The WordPress Interface can easily be translated with a click into many different languages, simply be choosing your preferred language from settings > general, as shown in the image below.
Doing this will automatically translate the backend interface, as well as some commonly used strings which are derived from default functions of WordPress.
So after you’ve switched to your native language, you will need to translate your theme. To do so, you should have the proper language files installed in the languages directory, which you can locate by following this path: wp-content > themes > theme name > languages.
Plugins With Label Support
Some WordPress plugins come with labels options, allowing you to easily change text one-to-one. This is usually done from the Back-end.
An example from the Registration Plugin:
When that is the case, it’s easy: you simply adjust the text from the settings and the users will see the result in the Front-end.
Many CreativeMinds WordPress plugins have label support. Learn more: Translating Text Users See to Another Language (Labels).
If your language is written right to left (RTL), we highly recommend you to choose a theme that supports it, such as the popular Avada theme or the Divi theme. There may be further adjustments required, such as adding a global CSS code that tells the site to reverse the position of menus, widgets, and other default functions. To do that, add the following lines to your style.css file:
Again, some themes have ready-made language files which automatically update when you define the language in the language directory. Other themes, like most of the plugins available on WordPress.org, need to be translated manually- and this is where the hard bit comes in.
Translating WordPress Plugins Manually
Plugins come with their own set of strings which need to be translated in order to appear on the page in your preferred language. Up until very recently, the best plugin to do this was codesyling localization. As old and as quirky as it was, it got the job done pretty well. We were actually planning to include it in this post as our number one choice, but were surprised to see that it is no longer available on the wordpress.org plugins repository. While searching for alternatives, we found a number of plugins that may be able to replace codestyling:
Loco translate is a software that is primarily for developers to create translated versions of themes, plugins and mobile apps into different languages. Their WordPress plugin however promises an easy use for common webmasters and translators. Here’s how strings are translated with Loco:
This plugin will let you manage your POEditor translations directly from WordPress via the POEditor API.
It will fetch all your projects from POEditor.com, based on your API KEY, and it will scan your /wp-content/ folder for gettext language files (.po and .pot). After this, you can assign files from your wordpress themes or plugins to your POEditor language files and you can import, export or sync your files with the POEditor translations. That makes things easier for developers who have a number of sites that require translation.
Say what is by far the easiest to use of all options, and should be fairly suitable for bloggers or webmasters without programming background. It scans for strings generated by your theme and plugins, and lets you replace them with new strings. However, it is not marketed as a translation plugin, so you can expect it might not provide for all your translation requirements.
How we Handle String Translations at CM Plugins
All of our plugins come with customizable tags fields that allow you to change the way data is presented on the front end. What this means is that our plugins come translation ready, and do not require any po/mo file adjustments.
A multilingual site works totally different then a localized one. Firstly, since all themes and plugins are primarily available in English, it is highly recommended to start your site only with its English version. Create all of your pages, posts, categories, tags and images; Make sure everything is in the right place and only then, install and activate a multilingual plugin. The reason behind this is that multilingual plugins have a huge impact on your wordpress interface, and can often be confusing to work with.
Here are some WordPress translation plugins you can use to establish multilingual sites:
WPML is the most popular multilingual plugin, because it provides a complete package. Not only does it let you translate pages, posts, taxonomies and menus, it also works as a localization plugin by translating strings derived from your plugins and theme. In addition, WPML follows Google Webmasters’ specifications for multilingual sites, helping your site rank high on local search results.
It is also compatible with WooCommerce, but like all multilingual plugins, it doesn’t work as smooth as you’d want it to. It does however add multiple currencies to your store, which is a huge plus.
The downside of WPML is that it integrates both automatic and professional translation services built-in, which adds to the already overwhelming complexity of this plugin.
Polylang is a free plugin which is far less complex then WPML, but generally does the same thing. You write posts, pages and create categories and post tags as usual, and then define the language for each of them. The translation of a post, whether it is in the default language or not, is optional, and you can set the language switcher to hide mode if a translation for the post currently displayed is not available. The translation is done by the site editor as Polylang does not integrate any automatic or professional translation services.
Based on our experience, although not stated officially, polylang seems to work fine with WooCommerce, but it does not add the multiple currencies like WPML does.
This plugin works entirely different, as it lets you connect an unlimited amount of sites with each other. You can set a main language for each site, create relationships between them, and then start writing. A new field will be added to create a linked post on all the connected sites automatically. Linked posts are accessible via the post/page editor screen, allowing you to switch back and forth and translate them.
The quality and completeness of automated or pre-written WordPress translations depends on how much has been contributed to the codex by users who share your native language. The more users contribute their translations to the codex, the easier future translation and localization processes become for the WordPress community. If translation in your language is missing or lacking in quality, go ahead and join the Polyglots team of WordPress translation volunteers and contribute to the translation process. Local businesses of all fields will thank you for it, and WordPress will become a better place for everyone.
Check CreativeMinds WordPress plugins collection. All optimized to work without loading your WordPress site.