In this page:


Required Plugins And Setup

To use WooCommerce Multilingual, you need to have the following plugins installed and activated:

  • WPML 3.4 or above
  • WPML String Translation 2.0 or above
  • WPML Translation Management 2.2 or above
  • WPML Media Translation 2.1 or above
  • WooCommerce 2.1 or later

You can get all WPML components from your wpml.org account, under Downloads. WooCommerce Multilingual and WooCommerce are hosted in the WordPress plugins repository. Got all plugins? Let’s start!

Using the Installer for easy plugin download and updating

WooCommerce Multilingual has a built-in Installer for downloading, activating and updating all of the required plugins.

After you activate WooCommerce Multilingual, go to the Plugins page and click the Add new button on top. You will be presented with a list of plugins categorized under different tabs including Featured, Popular, Recommended, Favorites and Commercial.

Click the Commercial tab and you will be presented with an option to buy a WPML license or enter the registered site key if you already bought WPML. Once you have bought the plugin and registered your site via your Account page, you will be presented with a list of plugins available to download, activate and update.

Commercial Tab of the Plugins Page After Registering Your Site

Commercial Tab of the Plugins Page After Registering Your Site

Using The Setup Wizard

WooCommerce Multilingual features a Setup Wizard to help guide you through basic steps of configuring your site with WooCommerce Multilingual plugin.

Once you activate all the required plugins, the WooCommerce Multilingual Setup Wizard will start automatically.

Starting page of the WooCommerce Multilingual Setup Wizard

Starting page of the WooCommerce Multilingual Setup Wizard

As you can see from the above image, the Setup Wizard is very similar to the WooCommerce’s own configuration wizard. It will help you configure the following settings: Translating store pages, selecting translatable Product Attributes, and enabling the multi-currency mode.


Setting Up the Store Pages

You need to have the standard WooCommerce pages appearing in all languages in your site. WooCommerce Multilingual will do this automatically for you. This is also handled in the Setup Wizard. To do this manually, go to WooCommerce -> WooCommerce Multilingual and click the Status tab.

If you did not yet setup the store pages there will be a message telling you that the store pages don’t exist, offering to create them.

WooCommerce Multilingual Status And Alerts

WooCommerce Multilingual Status And Alerts

WooCommerce Multilingual will create these pages with the available translated page titles. You can always change the page titles in different languages later. On this page, you will also see warnings about missing translation for taxonomy terms. If you are using taxonomy for product variations or to organize products into categories and tags, it’s a very good idea to have all taxonomy translated.


Translating Product Categories, Tags, Attributes and Custom Taxonomies

Most stores are arranged by product categories. Some also use tags. If you are using variations, you are probably using product attributes as well. WooCommerce Multilingual makes it easy to translate all these. First, create the product categories, tags and attributes in the default language, using the standard WooCommerce editing interface. When creating Attributes, they are marked as translatable by default. You can change this option for each attribute at any time.

Don’t worry about translating categories, tags and attributes just yet. Hint: product categories, tags and attributes are all stored as WordPress taxonomies. WooCommerce Multilingual includes a convenient interface for translating taxonomy terms. Go to WooCommerce -> WooCommerce Multilingual. This time, look at the other tabs on the screen. You will see a tab for each of the taxonomy that belongs to your store.

Translating attributes

Translating attributes

Each of these tabs includes a different taxonomy. Click on it to see all taxonomy terms and translate them. To translate a term, click on its label. You will need to enter the name, slug, and description. The name is what’s displayed on the screen. The slug appears in the URL and the description shows on the WordPress admin when editing. If your store includes many categories, or other taxonomy terms, use the search function to locate them quickly.

Translating custom taxonomies from the WooCommerce Multilingual page

Starting with version 3.9, WooCommerce Multilingual allows you to translate any custom taxonomies associated with WooCommerce Products, right from its main page. There are many plugins for adding custom taxonomies to your site, like Toolset Types for example. Additionally, some plugins and themes automatically add custom taxonomies to Products. For example, a theme called Adventure Tours creates a custom taxonomy called “Tour Categories”, and you can translate it just like any other custom Product taxonomy.

Once a custom taxonomy is associated with Products, a “Custom Taxonomies” tab appears on the WooCommerce -> WooCommerce Multilingual page.

Translating custom taxonomy and its terms

Translating custom taxonomy and its terms

Taxonomy terms are translated by clicking the Plus icon for the corresponding language.

Please note that at the moment, it is not possible to translate the base slugs of the custom taxonomies associated with Products.


Translating Products

Now that your product taxonomies are translated, it’s time to translate the products. First, create the products in WooCommerce in either the default language or one of the secondary languages. Don’t worry about translating them just yet. Create products normally, as you do with WooCommerce. You can create standard products, variable products, downloadable products and anything else that WooCommerce has to offer.

Once your products exist, go to WooCommerce -> WooCommerce Multilingual, you will start on the Products tab.

Products Translation Tab Listing All Products

Products Translation Tab Listing All Products

