This thread is resolved. Here is a description of the problem and solution.
Problem:
The client is facing an issue where the translated strings for different payment options in the checkout are not displaying on the front end after updating plugins. The issue is specific to the WooCommerce Blocks checkout, where the plugin does not call WPML translation filters.
Solution:
We identified that the plugin was returning the raw option value without passing it through WPML's translation filters. To resolve this, we modified the plugin file to ensure that the title and description are translated before being sent to the checkout block. Here are the steps we took:
- Navigate to
wp-content/plugins/multibanco-ifthen-software-gateway-for-woocommerce/woocommerce-blocks/MultibancoIfthenPay.php
- Replace the existing
get_payment_method_data()
function with the new code that includes WPML translation filters for the title and description.
- Go to WPML --> String Translation and translate the strings again.
This should ensure that the payment method descriptions appear translated in the WooCommerce Blocks checkout. We also recommend informing the plugin author about this issue for a permanent fix.
Please note that this solution might be outdated or not applicable to your specific case. We highly recommend checking related known issues, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the issue persists, please open a new support ticket.
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.
Tagged: WCML
Related documentation:
This topic contains 18 replies, has 0 voices.
Last updated by patriciaR-16 4 weeks, 1 day ago.
Assisted by: Paola Mendiburu.
| Author | Posts |
|---|---|
| September 2, 2025 at 12:38 pm #17366092 | |
|
patriciaR-16 |
Background of the issue: Symptoms: Questions: |
| September 2, 2025 at 2:37 pm #17366759 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Hi there! This is Paola and I have converted into a ticket as I didn´t get answer on the chat. I would like to request temporary access (wp-admin and FTP) to your site to take a better look at the issue. You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it. Privacy and Security Policy **IMPORTANT** |
| September 3, 2025 at 1:20 pm #17370488 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Hi there! I see that the strings that doesn´t appear translated are the ones that comes from the plugin: Multibanco, MB WAY, Credit card, Apple Pay, Google Pay, Payshop, Cofidis Pay, and PIX (ifthenpay) for WooCommerce Could you please install the plugin in the following test site? That way I can see if I can reproduce the issue. Please let me know when it is done. |
| September 4, 2025 at 4:24 pm #17377044 | |
|
patriciaR-16 |
Hello Paola, Thank you, |
| September 5, 2025 at 8:08 am #17378157 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Please let me know what do you see as the link is working for me. |
| September 8, 2025 at 3:31 pm #17384218 | |
|
patriciaR-16 |
Hello Paola, and apologies for the delay in getting back to you. Regarding the plugin, it is already installed and active. If anything else is needed, please don’t hesitate to let us know. We’ll be waiting for your feedback. Manythnaks |
| September 10, 2025 at 8:26 am #17389484 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Ok thanks. I am working on it to see if I can reproduce the problem. |
| September 11, 2025 at 7:37 am #17392917 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Ok, as I need a valid license in order to activate Multibanco. Would you allow me to download a copy of your site to test it locally? |
| September 15, 2025 at 8:11 am #17400973 | |
|
patriciaR-16 |
Hi Paola, I had to confirm with our IT support, and I can confirm that you may download a copy to test it locally. Thank you, I’ll be waiting for your feedback. |
| September 15, 2025 at 5:33 pm #17403670 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
I see that there is a new version of the plugin. Could you please update it first and re-translate the string and let me knoe if the issue is fixed? |
| September 17, 2025 at 11:57 am #17409300 | |
|
patriciaR-16 |
Hello Paola, We have already updated the plugins, including Ifthenpay (where those strings are located), but the issue persists. New ones appeared, I did a rescan for possible new strings, but nothing changed, the error remains. Is there any way we can ensure that these texts appear in the other languages? This point is extremely important for our website’s conversion, since the payment names and texts (at checkout) are in another language and may generate mistrust (for example with the “Multibanco” option). Thank you very much, I look forward to your feedback. |
| September 17, 2025 at 5:42 pm #17410944 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Hi there! I don´t have access anymore to the site. In order to continue the investigation, I would like to request access (wp-admin and FTP) to your site, please add also FTP access so I can have a look to the files for that plugin. I have enabled next answer as private. |
| September 19, 2025 at 8:13 am #17415613 | |
|
patriciaR-16 |
Hello Paola, Please find the temporary login details below: It is possible to access the files via WP File Manager (installed). If you’d like to download a copy of the website, you can do so. Many thanks |
| September 22, 2025 at 8:38 am #17420356 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Thanks. I have deleted the access as you added on a public way. I am downloading a copy with Duplicator so I can investigate the issue. I will let you know when I have news. |
| September 22, 2025 at 11:19 am #17421489 | |
|
Paola Mendiburu WPML Supporter since 11/2020
Languages: English (English ) Spanish (Español ) Italian (Italiano ) Timezone: Europe/Madrid (GMT+01:00) |
Hi there! I have found the issue and was on the plugin code. The reason why the payment method description was not showing translated is that the plugin was returning the raw option value in the WooCommerce Checkout Blocks, without calling WPML translation filters. In the classic checkout (shortcode) it works, because WPML intercepts get_option(). We modified the plugin file so that the title and description are translated before being sent to the checkout block. In order to solved it this is what I have done:
public function get_payment_method_data() {
return apply_filters(
'multibanco_ifthen_blocks_payment_method_data',
array(
'title' => isset( $this->settings['title'] ) ? $this->settings['title'] : '',
'description' => isset( $this->settings['description'] ) ? $this->settings['description'] : '',
'icon' => WC_IfthenPay_Webdados()->multibanco_icon,
'icon_width' => 28,
'icon_height' => 24,
)
);
}
- to this one:
public function get_payment_method_data() {
$title = isset( $this->settings['title'] ) ? $this->settings['title'] : '';
$description = isset( $this->settings['description'] ) ? $this->settings['description'] : '';
// Pass strings through WPML translation
if ( function_exists( 'apply_filters' ) ) {
$title = apply_filters(
'wpml_translate_single_string',
$title,
'admin_texts_woocommerce_multibanco_ifthen_for_woocommerce_settings',
'title'
);
$description = apply_filters(
'wpml_translate_single_string',
$description,
'admin_texts_woocommerce_multibanco_ifthen_for_woocommerce_settings',
'description'
);
}
return apply_filters(
'multibanco_ifthen_blocks_payment_method_data',
array(
'title' => $title,
'description' => $description,
'icon' => WC_IfthenPay_Webdados()->multibanco_icon,
'icon_width' => 28,
'icon_height' => 24,
)
);
}
- then go to WPML --> String translation and translate again the string I recommend you to update the plugin author if it is happening on other strings. |

