WPML

Changelog

Requires WPML 5.3.0.

What's New

  • The reminder to translate the WooCommerce store pages appears in the block editor's Language panel.
  • When you delete a global product attribute, its terms in the other languages are deleted too, if WPML is set to delete term translations.
  • The Products list shows the Languages column by default and marks products that are duplicates of another language.
  • WooCommerce Multilingual's cookies are set with SameSite=Lax, and Secure on HTTPS sites, so browsers and security scanners no longer flag them.
  • The customs fields added in WooCommerce 11.3 (commodity code, country of origin and customs description) are copied to product and variation translations and locked on the translation's edit screen.
  • Security hardening.
  • The PayPal Payments buttons show in the current language. For a language PayPal does not list, such as Turkish or Catalan, the Apple Pay and Google Pay buttons do too.

Performance

  • Pages no longer run the multicurrency price filter on every custom field read, which on large pages meant tens of thousands of extra checks.
  • Shop pages no longer load jQuery UI Dialog and Dashicons when the cart is set to reset on a language or currency switch.
  • A cart with variations reads its attribute terms together, and a language switch reads the translated products together.
  • Syncing a product clears the shop-wide WooCommerce transients once, not once per translation.

Fixes in Bookings

  • The Bookings calendar lists each resource once, in the current admin language.
  • A bookable product exported and imported back with its translations keeps the person types of each language.
  • The Bookings Availability calendar shows only products in the current language, without placeholder entries for other languages.

Fixes in Subscriptions

  • A fixed-discount Subscriptions plan with a manual price in a secondary currency no longer shows a converted "($X off)" label.
  • Subscriptions switches charge the manual price of a simple subscription in the shopper's currency, also on translated products, and an empty manual price in the store currency keeps the product price.
  • A failed renewal paid from a language with another currency keeps the renewal order's currency.

Fixes in Emails

  • Emails sent from the order screen show dates and times in the format translated for the order's language.
  • Emails sent from the order screen show the email header image translated for the order's language.
  • The admin New order email lists the products in the admin's language when the shopper ordered in another language.
  • Order emails sent from the order screen use the translated order-pay address in their payment link.

Fixes in Multicurrency

  • With "Show only products with custom prices in secondary currencies", products priced automatically are also hidden from Related products and WooCommerce product blocks.
  • WooCommerceSettingsGeneral shows the store's own currency format, not a secondary currency's, when the admin language uses another currency.
  • A WooCommerce ability call that asks for a currency no longer leaves that currency set for the shopper's later requests.
  • A currency switcher loaded by a theme or plugin with an AJAX request lists only the currencies enabled for the current language.
  • The currency shown first for each language is kept when WPML is deactivated and activated again.
  • Keyboard users can select a currency in the Dropdown currency switcher.
  • Changing the lifting charge in the Multicurrency settings updates the exchange rates on save.
  • The warning that the default currency was changed reaches every store manager, whatever their admin language. A Shop manager can dismiss it, an Editor no longer sees it, and its link opens the Multi-currency settings.
  • A manual sale price in a secondary currency applies when its sale schedule has only a start date or only an end date.
  • A manual sale price in a secondary currency stays on sale for the whole of its last scheduled day.
  • When a scheduled sale starts or ends, products keep their store-currency price instead of a converted one, even when the language uses another default currency.
  • On the product edit screen, prices determined automatically from the exchange rate show the rounding and auto-subtract the shop applies.
  • Saving a currency's settings in Multicurrency keeps "All Accounts" for bank transfer instead of showing customers only the first bank account.
  • With OceanWP, AJAX add to cart works on product pages in languages that use multicurrency.
  • A variable product with every variation hidden no longer triggers a WooCommerce 11.1 log error about variation prices.
  • A refused save or delete in the currency switcher dialog stays visible as a failure, and you can retry.
  • On a block theme, the Multicurrency screen no longer offers a widget area for the currency switcher.

Fixes in Orders and Stock

  • Stock held by pending orders counts across all translations of a product, so the shop no longer oversells.
  • Stock synchronization reaches every product translation, also when a translation has duplicate stock rows or is delivered outside wp-admin.
  • With Table Rate Shipping, viewing an order no longer saves its shipping line's title in the default language.
  • Recalculating an order keeps the right amounts when the store's decimal separator is translated and the admin works in another language.
  • Customers still see their downloads after an admin changes the order's language.
  • Orders created with WP-CLI in a given currency use that currency's prices.
  • The order edit screen shows a line's attribute terms in the line's language.

Fixes in Other WooCommerce Extensions

  • With Name Your Price 4.0 and later, Name Your Price's own multicurrency support is used.
  • Products created with a custom product type in code, such as Dokan lottery products, keep their type instead of becoming simple products.
  • Custom fields copied to translations that are keyed by variation, such as WoodMart's variation gallery, reach the translated product when the translation is delivered.
  • Yoast SEO's product sitemap lists translated products with the category of their own language, so the addresses no longer redirect.
  • HUSKY Products Filter: the language switcher links keep the filter in their language.