The products table gives you a summary of all products in your site. If you have many products, use the filter on the top of the page and search to reach the exact products you are looking for. Each language has its own column with translation status icons. They help you find products that are untranslated or need update. Click on the Pen icon to edit existing product translations or the Plus icon to translate the product.

Products translation editor

Products translation editor

You can translate your Product’s information using the Product translation editor that you are taken to. You can translate products from the language that they were created in into all the other languages defined in your site.

Translating Product Add-ons

WooCommerce Multilingual allows you to translate fields added to Products by various WooCommerce extensions. All the fields and options that supported extensions add to your products will be automatically translatable on the Product Translation page.

The following image shows the Product Add-ons section found on the Product Translation page.

Product Add-ons Section On The Product Translation Page

Product Add-ons Section On The Product Translation Page

To find a comprehensive list of all WooCommerce Extensions compatible with WPML, please visit wpml.org’s extensions page.


Translating Product Variations

WooCommerce Multilingual automatically creates and synchronizes product variations in all languages. After you create a variation in the default language, save the product (in the default language). WooCommerce Multilingual will immediately create the same variations for all translations of the product.

Product variations can be translated similarly to how simple products are translated. One thing specific to variations is the custom product attributes. They will be translated in the products translation screen in the same way custom fields are translated for all products in general.

Translating Variations

Translating Variations

You can also translate variation image titles. If the variations use global product attributes, they need to be translated in the corresponding taxonomy tabs. Once you’ve translated all attributes, you can automatically generate the variations for the translated products.

After translation of attributes is done, the related variations of the products in other languages need to be created as well. This is done by using the Synchronize attributes and update product variations button under the attribute tab.


Translating Image Texts

Similarly to variations, WooCommerce Multilingual automatically synchronizes all images between product translations. This includes the featured image, image gallery and all variation images. After you upload or select different images for the product in the default language, save it. All translations of that product will get the same images.

You can edit image texts for product translations on the Product Translation page, along with all other Product information.

Translating Image Texts

Translating Image Texts

This way, you can specify the title, caption and description for the same images in different languages.


Translating URLs

Different component parts of the URLs can be translated with WooCommerce Multilingual. Starting with version 3.8, WooCommerce Multilingual allows you to translate URLs using its own dedicated section for translating URL strings. If preferred, you can still use WPML’s String Translation page to translate this same strings.

Go to WooCommerce -> WooCommerce Multilingual and click the Store URLs tab. You will see a list of URLs and a column with translation status for each language. Click on the Pen icon to edit existing URL translations or the Plus icon to add URL translation.

Store URLs Tab

Store URLs Tab

The shop, cart, checkout, and account pages

These page URLs are translated by translating the respective WooCommerce pages.

http://example.com/shop/ (English)

http://example.com/fr/boutique/ (French)

Product permalink base

Along with other URLs related bases, the product base can be set on the permalinks settings screen. Their source language is by default the same as the default language of the site but can be set to different languages, even languages that do not belong to the site.

Settings the product base and its source language.

Settings the product base and its source language.

Translating the product permalink base allows having URLs like:

http://example.com/product/book (English)

http://example.com/fr/produit/livre (French)

Translating Product Base

Translating Product Base

Product category base

In the example below the product category base “product-category” is translated to “categorie-produit”.

http://example.com/product-category/man (English)

http://example.com/fr/categorie-produit/homme (French)

Product tag base

In the example below the product tag base “product-tag” is translated to “categorie-produit”.

http://example.com/product-tag/new (English)

http://example.com/fr/mot-cle-produit/nouveau (French)

Product attribute base

Optionally, you can set a “base” of the URL structure for attributes. In the following example, it is “filters”.

http://example.com/filters/color/white/ (English)

http://example.com/fr/filtres/couleur/blanche/ (French)

Product attribute slugs

Starting with version 3.9, WooCommerce Multilingual allows you to translate slugs for attributes. Below is an example of URLs corresponding to the attribute “color”.

http://example.com/filters/color/white/ (English)

http://example.com/fr/filtres/couleur/blanche/ (French)

You can translate the attribute slugs from the Store URLs section under the WooCommerce Multilingual menu.

Translating attribute slugs

Translating attribute slugs

Please note that an attribute should be marked as translatable and have archives enabled in order to be able to translate the slug for it.

Translating WooCommerce Endpoints

The “endpoints” are an extra part of the URL that WooCommerce detects and uses to render the appropriate content on the page.

For example, you may have a page yoursite.com/my-account. When the endpoint “edit-account” is appended to this URL, making it yoursite.com/my-account/edit-account WooCommerce will show the “Edit account” page instead of the “My account” page.

Endpoints have been added in WooCommerce 2.1 in order to streamline the WooCommerce install process. Endpoints can also be translated via the Store URLs tab.

Two of the most common endpoint are the account page endpoint and the checkout page endpoints. More details about the endpoints in the WooCommerce official documentation.


Translating Shipping Classes and Zones

WooCommerce allows you to set up different shipping options for your products. You can set them on the WooCommerce -> Settings page, under the Shipping tab.

