Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client encountered a fatal error and a site crash when attempting to update the WPML String Translation Plugin to version 3.2.10, especially when WooCommerce was active.

Solution:
We acknowledged the issue as a known bug and informed the client that a fix would be included in the upcoming WPML String Translation version 3.2.11. We provided a workaround for the issue, which can be found at WPML String Translation 3.2.10 fatal error due to format specifier.

Please note that the solution provided might be outdated or not applicable to your case. If the workaround does not resolve your issue, or if you are experiencing a different problem, we highly recommend checking the related known issues, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If you still need assistance, please do not hesitate to open a new support ticket. You can reach our support forum here: WPML support forum.

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: 

This topic contains 18 replies, has 2 voices.

Last updated by Andreas W. 10 months, 2 weeks ago.

Assisted by: Andreas W..

Author Posts
April 3, 2024 at 9:50 am #15477214

paulW-38

I am trying to: Update WPML String Translation Plugin to 3.2.10

Link to a page where the issue can be seen: hidden link

I expected to see: successful update of the plugin

Instead, I got: a fatal error - site crash:

When upgrading to WPML String Translation Version 3.2.10 the site breaks completely with the following error:

2024/04/03 06:05:34 [error] 115432#115432: *4602 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ValueError: Missing format specifier at end of string in /www/magpedcom_866/public/wp-content/plugins/woocommerce/includes/class-wc-post-types.php:234
Stack trace:
#0 /www/magpedcom_866/public/wp-content/plugins/woocommerce/includes/class-wc-post-types.php(234): sprintf('Alle %', 'Marke')
#1 /www/magpedcom_866/public/wp-includes/class-wp-hook.php(324): WC_Post_Types::register_taxonomies('')
#2 /www/magpedcom_866/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#3 /www/magpedcom_866/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#4 /www/magpedcom_866/public/wp-settings.php(695): do_action('init')
#5 /www/magpedcom_866/public/wp-config.php(108): require_once('/www/magpedcom_...')
#6 /www/magpedcom_866/public/wp-load.php(50): require_once('/www/magpedcom_...')
#7 /www/magpedcom_866/public/wp-admin/admin.php(34): require_once('/www/magpedcom_...')
#8 /www/magpedcom_866/public/wp-admin/edit-comments.php(10): require_on" while reading response header from upstream, client: 83.175.125.219, server: stg-magpedcom-integration.kinsta.cloud, request: "GET /wp-admin/edit-comments.php HTTP/2.0", upstream: "hidden link:", host: "stg-magpedcom-integration.kinsta.cloud:64405", referrer: "hidden link

When I deactivate all other plugins except WPML Multilingual CMS, I can activate WPML-String Translation Plugin Version 3.2.10.
BUT as soon as WooCommerce is active and I trie to activate Version 3.2.10 of the WPML String Translation the site breaks completely with fatal error.
After deactivating WPML String Translation the site is up and running again.

All plugins are updated to the latest version and also WP 6.5 is already installed.

April 3, 2024 at 9:54 am #15477227

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

Please go to WPML > String Translation and search for the string "Alle %".

The "%" is a placeholder and should not be missing or altered on the translated string.

Make sure that this string is translated correctly, to something like "All %" in case of English.

If this will not solve the issue, please let us know.

Best regards
Andreas

April 3, 2024 at 10:10 am #15477350

paulW-38

Hi Andreas!

thanks for your super fast response!
Im able to activate the WPML String Translation plugin 3.2.10 if I before deactivate the WooCommerce plugin.
If I activate then also WooCommerce the site totally crashes again. All other plugins are deactivated.
When I then deactivate the WPML String Translation plugin 3.2.10 I can activate all other plugins with no problems.

If I search for „Alle %“ I get tons of results. No idea where to start here.
Should I try to revert to 3.2.9 and see if the fatal error also occurs with the old version?

How can I send you the backend credentials and SSH credentials so that you may have a lock at our integration site?

kind regards

:: Paul

April 3, 2024 at 11:51 am #15477899

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello Paul,

I would like to offer to have a closer look at the problem and request temporary access (wp-admin and FTP) to the website to investigate this issue further.

You can find the required fields below the comment section when you log in to leave the next reply. The information you provide is private, which means only you and I can see and access it.

IMPORTANT
Please be sure to make a backup copy of the website and database before allowing us access.
If you can't see the wp-admin / FTP fields, your post and website credentials are set as PUBLIC. DO NOT publish the data unless you see the required wp-admin / FTP fields.

The private response form looks like this:
hidden link

Next time you reply, click "I still need assistance."

Video:
hidden link

