Creating a Multi-Language Website

It’s good to know that having a multi-language website involves a bit of effort, but there are also great perks that pay off. For example, you can increase your search traffic up to 47% by making your website available in more than one language. Not bad, right?

If your website can be a good source of information for users that don’t know the main language, it’s a loss not to make it accessible for them too. If you invest a lot of time and energy to write valuable content, then you should also try to make it available as it can be. In the end, you want to share.

You should know that changing the website language from the Dashboard area is not enough. Your website’s structure is formed of different parts of posts, pages, menus or widgets. The content of those sections can be added directly to your language. However, there are strings attached, both from the theme and plugins, that you need to translate.

Let’s take the following scenario: you have a blog, and at the end of each article you can have a Read more call to action. Those specific words should be translated into your native language in order to facilitate access.

The .PO file includes the original texts and the translations in two columns. The .MO file incorporates the exact same contents as PO file. Keep in mind that the two files differ in their format. While a PO file is easy for humans to read, MO files are compiled and very easy for computers to read. Nonetheless, WordPress gets translations from the .MO files.

Here are the steps you have to take in order to translate your website:

  1. Install and activate the core WPML plugins;
  2. Configure WPML (see the Getting Started Guide) by selecting your default language, a set of active languages, and a language selector.
  3. Translate all the elements of your website:
    1. Content of your pages, posts and other custom elements (eg. projects);
    2. Menus;
    3. Widgets;
    4. Each language needs its own pair of files. In order to do this, please follow these steps for each language you want to have your website translated to:
      1. Go to this link;
      2. Select the theme that you are using;
      3. Click on the language you would like to translate your website;
      4. You can suggest a new translation for any of the English original strings, seen on the left. Just click on Details button from the end of the line and add your suggestion;
      5. Once you finished your translation, go to the bottom of the page and select to Export all current as Portable Object Message Catalog (.po);
      6. You need to export one more file, the Machine Object Message (.mo), the same way you did on step 6;
      7. Go to this link;
      8. Find the WP Locale for the language you want to translate your website into.
      9. Rename both PO and MO files this way: themename-locale.po and For example, if the theme is called Julia and you want to translate it in French, your files will be called julia-fr_FR.po and;
      10. Upload the translation files, through FTP:
        1. The theme translation files need to be added to wp-content/languages/themes folder;
        2. The plugins translation files need be added to wp-content/languages/plugins folder.
        3. The plugins for creating the PO/MO files. You can find some more details here.
    5. Anything that doesn’t fall inside posts, pages or taxonomy goes into String Translation. This includes the site’s tagline, general texts in Admin screens, widget titles and many other texts. You can find some further info about this right here.


    Are your themes compatible with WPML?

    Yes — here is the official list of WPML certified themes.

Updated on September 27, 2019

Was this article helpful?