This tutorial looks at how to create a multilingual WordPress site and why it’s such a good idea. WordPress lets you select the language of choice with a new WP install, but only one.
Multilingual WordPress Options
Using human translator services and sub-domains is one option, but it’s hardly practical—or affordable. A much simpler, cheaper option is to use plugins. WP plugins can auto-translate your blog, website, or online store content into multiple languages. Any hosting provider will do as these plugins are fast-loading and light on resources.
Why Create a Multilingual WP Blog or Website?
Consider a multilingual WordPress website if you get lots of non-native English visitors. There are plenty of topical websites that do. A site that translates its content into different languages is more appealing to non-English audiences. That results in longer site visits and lower bounce rates. Extended visitor interaction benefits search engine optimisation (SEO) too.
How Multilingual Websites Work
The concept is simple in that your English WordPress site or blog offers two or more languages. You don’t need multiple websites or sub-domains, just smart computer translations.
WordPress multilingual websites work in one of two ways.
- The site auto-translates to a language according to the visitor’s region
- Users select the language of choice from a country menu or links
Today, site owners have much more translation control, thanks to multilingual plugins.
WordPress multilingual plugin features
There are some excellent WP plugins available for creating a multilingual site.
The best ones offer the following features:
- Translate WP posts and pages, including product descriptions
- Translate WP tags, categories, themes, and active plugins
- Set up SEO-friendly URLs for all languages
The plugin we use for this guide is a self-hosted translation app called TranslatePress. There are also three alternative plugins suggested at the end of this page.
TranslatePress is an excellent plugin for creating bilingual and multilingual WordPress sites. The free version allows two languages, which is ideal for many site owners. If or when you need more, there are three powerful multilingual plans to choose from. The premium versions have lots of advanced addon controls. You can upgrade to the Pro plugins at any time if you need to.
Translate Your Site Using TranslatePress (Free)
If you’re new to WordPress, first read how to download, activate, and access plugins here.
Log in to your WP Dashboard.
Install and Activate TranslatePress by Cozmoslabs
Two new menus appear in your WP Dashboard.
- Translate Site on the top menu bar (also visible on the front-end)
- TranslatePress in your Dashboard side menu, which is where we start.
Go to Settings => TranslatePress.
You’re now at the TranslatePress Settings screen where there are six tabs.
- Translate Site
- Automatic Translation
- License (Premium version)
Let’s briefly run over these tabs.
#1 TranslatePress General Tab
We set up the languages for WordPress websites and blogs from the General tab. It uses dropdown menu selections with simple explanations for each. We’ll return to this tab soon.
#2 Translate Site Tab
The handy Translate Site tab takes you to the front-end. It opens a new column on the left of the webpage where you can customise the language preferences. It works like the back-end (admin) customiser, which we look at in more detail below. Notice the eye-catching language switcher at the bottom. This useful tool lets visitors switch to their preferred language in a nanosecond.
#3 Automatic Translation Tab
You can switch auto-translation ON/OFF from the Automatic Translation tab. This feature needs an Application Programming Interface or API to work. An API is a software intermediary that authorises two applications to talk to one another. You can use the Google Translate v2 API with the free plugin version. The superior DeepL API integration is only available with the pro plugin.
Point to note: Translation costs are not expensive, but they can mount up with larger sites over time. For this reason, TranslatePress stores first translations to avoid re-translation costs.
How to auto-translate with TranslatePress
The free plugin’s main downside is that it doesn’t offer automatic translation out of the box. For that, you must sign up for a Google Translate API key, which translates over 100 languages. Google charges for its Translation API based on usage. It’s very affordable, and there’s a free trial, so it costs nothing to give it a go.
#4 Addons Tab
The Addons tab offers Advanced Addons that expand the translation plugin. They are only available with the premium Developer, Business, and Personal plans.
There are 7 Advanced and Pro addons available at the time of writing.
- SEO pack
- Multiple languages
- DeepL automatic translation
- Automatic user language detection
- Translator accounts
- Browse as user role
- Navigation based on language
You can upgrade to any premium plan whenever you need to.
#5 License Tab
The license tab is for premium accounts only. After users install and activate purchased addons, a system prompt asks for a license key to verify and activate the account.
#6 Advanced Tab
The advanced tab exists primarily as a trouble-shooter. It’s where you go if you run into issues during or after integrating the TranslatePress plugin into your WP website, blog, or e-store.
Let’s now set the sample site up for translation.
How to Set Up TranslatePress in WordPress
Return to the General Tab in the TranslatePress Settings screen.
The first setting on the General tab is the Default Language used for your site content. It should show the language selected when you first installed WordPress. If not, change it here.
Next is the All Languages setting. Select the language of choice from the Choose dropdown, then click Add. For our example, let’s choose French (France) as the site’s second language.
Reminder: Multiple language selection is only available with TranslatePress Pro.
Native language name
The next section is for the Native Language Name. This setting lets you display the language choices in native text. Leave the default at NO if you want language options shown in English.
Use a Subdirectory for the Default Language
Choose Yes in the ‘Use a subdirectory for the default language’ option to display the language code in the URL. Select NO if you don’t want the language code in the default URL.
www.mysite.com/ (not in a subdirectory)
www.mysite.com/en/ (in a subdirectory)
This setting is useful for bilingual sites, but not necessary for multilingual projects. We’ll select Yes as this tutorial uses the free—bilingual—version of the plugin.
Force language in custom links
Leave Force language in custom links set to Yes. This setting adds (forces) the language slug into custom URLs for the default language. That means it changes URLs to link to the non-default language instance of the page it points to.
Let’s use an internally linked banner to illustrate:
mysite.com/banner/ becomes mysite.com/fr/banner/ once clicked.
Thus, custom links no longer return visitors to the English default page.
The language switcher settings let you configure and position the tool anywhere on your website. The shortcode option allows you to place it on any webpage or widget area. There’s a floating menu that follows visitors as they move around the site. Or, you can simply add the switcher to a navigation menu from the WordPress Menus screen. We’ll look at these in more details soon.
Click Save Changes when you’re satisfied with your settings.
Manually Translate with TranslatePress
Manual translation isn’t ideal, but it’s not the arduous task it sounds, either. Nor do you need to be bilingual to translate from English to a second language. Here’s how it works.
Open the WP post or page you want to translate.
Click the Translate Page link on the WP menu bar.
The translation editor opens on the left side.
Now let’s translate some of the English text to illustrate.
- Click on any text in your WP post or page
- Click the translate (pencil) icon to load that text into the From English box
- Type or paste the translated text into the ‘To Language’ box (in this case, To French)
- Click the Save Translation button
The next section looks at online translation tools.
Here’s how our sample looks.
Clicking the Next button in the translator jumps down the page to the next piece of text. Continue like this until you have translated all the text.
Tip: Click the Previous button if you need to go back and edit previously translated text.
Translations Using Online Translators
The fastest way to translate text from your website is to exploit automated translation tools. Consider using these if you’re on a tight budget or only have a small site to translate.
How online translators work
All you do is copy & paste the English text into a Translate From box on the left side. You then select the language for the Translate Into box (right) and copy the text. Then, paste your translated text into the TranslatePress To (Language) box as per the instructions above.
The best known online translator tool is Google Translate. It’s free and translates over 100 languages. Google Translate has a super-simple interface and a handy copy translation button. The downside is that it’s not quite as accurate as the DeepL Translator (see next).
The DeepL Translator is a better option as it’s more accurate than Google Translate. It also has a simple interface with FROM and TO boxes and a copy-to-clipboard feature. It even offers a free downloadable desktop app for Windows that’s sure to appeal to some content creators.
The problem with the free DeepL Translator is that you’re restricted to 5000 characters (not words) per translation. You must subscribe to a paid plan to unlock unlimited text translations. Another setback is that it only translates 13 languages, but the company is working on others.
If you’re going to pay for DeepL, it makes sense also to buy TranslatePress PRO. That way, you can use DeepL AUTOMATIC translation for your WordPress website. You can also add multiple languages to globalise your WordPress project(s).
Adding the Language Switcher
The language switcher is a brilliant addition to this plugin that adds to the user experience. Gone are the hard-to-see country flags that were easy to miss. You can put the switcher wherever it works best for your site and visitors. It’s big, but it’s not obtrusive or unsightly. A single click on the Language Switcher reveals the other languages available for translating the page.
Add a floating language switcher to WordPress
Go to the Language Switcher section of the TranslatePress Settings General screen.
Put a tick (check) into the Floating language selection box if it’s not already selected.
Choose the options you want from the 3 dropdown menus or leave the blue defaults.
Click Save Changes when you’re done.;
Open your site in a new tab to test the language switcher. You may want to experiment with the display options and positions to see which version best matches your needs.
Add the language switcher to WP menus
You’re not stuck with only a floating language switcher. You can choose to put it into your WordPress navigation menus if you prefer.
Go to Appearance => Menus from the Dashboard side menu.
You’re now at the WordPress Menus screen.
- Click Language Switcher from the ‘Add menu items’ column
- Select the languages you want to show on the switcher
- Click Add to Menu
Click Save Menu, then visit the site to see the results.
Here’s how it looks on the test site’s horizontal menu. How your Language Switcher displays, depends on your menu, the settings, and the active theme in use.
Note: The menu switcher doesn’t replace the floating tool. If you want to turn that off, untick (uncheck) the Floating language selection box in the TranslatePress Settings screen.
Add the language switcher using shortcode
The shortcode [language-switcher] lets you add it anywhere to any part of your website. That includes posts, pages, and widget-friendly areas.
For this example, let’s add the shortcode to the sample site’s footer area.
Go to Appearance => Widgets from your Dashboard side menu.
Drag a WP Text widget from the Available Widgets section to the Footer.
The text widget should open in edit view upon drop. If not, click the down-arrow (right).
Type or paste the shortcode [language-switcher] into the text window.
Click Save, then visit the site to see the results.
Here’s how it looks in the footer area on the test site.
Point to note: Language switchers do not replace each other. Thus, you need to manually disable any you don’t want to display from your WordPress Dashboard.
Other Multilingual WP Plugins to Consider
The final part of this guide highlights three other premium multilingual WP plugins to consider.
WPML Plugin | from $29/Month
WPML stands for WordPress Multilingual Plugin, and it supports 60+ languages. It’s been around since 2007 and continues to be one of the best-loved premium options. Users don’t need any skills or prior experience to build and maintain multilingual sites with WPML. It has the features to support large corporate sites but also caters to small-scale blogs.
WPML standout features include:
- Translates WP posts, pages, menus, custom types, and theme texts
- Compatible with all themes and plugins that use WordPress APIs
- Full support and guidance for users of WPML
You can view WPML pricing plans and the full lists of features here.
Polylang Multilingual Plugin | Free
The Polylang plugin has a free version. It’s light, efficient, easy to use, and boasts 90+ predefined languages. The free app is a great choice for those on a tight budget. This plugin uses very little memory, yet translates text seamlessly to create multilingual websites.
Downsides to Polylang Free
Polylang Free is not without a few cons. It offers no user support for one. Also, it doesn’t work with premium themes and plugins. Nor is it the best choice for e-commerce translations.
- Polylang standout features include:
- Translates WP posts, pages, menus, custom types, and widgets
- Customisable language switcher
- Fully compatible with all major SEO plugins
You can view Polylang Pro pricing plans and full lists of features here.
Weglot WordPress Translation Plugin
Weglot premium is another popular, user-friendly multilingual website plugin for WordPress. It can translate more than 100 languages. The plugin uses DeepL, Yandex, Google, and Microsoft for its auto-translations. It’s a cloud-based translation platform that boasts simple integration, easy editing, and SEO-optimised performance.
Polylang standout features include:
- Support for all automated and manual translations
- Customisable language switcher
- Zero impact on site performance
You can view Weglot Pro pricing plans and full lists of features here.
That concludes this guide on creating WordPress multilingual websites. Whatever plugin you opt for, make sure you experiment with the free version—or free trial—before committing further.