Fixes in Product Translation

  • A product saved without a category is filed under the default product category of its own language, also when it is created through REST, WP-CLI, an import or the front end, or saved from an admin in another language.
  • When the default product category changes, or a translation of it is added, each language with a translation of the new default uses that translation as its default, and languages without one keep their own.
  • After "Synchronize product variations", translated variable products show the price range instead of an old single price.
  • The product translation editor opens for products with a custom field that a plugin such as Bookings marks as holding several values.
  • The product translation editor saves the translation of a custom field that a plugin such as Bookings marks as holding several values when the product has a single value.
  • The product translation editor shows the original slug of a draft product.
  • In a secondary language, the product editor's attribute search lists and finds attributes by their translated label.
  • Translated variations stay purchasable when a custom attribute value contains "&" and the product is translated with the Advanced Translation Editor.
  • The product translation editor shows and saves the description and translatable custom fields of the product's categories, tags and attribute terms.
  • Translating a product that has reviews no longer creates duplicate tax class, stock and other copied fields on the translation.
  • "Sort by price" and the price filter in secondary languages use the new price after you save variations or quick- or bulk-edit products on sale.
  • A draft, pending or private product keeps its SKU unique, so another product can no longer be saved with the same SKU.
  • The locked "Add Product" button of a translated bundle's Bundled Products panel shows one lock icon instead of two.
  • "Fix relationships" in WooCommerce Multilingual's troubleshooting keeps a translated variation connected to its original.
  • Payment gateway titles, descriptions and instructions reach String Translation as soon as the gateway's settings are saved or it is enabled on the Payments screen.
  • With reviews shown in all languages, the WooCommerce blocks review list shows the reviews of every translation, like the product page.
  • On a translated page, the Single Product block shows the translated product and its reviews.
  • A product's translations keep "Hidden" and "featured" when its rating or stock changes.
  • A product attribute base with a leading slash, such as /shop, is translated in links and rewrite rules.
  • The shop archive keeps working after the rewrite rules are rebuilt during a secondary-language request.

Fixes in the Cart and Checkout

  • No critical error when another plugin switches the currency in a request that has no cart, such as a REST request.
  • With multicurrency, the checkout total follows every change of the selected shipping rate, including live rates from shipping plugins.
  • On the payment page of a manual order, the language switcher keeps the pay form in the other languages.
  • With a language per domain, the cart reset dialog shows on every language switch, not only the first.
  • With products shown as translated with fallback, variations stay in the cart until the shopper answers the cart dialog on a language switch.
  • The Keep and Switch back buttons of the cart's language switch dialog open the right addresses, also on sites in a subdirectory.
  • The cart dialog on a language switch shows again when the shopper reloads or opens another page without answering it.
  • In the cart, a variation with an "Any" attribute links to the product with the chosen value.

Other Fixes

  • With Translate Everything on, creating the default product category or duplicating attribute terms no longer re-opens taxonomies for automatic translation.
  • The product category shortcode lists the default-language products on translated pages when products use "display as translated".
  • WPML's own bookkeeping data no longer counts as a product variation change.
  • Product custom fields whose value only looks serialized are no longer emptied or cut short in translations.
  • The plugin's translations are refreshed.
  • The multicurrency documentation links, the email settings documentation link and the purchase link open the right wpml.org pages.
  • The first install no longer creates stray "Uncategorized" categories or loses a language's default category when two admin pages load at once.
  • On sites whose English is a regional variant such as en-us, WooCommerce strings without a language are treated as that English, so shop bases, email languages and attribute labels resolve correctly.
  • WooCommerce AnalyticsProducts and its CSV export no longer count item quantities twice for some orders.
  • Vendors made translators through the vendor integration get the translator role the same way as translators added in WPML.
  • The currency switcher no longer runs a template.php file from the uploads folder.
  • WooCommerceSettingsPayments no longer shows the admin language switcher.
  • A recount that finds no terms no longer leaves WPML's term filters off for the rest of the request.
  • The setup wizard and WooCommerce's page tool restore a store page from the trash.
  • On WordPress 7.2, numbered product slugs no longer log a deprecation notice.
  • WooCommerce Multilingual works when WordPress loads it before WPML.
  • WooCommerce Multilingual comes with the same Installer as WPML 5.3.0: a site key refused by an automatic check is kept and flagged until you refresh the license, a multisite subsite explains that the network uses one site key, and the expired-account banner can be closed.
  • The Products list no longer ends in a fatal error when the All Products for WooCommerce Subscriptions plugin is active.

Update or Download

The update is available to all WPML clients with an active subscription — it appears on the Plugins page in your WordPress admin within 24 hours of release. You can also check for it right away under PluginsAdd New PluginCommercial. To download and install manually, go to Downloads in your wpml.org account (see the installation instructions) and remember to update all components together without mixing versions.

Need Help with This Release?

Ask a support question