Verify cart and checkout translations

Cart and checkout combine product translations, registered labels, WooCommerce gettext messages, HTML fragments, and request-specific data. Test the complete flow in the same locale rather than checking one page in isolation.

What POM Translate localizes

Depending on the surface, POM Translate applies the active request locale to:

  • cart and mini-cart product names;
  • variation and custom-option metadata;
  • checkout field labels, placeholders, and descriptions;
  • the place-order label when registered;
  • cart and order-review HTML fragments;
  • nested WC AJAX responses;
  • supported Store API product, line-item, and term fields.

Prices, quantities, taxes, coupons, totals, addresses, and payment data remain WooCommerce values.

Test a classic or block checkout

  1. Open the storefront through the target-language route.
  2. Add a translated variable product.
  3. Open the mini-cart, Cart, and Checkout.
  4. Confirm the product name and option metadata on every screen.
  5. Change quantity or shipping so WooCommerce refreshes fragments.
  6. Complete a test order.
  7. Confirm that the resulting order stores the target locale.

Repeat with the actual checkout technology used by the site. Blocks communicate through the Store API; classic templates rely heavily on WooCommerce AJAX.

Request locale resolution

WooCommerce AJAX and Store API requests can resolve the target language from an explicit lang parameter, the X-Pom-Translate-Lang header, a locale-prefixed request path, or the saved visitor/user preference. The request switches locale only for its own processing and restores the previous state afterwards.

Mini-cart fragment hashes and browser storage names include the locale. This prevents a fragment cached in one language from leaking into another after switching.

Fixed interface messages

Standard WooCommerce button text and validation copy normally come from gettext. Install a WooCommerce catalog for the target locale or use Translations → Software translations. Content translations cannot replace a missing WooCommerce language pack.

Troubleshooting

Remove old cart lines and clear fragment/page caches before retesting. If HTML is translated but a plain custom label is not, register that stable label under Other translations. For validation errors containing customer or product details, see WooCommerce notices.