Skip Navigation

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.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 10:00 – 17:00 -
- 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 18:00 – 19:00 -

Supporter timezone: Asia/Kathmandu (GMT+05:45)

This topic contains 0 reply, has 1 voice.

Last updated by Shekhar Bhandari 1 month, 1 week ago.

Assisted by: Shekhar Bhandari.

Author Posts
April 14, 2025 at 9:14 pm #16931270

svenH-12

Background of the issue:
I am trying to use automatic translation with WPML on my site hidden link. The translations appear as 100% completed in the backend, but the status does not change to finished, preventing the page translations from being published. I have tried both bulk automatic translations and manual translations in the backend. I have also followed all troubleshooting steps, including disconnecting pro jobs, but the issue persists. The problem mainly affects our main homepage, which is complex, but we have sufficient memory and a large database, so there should not be an issue.

Symptoms:
The translation status does not change to finished, preventing page translations from being published.

Questions:
Why does the translation status not change to finished even though it shows as 100% completed?
What additional steps can I take to resolve this issue with WPML?

April 15, 2025 at 4:14 pm #16935414

svenH-12

Subject: German Homepage Translation Not Showing Despite ATE Showing Completed

Hi there,

We would really appreciate your urgent help — we’ve been working on this issue for nearly 18 hours now and have gone through all possible troubleshooting steps, yet the problem persists.

We are having a critical issue with the German translation of our homepage on hidden link.

🔄 Summary of What We’ve Done:
• We initially had a stuck automatic translation job for the homepage in German that never completed.
• We manually deleted the job, removed the German version of the homepage, and even cleared ghost jobs using the WPML troubleshooting tools.
• We also went through the WPML Support > Troubleshooting tab and ran:
• Fix “tp_id” fields
• Synchronize local jobs with ATE
• Clear WPML cache
• Remove ghost entries
• Fix WPML table collation
• We cleared all caches via WP Rocket and our server, tested in incognito, and verified front page assignments per language in Settings → Reading.

✅ What Now Works:
• The ATE dashboard now shows the homepage translation 100% complete for German.
• In WPML’s Translation Management, we now also see the green check mark.
• The job is no longer stuck, and no error is reported in logs.

❌ But the Issue:
• The translated content is not visible on the frontend (/de) — it shows a blank page
• When editing the German version of the homepage, the block editor is empty — the translated content from ATE is not inserted. But in ATE we can see the entire translation

Please advise how we can fully reset the German translation memory for this page or manually force the translated content from ATE into the post. The issue is affecting our main homepage, and we’re unable to go live with German due to this.

We’re happy to provide any logs, debug info, or backend access if needed.

Thank you in advance for your support.

April 15, 2025 at 9:56 pm #16936219

svenH-12

We’d like to provide a final, detailed update regarding the ongoing German homepage translation issue on hidden link, building on ticket #16931270 and #16935414.

🔁 Recap of the Current Situation

Despite completely deleting the German translation, deactivating WP Rocket, cleaning the database using all available WPML troubleshooting tools, and then translating the German homepage from scratch via ATE, we consistently experience the following issue:
• ATE opens correctly and the translation completes to 100% (using translation memory)
• The “Refreshing translation status…” message appears briefly
• Then the job status immediately reverts to “German translation assigned to local translator”
• The translated content is not inserted into the German version of the page
• The frontend /de shows a blank page

✅ We Have Already:
• Deactivated WP Rocket completely (not just cache cleared)
• Deleted the German version of the page (trashed + permanently deleted)
• Canceled all jobs in Translation Management > Jobs
• Re-added the translation via ➕ using ATE
• Ran all of the following from WPML > Support > Troubleshooting:
• Fix “tp_id” fields
• Clear WPML cache
• Remove ghost entries
• Synchronize translators
• Fix WPML table collation
• Synchronize ATE jobs
• Assign translation jobs to translators
• Cleared all object and page caches from server/CDN and tested in incognito browsers

❌ Still Unresolved:
• After ATE shows 100% complete, WPML does not finalize the translation
• It falsely assigns the job to a local translator
• The translated page is not visible and shows empty content
• Status appears stuck despite no errors or logs

🔧 Request:

