Understand WooCommerce email language
POM Translate chooses an email locale from the email object's commerce context, not from the administrator who happens to trigger the message.
Locale precedence
For a managed WooCommerce email:
- POM Translate inspects the order or customer object attached to the email.
- A valid purchase language stored with the order takes priority.
- For a legacy order without that value, the linked customer's WordPress locale can be used.
- The current POM locale is the next fallback.
- The configured base locale is the final fallback.
Only configured POM locales are accepted by this resolution.
Rendering lifecycle
Before a supported email template is rendered, POM Translate activates both the WordPress locale and the POM locale. That lets WooCommerce gettext, product content, registered fields, item metadata, and localized links agree.
After body processing or the sent action, the previous locale state is restored. A shutdown safeguard also prevents an interrupted email from leaking its locale into later work.
POM Translate prevents WooCommerce's normal email switch from forcing a supported managed template back to the site locale while this explicit context is active.
Customer and admin emails
The email selector identifies duplicate titles as Customer or Admin, but audience alone does not select the language. The attached order/customer context does.
Administrators should verify both audiences. Some administrative notifications are intended to remain in the site's operational language, while customer messages normally follow the purchase locale.
Excluded integrations
Payment-gateway email classes and common PDF invoice or packing-slip templates are excluded by default. They keep the language behavior provided by their own extension. Generic wp_mail() messages are not translated automatically because they do not provide a reliable recipient locale.
Verify
Create two orders in different locales, then preview the same customer email for each. Confirm subject, heading, body, product names, totals labels, and links change with the order rather than the current administration language.
For delayed sends, see WooCommerce background jobs.