Search

Translating WooCommerce (Localization)

Introduction ↑ Back to Top

WooCommerce comes localisation ready out of the box – all that’s needed is your translation (if the plugin does not come bundled with one for your language).

There are several methods to create a translation, most of which are outlined in the WordPress Codex, however, we find the easiest method is to use a plugin called codestyling localisation. More advanced users can use PoEdit. Both methods are covered in this doc.

Before you begin ↑ Back to Top

WooCommerce includes a language file (.po or .pot file) which contains all of the English text. You can find this language file inside the plugin folder in woocommerce/i18n/languages/.

Setup WordPress ↑ Back to Top

WordPress needs to be told which language it should run under. Open wp-config.php and modify the line below, or add it if it is missing. We’ve set it to Norwegian in the example below. See the complete list of language codes and country codes to find your exact locale.

define ('WPLANG', 'nb_NO');

Once this has been done if the language file exists the shop will be displayed in your locale. Otherwise you need to create the language files of which the process is explained below.

WooCommerce 2.2+ Language Packs ↑ Back to Top

Since version 2.2, WooCommerce includes a language pack downloader. PO and MO files will no longer be bundled with the plugin – they will be downloadable from your dashboard if you have the WPLANG constant set, or from a git repository if you wish to grab them manually. A notice will be displayed within your administration:

Update WooCommerce 2.2+ Translation Packs

Update WooCommerce 2.2+ Translation Packs

If for some reason the translation packs install fails, you can force the download in WooCommerce > System Status > Tools > Force Translation Upgrade:

Force Translation Upgrade (WooCommerce > System Status > Tools)

Force Translation Upgrade (WooCommerce > System Status > Tools)

PO and MO files will be downloaded in wp-content/languages/woocommerce.

Translating – Codestyling Localization

Codestyling Localization is the method we recommend for most users as it is the simplest to setup.

You must download the Codestyling Localization plugin, which allows you to translate the plugin directly in the WP admin panel.

Install and activate the plugin and go to Tools > Localization (shown in your language), then follow the instructions on how to translate the plugin.

Codestyling Localization plugin allows for easy translation

Important: You can ignore the message in codestyling which states “Loading problem: Author is using load_textdomainem instead of load_plugin_textdomain.” We use both methods to ensure maximum compatibility.

Updating your translation

If you update your plugin to a new version which has an updated language file, you’ll need to rescan WooCommerce using the plugin and then translate the new strings. Find WooCommerce in Codestyling Localization plugin and click the Rescan link to have the plugin update the po file.

Update your PO file by rescanning the theme

After you have rescanned, click Edit to translate any new strings the plugin found when rescanning. Remember to generate a new MO file after you have translated your new strings.

Translating – PoEdit

PoEdit is a more advanced alternative to Codestyling Localization. Only advanced users or translators who wish to contribute to WooCommerce core should attempt this method.

WooCommerce comes with 2 POT files which can be imported into PoEdit to translate. These files are broken up to make the frontend more efficient.

  • woocommerce.pot – Contains frontend strings
  • woocommerce-admin.pot – Contains admin strings

Each is translated separately. To get started open PoEdit and go to File > New catalog from POT file. Once you have done this, choose either woocommerce.pot or woocommerce-admin.pot and PoEdit will show the catalog properties window:

Properties

Properties

Enter your name etc so other translators know who you are and click ‘ok’. After this you will be prompted to save your .po file – name it based on what you are translating to, for example, a GB translation would be saved as woocommerce-en_GB.po or woocommerce-admin-en_GB.po respectively. Now the strings will be listed.

Translate the strings

Translate the strings

After translating all strings you can save – the .mo file will also be generated automatically.

Updating your translation

After updates, you can update your po file by opening it and then going to Catalog > Update from POT file. Choose the file and it will be updated accordingly.

Making your Localization upgrade safe ↑ Back to Top

If you keep your custom translations in woocommerce/i18n/languages (WooCommerce < 2.2+) they can be lost when upgrading. To make them upgrade safe, instead place them in wp-content/languages/woocommerce/. All translations will be automatically added to wp-content/languages/woocommerce/ with WooCommerce 2.2+.

Note, once moved you cannot use Codestyling to edit your moved localizations – you need to move them back to make changes.

Contributing your Localization to Core ↑ Back to Top

We maintain our translations through our project on Transifex. If you want to contribute translated strings to your language, or wish to start a new translation, request access to the project through Transifex and you can start translating as soon as possible.

Back to the top