This thread is resolved. Here is a description of the problem and solution.
Problem:
If you're experiencing a fatal error on the WPML Theme & Plugin Localization page when Kadence Blocks is activated, it might be due to a conflict between WPML and Kadence Blocks. This issue is identified by a PHP fatal error related to unknown format specifiers in string placeholders within the WPML String Translation functionality.
Solution:
We recommend checking the WPML > String Translation section for strings that use placeholders like "%s comments". Ensure that placeholders like "%s" are correctly and identically translated across all languages. Additionally, the issue might be linked to a .po or .pot file on your server, which could contain errors. Review these files for any incorrect format specifiers or translation errors. For more details on similar issues, you can visit WPML Errata.
If this solution does not resolve your issue or seems irrelevant due to being outdated or not applicable to your case, we highly recommend checking related known issues at WPML Known Issues, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If further assistance is needed, please open a new support ticket at 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: Exception
This topic contains 9 replies, has 3 voices.
Last updated by Pieter 3 months, 4 weeks ago.
Assisted by: Andreas W..
Author | Posts |
---|---|
October 26, 2024 at 11:39 am #16333182 | |
Pieter |
Background of the issue: Please remove this plugin from your compatibility list! The last tested version was on: August 6, 2021! Every 4-6 months I receive an email from WPML to check compatibility of my plugins, Kadence obviously is not interested in keeping their software compatible, and to be honest I find it quite shocking that plugins of developers not responding to your emails, remain listed as "fully compatible and thoroughly tested", which clearly is utter nonsense! Symptoms: Questions: |
October 27, 2024 at 12:03 pm #16334551 | |
Waqas Bin Hasan Supporter
Languages: English (English ) Timezone: Asia/Karachi (GMT+05:00) |
Hi, Thank you for contacting the support and we appreciate your concern. Our compatibility team tries their best to maintain 3rd party compatibility. I'll request if you can provide more details on the error (i.e. error dump), as well as, some steps to reproduce and debug information about your setup, our team may help fixing it temporarily while checking with Kadence. Meanwhile, one of my colleagues takes up this case, I've enabled the debug information section for your next reply. Additionally you can also take a look at https://wpml.org/faq/checklist-before-opening-a-ticket-in-wpml-support/ and cross-check for a few initial fixes. See https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/ for details on privacy and security. Regards. |
October 28, 2024 at 1:40 pm #16337894 | |
Pieter |
I have disabled another plugin as it was also causing conflicts, that one is Sendcloud | Smart Shipping Service (link of plugin on WP.org) Steps to reproduce already provided in inital post under Symptoms and below you can find the entry on the Fatal Error that is triggered after visiting the Theme and plugins localization page with Kadence active. [25-Oct-2024 14:14:18 UTC] PHP Fatal error: Uncaught ValueError: Unknown format specifier "t" in /public_html/wp-content/plugins/wpml-string-translation/classes/translations-file-scan/wpml-st-translations-file-registration.php:100 Stack trace: #0 /public_html/wp-content/plugins/wpml-string-translation/classes/translations-file-scan/wpml-st-translations-file-registration.php(100): sprintf() #1 /public_html/wp-content/plugins/wpml-string-translation/classes/translations-file-scan/wpml-st-translations-file-registration.php(65): WPML_ST_Translations_File_Registration->save_file_info() #2 /public_html/wp-includes/class-wp-hook.php(326): WPML_ST_Translations_File_Registration->cached_save_mo_file_info() #3 /public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters() #4 /public_html/wp-includes/l10n.php(768): apply_filters() #5 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/JustInTime/MO.php(95): load_textdomain() #6 /public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Collection.php(228): WPML\ST\MO\JustInTime\MO->WPML\ST\MO\JustInTime\{closure}() #7 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/JustInTime/MO.php(94): WPML\Collect\Support\Collection->each() #8 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/JustInTime/MO.php(76): WPML\ST\MO\JustInTime\MO->loadTextDomain() #9 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/JustInTime/MO.php(48): WPML\ST\MO\JustInTime\MO->load() #10 /public_html/wp-includes/l10n.php(195): WPML\ST\MO\JustInTime\MO->translate() #11 /public_html/wp-includes/l10n.php(306): translate() #12 /public_html/wp-content/plugins/kadence-blocks/vendor/vendor-prefixed/stellarwp/uplink/src/Uplink/Admin/License_Field.php(84): __() #13 /public_html/wp-content/plugins/kadence-blocks/vendor/vendor-prefixed/stellarwp/uplink/src/Uplink/Admin/Provider.php(106): KadenceWP\KadenceBlocks\StellarWP\Uplink\Admin\License_Field->register_settings() #14 /public_html/wp-includes/class-wp-hook.php(322): KadenceWP\KadenceBlocks\StellarWP\Uplink\Admin\Provider->admin_init() #15 /public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #16 /public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #17 /public_html/wp-admin/admin.php(175): do_action() #18 {main} thrown in /public_html/wp-content/plugins/wpml-string-translation/classes/translations-file-scan/wpml-st-translations-file-registration.php on line 100 |
October 28, 2024 at 2:33 pm #16338214 | |
Andreas W. Supporter Languages: English (English ) Spanish (Español ) German (Deutsch ) Timezone: America/Lima (GMT-05:00) |
Hello, This is more likley a translation issue inside a language file or directly on String Translation. Example: Revise WPML > String Translation for strings that use placeholders, like for example: "%s comments" It is very likely that on one of the translations, the placeholder was not translated correctly. Placeholders lie "%s" need to be identical in every language. Best regards |
October 28, 2024 at 3:19 pm #16338498 | |
Pieter |
Hi Andreas, Hmmm ok, it would be "good" if that's the issue. Pity that a search in String Translation on `%s` doesn't work. I wonder if nuking all the `.mo` files would help? And what remains of course is that plugin developers seemingly do not have to test their plugins with new versions as there are no consequences. This is a completely different issue, but if not addressed I will keep that in mind for my own plugins here on WPML. |
October 28, 2024 at 9:56 pm #16339821 | |
Andreas W. Supporter Languages: English (English ) Spanish (Español ) German (Deutsch ) Timezone: America/Lima (GMT-05:00) |
Hello, Yes, deleting and regenerating the .mo-files could be an option, but if the issue remains on WPML > String Translation, then this will not solve the problem. I would like to request temporary access (wp-admin and FTP) to the site to investigate the issue further. The required fields are below the comment section when you log in to leave the next reply. The information you provide is private, meaning only you and I can see and access it. IMPORTANT If you can't see the "wp-admin / FTP" fields, your post and site login details will be set to "PUBLIC". DO NOT publish the data unless you see the required wp-admin / FTP fields. I may need to install a plugin called "All In One WP Migration" here to create a copy of the site that I can use to investigate the issue further. However, I would also be very grateful if you could provide a staging site or copy of the website from your server for this purpose. If you have any questions about creating such a staging site, you can consult your hosting provider. Please note that WPML must also be registered on this staging site at https://wpml.org/de/account/websites/. If you are not able to provide such a copy of the website for testing, please let me know on this ticket. The private reply form looks like this: The next time you reply, click on "I still need assistance". Video: Please note that we are obliged to request this information individually on each ticket. We are not allowed to access any credentials that were not specifically submitted on this ticket in the private response form. Best regards |
October 29, 2024 at 8:23 am #16340655 | |
Pieter |
Hello Andreas, The issue is not and never was on String Translations. It's on Theme & plugins localization. Also your reply doesn't make sense, as you said it is not a bug, and the issue is related to a wrong translation of a parameter, such as %s or %1$s. I replied that searching on that doesn't work in String Translation which I am sure you are aware of. And now all of a sudden you want access to further "troubleshoot". Troubleshoot what? You gave the answer. I cannot resolve it, because WPML's search function is garbage, but I will have to find something else that works for me. Unless of course it is not at all what you said it is... Cannot give you access and I don't have time to setting up a staging site. Pieter |
October 29, 2024 at 3:20 pm #16343233 | |
Andreas W. Supporter Languages: English (English ) Spanish (Español ) German (Deutsch ) Timezone: America/Lima (GMT-05:00) |
I am really sorry to hear that, but I can not solve the issue for you if you can not provide access. The error you are reporting points to WPML String Translation and occurs when scanning translation files for new strings. An issue on String Translation can be linked to WPML > Theme & Plugin Localization, as this screen is used to add strings to WPML > String Translation. It could even be that the main issue here is inside a .po file or .pot file on the server. Source file error in: |
October 29, 2024 at 4:00 pm #16343476 | |
Pieter |
Hello Andreas, You cannot solve the issue as you decisively declared it is not a bug with Kadence and instead a problem with a wrong translation. I also cannot solve the issue as search on "%s" does not function within WPML String Translation as it returns all strings containing the letter "s" 🤦♂️ Giving you access or spinning up a staging site is not going to change any of that. And since the issue is not a dealbreaker (the page can be accessed by deactivating the Kadence plugin), it will just have to be this way. Thanks anyways. |
October 30, 2024 at 7:08 am #16344916 | |
Pieter |
Kadence has confirmed this is a bug on their side: |