You can translate everything that WooCommerce offers,
including products, variations, categories, fields and attributes.
Do you already have WPML Multilingual CMS?
In this page:
- Required plugins
- Setting up the store pages
- Translating product categories, tags, attributes and taxonomies
- Translating products
- Translating product variations
- Translating Image Texts
- Translating URLs
- Translating Shipping Classes and Zones
- Automatic inventory and product attributes synchronization
- Using Multiple Currencies
- Clearing cart contents when language or currency Changes
- Useful Add-on Plugins
- Popular WooCommerce Extensions
- Using WordPress REST API With WooCommerce Multilingual
- Using WooCommerce Multilingual hooks
- Developing custom WooCommerce themes?
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
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
This way, you can specify the title, caption and description for the same images in different languages.
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.
The shop, cart, checkout, and account pages
These page URLs are translated by translating the respective WooCommerce pages.
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.
Translating the product permalink base allows having URLs like:
Product category base
In the example below the product category base “product-category” is translated to “categorie-produit”.
Product tag base
In the example below the product tag base “product-tag” is translated to “categorie-produit”.
Product attribute base
Optionally, you can set a “base” of the URL structure for attributes. In the following example, it is “filters”.
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”.
You can translate the attribute slugs from the Store URLs section under the WooCommerce Multilingual menu.
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.
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.
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.
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.
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.