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
- - 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00 9:00 – 18:00
- - - - - - -

Supporter timezone: America/Lima (GMT-05:00)

Tagged: 

This topic contains 11 replies, has 2 voices.

Last updated by Andreas W. 4 days, 18 hours ago.

Assisted by: Andreas W..

Author Posts
September 19, 2024 at 2:23 pm #16199417

erikM-19

Background of the issue:
I am trying to maintain the status of my translations as "Translation completed" in the "Translation Management" section, but they have all suddenly changed to "Needs update" without *any* changes on my part. Link to a page where the issue can be seen: hidden link. Screenshot: hidden link Some example screenshots of such elements with URL parameters: Example #1: hidden link Example #2: hidden link My WPML version is 4.6.13.

Symptoms:
The status of ALL my translations changed to "Needs update". Upon inspection, the elements which have their translations wiped out in the Advanced Translation Editor are content snippets containing links with URL parameters.

Questions:
Is it possible that something has changed in a recent WPML update in the way links with parameters are handled, causing WPML to incorrectly mark these posts as "Needs update"?
Is there a remedy, such as a PHP filter, so I can ignore these and ensure the status of these translations remains "Translation completed" as expected?
As a last resort, can I mark all of these translations manually as "Translation completed"?

September 20, 2024 at 8:24 pm #16204110

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

Hello,

Thank you for reaching out and providing such detailed information.

The issue seems to be related to this errata:
https://wpml.org/errata/advanced-translation-editor-ate-removes-ampersand-from-urls/

Workaround:
In the right-upper corner of the WPML Translation Editor click the settings icon and use the option to revert the UI to the legacy layout (ATE Gen2).

Let us know if further assistance will be needed.

Best regards
Andreas

September 21, 2024 at 6:53 am #16204456

erikM-19

Hi Andreas,

Thanks for your reply.

After reviewing the known issue you mentioned, I can confirm that the issue I'm experiencing does not seem related to the ampersand (&) problem in URLs you mention. In my case, the hyperlinks in the translations are exactly identical, with no changes at all.

My issue is that all my posts in the "Translation Management" section have been being marked as "Needs update" en masse without any changes on my part. What you see in the screenshots is what the Advanced Translation Editor sees as 'changes' which I guess triggered this change.

This not only causes confusion but also leads to unnecessary usage of translation credits if I attempt to 'fix' it by running all of them through the automatic translator.

Could you please advise on the following:

A) How can I restore the status of these posts to "Translation completed" without having to expend credits on translations that have not actually been updated?

B) How to prevent this from happening again in the future?

I greatly appreciate any guidance you can provide on this matter. Thank you!

Best regards
Erik

September 23, 2024 at 2:21 pm #16210332

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

Hello,

Please go to WPML > Settings > Translation Mode and choose "Translate what you choose".

If you open now one of the translations that are "In progress" can you confirm that the status of this content is in fact at 100%?

Best regards
Andreas

September 23, 2024 at 7:46 pm #16211708

erikM-19

Hi Andreas,

The settings were already set to "Translate What You Choose," and if you look at the screenshots in the first post of this topic, you can see that the content status is not at 100%.

The elements causing the slight percentage difference, preventing it from reaching 100%, are all content snippets containing links with URL parameters. These elements have had their translations wiped out in the Advanced Translation Editor.

Looking forward to your reply how to:

A) Restore the status of all these posts to "Translation completed" without having to expend credits on these element translations that have not actually been updated?

B) How to prevent this from happening again in the future?

Thank you.

September 24, 2024 at 2:11 am #16212178

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

Hello,

This still could be related to the known issues I mentioned earlier.
https://wpml.org/errata/advanced-translation-editor-ate-removes-ampersand-from-urls/

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

September 24, 2024 at 11:22 am #16214240

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

About your example:

/essaouira-met-kinderen/

Segments that changed on the original content:

- Ocean Vagabond: zoek je een kindvriendelijk restaurant in Essaouira waar je lekker kan eten, dan is dit een hele goede optie.

This segement is not using a link, it is using a string tag for bold text.

- Ocean Vagabond: zoek je een kindvriendelijk restaurant in Essaouira waar je lekker kan eten, dan is dit een hele goede optie.

This segment has a link, but the marker is seperated into three parts due to the way the segment was translated automatically. You can not save this marker, as it needs to be connected. This can only get adjusted manually.

See screenshot.

marker.jpg
September 24, 2024 at 12:28 pm #16214739

erikM-19

Hi Andreas,

Thank you for having a peek.

I understand that WPML is having issues with certain segments, which is no problem. However, all (approx) 700 posts had already been translated and were marked as 'Translation complete'.

