Translating WooCommerce

WooCommerce is translated into several languages and is translation-ready out of the box. All that is needed is a translation file for your language, which is automatically installed for the languages on this list when you change your site’s language.

This document covers how to set up WordPress in your language, contribute translations, manually download translations, create custom translations, and translate text without a localization file.

Set up WordPress in your language

↑ Back to top

The first step to translating WooCommerce is to set your site to the language you want. Follow these steps to configure the default language in WordPress:

  1. Go to Settings > General in the WordPress admin dashboard.
  2. Change the Site Language setting to your preferred language.
  3. Scroll down and click Save Changes. This immediately changes the navigation menu language as well.
  4. Go to Dashboard > Updates.
  5. Scroll to the bottom and click Update Translations.

Your store now displays in the selected locale if a language file exists. If it does not, you need to create the language files using the process described below.

Translate WooCommerce into your language

↑ Back to top

WooCommerce translation is managed by teams in the WooCommerce Translation Project. Both Stable and development versions of WooCommerce are translated there, and anyone can contribute.

If you want to contribute translated strings to your language or start a new translation, register an account at WordPress.org and begin translating at the GlotPress project on translate.wordpress.org. Contributing to your language’s translation helps all users benefit once it reaches the 90% threshold described below.

WordPress looks for a Stable translation that is at least 90% complete in your language when installing or updating WooCommerce, and then automatically downloads it. If a Stable translation exists but is not at least 90% complete, you can download it manually.

If you are new to translating, check out the translators handbook to get started.

Download translations from translate.wordpress.org manually

↑ Back to top

If your language translation is below 90% completion, you can still download and install it manually. Follow these steps to download and upload a translation file:

  1. Go to the WooCommerce Translations Project and find your language in the list.
  2. Click the title to enter the language’s sub-section.
The WooCommerce Translations Project page showing a list of available languages
  1. Click the heading in the Set/Sub Project column to view and download a Stable (latest release) version.
The selected locale showing available sets and sub projects for download
  1. Scroll to the bottom of that page for export options. Export as a Machine Object Message Catalog (.mo) file for use on your site.
The export options at the bottom of a translation page, showing the .mo file format selection
  1. Rename the file to WooCommerce-YOURLANG.mo (e.g., Great Britain English is en_GB, Afrikaans is af).
  2. Upload the file to your site’s wp-content/languages/plugins/ folder.
  3. Once uploaded, the translation is active on your site.

Translate WooCommerce.com extensions

↑ Back to top

Several WooCommerce.com extensions also offer translated versions. You can find details about extension translations and how to add custom translations in the Translating WooCommerce Extensions guide.

Create custom translations

↑ Back to top

WooCommerce includes a language file (.pot file) that contains all of the English text. You can find this file inside the plugin folder at WooCommerce/i18n/languages/. Use one of the methods below to create your own translation from this file.

Create custom translations with Loco Translate

↑ Back to top

Loco Translate is a WordPress plugin that provides a browser-based interface for translating plugins. Follow these steps to translate WooCommerce with Loco Translate:

  1. Install and activate the Loco Translate plugin.
  2. Go to Loco Translate > Plugins and select WooCommerce.
The Loco Translate Plugins page with WooCommerce selected
  1. Click + New Language to add a new language.
  2. Choose the language from the dropdown.
  3. Select the folder to store the translation files. The Custom folder is recommended so updates do not overwrite your translations.
  4. Click Start translating.
The Loco Translate new language creation screen with language and folder options

Note #1: Loco Translate offers three different locations for where to create the translation. The best choice for your own translation is Custom, not just to prevent custom translations from being undone by updates, but also because it’s needed for strings in extensions like WooCommerce Subscriptions to be properly translated.

Avoid the Author location since it’s inside the plugin and will be overwritten by extension updates, as well as the System location, which could be overwritten by translations from translate.wordpress.org.

Note #2: If you encounter any technical issues while using Loco Translate, please get in touch with the Loco Translate support team.

  1. Click Save when you have finished translating.
The Loco Translate editor showing source text and translated text fields

When a new version of WooCommerce is released and updated on your site, you may need to refresh the .po file to look for new strings. Use the “Sync” button to find any new string to start translating.

Create custom translations with PoEdit

↑ Back to top

PoEdit is a desktop application that provides a more advanced alternative to Loco Translate. This method is recommended for advanced users or experienced translators.

WooCommerce comes with a POT file that you can import into PoEdit. Follow these steps to get started:

  1. Open PoEdit and go to File > New catalog from POT file.
  2. Choose WooCommerce.pot. PoEdit displays the catalog properties window.
The PoEdit catalog properties window showing project info fields
PoEdit catalog properties window
  1. Enter your name and details so other translators know who you are, and click OK.
  2. Save your .po file. Name it based on the target language (e.g., a Great Britain English translation is saved as WooCommerce-en_GB.po). The translatable strings are now listed.
The PoEdit interface showing a list of translatable strings
PoEdit string translation interface
  1. Translate the strings and click Save. PoEdit generates the .mo file automatically.
  2. To update your .po file later, open it and go to Catalog > Update from POT file.
  3. Choose the updated POT file, and PoEdit updates your translation accordingly.

Create custom translations with Webis Multilingual for WooCommerce

↑ Back to top

Webis Multilingual for WooCommerce is an extension available in the WooCommerce Marketplace with a monthly subscription. It allows you to translate your store content, strings, and menus directly within the WordPress admin.

Install Webis Multilingual

↑ Back to top