Please note that we are obliged to request this information individually on each ticket. We may not access any access information not specifically submitted on this ticket in the private response form.

Best regards
Andreas

April 3, 2024 at 4:50 pm #15479681

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hello,

Please take kindly note that we are investigating why this issue occurs, but I do have a theory about it and would like to share this workaround with you.

Also, take note that we have ran some tests in similar setups and we were not yet able to recreate the same error on a new WordPress install. I am now waiting for further feedback from our developers about the source of the issue.

WORKAROUND:

If I scan WooCommerce at WPML > Theme and Plugin Localization for new strings and search on String Translation for the string "All %s" inside the text domain "woocommerce" and translate the string in German to "Alle %s" then the error is gone.

We are unsure at this point why this issue occurs, but I can see that your site is having issues with creating the custom language files that WPML needs to load the translations for each language on String Translation.

You can find for this purpose a dynamic dialog to create those files at WPML > Theme and Plugin Localization on the top of the page.

On your staging, I had issues with running this dialog, but after scanning the theme and all plugins for new strings this dialog no longer shows up and I can confirm that the custom language files are created.

Best regards
Andreas

April 3, 2024 at 5:04 pm #15479694

paulW-38

Hi Andreas!

I highly appreciate your support!!
In production we are still on version 3.2.9. for the WPML String translation plugin.
--> there is not really a high time pressure to solve the issue.
Of course I hope your developers can find the cause of the issue soon, so that we can update to WP 6.5. and the latest WPML plugin versions.

I would not like to do the workaround in production right now, as long as we don't know the cause of the issue.

Did you also try to revert to version 3.2.9 and see if the error then still occurs?

If you need a fresh clone of the production as new integration environment for further testing please let me know.

best regards

:: Paul

April 3, 2024 at 5:09 pm #15479759

paulW-38

another thing: when I login now to the integration environment I get this popup message:
WPML needs to generate .mo files
WPML String Translation nutzt .mo-Dateien statt Datenbankaufrufe. WPML muss diese .mo-Dateien generieren, damit die Übersetzungen im Frontend angezeigt werden.

April 3, 2024 at 5:19 pm #15479770

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

No, I did not try to downgrade on your staging, but we do have a DB backup for running further tests and our dev team is already on it.

About your last comment:

I think that this dialog might be the reason for the issue because once I tried to run the dialog on your site, it did not work as expected.

I then scanned the theme and all plugins for new strings, and then the dialog did not show up again.

This dialog is needed, so that WPML can create custom language files inside /wp-content/languages/wpml, and in this way, it will be able for example to display the default translations for WooCommerce based on the language files coming with the plugin.

This usually would solve the error on your site, as String Translation then will pull in the default translations for each active language. As I said, it was solved after I translated this string myself.

I suggest you try to run this dialog by marking all plugins.

If you run into an issue with completing the dialog take note that such issues might be related
to missing folder write permissions or other security measures on the server.

I would suggest you first reach out to Kinsta in case you are not able to complete the dialog, which means most likely that the /wp-content/languages folder and its subfolders do not have a "write" permission on the server.

April 3, 2024 at 5:35 pm #15479820

paulW-38

thanks Andras!
I did run the dialogue and it successfully completed with 113 items.
We use standard kinsta-hosting and never changed any file permission.

Hopefully your devs can find the cause of this issue soon...

:: Paul

April 3, 2024 at 5:38 pm #15479826

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Hi Paul,

Now, that the custom language files are created on your site, could you please do me a huge favor and create a new staging from this site on which you update WPML and String Translation and let me know if you still run into this error?

April 3, 2024 at 5:39 pm #15479828

paulW-38

sure will do so...

April 3, 2024 at 5:46 pm #15479878

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Thank you, the private reply form is enabled again.

April 3, 2024 at 6:01 pm #15479938

paulW-38

Hi Andreas!
I created a fresh copy of the production now for you. Your credentials are the same.

:: Paul

April 3, 2024 at 6:30 pm #15480057

Andreas W.
Supporter

Languages: English (English ) Spanish (Español ) German (Deutsch )

Timezone: America/Lima (GMT-05:00)

Thank you, Paul.

The error still occurs on this new staging.

If you go to your server at /wp-content/languages/missing and delete the file woocommerce-de_DE.mo the error will be gone.

The second tier support will take over from here with their investigation and I will reach out to you again once I receive their feedback.

April 3, 2024 at 6:36 pm #15480066

paulW-38

thanks you so much for your great support Andreas!
Looks like you getting closer to the cause of the issue 🙂

good evening from Tyrol/Austria

:: Paul