The mystery is why all 700 posts suddenly changed to 'Needs update'. According to the 'last_update' field, this happened on July 4th around 7pm. Screenshot: hidden link

Could it be that WPML triggered this during an update, possibly when version 4.6.11 was deployed?

To add to the confusion, when I use the automatic translator on the segments you mentioned, nothing changes in the translated posts. See screenshot: hidden link

So, why did these 700 posts change status from 'Translation complete' to 'Needs update' when there are no actual changes in the translated posts?

I hope you can clarify this to prevent my posts from being incorrectly marked as 'Needs update' in the future, especially when I add 10 more languages. This could potentially consume many credits for fixing an incorrect translation status for translationed posts that are no different from the 'outdated' ones.

Looking forward to your reply.

Thanks again!
-Erik

September 24, 2024 at 2:35 pm #16215619

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

It could be that an update caused such issue in the past, but this would indeed be unexpected for future updates and at the moment the only way to solve this would be by fixing the translations.

In your example, the marker needs to be set manually, as it needs to be connected. You can not have three markers in the translated segment.

This is something that can occur when using automatic translation and the only workaround is to set the marker manually. (referring to the link).

This means, for this specific example the automatic translation can not solve this issue.

September 24, 2024 at 2:44 pm #16215654

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

Maybe, we could use a snippet to call save_post() on all your contents, which should solve the translation status issue, but it will not update the translated content, in case an update is indeed expected.

Bulk save all posts and pages of your site, by adding this snippet to the end of the functions.php of your theme and then going to wp-admin/edit.php screen (all posts list):

// Add a function to the admin_init hook
add_action( 'admin_init', 'save_all_posts_on_refresh' );
 
// Define the function to save all posts on refresh
function save_all_posts_on_refresh() {
  // Check if the current page is the posts page
  global $pagenow;
  if ( $pagenow == 'edit.php' ) {
    // Get all the posts
    $args = array(
      'post_type' => array('page', 'post'),
      'numberposts' => -1
    );
    $all_posts = get_posts( $args );
    // Loop through all the posts and update them
    foreach ( $all_posts as $single_post ) {
      wp_update_post( $single_post );
    }
  }
}

Then remove the snippet again.

September 25, 2024 at 7:14 am #16218364

erikM-19

Hi Andreas,

Thanks I will try this snippet to solve.

However, I have a final question about preventing this issue in the future. You mentioned:

In your example, the marker needs to be set manually, as it needs to be connected. You can not have three markers in the translated segment.

This is something that can occur when using automatic translation and the only workaround is to set the marker manually (referring to the link).

This means, for this specific example the automatic translation can not solve this issue.

If I understand correctly, the automatic translator cannot properly handle HTML elements (<a>, , etc.) where the translation must be split into multiple pierces due to different sentence structures of other languages.

I want to avoid this issue (hundreds of posts suddenly changing state to 'Needs update') from occurring again. Manually updating all these translations is simply not feasible with hundreds of posts across dozens of languages. I really need the automatic translator to be compatible with my content.

Are you suggesting that it would be better to modify the texts of these HTML elements in the original content by removing unnecessary verbs and filler words/discourse markers such as 'here', 'just', 'click', etc.?

What would be the recommended approach for this going forward to prevent WPML from suddenly marking hundreds of posts as 'Needs update' again in the future? Are there any plans to improve WPML's automatic translator of these situations in future updates?

Thanks again for your help.

September 25, 2024 at 12:56 pm #16220433

Andreas W.
Supporter

Languages: English (English ) German (Deutsch )

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

Honestly, at the moment I do not know what triggered the status update on your translations.

It is expected, that once the original content changes, as status update is triggered. This does not need to be a text change.

Even a setting or design change con trigger a status update. Also adding new plugins, like for example a plugin that adds new fields to all posts could trigger such behavior. Or adding new taxonomies to posts could also trigger a status update.

Do you maybe recall that such changes were made?

I am asking, as I review a few posts and on most of those it looked like more than one segment was edited on the original content.

About the markers:
As those markers handle HTML they will need to be connected on the translated content, as otherwise it would break the HTML markup.

If you set a marker on various words of text it might be that those words will be structured differently or even be mixed up between words that are not part of the original marker, once the automatic translation engine will create the translation.

The engine will likely pick what sounds more natural and correct when it comes to grammar in different languages.

This is what happened on your example content.

If you use DeepL as translation engine you could try to intervene into such behavior by using the Glossary feature of the Advanced Translation Editor:

https://wpml.org/documentation/translating-your-contents/advanced-translation-editor/how-to-create-and-manage-glossary-entries/

Surely, our developers are always looking into ways to optimize such behavior but for now such issues are expected and can only be adjusted manually.