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

CLDR Ticket #11268(accepted data)

Opened 5 weeks ago

Last modified 4 weeks ago

Portugal portuguese issue RuleBasedNumberFormat.SPELLOUT

Reported by: fabiofaleiros@… Owned by: grhoten
Component: numbers Data Locale:
Phase: rc Review:
Weeks: Data Xpath:
Xref:

Description

In http://demo.icu-project.org/icu4jweb/numero.jsp we can see some

spellout demos. There's a problem with variant pt_PT (European
Portuguese):

Today, a number 2000000000.00 returns 2 biliões(in english: 2 billions)

That's correct for pt_BR (Brazilian Portuguese) but not for pt_PT (Portugal Portuguese).

The correct for pt_PT is:

2000000000.00 returns 2 mil milhões (2 thousand millions).

Locale("pt","PT") follows same number spellout rules of Spain
Locale("es").

I reviewed CLDR links:
http://st.unicode.org/cldr-apps/v#/pt_PT/Compact_Decimal_Formatting
and
https://unicode.org/cldr/trac/browser/trunk/common/rbnf/pt_PT.xml

And I noticed the content of http://st.unicode.org/cldr-apps/v#/pt_PT/Compact_Decimal_Formatting/ is correct but the rule on https://unicode.org/cldr/trac/browser/trunk/common/rbnf/pt_PT.xml don't.

I'm using ICU4J which uses CLDR and needs this fix in its rbnf rules.

Attachments

Change History

comment:1 Changed 5 weeks ago by kent.karlsson14@…

From (pt_PT):

                <rbnfrule value="1000000000">um bilião[ e →→];</rbnfrule>
                <rbnfrule value="2000000000">←%spellout-cardinal-masculine← biliões[ e →→];</rbnfrule>
                <rbnfrule value="1000000000000">um trilião[ e →→];</rbnfrule>
                <rbnfrule value="2000000000000">←%spellout-cardinal-masculine← triliões[ e →→];</rbnfrule>
                <rbnfrule value="1000000000000000">um quatrilião[ e →→];</rbnfrule>
                <rbnfrule value="2000000000000000">←%spellout-cardinal-masculine← quatriliões[ e →→];</rbnfrule>

To (pt_PT):

                <rbnfrule value="1000000000000">um bilião[ e →→];</rbnfrule>
                <rbnfrule value="2000000000000">←%spellout-cardinal-masculine← biliões[ e →→];</rbnfrule>

Two occurrences.

And similarly for the ordinal spellout (two occurrences).

comment:2 Changed 5 weeks ago by pedberg

  • Status changed from new to accepted
  • Component changed from unknown to numbers
  • Priority changed from assess to major
  • Phase changed from dsub to rc
  • Milestone changed from UNSCH to 34
  • Owner changed from anybody to grhoten
  • Type changed from unknown to data

Did we already fix this? Looks familiar

comment:3 Changed 5 weeks ago by grhoten

I recommend using http://st.unicode.org/cldr-apps/numbers.jsp?locale=pt_PT for reviewing this data. The only other open Portuguese RBNF ticket is cldrbug:9291, which is a separate issue.

These changes look valid to make RBNF agree with compact decimal format.

comment:4 Changed 4 weeks ago by fabiofaleiros@…

Correct rules for spellout pt_PT:

