Important Update: Changes to Hebrew Plural Rules in Transifex

Hi everyone,

I hope you’re doing well.

I wanted to share some important news regarding the upcoming changes to the plural rules for Hebrew locales in Transifex.

Following the Unicode CLDR data update (version 42), the “many” form will be removed from Hebrew plural rules in Transifex. These adjustments are scheduled to be implemented on Feb 15th for both Hebrew (he) and Hebrew (Israel) (he_IL) locales.

Impact on Your Transifex Projects:

For Projects with Hebrew as Target Language:

  • Despite the removal of the “many” form, any pluralized strings that have already been translated will remain fully translated, reserving their reviewed status if it has been applied in Transifex.
  • Pluralized strings will have fewer available forms in Hebrew (1, 2, other instead of 1, 2, many, other).
  • Translations for the “many” form will no longer be available in Transifex.

For Projects with Hebrew as the Source Language:

  • Strings previously translated from Hebrew into another language will be re-translated/re-reviewed. These actions will be carried out by Transifex (tx-bot), and all changes will be recorded in the strings’ history in the editor.

If you wish to retain backups for this translation form, we recommend utilizing our API or GO CLI to export your translation files before Feb 15th.

If you have any questions or need further clarification, please don’t hesitate to reach out.

I’m not sure where is this decision coming from, we use the 3rd form in very rare cases but we do.

@nina we need to make sure this change doesn’t apply, it will delete years’ worth of translations, please stop this, we have already contacted CLDR in order to revert this decision.

Good morning dear Yaron,

Hope you are great.

Regarding the decision, we needed to follow CLDR rules as these are the rules for plurals our platform follows. You can see also, an instance where this caused an issue by having the “many form” still in place, here.

Would you mind sharing your role and for which projects / organization you are interested in?

I would like to mention that our announcement was made on the 12th of February and gave a heads up for the 15th, if someone needed to keep back ups.

We remain at your disposal.
Christos

I’m involved in many open-source projects both as a contributor and as a manager.

Hello @yaron

I hope my message find you well.
I wanted to chime in here and let you know that unfortunately we have to keep this change as we are following CLDR rules and thats why are team decided to give a heads up before this happens. I understand your frustration but we have to keep moving forward as CLDR changes.

Best Regards

Several years ago the plural rules were changed to 4 forms after some internal discussion within the Israel community.
In 2021 a single contributor decided to request the removal of one of the forms (for items that can be divided by 10 but are greater than 10).
Now we’ve put much effort into using this form in the rare cases where it is used but now it will be completely removed.

Hello Yaron,

Thank you for sharing additional insights regarding the upcoming changes to plural rules for Hebrew locales in Transifex. Your engagement in improving our community is truly appreciated.

It’s crucial to emphasize that, at present, we are bound by the CLDR rules, making any adjustments beyond our control. We want you to know that we acknowledge the significance of this matter and truly appreciate your input.

We understand this news may not align with your expectations and will likely introduce significant changes for you and your team. Unfortunately, our current circumstances limit our ability to make immediate modifications. However, we promise you that your feedback will be conveyed to our product and engineering teams to explore potential workarounds.

In our commitment to transparency, we strive to keep the community well-informed before implementing changes. Your understanding is highly appreciated, and we thank you once again for your valuable time.

- Sandy

The new rules changed the header of our Hebrew translations this way:

-“Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n”
+“Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n”

Now, the Gettext msgfmt command creates an error for every Hebrew translation file:

./i18n/he.po:7: nplurals = 3 but plural expression can produce values as large as 3

It seems to be always related to the translation of empty strings:

msgid “”
msgstr “”

How can we fix that?

Good morning,

I am Christos from the support team in Transifex.

First of all let me apologize for the inconvenience.

Thank you for bringing this to our attention. Please note that we are implementing a solution to this.
I will update you as soon as this is live.

Kind regards
Christos

Thank you, if you can just revert this change and bring back the old formula it would be better.
What happened behind the scenes is that someone decided that it was irrelevant without consulting the community and the guys at CLDR simply changed it without any questions, now we have to deal with consequences for changes we completely disagree with.

Hello dear Aimeos,

I am glad to inform you that the fix is in production. Please let us know if you notice anything unexpected.

Kind regards
Christos

Dear Yaron,

I understand your position, and I am sorry for the inconvenience.
But, as mentioned, we do have to follow the CLDR rules. If CLDR reverts this change we will also comply. At the moment, we are bound to this configuration and guide.

Kind regards
Christos

We noticed that the .po export served by the Transifex API for one of our projects was apparently cached with an invalid gettext Plural-Forms expression. It wasn’t being cached in our automated pipeline that runs tx pull – I downloaded it from the website today on my own machine and it had the same issue.

I made a change to the Hebrew translation of that project and that was apparently enough to cause the .po to be regenerated with a valid Plural-Forms expression. (I don’t speak or read Hebrew but happily it was possible for me to find a meaningful change to make even so!)

Dear wjt,
Apologies for the inconvenience.
Since this might be a different issue, could you please send the issue with the specific example and files to support@transifex.com ?
Please mention all details and attach relevant files, and project in Transifex so that we may investigate further.

Thank you for your cooperation.
Christos

Hi Christos

Unfortunately, it doesn’t work and produces still the same issue. Steps are:
tx pull -a -f
msgfmt --statistics -c -o i18n/he i18n/he.po

Result:
he.po:8: nplurals = 3 but plural expression can produce values as large as 3

Dear aimeos,

I would like to apologize for this inconvenience.

In order to assist you further please share with us the details (org, project , resource) at support@transifex.com along with the details on the error.

Kind regards
Christos

Hi @chrisb,
I understand you are committed to the CLDR standard but if I specify my own plural rules for a project, can the system please respect that?
That way I can use my own rules, other platforms allow that, I will stick to the standards if this is a new translation created directly in Transifex but if it’s my own file I can set my own rules.

Thanks.

Hello Yaron,

At the moment, it is not possible to use custom plural rules on our platform. If you try to upload a file that uses your own rules, they will not be recognized by our system. However, if we introduce a feature like this in the future, I will inform you as soon as it becomes available.

Best regards,

- Sandy

Kind reminder

In order to assist you further please share with us the details (org, project , resource) at support@transifex.com along with the details on the error.
Christos