Troubleshooting TranslatePress: Fixing Checkout and Payment Issues in Secondary Languages
Content
Many WordPress users rely on 'Translate Multilingual sites – TranslatePress' to create multilingual stores. However, a common and frustrating issue arises when the checkout page or payment gateways malfunction in a secondary language, while working perfectly in the default language. This guide will help you understand why this happens and walk you through the most effective solutions.
Understanding the Problem
These issues typically stem from conflicts between TranslatePress and other plugins, particularly those handling sensitive e-commerce functions like payment gateways (e.g., PayPal, Mollie) or checkout fields. When a page is translated, TranslatePress can sometimes modify or interfere with dynamic JavaScript elements or specific strings that these plugins rely on to function correctly. This can result in problems like:
- Payment buttons not loading or becoming unclickable.
- Payment methods not appearing in the language-switched checkout.
- Checkout formatting breaking in specific languages.
- Critical form data, like payment gateway information, not being passed correctly.
Common Solutions to Try
1. Clear All Caches
This is always the first step. Caching can serve an old, broken version of your translated page.
- Clear your browser cache and test in an incognito/private window.
- Clear any server-side, plugin, or CDN caches (e.g., from WP Rocket, W3 Total Cache, Cloudflare).
2. Exclude Plugin Strings from Translation
Many payment gateway issues are resolved by preventing TranslatePress from translating the specific text domains of other plugins. This allows those plugins to operate in their original state.
- Navigate to TranslatePress → Settings → Advanced.
- Find the Exclude Gettext Strings option.
- Add the text domain of the problematic plugin. Common examples include:
woocommerce-paypal-payments(for PayPal)mollie-payments-for-woocommerce(for Mollie)woo-viet(as seen in one thread)woocommerce(for general WooCommerce strings)
- Save changes and test your checkout again.
3. Exclude Dynamic Strings from Forms
If a payment form is failing because TranslatePress is adding a language parameter (like trp-form-language) that the gateway doesn't recognize, you can stop this behavior with code. The following code snippet can be added to your child theme's functions.php file or via a code snippets plugin.
/*
* Do not add trp_form_inputs
*/
add_filter('trp_form_inputs', 'trp_remove_trp_form_language', 10, 4);
function trp_remove_trp_form_language($input, $trp_language, $slug, $row)
{
return '';
}
Warning: Always back up your site before adding custom code.
4. Check for and Install Plugin Updates
The 'Translate Multilingual sites – TranslatePress' team regularly releases updates that fix known conflicts. In several threads, a specific bug with PayPal in v.2.9.3 was fixed in a subsequent update. Always ensure you are running the latest versions of TranslatePress, WooCommerce, and your payment plugins.
5. Perform a Conflict Test
If the above steps don't work, a more extensive conflict test is needed.
- Temporarily switch to a default WordPress theme (like Twenty Twenty-Four).
- Deactivate all plugins except for WooCommerce and TranslatePress.
- Test if the checkout works in the secondary language. If it does, you have a conflict.
- Reactivate your plugins one by one, testing after each activation, to identify the culprit.
Conclusion
Checkout and payment issues in secondary languages are almost always due to plugin conflicts. By methodically working through these solutions—clearing cache, excluding strings, checking for updates, and performing conflict tests—you can usually identify and resolve the problem, providing a smooth checkout experience for all your customers, no matter what language they speak.
Related Support Threads Support
-
Duplicate order buttonhttps://wordpress.org/support/topic/duplicate-order-button/
-
Language translations are not displaying correctly when users are logged out.https://wordpress.org/support/topic/anguage-translations-are-not-displaying-correctly-when-users-are-logged-out/
-
Compatibility with Woo Viet on check-out pagehttps://wordpress.org/support/topic/compatibility-with-woo-viet-on-check-out-page/
-
Appear error with another payment plugin when used the translated pagehttps://wordpress.org/support/topic/appear-error-with-another-payment-plugin-when-used-the-translated-page/
-
theme layout and overall functionalityhttps://wordpress.org/support/topic/theme-layout-and-overall-functionality/
-
No payment methods showinghttps://wordpress.org/support/topic/no-payment-methods-showing-2/
-
Using Funnelkit Cart floating icon visibily setuphttps://wordpress.org/support/topic/using-funnelkit-cart-floating-icon-visibily-setup/
-
invoice languagehttps://wordpress.org/support/topic/invoice-language-4/
-
Translatepress PayPal Checkout Issueshttps://wordpress.org/support/topic/translatepress-paypal-checkout-issues/
-
Issue with Translating Terms & Conditions from Germanized in Checkout Pagehttps://wordpress.org/support/topic/issue-with-translating-terms-conditions-from-germanized-in-checkout-page/
-
Cart and Checkout page on Woo are translated partiallyhttps://wordpress.org/support/topic/cart-and-checkout-page-on-woo-are-translated-partially/
-
Translations are broken in checkout production pagehttps://wordpress.org/support/topic/translations-are-broken-in-checkout-production-page/
-
PayPal: We’re sorry, things don’t appear to be working at the moment…https://wordpress.org/support/topic/paypal-were-sorry-things-dont-appear-to-be-working-at-the-moment/
-
Language and currency in top headerhttps://wordpress.org/support/topic/language-and-currency-in-top-header/
-
WooCommerce Checkout page not working on second languagehttps://wordpress.org/support/topic/woocommerce-checkout-page-not-working-on-second-language/
-
WooCommerce “Add to Cart” Buttonhttps://wordpress.org/support/topic/woocommerce-add-to-cart-button-7/
-
Help with video translation in learndashhttps://wordpress.org/support/topic/help-with-video-translation-in-learndash/
-
How to enforce a language?https://wordpress.org/support/topic/how-to-enforce-a-language/
-
Paypal Buttonshttps://wordpress.org/support/topic/paypal-buttons-10/
-
Problem with the main language and translations with Translatepresshttps://wordpress.org/support/topic/problem-with-the-main-language-and-translations-with-translatepress/
-
Styling Translationhttps://wordpress.org/support/topic/styling-translation/
-
Checkout on second language not workinghttps://wordpress.org/support/topic/checkout-on-second-language-not-working/
-
Problem with translating tax in the cart pagehttps://wordpress.org/support/topic/problem-with-translating-tax-in-the-cart-page/
-
Thank you page and body of emails not translated to second language.https://wordpress.org/support/topic/thank-you-page-and-body-of-emails-not-translated-to-second-language/
-
How to translate the log in page on woocommerce my accounthttps://wordpress.org/support/topic/how-to-translate-the-log-in-page-on-woocommerce-my-account/