Home›Support›English Support›[Resolved] Problem in translating order button label (Checkout plugins - Stripe for woocommerce)
[Resolved] Problem in translating order button label (Checkout plugins - Stripe for woocommerce)
This thread is resolved. Here is a description of the problem and solution.
Problem: The client is using 'Checkout Plugins - Stripe for WooCommerce' to add payment methods to their WooCommerce store and is facing issues translating the Order button label from Italian to English. Despite translating all necessary strings in WPML's String Translation, the translations do not appear on the Cart Page in English. Solution: 1) Ensure that the strings are assigned to the correct source language. For guidance, visit https://wpml.org/documentation/getting-started-guide/string-translation/how-to-change-the-source-language-of-strings/. 2) Delete the string from WPML String Translation, then register and translate them again. To do this, go to WPML > String Translation and enable the option to 'Register strings while page is rendered'. Refresh the frontend page where the strings appear to register the strings again. 3) If the issue persists, it might be due to the plugin 'Checkout Plugins - Stripe for WooCommerce' not fully supporting translations or due to recent changes in how WordPress handles text domains. Enable WP DEBUG to check for errors related to text domain loading, following the guide at https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/. 4) If none of the above solutions work, consider switching to alternative plugins like 'Payment Plugins for PayPal WooCommerce' or 'Payment Plugins for Stripe WooCommerce', which are confirmed to be fully translatable.
If these steps do not resolve your issue, or if the solution seems outdated or irrelevant to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If needed, please open a new support ticket at WPML support forum for further assistance.
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.
Background of the issue:
I am using the plugin 'Checkout plugins - Stripe for Woocommerce' to add more payment methods to my Woocommerce store. I am trying to translate the Order button label of the payment methods appearing on the Cart Page from Italian to English. I have already translated all the strings needed in WPML's String Translation, but it didn't work. I also followed a support request with a similar issue (link: https://wpml.org/forums/topic/translation-of-payment-methods/#post-13392735), but it didn't solve my problem. The issue can be seen on this page: hidden link
Symptoms:
The strings always appear in Italian on the English version of my website, although I have translated them.
Questions:
Why are the translated strings not appearing in English on the Cart Page?
Is there a specific step I might have missed in the translation process for the Order button label?
2) Verify if deleting the string from WPML String Translation and registering and translating them again solves the issue.
You can go to WPML > String Translation and in the bottom section enable the option to "Register strings while page is rendered" to register the string again.
To do this you will need to enable the option, then go to the Frontend where the strings appear. If you have the page already open, please refresh it. This should register the strings again.
---
If this does not clarify the reason for the issue, then it might be an issue "Checkout Plugins - Stripe for WooCommerce".
The latest major version of WordPress changed how plugins and theme load their text domains in WordPress.
I checked the strings and they are assigned to the correct language respectevely.
There were both all the Strings in English ("Pay with Klarna/Alipay/WeChat" and so on, translated in Italian) and all the Strings in Italian ("Paga con Klarna/Alipay/WeChat" and so on, translated in English).
I thought this could generate a conflict and I delete first the English version of the Strings, leaving only the Italian ones, than doing the opposite process.
In the end I delete everything and registred all of them again, but unfortunately none of these operations solved the problem.
Certain strings may require a specific procedure to be located and translated.
Moreover, the proper method for translating strings greatly depends on how they have been incorporated into the plugin. Some plugins might not even be written in a way where the coded strings are implemented in an "internationalized" way so that is why no multilingual plugin might be able to see the strings out of the box without some extra work upfront.
IMPORTANT - this might be the situation here: Sometimes, there are even duplicates of the same string and only one of them is the correct one that needs to be translated.
Also, sometimes, simply removing the string (checking the box and removing it) and then re-registering it again by scanning for it (one of the methods below) and re-translating it resolves the issue. From my understanding, you already tried this (as my colleague also mentioned this step above).
Please attempt both methods and check if either of them resolves the issue.
Method 1:
Navigate to WPML > String Translation, and at the bottom of the page, you will find a checkbox labeled "Look for strings while pages are rendered." You can enable (check) that option, then go to the front end to a page where the string is displayed, and afterward return to WPML > String Translation to search for that string and see if it now appears.
Method 2:
If you can't locate them within WPML > String Translation, they might be included as admin text strings.
Actually my problem is the opposite: strings appear and are translated in the backend but they are not displaying in English in the frontend.
Please have a look to my screenshot.
As I was explaying to your colleague, I thought there was a conflict between the English version of these strings and the Italian one.
I tried to solve the problem by deleting one of the two versions. First I cancel the English strings and leave only the Italian ones, then I restored the English version and delete the Italian part. However, the problem is still there.
I think the English version is by Woocommerce, while the Italian one is by Checkout plugins - Stripe for Woocommerce.
Sorry to write to you only today, but I experimented with another way to translate payment methods and found that it works.
Apparently I was using two payment plugins that were not compatible or fully translatable from WPML: 'Stripe for Woocommerce by Checkout Plugins' and 'Woocommerce PayPal Payments' by Woocommerce.
I then tried two other plugins ('Payment Plugins for PayPal WooCommerce' and 'Payment Plugins for Stripe WooCommerce', both by Payment Plugins) and found that they are translatable throughout.
I share this information to help other people who may have the same translation problem.
Anyway, thanks for your assistance!
Best regards
Manage Cookie Consent
We use cookies to optimize our website and services. Your consent allows us to process data such as browsing behavior. Not consenting may affect some features.
Functional
Always active
Required for our website to operate and communicate correctly.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
We use these to analyze the statistics of our site. Collected information is completely anonymous.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
These cookies track your browsing to provide ads relevant to you.