Home›Support›English Support›[Resolved] WooCommerce: Order completed message contains strings in wrong language when using "Bulk actions"
[Resolved] WooCommerce: Order completed message contains strings in wrong language when using "Bulk actions"
This thread is resolved. Here is a description of the problem and solution.
Problem: If you're running a WooCommerce shop in multiple languages and notice that the shipping notices sent via bulk actions have the subject and email heading in the wrong language, it might be due to the language settings of the oldest order affecting all subsequent emails. Solution: We recommend following these steps to address the issue: 1. Navigate to WooCommerce > Settings > Emails > Completed Order. 2. Ensure all fields are filled out and save the changes. 3. Go to WPML > String Translation and translate the strings within the "admin_texts_woocommerce_customer_completed_order_settings" text domain. If these steps do not resolve the issue, it might be due to other factors. We suggest checking the related known issues and verifying that you have the latest versions of themes and plugins installed. If the problem persists, please open a new support ticket with us.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
We are running a WooCommerce shop in three languages and started sending shipping notices a few weeks ago. Now we noticed that some of the emails contain strings in the wrong language. We were able to reproduce this:
Select multiple orders (placed in different languages!) from WooCommerce -> Orders
Apply "Bulk actions" -> "Change order status to completed"
All email will have the subject and the "$email_heading" ("Good things are heading your way!") in the language of the oldest order. (On our production site, the footer "Thanks again! If you need any help with your order, please contact us at…" is also wrong.)
Changing only one order to "Completed" sends a correct email. Choosing only orders placed in the same language also sends emails in the correct language.
A while ago we had a similar issue. The problem was that the strings were translated in the "woocommerce" domain, but not in "admin_texts_woocommerce_customer_completed_order_settings" context.
Can you please make sure that you enter a value in the e-mail - this will register it in WPML > ST. Then make sure that you select the context/domain in ST admin_texts_woocommerce_customer_completed_order_settings. Translate them and then send mail.
To sum up, the steps are:
- Go to WooCommerce > Settings > Emails > Completed Order
- Fill the fields and save
- Go to WPML > String Translator and translate the strings inside the "admin_texts_woocommerce_customer_completed_order_settings" textdomain
If this does not work, please share the copy of the site where you already reproduced the problem. I enabled a private reply so you can provide us with a download link safely.
I understand your point. But it's the same issue. It only happens when updating orders in bulk.
I tried the workaround I suggested in the copy of the site that you've provided, and it worked for me.
Even if you want to use the default values for the email, you can still overwrite the placeholder with the same content, so it appears in WPML > String Translation in the text domain "admin_texts_woocommerce_customer_completed_order_settings".
This is a workaround, the issue has been reported a while ago, but it didn't get traction. I am adding your vote so the priority increases, but as it may take some time until we have a fix deployed, I suggest giving this solution a try.
I wish you happy holidays! The ticket will remain open for two weeks without activity.