WooCommerce Multilingual

You can translate everything that WooCommerce offers,
including products, variations, categories, fields and attributes.

Get WooCommerce Multilingual

Do you already have WPML Multilingual CMS?

Simple translation interface
Multi-currency payment
Compatible with most Woocommerce themes and extensions

Required Plugins

Required Plugins

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

  • WPML 3.1.5 or above
  • WPML String Translation 2.0 or above
  • WPML Translation Management 1.9 or above
  • WPML Media Translation 2.1 or above
  • WooCommerce

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!


Setting Up the Store Pages

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. Go to WPML->WooCommerce Multilingual. You will see 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 and Attributes

Translating Product Categories, Tags and Attributes

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. Don’t worry about translating them just yet. Hint: product categories, tags and attributes are all stored as WordPress taxonomy. WooCommerce Multilingual includes a convenient interface for translating taxonomy terms. Go to WPML->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 term, use the search function to locate them quickly.


Translating Products

Translating Products

Now that your product taxonomy is translated, it’s time to translate the products themselves. 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 WPML->WooCommerce Multilingual. This time, click on the Products tab.

Products translation editor

Products translation editor

The products table gives you a summary of all products in your site. If you have many products, you will see the in pages and can use the filter and search to reach the exact products you are looking for. The translation status icons help you find products that are untranslated or need update. Click on the Edit translation links to translate products. You will find a row for each of the translation languages in your site.

You can translate products from the language that they were created in into all the other languages defined in your site.


Translating Product Variations

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 that particular 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 translates in the corresponding taxonomy tabs. Once you’ve translated all attributes, you can automatically generate the variations for the translated products.


Translating Image Texts

Translating Image Texts

Similarly to variations, WooCommerce Multilingual automatically synchronizes all images between product translations. This include 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, by clicking to expand the ‘Images >>‘ section.

Translating image titles

Translating image titles

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


Translating urls

Translating urls

Different component parts of the urls can be translated with WooCommerce Multilingual via the WPML String Translation addon in order to get urls that are relevant to each language.

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 don’t 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)

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

The urls for attributes can be translated too. 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)

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.

e.g. 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. They require fewer pages to be created and possibly causing fewer errors.

Endpoints can be translated as strings via WPML String Translation.

Translating the WooCommerce Endpoints using WPML String Translation

By translating the endpoint ‘my-account’ into French as ‘mon-compte’ the corresponding French page becomes yoursite.com/fr/mon-compte/compte-modifier.

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


Automatic Inventory and Product Attributes Synchronization

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.


Enabling Different Payment Processors for Different Countries

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

Mass products import

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


Developing custom WooCommerce themes?

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.