Back to Community

Troubleshooting WooCommerce Email Translation Issues in TranslatePress

Content

Translating WooCommerce emails with TranslatePress is a powerful feature, but it can sometimes be tricky to get everything working correctly. Based on common community reports, this guide covers the most frequent issues and their solutions.

Why Are My WooCommerce Emails Not Translating?

Several factors can prevent emails from sending in the correct language. The most common causes include:

  • The email strings have not been translated in the String Translation interface.
  • The strings are not being detected by TranslatePress due to their dynamic nature.
  • A caching plugin is interfering with string detection.
  • The email is triggered by an admin action (like changing an order status) rather than a customer action.
  • The user's language preference is not being correctly identified for guest checkouts.

Common Solutions for WooCommerce Email Translation

1. Ensure Email Strings Are Translated

The first step is always to verify that the email content has been translated within TranslatePress. Navigate to TranslatePress Editor > String Translation Interface > Emails tab. Search for the specific email strings (like subject lines or headings) and add your translations. For custom text added to WooCommerce email settings (e.g., "Additional content"), you may need to check the Regular strings tab.

2. Enable the Regular Strings Tab

Many custom email strings, especially those from third-party plugins, are not detected by default. To make them visible:

  1. Go to TranslatePress Settings → Advanced tab → Debug section.
  2. Check the option 'Show regular strings tab in String Translation'.
  3. Click 'Rescan plugins and theme for strings'.
  4. Return to the String Translation interface and check the new Regular tab for your missing strings.

3. Temporarily Disable Caching

Caching plugins can sometimes prevent new translatable strings from being detected. If you are rescaning for strings and cannot find them, try temporarily disabling your caching plugin, rescan again, and then re-enable caching.

4. Handling Dynamic Placeholders

Emails often contain dynamic placeholders like {order_number} or {site_title}. TranslatePress does not detect the placeholder itself but the full text around it. If you have customized an email subject to include a placeholder, you might see multiple strings detected for each order (e.g., "Thank you for order #557", "Thank you for order #558"). The recommended solution is to use the TranslatePress email translation interface instead of WooCommerce's native email customizer to avoid this duplication.

5. Emails Triggered by Admin Actions

A known issue is that emails triggered by an admin in the WordPress backend (e.g., changing an order status to "completed") may not respect the customer's language. For these scenarios, the TranslatePress team suggests using conditional shortcodes within your email templates to manually specify the content for each language. Documentation for this can be found on their website under "Conditional Shortcode Based on Language".

6. Guest Checkout Language Detection

For websites that do not require login, TranslatePress uses the language selected on the checkout page at the time the order was placed to determine the email language. If emails for guest orders are still sending in the default language, ensure the customer is completing the entire checkout process in their chosen language and that there are no conflicts with other plugins affecting session data.

Need More Help?

If these steps do not resolve your issue, the problem may be specific to your theme or a plugin conflict. Testing with all other plugins temporarily deactivated and a default theme like Twenty Twenty-Four can help identify the cause. For further investigation, you can seek help from the wider community on independent forums and support sites.

Related Support Threads Support