Please investigate or manually reset the ATE job status for this translation on your end — the Job ID is 137050473 — or provide a way for us to:
• Fully purge the ATE metadata/state for just this German translation
• Or manually force-insert the ATE output into the translated page

We are happy to provide access, debug info, and logs if needed — this has now been a multi-day blocker and we cannot launch the German version of our homepage until this is resolved.

April 15, 2025 at 9:58 pm #16936221

svenH-12

Additional Observation:
When we cancel the German homepage translation job, the system shows a ✅ green check mark and “translation completed” in the backend. However, the actual translated content is not visible in the German page, neither in the frontend nor in the block editor. The post remains blank.
This suggests the ATE job data is not being injected into the translated post, despite being marked as complete.

April 17, 2025 at 4:31 am #16941759

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hello there,

Thank you for contacting WPML support. I’d be happy to assist you with this issue.

First, I’d like to apologize for the delay in response — we’ve been handling a high volume of requests.

To investigate further, could you please share a few example pages (3–4) where the issue is occurring?

Additionally, I’ll need to check your site’s settings directly. For this, I kindly request **temporary access to your site (both wp-admin and FTP credentials)**.

You can provide the details in the secure fields located below the comment area when submitting your next reply:
hidden link

This information is kept private and accessible only to you and WPML support staff.
For more details, please refer to our privacy and security policy:
https://wpml.org/purchase/support-policy/privacy-and-security-when-providing-debug-information-for-support/

Note: Please ensure that you back up your site before sharing credentials. If possible, providing access to a staging/test site is preferred.

Looking forward to your response.

Thank you

April 18, 2025 at 4:24 am #16946182

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hello there,

I managed to check the homepage and when we are trying to either save the page in default language or download the translations a 500 server error is happening.

It looks like there is some php error happening on your site which is creating the problem, being so can you please follow the below steps and share me the results.

1. Add the following code to your wp-config.php

