[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #7344(closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Fix for wrong spellout rules in rbnf/ru.xml rbnf/be.xml.

Reported by: lis82@… Owned by: grhoten
Component: data-other Data Locale: ru, be
Phase: rc Review: emmons
Weeks: Data Xpath:


For russian:

  1. see ticket #6774.
  2. Russian Federation used Short scale http://en.wikipedia.org/wiki/Long_and_short_scales with some modification: billion is a milliard, http://en.wikipedia.org/wiki/Long_and_short_scales#Other_short_scale.

For belarussian troubles the same as for russian in ticket #6774.

In attached files i fix this issues. Please make changeset from this files.


be.xml (40.0 KB) - added by lis82@… 3 years ago.
ru.xml (15.6 KB) - added by lis82@… 3 years ago.

Change History

Changed 3 years ago by lis82@…


Changed 3 years ago by lis82@…


comment:1 Changed 3 years ago by emmons

  • Owner changed from anybody to grhoten
  • Priority changed from assess to medium
  • Type changed from unknown to defect
  • Status changed from new to assigned
  • Milestone changed from UNSCH to 26rc

comment:2 Changed 3 years ago by pedberg

  • Component changed from data-main to data-other

comment:3 Changed 3 years ago by grhoten

This seems to be trying to provide an alternate fix to ticket:6774 for Russian with very verbose rules with the previous ICU infrastructure. The new RBNF plural rule syntax is much easier to read and maintain for the 3 genders. The new syntax is also a little more lenient when it comes to parsing improper word inflections for the large magnitudes.

So I'm not adopting these rules for Russian, but I will migrate Belarusian to use the new RBNF rule syntax with this ticket in order to fix the spelling of numbers with the improper grammatical number (count).

comment:4 Changed 3 years ago by grhoten

The proposed rules don't seem to be changing the scale used. Here is the new syntax for large numbers in Belarusian to model the same behavior. The rules are much shorter.

1000: <%spellout-cardinal-feminine< $(cardinal,one{тысяча}few{тысячы}other{тысяч})[ >>];
1000000: <%spellout-cardinal-masculine< $(cardinal,one{мільён}few{мільёны}other{мільёнаў})[ >>];
1000000000: <%spellout-cardinal-masculine< $(cardinal,one{мільярд}few{мільярды}other{мільярдаў})[ >>];
1000000000000: <%spellout-cardinal-masculine< $(cardinal,one{трыльён}few{трыльёны}other{трылёнаў})[ >>];
1000000000000000: <%spellout-cardinal-masculine< $(cardinal,one{квадрыльён}few{квадрыльёны}other{квадрыльёнаў})[ >>];

The ordinal rules still seem incorrect, but those didn't seem to be a part of the original proposal. The current rules seems to be having more difficulty trying to model the correct way to inflect ordinals. If the submitter knows Belarusian and how to write ordinals, then I recommend submitting a new ticket with those rules using the new plural syntax.

Last edited 3 years ago by grhoten (previous) (diff)

comment:5 Changed 3 years ago by grhoten

  • Status changed from assigned to reviewing
  • Review set to emmons

comment:6 Changed 3 years ago by lis82@…

For Russian don't forget to use a 'миллиард' (milliard) for numbers about 109 (billion in english).

comment:7 Changed 3 years ago by grhoten

I also made the change to align the scale with the compact decimal format data, which mirrors the other changes that were proposed.

comment:8 Changed 3 years ago by lis82@…

I'll be happy to help with the ordinal rules for the Belarussian language, but for it need more complex rules.
All ordinals ends on -hundred, -thousand, -million, etc must be concatenate to one word by specific rules, for example:

125000 -> стодваццацiпяцiтысячны

To solve this problem need rules to check whether the number is divisible without remainder by 100/1000/1000000/etc.

comment:9 Changed 3 years ago by grhoten

I recommend filing a new ticket for any ordinal rule changes you want to propose. The current release is coming to a close, and they would need a separate review.

In case you are not familiar with the tool, you can try out CLDR's Number Format Tester to test any changes. It also shows any errors regarding any round tripping issues. This public tool has not be updated to use the new rule syntax yet, but it will be updated eventually.

You can look at the English ordinal rules for an example how the rules can be written. What you're describing is common to several languages.

comment:10 Changed 3 years ago by markus

  • Phase set to rc
  • Milestone changed from 26rc to 26

comment:11 Changed 3 years ago by emmons

  • Status changed from reviewing to closed
  • Resolution set to fixed

Add a comment

Modify Ticket

as closed
Next status will be 'new'
Next status will be 'closed'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.