Skip Navigation

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

Problem:
You reported an issue where digits translated in WPML are not saved when the original page is updated, specifically when the translated digits are identical to the original (e.g., translating "01.01.2024" to "01.01.2024").
Solution:
We found that the issue occurs when the translated string of digits is identical to the original. If you translate the digits to something different (e.g., "01-01-2024"), the issue does not occur. We recommend translating the digits only if they differ from the original. By default, numbers are hidden in translations, so keeping them untranslated will not affect the completion of your translation. We are currently investigating the cause of this behavior to prioritize the issue accordingly.

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 you still need assistance, 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: 

This topic contains 21 replies, has 3 voices.

Last updated by Dražen 7 months, 2 weeks ago.

Assisted by: Dražen.

Author Posts
April 29, 2024 at 11:10 am #15576695

olegA-5

I'd like to report a bug. Although WPML in one of its latest versions fixed a problem with "search-box translations" not being saved when the original page is updated in case of child (and deep further) pages (at least if the pages are not very large; the problem persists with large pages, but that's not the issue right now), the problem remains when it comes to translating digits. Digits translated in this way are not saved when the original page is updated. I'm talking about situations when part of the text to be translated consists only of digits (plus punctuation, like, say, the date: 01.01.2024).

April 29, 2024 at 11:47 am #15576910

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

as I have said in chat, numbers are not translatable by default via WPML and they will not show in ATE editor. I have just also confirmed it on test site.

To completely understand the issue, I created a minimal installation of WordPress, WPML, and all necessary WPML add-ons.

You can access the WordPress dashboard using the link below:
- hidden link

Kindly follow the steps below:
- Try to replicate the issue.
- Share with me the steps you did

Please try not to install any additional plugins, or themes and add code, if it is not necessary.

Regards,
Drazen

April 29, 2024 at 12:07 pm #15576982

olegA-5

Sendbox is not allowing me to save the translation of the line "01.01.2024" at all with the following message: "The original sentence includes formatting markers. However, not all markers are applied to the translation". I don't have any markers in this text. I am using the classic editor, which shows all the code. And WPML does not show any markers.

April 29, 2024 at 12:53 pm #15577245

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

okay, I have switched to Classic editor from WPML > Settings.

Please try now again to reproduce the issue to confirm the bug.

Regards,
Drazen

April 29, 2024 at 12:58 pm #15577249

olegA-5

I was talking about the WP classic editor. I use ATE with the WPML. Can _you_ translate my string using ATE?

April 29, 2024 at 1:01 pm #15577298

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

I did and tried to reproduce the issue but I see the translation still stays saved.

Please check and see if you can reproduce the issue and share steps with me.

Regards,
Drazen

April 29, 2024 at 1:38 pm #15577401

olegA-5

I reproduced the error on a second-level page when the URL is escaped and relatively long - using Bulgarian as an example (this, as I know from experience, is one of the main problems with WPML, which seems to be focused mainly on languages built exclusively or predominantly on characters that don't require escape and, consequently, URLs on which are much shorter than those for which all characters require escape). I haven't tried this on a first-level page, but I wouldn't rule out reproducing the error on a sufficiently long URL there as well.

April 29, 2024 at 1:45 pm #15577426

olegA-5

I know that in WPML you can write a rule (in functions or options) to register all digits for mandatory translation. I don't need it, as it would require a lot of re-doing. However, I would like to know if I can make such a rule for tables only. Even better, if it would work only for tables with a certain id (or a certain class).

April 30, 2024 at 6:09 am #15579272

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

Hello,

great.

1) I am checking but I can not see or reproduce the issue.

Please share step by step-by-step guide on how can I check/reproduce issue on new test site?

2) No, I am afraid that is not possible.

Regards,
Drazen

April 30, 2024 at 11:12 am #15580910

olegA-5

- Switch WP to Bulgarian
- Go to Pages
- See that in the translation of the page "Страница за изпитване от второ ниво" all three strings with numbers are translated (they are now).
- Make any changes to the original of this page
- Find that the translations of all strings with numbers have disappeared

April 30, 2024 at 11:47 am #15581045

Dražen
Supporter

Languages: English (English )

Timezone: Europe/Zagreb (GMT+01:00)

hello,

thanks.

Reproduced and escalated to our 2nd tier to confirm.

I will update you when I have some news.

Regards,
Drazen

May 9, 2024 at 9:53 am #15609809

Sumit
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Hi,

I am Sumit from 2nd tier support.
Drazen is away for a while so I will help you with this issue. I hope it is fine.

We have checked the issue and found if you translate "01.01.2024" to "01.01.2024" then the issue happens, which means keeping the same strings.
But if you translate this string to something different from the original .e.g "01-01-2024" then the issue doesn't happen.

