If this solution does not resolve your issue, or if it seems outdated or irrelevant to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If 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.
Background of the issue:
I am trying to translate a page using ATE. The issue can be seen on the page: hidden link.
Symptoms:
Pages appear translated in ATE but stay 'in progress' and no new translation is made. Additionally, when trying to make changes in String Translation for 'elementor-17976' related to the page, it gives 'Translation update failed.'
Questions:
Why does the page stay 'in progress' in ATE?
Why does the translation update fail for 'elementor-17976'?
I already tried all debugging procedure like:
- Deactivating all plugins except Elementor and WPML doesn't help
- Deleting the job in progress and making a small change doesn't help
- Deleting package and then clear WPML cache and all the other possible debugging options didn't help
- Deleting the translated page, the package, WPML Cache ... etc doesn't help
- Disconnecting and reconnecting licence didn't help
I will try to answer the question before assigning the ticket to one of my colleagues.
Would you please go to WordPress Dashboard > WPML > Support > Advanced Translation Editor > Error Logs (link)
And give us the error you use at the top row of the table?
Also, try by going to the advanced translation editor on a page and from the top right section select the gear/settings icon and enable the previous version of the ATE.
A feedback box will show. Add something and click submit.
The page will reload and the previous version will show. Try to make the 100% translation as complete. See if it works that way?
After trashing the page, and trying the first workaround, I get a fatal error.
Here is what I received (in french):
Si vous cherchez de l’aide pour ce problème, les informations suivantes pourraient vous être demandées :
WordPress version 6.7.1
Thème actif : Hello Elementor Child (version 1.0.1)
Extension actuelle : WPML Multilingual CMS (version 4.6.14)
PHP version 8.1.31
Détails de l’erreur
======================
Une erreur de type E_ERROR a été causée dans la ligne 501 du fichier /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/functions-load-tm.php. Message d’erreur : Uncaught Error: Call to a member function get_source_language_code() on bool in /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/functions-load-tm.php:501
Stack trace:
#0 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Hooks/class-wpml-tm-ate-jobs-actions.php(153): wpml_tm_create_ATE_job_creation_model(177, true)
#1 [internal function]: WPML_TM_ATE_Jobs_Actions->{closure}(177, 0)
#2 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(164): array_map(Object(Closure), Array, Array)
#3 [internal function]: WPML\FP\Fns::WPML\FP\{closure}(Object(Closure), Array)
#4 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array(Object(Closure), Array)
#5 [internal function]: WPML\FP\Fns::WPML\FP\{closure}(Object(Closure), Array)
#6 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php(56): call_user_func_array(Object(Closure), Array)
#7 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/ATE/Hooks/class-wpml-tm-ate-jobs-actions.php(152): WPML\FP\Fns::__callStatic('map', Array)
#8 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/class-wp-hook.php(324): WPML_TM_ATE_Jobs_Actions->added_translation_jobs(Array, 1, Object(WPML_TM_Translation_Batch))
#9 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#10 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#11 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php(1478): do_action('wpml_added_tran...', Array, 1, Object(WPML_TM_Translation_Batch))
#12 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php(112): TranslationManagement->send_jobs(Object(WPML_TM_Translation_Batch), 'post', 1)
#13 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(164): WPML_Translation_Job_Factory->create_local_job('17976', 'en', NULL, 'post_page', 1, 'fr')
#14 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(43): WPML\TM\Jobs\Manual->createLocalJob('17976', 'fr', 'en', 'post_page')
#15 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPML\TM\Jobs\Manual->createOrReuse(Array)
#16 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/editor/Editor.php(92): WPML\FP\Right->map(Array)
#17 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-queue/class-wpml-translations-queue.php(52): WPML\TM\Editor\Editor->open(Array)
#18 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/class-wp-hook.php(324): WPML_Translations_Queue->load(Object(WP_Screen))
#19 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#20 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#21 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-admin/includes/class-wp-screen.php(424): do_action('current_screen', Object(WP_Screen))
#22 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-admin/includes/screen.php(243): WP_Screen->set_current_screen()
#23 /home/customer/www/staging5.xxxxxxxxxxxxxxx.com/public_html/wp-admin/admin.php(212): set_current_screen()
#24 {main}
thrown
So I couldn't even get to the second workaround !
If you want, as it is a staging, I can give you access and you can see by yourself.
Yes, I would like to take a look at the staging site. I have set the next message private so you can securely share the access credentials to the site.
After running several tests the issue persists. For this reason, I decided to escalate the ticket to our 2nd tier of support where our specialists will look at the problem deeper.
Please don't modify the staging site to allow our 2nd tier specialists to run more tests on the site if needed.
I will keep you updated on the evolution of this ticket.
Yes, it solved the problem, that great.
But I have a little concern there:
Does it mean I'm going to have to hack the Elementor Pro plugin everytime there is an update ?