define('WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );

https://wpml.org/documentation/support/debugging-wpml/

2. Repeat the action of creating the problem.

3. Copy and paste the contents of debug.log (log file inside the /wp-content/ directory) here for me to see.

Look forward to your reply.

Thanks

April 18, 2025 at 9:12 am #16946777

svenH-12

Hi Shekhar

thanks for your help
Our debug was active the entire week and also during your debuggung and all action had been recorded. I have added the entire file (quire large) via Google drive for you:

hidden link

We also did some quick analysis this morning and asked ChatGPT to analyze parts of the log, and here are two recurring fatal errors that may help pinpoint the issue faster:

🧨 1. Fatal Error in WPML ATE Download

Error message:
Uncaught InvalidArgumentException: item should be a Collection or an array or an object
File:
sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php:112

First occurrence in log:
• [17-Apr-2025 16:58:32 UTC]

Possible cause:
The error likely occurs when WPML’s ATE Download\Process->run() expects an array or object but receives something else (string/null). This prevents completed ATE jobs from properly rendering or syncing with the frontend.

🧨 2. Fatal Error in WordPress Block Rendering

Error message:
array_intersect_key(): Argument #1 ($array) must be of type array, string given
File:
wp-includes/block-supports/layout.php:600

Occurrences in log:
• [17-Apr-2025 10:37:33 UTC]
• [17-Apr-2025 12:58:45 UTC]
• [17-Apr-2025 18:15:48 UTC]
• [18-Apr-2025 04:20:05 UTC]
• [18-Apr-2025 04:20:11 UTC]
• [18-Apr-2025 04:21:42 UTC]

Possible cause:
This suggests that one or more block attributes are expected to be arrays but are being passed as strings, possibly during translation or rendering. This crashes several REST API calls and likely breaks page output.

⚠️ 3. WPML Media Translation – Undefined Array Key Warnings

Message:
Undefined array key X (where X ranges from 0–21)
File:
wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php
Seen repeatedly:
e.g.
• [18-Apr-2025 04:15:52 UTC]
• [18-Apr-2025 04:15:57 UTC]
• [18-Apr-2025 04:20:45 UTC]

💡 This may indicate that certain array indices are being assumed when parsing media URLs, but aren’t present—possibly due to missing or malformed media data.

We hope this helps guide you more quickly toward the source of the problem. Let us know what else we can provide.

Best regards,
Sven

April 18, 2025 at 9:36 am #16946877

svenH-12

Additional note and info:

After your debugging this morning the main homepage livetube.tv did not show any images anymore in the backend. We have therefore restored the homepage to a version from yesterday evening.

Since this is a live site - I have created a clone of the homepage for you to work with so that we do not destroy again or risk anything with the main site.

I'd rather like to try to fix this in the live environment than in any stage as we have many interdependencies in our multisite setup which might not fully cloneable. So let's try to fix it here.

The copy of the home page for you is:
hidden link
hidden link

Let me know if you need anything else

Thanks
Sven

April 18, 2025 at 9:47 am #16946936

svenH-12

Also, let me just share some of the errors again and some further investigation from our side:

[17-Apr-2025 16:58:32 UTC]
PHP Fatal error: Uncaught InvalidArgumentException: item should be a Collection or an array or an object
in /wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php:112

[18-Apr-2025 04:20:05 UTC]
PHP Fatal error: Uncaught TypeError: array_intersect_key(): Argument #1 ($array) must be of type array, string given
in /wp-includes/block-supports/layout.php:600

[18-Apr-2025 04:15:52 UTC]
PHP Warning: Undefined array key 0 in class-wpml-media-attachment-by-url-query.php on line 99
PHP Warning: Undefined array key 0 in class-wpml-media-attachment-by-url-query.php on line 163

We also reviewed some of the homepage content manually and found several Gutenberg blocks using "layout":"flex" as a string value inside the block attributes. Based on the stack trace referring to array_intersect_key() in layout.php, this may be relevant — if the function expects an array but receives a string, it could be causing the fatal error. If the layout attribute is supposed to be an object or array, this might point to a block structure issue introduced by the editor or a third-party plugin.

Since the error appears during an ATE (Advanced Translation Editor) download process, it’s also possible that WPML is not handling these block attributes correctly, especially when copying or parsing translated block JSON. It might be treating a string as an array due to a missing structure check or conversion.

The "layout":"flex" structure appears in several UAGB container blocks on our homepage. Given that the error in layout.php is triggered when array_intersect_key() receives a string instead of an array, this might indicate a mismatch in expected data types.

It’s unclear whether this originates from the block definition (possibly a third-party block like UAGB) or from how WPML parses the block attributes during the ATE process. We’d appreciate your help in identifying whether the issue lies in the source block markup or in the way WPML handles this content during translation downloads.

We hope this helps guide you toward identifying the root cause. Let us know if we can assist further or provide block export data for debugging.

April 18, 2025 at 11:29 am #16947115

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hello,

This issue will require in-depth debugging. Could you please provide a backup of the wp-content folder and the database? This will allow me to replicate the issue on my local setup and investigate further.

You can compress the files into a ZIP archive, upload them to Google Drive, and share the download links with me.

I've enabled private replies for your convenience.

Thank you!

April 22, 2025 at 4:05 pm #16956450

svenH-12

Hi there,

just forgot in my earlier answer to also paste the error we believe ius the cuprit.
As I said, when we deactivated the media translation plugin all worked flawlessly again now.

[18-Apr-2025 09:40:03 UTC] PHP Warning: Undefined array key 0 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 99
[18-Apr-2025 09:40:03 UTC] PHP Warning: Undefined array key 0 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:40:03 UTC] PHP Warning: Undefined array key 7 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$query is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 6
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$introspector is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 7
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$response is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 8
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$query is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 6
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$introspector is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 7
[18-Apr-2025 09:40:03 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$response is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 8
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$query is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 6
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$introspector is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 7
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$response is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 8
[18-Apr-2025 09:40:04 UTC] PHP Warning: Undefined array key 1 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$query is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 6
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$introspector is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 7
[18-Apr-2025 09:40:04 UTC] PHP Deprecated: Creation of dynamic property JSON_API::$response is deprecated in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/json-api-master/singletons/api.php on line 8
[18-Apr-2025 09:40:08 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

searchwpcro

domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the

init

action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-includes/functions.php on line 6121
[18-Apr-2025 09:40:08 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the

fv-player

domain was triggered too early. This is usually an indicator for some code in the plugi

Hope this helps in addition to all other info I provided

Thanks
Sven

April 22, 2025 at 4:08 pm #16956455

svenH-12

15/d857208857/htdocs/clickandbuilds/LiveTube/wp-includes/functions.php on line 6121
[18-Apr-2025 09:55:14 UTC] PHP Warning: Undefined array key 1 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:55:14 UTC] PHP Warning: Undefined array key 0 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 99
[18-Apr-2025 09:55:14 UTC] PHP Warning: Undefined array key 0 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:55:14 UTC] PHP Warning: Undefined array key 7 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:55:15 UTC] PHP Warning: Undefined array key 1 in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/wpml-media-translation/classes/class-wpml-media-attachment-by-url-query.php on line 163
[18-Apr-2025 09:55:15 UTC] PHP Deprecated: Optional parameter $apt_integer declared before required parameter $apt_word_type is implicitly treated as a required parameter in /homepages/15/d857208857/htdocs/clickandbuilds/LiveTube/wp-content/plugins/automatic-post-tagger/automatic-post-tagger.php on line 2171

