Along with WPML, we also maintain several related projects, which allow other kinds of sites to run multilingual.

Migrate from Polylang to WPML »

The “Migrate Polylang to WPML” plugin makes it easy to move sites form Polylang plugin to WPML. It migrates the language information for posts, pages, custom post types and taxonomies.

Continue reading

Toolset »


Toolset is a set of plugins for web developers who are not PHP coders but aim at developing more demanding WordPress projects.

Using Toolset you add custom post types and fields to your site and build everything around these:

  • post relationships
  • custom templates and lists of content
  • custom archives
  • front-end forms
  • searches

…and much more.

Continue reading

MailChimp for WordPress Multilingual »

MailChimp is a popular online service that allows you to distribute automated email campaigns. The integration between MailChimp for WordPress plugin and WPML allows you to translate sign-up forms and related messages.

Continue reading

Translate sites built with ACF »


This tutorial explains how to translate sites that are built with the Advanced Custom Fields (ACF) plugin and WPML. All you need to do is configure WPML to translate the related custom fields groups. Then, you will be able to translate ACF’s fields, including the repeater fields.

Continue reading

WooCommerce Multilingual - Run E-Commerce Sites in Several Languages »

WooCommerce Multilingual makes it easy to run multilingual e-commerce sites with WooCommerce and WPML. The plugin streamlines the translation process, so that you only need to translate the texts. Translations for products, categories and variations are created automatically for you.

Continue reading

Gravity Forms Multilingual »

WPML lets you create one set of forms with Gravity Forms, in the original language. Then, you only need to translate the texts that appear in these forms to other languages in your site. WPML will automatically display the form in the correct language. Since the same form is used for all languages, any changes you apply to it will instantly be visible in all languages.

Continue reading

BuddyPress Multilingual »

Use BuddyPress plugin with WPML to make your social network multilingual.

BuddyPress is a powerful WordPress plugin that let’s you transform or add to your web site, a social network, transforming WordPress users into network members, creating groups, having activity stream and much more. BuddyPress Multilingual 1.5 allows BuddyPress sites to run multilingual using the WPML plugin. In this short tutorial I’ll show you what is expected when using a BuddyPress Multilingual powered site.

Continue reading

WPML All Import plugin - website Import with WPML »

WP All Import plugin allows you to bulk import posts, pages, WooCommerce products, and other custom post types from CSV or XML files. Now, thanks to the additional extension “WPML All Import,” it is possible to correctly import this content in language context.

Here is a short video that illustrates the process of importing multilingual content using WP All Import and WPML:

Required Plugins

To import multilingual content, you need to have the following installed:

* If you want to import WooCommerce products, you will also need WooCommerce Add-On Pro.

How to prepare CSV/XML files

To import posts into your WordPress installation, prepare CSV files. You can do this by using any spreadsheet software, such as, MS Excel or OpenOffice Calc. Prepare separate documents for posts in the original language:

English posts csv
English posts csv

And for translation(s):

Polish posts csv
Polish posts csv

When the tables are ready, use the option to export content to CSV files (in OpenOffice Calc, click menu File > Save As and choose type CSV file) and give them meaningful filenames.

Remember: Please prepare separate files with meaningful names for each language.
(Please note that this point is crucial for the successful outcome of the importing process later on.)

Importing translated content is divided into two steps (more on this below):

  1. Import content in the main language
  2. Import content in another language

During Step 2 you will have to choose from a list of already imported files (the ones that should be connected in language relation). Selecting meaningful names will make this much easier.

Second: We need a way to inform WP All Import that a row from one file is the translation of the other row from another file. To do this, add to your files a column that will inform WP All Import and WPML that the given row has a translated post coming from a row of the other file. In this column, we use “Unique Identifier” value. In WP All Import you use this field to identify every single item to import – with WPML we will use it also to identify to which group this post belongs. By looking at this ID, you can tell which post is the translation of another by finding same ID number.
You can name this column anything you like. In the example below, I call it “Connector.”

As you can see in the above screens: we have 2 CSV files English (original) english-posts.csv and Polish polish-posts.csv

The column called “Connector” groups the translations. Lines in different files (languages) that have the same “Connector” value will be considered as translations. In this way, “Hello World!” has a Polish translation of “Witaj świecie!”

Importing posts with taxonomies

Before we proceed to a description of how to import posts, let us stop for a moment to consider the case when you are importing posts with taxonomies (categories, tags, or custom taxonomies). In this case, you must create the exact same taxonomies before the import.

If after the initial import, you do another import that includes some new terms, they will not be linked to the translated terms.

If the term in the original language is not exactly the same as the term in secondary languages, you can easily fix this: simply go to the taxonomy edit screen, display the translated terms, click the link to edit it, and then choose the original term from the This is a translation of field:

