Waiting for author
Reported for: WPML Multilingual & Multicurrency for WooCommerce 5.3.5
Overview of the issue
If you are using the WooCommerce PayPal Payments plugin, you will find it is not possible to translate the “Pay via PayPal” button and associated buttons shown on the front end.
Workaround
Note, following updates to the PayPal plugin the advice below has changed.
Please, make sure of having a full backup of your site before proceeding.
We recommend adding the below code in a custom plugin. Just copy the code and save it in a file with a name of your choice and a .php extension, e.g. fix-paypal-button-language.php:
<?php
/*
* Plugin Name: Language Setting for WooCommerce PayPal Payments
* Description: Filter the button language to match the current language
* Author: OTGS
* Version: 1.0
*/
if ( ! str_contains( wp_get_referer(), "wp-admin" ) ) {
add_filter( 'option_woocommerce-ppcp-data-settings', function( $value ){
$current_language = apply_filters( 'wpml_current_language', null );
$languages = apply_filters( 'wpml_active_languages', null );
$locale = $languages[ $current_language ]['default_locale'];
if ( is_array( $value ) && is_string( $locale ) ) {
$value['button_language'] = $locale;
}
return $value;
});
}
Hello,
I was able to translate the labels in the credit card fields, but the input box do not show in my translated language. Any idea how to fi this?
Thanks.
Hello Alexanne,
I’m afraid this is a different issue from the one reported here. If you can’t find the related string in WPML > String Translation, please open a chat in our assistance channel.
We will be able to help you better there.
But with this workaround i can no longer update the module without making this change every time i update it.
Hi there,
Thanks for your feedback, and sorry for the inconvenience. Unfortunately, until the WooCommerce PayPal Payments developers implement a permanent fix, you’ll need to reapply this workaround after each update. You can follow the ticket here.