Follow these steps to install the Webis Multilingual extension:

  1. Download the .zip file from your WooCommerce account.
  2. Go to WordPress Admin > Plugins > Add New, click Upload Plugin, and select the file you downloaded with Choose File.
  3. Click Install Now and then Activate the extension.

For more details, see Install and activate WooCommerce extensions.

Configure Webis global settings

↑ Back to top

Go to WooCommerce > Webis Multilingual and navigate to the Settings tab. The settings page contains the following options:

The Webis Multilingual Settings tab showing language, language code, switcher, and cookie options
  • Languages — Click Edit languages, select the languages you want to add, and save.
  • Language Codes — Customize the language code shown in the URL. For example, the default code for Chinese (Simplified) is “zh_CN,” but you can shorten it to “cn.”
  • Language Switcher — Use the Show flags checkbox to show or hide flags in the language switcher.
  • Cookie Name — The extension uses a cookie to remember the customer’s language selection. If the site language keeps reverting to the default, browser cookies may be disabled or the page may be cached. Consult your developer to add the cookie name to the Cache-Busting Cookies List. You can also change the cookie name in this field if needed.

Translate strings with Webis

↑ Back to top

Go to WooCommerce > Webis Multilingual and navigate to the String Translation tab. Use this section to translate text strings that appear on your storefront.

The Webis Multilingual String Translation tab showing scanned strings and translation fields

Follow these steps to scan and translate strings:

  1. Enable the Scan Strings option at the bottom of the page and click Save Changes.
  2. Visit the storefront pages where the strings you want to translate appear.
  3. Return to the String Translation tab, search for the strings, and add translations by clicking the + button.

Important: You may need to refresh the page more than once if it contains many strings. Disable the Scan Strings option after you finish scanning, as leaving it enabled has a significant impact on site performance.

Translate content with Webis

↑ Back to top

Webis Multilingual adds translation fields directly below the content areas you already use. The extension currently supports translation for products, categories, attributes, posts, pages, and menus.

To translate a product, open the product edit page and find the Webis Multilingual section. Enter translations for each configured language.

A product edit page showing the Webis Multilingual section with translation fields for each language

To translate menu items, go to Appearance > Menus. Open a menu item to see the Webis Multilingual fields. You can select a specific language to show the menu item only for that language, or select All languages to display it for every configured language.

The Menus page showing Webis Multilingual language dropdown options for a Shop menu item

Make your translation upgrade safe

↑ Back to top

WooCommerce stores translations in wp-content/languages/plugins, like all other plugins. If you want to include a custom translation that is not overwritten by updates, use the directory wp-content/languages/WooCommerce. You can also use a code snippet to load translations from a custom location. See the WooCommerce Developer Documentation for details.

Translate text without a localization file

↑ Back to top

If you only need to change a few words or phrases without editing a .po file, you can use a text replacement plugin. This approach requires no custom code.

Replace default text with Say What

↑ Back to top

The Say What? plugin allows you to replace specific text strings without editing theme or plugin files. When activated, it asks for the following information:

  • Original string — The exact text you want to translate. View the plugin source code to find the exact string.
  • Text domain — Enter WooCommerce.
  • Text you want to display — The replacement text in your language.

Frequently asked questions

↑ Back to top

Some strings on the checkout page are not translated

↑ Back to top

You may notice that some strings on the checkout page remain untranslated. For example, the Local pickup shipping method, the Cash on delivery payment method, or the privacy policy message may appear in English while the rest of the page is translated.

A checkout page showing some strings in English while the rest of the form is translated

This typically happens when you install WooCommerce with the default language (English) and later change the site language. WooCommerce stores certain strings in the database during the initial setup. When you change the site language afterward, these database entries are not automatically translated.

To fix this, navigate to the WooCommerce settings for each untranslated string and update the text directly. The following examples show how to update the most common untranslated strings.

To translate the Local pickup shipping method name:

  1. Go to WooCommerce > Settings > Shipping > Shipping zones.
  2. Select the shipping zone where the Local pickup method is added.
  3. Open the Local pickup shipping method settings.
  4. Rename the method with the correct translation.
  5. Click Save changes.

To translate the Cash on delivery payment method:

  1. Go to WooCommerce > Settings > Payments.
  2. Select the Cash on delivery payment method.
  3. Update the method title, description, and instructions with the translated text.
  4. Click Save changes.

To translate the privacy policy message:

  1. Go to WooCommerce > Settings > Accounts & Privacy.
  2. Scroll down to the Privacy policy section.
  3. Edit the Registration privacy policy and Checkout privacy policy fields with the correct translation.
  4. Click Save changes.

Navigate back to the checkout page to confirm the updated translations appear.

Translated strings do not appear on the front end

↑ Back to top

If some translated strings do not appear as expected on your WooCommerce site, check whether those strings have both a Single and Plural form in the Source text section.

If the string has both forms, you must translate both for the translation to work correctly. In Loco Translate, use the Single and Plural tabs in the translation section at the bottom of the screen.

The Loco Translate editor showing the Single and Plural tabs in the translation section

Questions and support

↑ Back to top

Do you still have questions and need assistance? 

This documentation is about the free, core WooCommerce plugin, for which support is provided in our community forums on WordPress.org. By searching this forum, you’ll often find that your question has been asked and answered before.

If you haven’t created a WordPress.org account to use the forums, here’s how.

  • If you’re looking to extend the core functionality shown here, we recommend reviewing available extensions in the WooCommerce Marketplace.
  • Need ongoing advanced support or a customization built for WooCommerce? Hire a Woo Agency Partner.
  • Are you a developer building your own WooCommerce integration or extension? Check our Developer Resources.

If you weren’t able to find the information you need, please use the feedback thumbs below to let us know.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.