Skip to content

Translate your WooCommerce shop, checkout and emails

WP Provider Translate translates your whole WooCommerce shop: product pages, categories, the cart, the checkout and the emails customers receive after they order. There is nothing to set up for WooCommerce; once you choose your languages, the shop is translated with the rest of your site. A customer who orders in a language stays in that language from the first product page to the last email.

Shop and product pages

Your shop page, product pages, categories and tags are translated like any other page, including product descriptions, attributes, prices with their labels, and the buttons and messages WooCommerce itself shows. WooCommerce’s own texts come from the official WordPress language packs, which are installed for every language you choose.

Cart and checkout

  • Classic and block cart and checkout. Both are translated, including the block cart and checkout that load their data after the page opens. Links such as “Proceed to checkout” keep the customer in their language.
  • Ready before the first customer. Cart and checkout only show their full text when something is in the cart. When you add a language, WP Provider Translate opens the cart and checkout with a product in the cart, in the background, so their text is translated before the first customer gets there. No order is created for this.
  • Customers stay in their language. When a customer adds a product to the cart, applies a coupon or sends any other form from a translated page, they come back to that page in the same language.
  • A domain per language. If a language has its own domain, the cart goes along when a customer switches to it. See A domain per language.

Mini cart and notices

In block themes, the mini cart and WooCommerce notices (such as “added to your cart”) are prepared in the page before they appear. That text is translated too, so the mini cart opens in the visitor’s language.

Order pages

The order received page, a customer’s order in My Account and the order payment page show the customer in their language. What is on them (names, addresses, order details) is never sent for translation.

WooCommerce emails

  • Each order keeps its language. The language the order was placed in is saved with the order, and every email to that customer uses it: order confirmation, processing, completed, refunds, notes and the rest. This also holds when you resend an email from the order screen.
  • Emails to you stay in your language. Emails for the shop owner, such as “New order”, are in your site’s own language, even when the order was placed in another language.
  • Your own email texts are translated. The subjects, headings, additional content and footer you set under WooCommerce → Settings → Emails, and the titles, descriptions and instructions of your payment methods, are translated for every language.
  • Every customer email is checked in advance. WP Provider Translate builds each enabled customer email with WooCommerce’s sample order, in every language, to find text that no language pack translates, such as text other plugins or a custom email template add. That text is translated before your first order in that language. The sample order’s made-up name, address and products are left out.

To see or correct these texts, go to WP Provider Translate → Translations. Texts that are not on a page appear as their own groups: Emails to customers (WooCommerce), where you can preview each email as the customer receives it, and Shop settings: email and payment texts (WooCommerce). See Correct and review translations.

Payment providers and webhooks

Payment providers send your shop a notification when a payment succeeds, fails or renews. WP Provider Translate never redirects these notifications, also when they arrive on a translated address (such as /de/…), a page with a translated address, a page that is not available in that language, or a language on its own domain. A redirect would lose what the provider sent. Only ordinary page views are ever redirected, so payments and recurring payments reach your shop as they should.

Good to know

  • Whole pages only. A product page shows in a language once all of its text is translated. Until then it is left out in that language. See How translation runs.
  • What is never sent. What customers type, their names and addresses, and order pages are never sent for translation. See Privacy and what is sent.
  • Product images per language. You can show a different product image in each language. See Images and content per language.

Troubleshooting

  • The checkout or cart is partly in the original language. Cart and checkout text is translated in the background after you add a language. Wait a little and reload. If you use a caching plugin, see Caching plugins.
  • A customer email has a sentence in the original language. It probably comes from another plugin or a custom template and is still being translated. Check the Emails to customers (WooCommerce) group on WP Provider Translate → Translations.
  • An order email went out in the wrong language. The email follows the language of the page where the order was placed. An order you create yourself in wp-admin was not placed on a translated page, so its emails use the language WooCommerce would normally choose.
For developers
  • wp wpprovider-translate email-texts lists the customer email texts no language pack translates, per language, or says why no email could be built.
  • wp wpprovider-translate texts queues texts saved in settings that no page shows, such as email and payment texts.
  • The wppt_rest_routes filter adds REST routes whose responses carry page content, as WooCommerce’s Store API does.

Details in Developer filters and actions and WP-CLI commands.