Issues with ICU Plurals and Hebrew (he_IL) language - Angular

Hello, it would appear we’ve stumbled upon an issue with the transifex angular library in relation to the handling of ICU Plurals and the Hebrew Israel language (he_IL).

When viewing certain areas of our site which uses Plurals for he_IL we are seeing the actual ICU Plural string as opposed to the translated version
image

If we view this in another language (say for example de_DE) it displays correctly

The sample code for generating such text is the following:

<div class="text-muted">
                {{ group.total }}
                <T
                    str="{count, plural, =1 {Asset} other {Assets}}"
                    key="text.plural.assets"
                    tags="common"
                    [vars]="{count: group.total}"
                ></T>
            </div>

Hello dear Mark ,

I am Christos from Transifex support.

We have reproduced this behavior and we are currently investigating on the root cause. We will update you as soon as we have more details.

Kind regards
C

1 Like

Hi @chrisb many thanks for taking the time to look into this and confirming you’ve managed to reproduce the behaviour.

Thanks for reporting, never noticed that myself, can you share the Hebrew source for this message?

Good morning,

Allow me to offer an update.

The issue was caused on a pluralized strings. For example
{cnt, plural, one {You have # message} other {You have # messages}}

When requesting a hebrew translation CDN returned one, two,many and other forms that are hosted on Transifex.

It seems that CLDR rules have changed for the hebrew plural forms and the “many” form is no longer used.

This has been addressed. Please update the transifex sdk and re run your application. You will see that now the many form is being ignored and strings are rendered as expected.

Kind regards
Christos

Hi @chrisb many thanks for this update and explanation as to the cause of the issues we’ve been encountering.

Also thank you for publishing a fix for this, I will see about getting the SDK updated.

Kind Regards
Mark Hopper