WPML All Import Transaltion of
WPML All Import Transaltion of taxonomy
Terms should not have the exact same name in the original and translated languages, otherwise, the import of the translated terms will not function properly. If terms have the same name in multiple languages, it is recommended that you change the name of the terms in the translated terms before import. After successful import, you could change the name of the translated term to be the same as the original term.

However, if you want to import posts with terms that already exist and are already connected in a language relation, WP All Import will recognize it and set everything correctly IF the taxonomies and translations are already created/prepared in the new site.

How to import posts

Importing posts (or other post types) does not differ much from importing them when WPML is not activated: you do this according to instructions provided by WP All Import documentation authors.

You need to pay attention to a few minor things:
You need to import the first posts in the original language
Prepare your CSV/XML file with posts in the original language, as described above. Then start importing following the usual importing process.
On the main screen, you will see a WPML Add-On metabox. Make sure that the correct language is set:

WPML All Import choose language
WPML All Import choose language

Now follow the usual process.

Import posts in the second language
Now start the next import, but choose the file with the posts in the second language. Proceed as usual as you do when creating new items, but in the WPML Add-On metabox, you will have to set the correct language again. In addition, expand the section “Automatic Record Matching to Translate” and perform the following steps:

  1. Select the file that you used to import the original posts. (When you perform multiple imports, the list of files to select will, of course be longer.)
  2. Drag the field that you are using as the “connector” (see above) to the “Unique Identifier” field. This field “Unique Identifier” must be exactly the same to “Unique identifier” of the 1st (default) import.
    That is it. Now proceed as usual, and this import will finish with posts in the second language that will be connected to the originals.

WPML All Import Match to Translate

How to import WooCommerce products

Importing WooCommerce simple products does not differ much from importing regular posts, as described above.

However, if you need to import WooCommerce variation products, you may need to consider some additional steps. Luckily, the team behind the WP All import plugin has prepared a very nice tutorial where they explain step by step how to achieve this. Don’t forget to add the “connector” column, as explained above!

Now that you have imported your original variable products, you need to import their translations. Besides the extra considerations for importing variable products discussed in the tutorial linked above, there is no difference when importing other post translations: prepare your CSV/XML files, add the right language on the WPML Add-On metabox and assign a Unique Identifier (connector). And it is ready to go!

Importing posts from an old WordPress installation

WPML and WP All Import do not have an option to export posts from a WordPress installation; this is out of scope for these plugins. If you want to save a backup of your posts, you need to think about other options.

The first thing you may think of is the standard WordPress option to export content to XML files (Tools > Export). However, you will have to split those files into many (one for each language) and add an XML element with a Translation Group ID. Editing XML files is not very easy. Hence, I suggest avoiding this method of exporting content.

It will be much better to create CSV files: it is easier to split them by language and to add a column with a Translation Group ID. You can use one of these plugins as a start: WP CSV Exporter or WP CSV. Then you should divide the exported files into many (one file per each language) and add a column with information about the Translation Group ID.

You can do this manually. However, if you are a programmer, you can parse those files in PHP and for every row check the translation of the given post. You can do this with the filter wpml_object_id.

Do you want to import a custom database design into WordPress?

Migrating from a custom database with different tables into WordPress can be a challenging task. Fortunately, you can accomplish this using Toolset plugins and WP All Import. Check Toolset’s guide on importing a database into WordPress. The video below illustrates the migration process in details:

WooCommerce Gateways Country Limiter »

This WooCommerce extension lets you choose which payment gateways to display for different countries, as determined by the customer’s billing address.

Some payment options (gateways) are only available to clients in specific countries. The Internet has turned the world into one global village, but still, many payment options are limited by country. These limitations are due to tax reasons, billing infrastructure, currencies, and what have you. No matter what the reason is, WCGCL will let you choose which payment gateways to offer for clients in different countries.

Continue reading

qTranslate Importer »


We’ve continued to develop and update this plugin since November 4th, 2016.
It’s working fine for qTranslate X and the newest versions of WPML plugins.

qTranslate is another plugin for multilingual WordPress. It works much differently from WPML. Instead of having different languages in different posts, qTranslate places all languages in the same post.

This importer tool splits the content of different languages to different posts, allowing your site to run with WPML.

Continue reading

Multilingual Tools Plugin »

Multilingual Tools Plugin

Why do I need the Multilingual Tools plugin?

The Multilingual Tools plugin can help theme and plugin developers to test their products’ multilingual capabilities. It will automatically add language code or custom notices to translated content, allowing the developer to review what is working correctly and what requires modification to be translated.

Continue reading

Easy Digital Downloads Multilingual »



In this tutorial, we show you how to create a fully multilingual eCommerce site that sells digital products using Easy Digital Downloads and WPML. This makes products and stores translatable, i.e., it lets your visitors quickly and easily switch between languages and order products in their own language.

Continue reading