Translating shipping classes

Shipping classes allow you to group items of a similar type. For example, you can create a shipping classes for small, medium, and large packages, with different shipping costs for each.

After you create the shipping classes in the site’s default language, they are automatically recognized by WooCommerce Multilingual. You can translate them under the Shipping Classes tab of the WooCommerce -> WooCommerce Multilingual page.

Shipping Classes page in WooCommerce Multilingual

Shipping Classes page in WooCommerce Multilingual

Translating shipping zones

You can also define shipping zones, which are a way to group geographical areas and select different shipping costs and methods for them. For example, you might create a shipping zone called “Europe” and create rates and methods for calculating costs for packages sent to your European clients.

When it comes to shipping zones, there is only their names to translate, which is done on the WPML -> String Translation page. Use the search at the top of the page to find the shipping zone string, click on it and translate it to other languages using the dialog boxes that appear.

Translating shipping zones

Translating shipping zones


Automatic Inventory and Product Attributes Synchronization

When you sell a product, the sale language doesn’t matter for inventory management. Set your inventory in the default language product setting. WooCommerce Multilingual automatically updates your inventory when customer buy in different languages. Same goes for non-textual product attributes, such as size and weight. You need to enter them in the default language only. WooCommerce Multilingual will set them the same for all translated products.


Using multiple currencies

WooCommerce Multilingual helps you to use multiple currencies on your sites.

Go to WPML->WooCommerce Multilingual and click the Multi-currency tab. You can configure everything related to the multi-currency: secondary currencies and their properties, add more currencies, set different prices for different currencies, and change the currency switcher options.

Options for using multiple currencies on the Multi-currency tab

Options for using multiple currencies on the Multi-currency tab

The multi-currency mode is disabled by default in WooCommerce Multilingual. Once enabled, you can configure custom formatting options for the separate currencies. You can even show specific currencies for given languages on the front end.

Since the 3.8 release of WooCommerce Multilingual, it is also possible to set manual prices in secondary currencies for prices other than the standard WooCommerce ones (regular and sale price). This allows other extensions (like WooCommerce Subscriptions) to not rely on prices determined using the exchange rates for custom price types that they define. In the case of WooCommerce Subscriptions extension, an extra price for the simple subscriptions is called “Sign-up fee”.

Since the 4.0 release of WooCommerce Multilingual, it is possible to set up automatic exchange rates for your store. You can choose from three renowned online services as the source of the exchange rates data, specify the frequency of automatic exchange rates updates, and apply a lifting charge.

For detailed information, visit our documentation about using multiple currencies on your sites.


Clearing cart contents when language or currency changes

WooCommerce Multilingual helps you to use multiple currencies on your sites.

WooCommerce Multilingual allows you to select what happens with products in the cart, when users switch language or currency. Cart contents can be synchronized, or discarded. By default, they will be synchronized.

This option is important because it allows you to reset the cart when switching language or currency. You should do this when your products and their options are not synchronizing correctly when switching the language or currency. This can happen for products of complex type, like subscriptions and bookings, or the ones featuring advanced options like table-rate shipping.

For detailed information, visit our documentation about clearing cart contents when language or currency change.


Useful Add-on Plugins

Enabling Different Payment Processors for Different Countries

When you run a global e-commerce site, you might need to enable different payment options for different countries. You can do this using the WooCommerce Gateways Country Limiter plugin, which is included in the Multilingual CMS package.

Choosing specific countries to allow a payment gateway

Choosing specific countries to allow a payment gateway

Mass products import

Our WPML All Import plugin is a handy tool for importing products from a CSV file.

Popular WooCommerce Extensions

WooCommerce Multilingual allows you to translate many of the most popular WooCommerce extensions.

Each WooCommerce extension introduces additional labels, fields, and other types of translatable strings. You can translate them using WooCommerce Multilingual and WPML.

Visit the following pages for extension-specific documentation:


Using WordPress REST API With WooCommerce Multilingual

Please note that the 2.6 version of WooCommerce introduced major changes to its implementation of the REST API. This made WooCommerce Multilingual’s own implementation of REST API incompatible and currently not working properly. This will be addressed in one of the upcoming WooCommerce Multilingual releases. Until then, you can try a workaround provided in WooCommerce’s official documentation.

WooCommerce Multilingual is compatible with the WordPress REST API. Using the REST API, you can now create, read, update, and delete translated WooCommerce content. This includes Products, Categories, Orders, and others.

To learn more about this topic, please visit our WordPress REST API documentation page.


Using WooCommerce Multilingual hooks

WooCommerce Multilingual has a set of actions and filters you can use to make your themes and plugins work smooth in the multilingual environment.

To learn more about this topic, please visit our WCML Hooks Reference documentation page.


Developing custom WooCommerce themes?

If you are developing your own WooCommerce themes, or doing major customizations to existing themes, you should make sure that they work well in multiple languages. To help you, we’ve prepared a complete tutorial on making WooCommerce themes multilingual and multi-currency ready.