April 24, 2025 at 4:00 pm #16965394

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hi there,

I was able to download the backup file successfully. However, since the `wp-content` folder was not zipped, the download process took significantly longer. For future reference, I recommend compressing folders before sending them to make the process quicker and more reliable.

After replicating the site locally, I noticed that several plugins and themes were missing from the backup. I installed them manually, and the site is now functioning correctly.

I edited the homepage and tested the translation download functionality. Everything worked as expected on my local setup, including media translations with the plugin enabled. This suggests that the issue may be related to an incomplete or incorrect backup.

Regarding the error:

PHP Fatal error:  Uncaught TypeError: array_intersect_key(): Argument #1 ($array) must be of type array, string given in ...sven/wp-includes/block-supports/layout.php:603

This issue occurs even without WPML active. I suggest disabling WPML and refreshing the page—you’ll likely see the error persists. It appears to be related to the container block from the Spectra plugin, so you may want to reach out to their support for further assistance.

Since everything is working correctly on my end, I suspect the backup may not have been complete. Could you please generate a fresh backup (preferably zipped) and share it with me so I can attempt to reproduce the issue more accurately?

Looking forward to your response.

Thanks

May 1, 2025 at 10:14 am #16986321

svenH-12

Hi Shekhar,

Thanks for your investigation and ongoing support.

Apologies for the delayed response.

With media translations deactivated most of our translations are working well with our current setup.

For the stuck translations which not resolve: We discovered that sending eight translations for automatic bulk translation might overwhelm the ATE system when all code also needs to be updated (for the new Spectra Blocks). This causes the ATE system to get stuck, affecting all subsequent translations. When we sent four translations and then another four languages for translation, we were able to resolve the issue. Subsequent translations then work. So it is the amount of code changes due to our migrating to Astra from WP Bakery probably causing the issues and including the code for all the nested containers and formats.

Therefore, we’ll first focus on our translations and keep media translations deactivated. Only when we face further problems I will reach out again and we can work on a stage setup to fully reproduce the issues.

For your additional info and investigation:
As mentioned before, we’ve noticed that the problems are primarily occurring with the Spectra Image Block. As your colleagues mentioned in the other support thread, the images in the new Spectra Blocks don’t always display the correct height and width. However, our research suggests that this is normal when images are nested within blocks, such as Container -> Three Containers -> Images in Container. This seems to cause issues for the ATE system. Your colleague mentioned that everything works when he restores the proper height and width. However, this is not how Spectra works in nested containers. Therefore, this might be something for your development team to investigate.

For now, I’ll keep the ticket open so that I can report any other issues we encounter. We’ll work diligently on the translations over the coming week.

Once again, thank you for your assistance. Please let me know if you require any additional information at this time.

May 2, 2025 at 4:23 am #16987875

Shekhar Bhandari
WPML Supporter since 03/2015

Languages: English (English )

Timezone: Asia/Kathmandu (GMT+05:45)

Hello,

Regarding the image blocks, Is it still happening on the site? Can you provide me an example if it's possible?

Please note that this ticket will remain open for one week without further activity. If you need additional assistance after that, feel free to start a new chat or ticket — we’ll be happy to assist you further.

Thank you.

The topic ‘[Closed] Translation status not changing to finished’ is closed to new replies.