Could you confirm this?
Also, I believe there is no need to translate the numbers if they are the same if they are different then they need the translation and in that case, the issue doesn't happen.
By default, numbers are hidden so keeping them untranslated will not prevent you from completing the translation.

We are checking with our team what is the reason for this behavior but the actual use case will help us to understand the priority of this issue.

About Sandbox ATE we will work on this, this ATE version is still under the testing phase.

Thanks

May 9, 2024 at 2:02 pm #15610929

olegA-5

Sumit,

I can't confirm that.

It's about translating numbers when the original and the translation are different. For example, when "01.01.2024" is translated as "01/01/24".

Please note that the error occurs when the URL of the original page (this is about translating pages, not posts, I'm not sure how it works with posts) contains escapered characters, this is important. In other words, different in that it contains % characters, not just slash-dash-underscores, Latin letters and so-called Arabic numerals. Perhaps (this is just an idea), this is the reason for the problem, because the use of this very % symbol is not specified somewhere (this is not such a rare problem in programming). I have described in detail above how to reproduce the error. Note that I pointed out the need to switch to a language that uses non-Latin characters (or not only them), such as Bulgarian or other Cyrillic language.

I first reported this problem in one of my support tickets as far back as two years ago. Then it was part of the problem that absolutely everything that was translated via search-box in ATE was not saved when the original was updated if (if!) the original URL contained escaped characters and was not top-level (I don't remember if we checked whether this error would recur if the URL was sufficiently long at the top level, but it seems we could reproduce the error even when the URL did not contain escaped characters but was somewhere around the fourth or so level). Anyway, with one of the recent changes, this problem has been fixed (after two years!), but NOT the digits part, which is what I reported in this ticket.

Here's an example of what exactly I'm facing because of that. Right now, I had to update a page on my website that has a table with about 140 dates in DD.MM.YYYYY format. This page is translated into 39 languages. 26 of them have a different date format. And I need to make 140 x 26 = 3640 changes to these 26 pages (the changes are different on different pages and are all done manually; and they will be erased if I need to update the page again!). This is the eighth such page I'm working with. The others have had about the same number of changes, so you can imagine the extent of the problem for me personally.

(By the way, although, as I wrote above, a change was recently made to allow changes made via search-box to be saved permanently if they are NOT only-digits strings, I should add that this change did not fix the problem with deleting any other such changes if the page is large enough, i.e. if there is literally a lot of text on it. I have 8 pages of roughly the same format, distinguished only by the fact that one of them contains several times as much text. On this page, ANY search-box translated text continues to be deleted when I modify the original page. I have it translated into 39 languages too. These search-box translations are translations of anchors, because WPML does not require translation of anchors, just like it does not require translation of URLs, but URLs change from language to language automatically, while anchors do not. So I am forced to translate them via search-box).

May 9, 2024 at 4:04 pm #15611506

Sumit
Supporter

Languages: English (English )

Timezone: Asia/Kolkata (GMT+05:30)

Hi,

Thanks for the details.

When I tested this issue, I tested with sample content just

<p>01.01.2024</p>
<p>01.02.2024</p>
<p>01.03.2024</p>

Also in Classic Editor.

My results were
- It works if I translate the string to something else and If I keep the same string "01.01.2024" to "01.01.2024" then it is saved in memory and not lost on 2nd update.

Also, when I am using Gutenberg it works fine all the time because in that case each string is sent as a separate string and ATE does not parse them.

NEXT
Since we are having different outputs in tests we need to check the actual jobs. It is possible that bug exist only with certain combinations of text. That I have seen most of the time.

I would request you to please share the two ATE jobs ID. (You can copy and paste the ATE editor URL here).
First where you have completed the strings.
Second, after completing the strings you update the original page and the completed translations are lost in ATE.

Could you do that, please?

Thanks

May 9, 2024 at 11:33 pm #15612390

olegA-5

Unfortunately, the sandbox of this ticket is no longer available. There, however, I reproduced the problem with just this simple example: "01.01.2004". To do this, I switched WP to Bulgarian, created a page in Bulgarian and translated it into, I think, English (it could be any other), for example, like this: "01/01/2004", saved the translation, then made changes to the original page and observed that the above translation was not saved, missing when opening ATE. I would gladly do what you are asking if I had ATE working for me. Unfortunately it doesn't, no translation opens (I am returned to my site with the message: "Our session has expired, please log in again" even after changing the WPML key and restoring the site to the version before the problem occurred, which is the subject of my other ticket today(((( However, if ATE works for me, I will certainly do what you ask.