%%lenient-parse:
&[last primary ignorable ] << ' ' << ',' << '-' << '­';
%spellout-numbering-year:
x.x: =0.0=;
0: =%spellout-numbering=;
%spellout-numbering:
0: =%spellout-cardinal-masculine=;
%spellout-cardinal-masculine:
-x: menos >>;
x.x: << vírgula >>;
0: zero;
1: um;
2: dois;
3: três;
4: quatro;
5: cinco;
6: seis;
7: sete;
8: oito;
9: nove;
10: dez;
11: onze;
12: doze;
13: treze;
14: catorze;
15: quinze;
16: dezesseis;
17: dezessete;
18: dezoito;
19: dezenove;
20: vinte[ e >>];
30: trinta[ e >>];
40: quarenta[ e >>];
50: cinquenta[ e >>];
60: sessenta[ e >>];
70: setenta[ e >>];
80: oitenta[ e >>];
90: noventa[ e >>];
100: cem;
101: cento e >>;
200: duzentos[ e >>];
300: trezentos[ e >>];
400: quatrocentos[ e >>];
500: quinhentos[ e >>];
600: seiscentos[ e >>];
700: setecentos[ e >>];
800: oitocentos[ e >>];
900: novecentos[ e >>];
1000: mil[ e >>];
2000: << mil[ e >>];
1000000: um milhão[ e >>];
2000000: << milhões[ e >>];
1000000000: um mil milhão[ e >>];
2000000000: << mil milhões[ e >>];
1000000000000: um bilião[ e >>];
2000000000000: << biliões[ e >>];
1000000000000000: um trilião[ e >>];
2000000000000000: << triliões[ e >>];
1000000000000000000: =#,##0=;
%spellout-cardinal-feminine:
-x: menos >>;
x.x: << vírgula >>;
0: zero;
1: uma;
2: duas;
3: =%spellout-cardinal-masculine=;
20: vinte[ e >>];
30: trinta[ e >>];
40: quarenta[ e >>];
50: cinquenta[ e >>];
60: sessenta[ e >>];
70: setenta[ e >>];
80: oitenta[ e >>];
90: noventa[ e >>];
100: cem;
101: cento e >>;
200: duzentas[ e >>];
300: trezentas[ e >>];
400: quatrocentas[ e >>];
500: quinhentas[ e >>];
600: seiscentas[ e >>];
700: setecentas[ e >>];
800: oitocentas[ e >>];
900: novecentas[ e >>];
1000: mil[ e >>];
2000: << mil[ e >>];
1000000: um milhão[ e >>];
2000000: <%spellout-cardinal-masculine< milhões[ e >>];
1000000000: um mil milhão[ e >>];
2000000000: <%spellout-cardinal-masculine< mil milhões[ e >>];
1000000000000: um bilião[ e >>];
2000000000000: <%spellout-cardinal-masculine< biliões[ e >>];
1000000000000000: um trilião[ e >>];
2000000000000000: <%spellout-cardinal-masculine< triliões[ e >>];
1000000000000000000: =#,##0=;
%spellout-ordinal-masculine:
-x: menos >>;
x.x: =#,##0.#=;
0: zero;
1: primeiro;
2: segundo;
3: terceiro;
4: quarto;
5: quinto;
6: sexto;
7: sétimo;
8: oitavo;
9: nono;
10: décimo[ >>];
20: vigésimo[ >>];
30: trigésimo[ >>];
40: quadragésimo[ >>];
50: quinquagésimo[ >>];
60: sexagésimo[ >>];
70: septuagésimo[ >>];
80: octogésimo[ >>];
90: nonagésimo[ >>];
100: centésimo[ >>];
200: ducentésimo[ >>];
300: tricentésimo[ >>];
400: quadringentésimo[ >>];
500: quingentésimo[ >>];
600: sexcentésimo[ >>];
700: septingentésimo[ >>];
800: octingentésimo[ >>];
900: noningentésimo[ >>];
1000: milésimo[ >>];
2000: <%spellout-cardinal-masculine< ­milésimo[ >>];
1000000: um milionésimo[ >>];
2000000: <%spellout-cardinal-masculine< milionésimo[ >>];
1000000000: um mil milionésimo[ >>];
2000000000: <%spellout-cardinal-masculine< mil milionésimo[ >>];
1000000000000: um bilionésimo[ >>];
2000000000000: <%spellout-cardinal-masculine< bilionésima[ >>];
1000000000000000: um trilionésimo[ >>];
2000000000000000: <%spellout-cardinal-masculine< trilionésimo[ >>];
1000000000000000000: =#,##0=º;
%spellout-ordinal-feminine:
-x: menos >>;
x.x: =#,##0.#=;
0: zero;
1: primeira;
2: segunda;
3: terceira;
4: quarta;
5: quinta;
6: sexta;
7: sétima;
8: oitava;
9: nona;
10: décima[ >>];
20: vigésima[ >>];
30: trigésima[ >>];
40: quadragésima[ >>];
50: quinquagésima[ >>];
60: sexagésima[ >>];
70: septuagésima[ >>];
80: octogésima[ >>];
90: nonagésima[ >>];
100: centésima[ >>];
200: ducentésima[ >>];
300: tricentésima[ >>];
400: quadringentésima[ >>];
500: quingentésima[ >>];
600: sexcentésima[ >>];
700: septingentésima[ >>];
800: octingentésima[ >>];
900: noningentésima[ >>];
1000: milésima[ >>];
2000: <%spellout-cardinal-feminine< ­milésima[ >>];
1000000: uma milionésima[ >>];
2000000: <%spellout-cardinal-feminine< milionésima[ >>];
1000000000: uma mil milionésima[ >>];
2000000000: <%spellout-cardinal-feminine< mil milionésima[ >>];
1000000000000: uma bilionésima[ >>];
2000000000000: <%spellout-cardinal-feminine< bilionésima[ >>];
1000000000000000: uma trilionésima[ >>];
2000000000000000: <%spellout-cardinal-feminine< trilionésima[ >>];
1000000000000000000: =#,##0=ª;
View

Add a comment

Modify Ticket

Action
as accepted
Author


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

 
Note: See TracTickets for help on using tickets.