cldr
Version:
Library for extracting data from CLDR (the Unicode Common Locale Data Repository)
385 lines (384 loc) • 17.9 kB
text/xml
<!--
Copyright © 1991-2025 Unicode, Inc.
CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
For terms of use, see http://www.unicode.org/copyright.html
-->
<ldml>
<identity>
<version number="$Revision$"/>
<language type="en"/>
</identity>
<rbnf>
<rulesetGrouping type="SpelloutRules">
<rbnfRules><![CDATA[
%%2d-year:
0: hundred;
1: oh-=%spellout-numbering=;
10: =%spellout-numbering=;
%spellout-numbering-year:
-x: minus >>;
x.x: =#,##0.#=;
0: =%spellout-numbering=;
1010/100: << >%%2d-year>;
1100/100: << >%%2d-year>;
2000: =%spellout-numbering=;
2010/100: << >%%2d-year>;
2100/100: << >%%2d-year>;
3000: =%spellout-numbering=;
3010/100: << >%%2d-year>;
3100/100: << >%%2d-year>;
4000: =%spellout-numbering=;
4010/100: << >%%2d-year>;
4100/100: << >%%2d-year>;
5000: =%spellout-numbering=;
5010/100: << >%%2d-year>;
5100/100: << >%%2d-year>;
6000: =%spellout-numbering=;
6010/100: << >%%2d-year>;
6100/100: << >%%2d-year>;
7000: =%spellout-numbering=;
7010/100: << >%%2d-year>;
7100/100: << >%%2d-year>;
8000: =%spellout-numbering=;
8010/100: << >%%2d-year>;
8100/100: << >%%2d-year>;
9000: =%spellout-numbering=;
9010/100: << >%%2d-year>;
9100/100: << >%%2d-year>;
10000: =%spellout-numbering=;
%spellout-numbering:
-x: minus >>;
Inf: infinity;
NaN: not a number;
0: =%spellout-cardinal=;
%spellout-numbering-verbose:
-x: minus >>;
Inf: infinity;
NaN: not a number;
0: =%spellout-cardinal-verbose=;
%spellout-cardinal:
-x: minus >>;
x.x: << point >>;
Inf: infinite;
NaN: not a number;
0: zero;
1: one;
2: two;
3: three;
4: four;
5: five;
6: six;
7: seven;
8: eight;
9: nine;
10: ten;
11: eleven;
12: twelve;
13: thirteen;
14: fourteen;
15: fifteen;
16: sixteen;
17: seventeen;
18: eighteen;
19: nineteen;
20: twenty[->>];
30: thirty[->>];
40: forty[->>];
50: fifty[->>];
60: sixty[->>];
70: seventy[->>];
80: eighty[->>];
90: ninety[->>];
100: << hundred[ >>];
1000: << thousand[ >>];
1000000: << million[ >>];
1000000000: << billion[ >>];
1000000000000: << trillion[ >>];
1000000000000000: << quadrillion[ >>];
1000000000000000000: =#,##0=;
%%and:
1: ' and =%spellout-cardinal-verbose=;
100: ' =%spellout-cardinal-verbose=;
%%commas:
1: ' and =%spellout-cardinal-verbose=;
100: , =%spellout-cardinal-verbose=;
1000: , <%spellout-cardinal-verbose< thousand[>%%commas>];
1000000: , =%spellout-cardinal-verbose=;
%spellout-cardinal-verbose:
-x: minus >>;
x.x: << point >>;
Inf: infinite;
NaN: not a number;
0: =%spellout-numbering=;
100: << hundred[>%%and>];
1000: << thousand[>%%and>];
100000/1000: << thousand[>%%commas>];
1000000: << million[>%%commas>];
1000000000: << billion[>%%commas>];
1000000000000: << trillion[>%%commas>];
1000000000000000: << quadrillion[>%%commas>];
1000000000000000000: =#,##0=;
%%tieth:
0: tieth;
1: ty-=%spellout-ordinal=;
%%th:
0: th;
1: ' =%spellout-ordinal=;
%spellout-ordinal:
-x: minus >>;
x.x: =#,##0.#=;
Inf: infinitieth;
0: zeroth;
1: first;
2: second;
3: third;
4: fourth;
5: fifth;
6: sixth;
7: seventh;
8: eighth;
9: ninth;
10: tenth;
11: eleventh;
12: twelfth;
13: =%spellout-numbering=th;
20: twen>%%tieth>;
30: thir>%%tieth>;
40: for>%%tieth>;
50: fif>%%tieth>;
60: six>%%tieth>;
70: seven>%%tieth>;
80: eigh>%%tieth>;
90: nine>%%tieth>;
100: <%spellout-numbering< hundred>%%th>;
1000: <%spellout-numbering< thousand>%%th>;
1000000: <%spellout-numbering< million>%%th>;
1000000000: <%spellout-numbering< billion>%%th>;
1000000000000: <%spellout-numbering< trillion>%%th>;
1000000000000000: <%spellout-numbering< quadrillion>%%th>;
1000000000000000000: =#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;
%%and-o:
0: th;
1: ' and =%spellout-ordinal-verbose=;
100: ' =%spellout-ordinal-verbose=;
%%commas-o:
0: th;
1: ' and =%spellout-ordinal-verbose=;
100: , =%spellout-ordinal-verbose=;
1000: , <%spellout-cardinal-verbose< thousand>%%commas-o>;
1000000: , =%spellout-ordinal-verbose=;
%spellout-ordinal-verbose:
-x: minus >>;
x.x: =#,##0.#=;
Inf: infinitieth;
0: =%spellout-ordinal=;
100: <%spellout-numbering-verbose< hundred>%%and-o>;
1000: <%spellout-numbering-verbose< thousand>%%and-o>;
100000/1000: <%spellout-numbering-verbose< thousand>%%commas-o>;
1000000: <%spellout-numbering-verbose< million>%%commas-o>;
1000000000: <%spellout-numbering-verbose< billion>%%commas-o>;
1000000000000: <%spellout-numbering-verbose< trillion>%%commas-o>;
1000000000000000: <%spellout-numbering-verbose< quadrillion>%%commas-o>;
1000000000000000000: =#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;
]]></rbnfRules>
<!-- The following redundant ruleset elements have been deprecated and will be removed in the next release. Please use the rbnfRules contents instead. -->
<ruleset type="2d-year" access="private">
<rbnfrule value="0">hundred;</rbnfrule>
<rbnfrule value="1">oh-=%spellout-numbering=;</rbnfrule>
<rbnfrule value="10">=%spellout-numbering=;</rbnfrule>
</ruleset>
<ruleset type="spellout-numbering-year">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="x.x">=#,##0.#=;</rbnfrule>
<rbnfrule value="0">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="1010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="1100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="2000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="2010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="2100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="3000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="3010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="3100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="4000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="4010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="4100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="5000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="5010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="5100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="6000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="6010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="6100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="7000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="7010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="7100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="8000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="8010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="8100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="9000">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="9010" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="9100" radix="100">←← →%%2d-year→;</rbnfrule>
<rbnfrule value="10000">=%spellout-numbering=;</rbnfrule>
</ruleset>
<ruleset type="spellout-numbering">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="Inf">infinity;</rbnfrule>
<rbnfrule value="NaN">not a number;</rbnfrule>
<rbnfrule value="0">=%spellout-cardinal=;</rbnfrule>
</ruleset>
<ruleset type="spellout-numbering-verbose">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="Inf">infinity;</rbnfrule>
<rbnfrule value="NaN">not a number;</rbnfrule>
<rbnfrule value="0">=%spellout-cardinal-verbose=;</rbnfrule>
</ruleset>
<ruleset type="spellout-cardinal">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="x.x">←← point →→;</rbnfrule>
<rbnfrule value="Inf">infinite;</rbnfrule>
<rbnfrule value="NaN">not a number;</rbnfrule>
<rbnfrule value="0">zero;</rbnfrule>
<rbnfrule value="1">one;</rbnfrule>
<rbnfrule value="2">two;</rbnfrule>
<rbnfrule value="3">three;</rbnfrule>
<rbnfrule value="4">four;</rbnfrule>
<rbnfrule value="5">five;</rbnfrule>
<rbnfrule value="6">six;</rbnfrule>
<rbnfrule value="7">seven;</rbnfrule>
<rbnfrule value="8">eight;</rbnfrule>
<rbnfrule value="9">nine;</rbnfrule>
<rbnfrule value="10">ten;</rbnfrule>
<rbnfrule value="11">eleven;</rbnfrule>
<rbnfrule value="12">twelve;</rbnfrule>
<rbnfrule value="13">thirteen;</rbnfrule>
<rbnfrule value="14">fourteen;</rbnfrule>
<rbnfrule value="15">fifteen;</rbnfrule>
<rbnfrule value="16">sixteen;</rbnfrule>
<rbnfrule value="17">seventeen;</rbnfrule>
<rbnfrule value="18">eighteen;</rbnfrule>
<rbnfrule value="19">nineteen;</rbnfrule>
<rbnfrule value="20">twenty[-→→];</rbnfrule>
<rbnfrule value="30">thirty[-→→];</rbnfrule>
<rbnfrule value="40">forty[-→→];</rbnfrule>
<rbnfrule value="50">fifty[-→→];</rbnfrule>
<rbnfrule value="60">sixty[-→→];</rbnfrule>
<rbnfrule value="70">seventy[-→→];</rbnfrule>
<rbnfrule value="80">eighty[-→→];</rbnfrule>
<rbnfrule value="90">ninety[-→→];</rbnfrule>
<rbnfrule value="100">←← hundred[ →→];</rbnfrule>
<rbnfrule value="1000">←← thousand[ →→];</rbnfrule>
<rbnfrule value="1000000">←← million[ →→];</rbnfrule>
<rbnfrule value="1000000000">←← billion[ →→];</rbnfrule>
<rbnfrule value="1000000000000">←← trillion[ →→];</rbnfrule>
<rbnfrule value="1000000000000000">←← quadrillion[ →→];</rbnfrule>
<rbnfrule value="1000000000000000000">=#,##0=;</rbnfrule>
</ruleset>
<ruleset type="and" access="private">
<rbnfrule value="1">' and =%spellout-cardinal-verbose=;</rbnfrule>
<rbnfrule value="100">' =%spellout-cardinal-verbose=;</rbnfrule>
</ruleset>
<ruleset type="commas" access="private">
<rbnfrule value="1">' and =%spellout-cardinal-verbose=;</rbnfrule>
<rbnfrule value="100">, =%spellout-cardinal-verbose=;</rbnfrule>
<rbnfrule value="1000">, ←%spellout-cardinal-verbose← thousand[→%%commas→];</rbnfrule>
<rbnfrule value="1000000">, =%spellout-cardinal-verbose=;</rbnfrule>
</ruleset>
<ruleset type="spellout-cardinal-verbose">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="x.x">←← point →→;</rbnfrule>
<rbnfrule value="Inf">infinite;</rbnfrule>
<rbnfrule value="NaN">not a number;</rbnfrule>
<rbnfrule value="0">=%spellout-numbering=;</rbnfrule>
<rbnfrule value="100">←← hundred[→%%and→];</rbnfrule>
<rbnfrule value="1000">←← thousand[→%%and→];</rbnfrule>
<rbnfrule value="100000" radix="1000">←← thousand[→%%commas→];</rbnfrule>
<rbnfrule value="1000000">←← million[→%%commas→];</rbnfrule>
<rbnfrule value="1000000000">←← billion[→%%commas→];</rbnfrule>
<rbnfrule value="1000000000000">←← trillion[→%%commas→];</rbnfrule>
<rbnfrule value="1000000000000000">←← quadrillion[→%%commas→];</rbnfrule>
<rbnfrule value="1000000000000000000">=#,##0=;</rbnfrule>
</ruleset>
<ruleset type="tieth" access="private">
<rbnfrule value="0">tieth;</rbnfrule>
<rbnfrule value="1">ty-=%spellout-ordinal=;</rbnfrule>
</ruleset>
<ruleset type="th" access="private">
<rbnfrule value="0">th;</rbnfrule>
<rbnfrule value="1">' =%spellout-ordinal=;</rbnfrule>
</ruleset>
<ruleset type="spellout-ordinal">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="x.x">=#,##0.#=;</rbnfrule>
<rbnfrule value="Inf">infinitieth;</rbnfrule>
<rbnfrule value="0">zeroth;</rbnfrule>
<rbnfrule value="1">first;</rbnfrule>
<rbnfrule value="2">second;</rbnfrule>
<rbnfrule value="3">third;</rbnfrule>
<rbnfrule value="4">fourth;</rbnfrule>
<rbnfrule value="5">fifth;</rbnfrule>
<rbnfrule value="6">sixth;</rbnfrule>
<rbnfrule value="7">seventh;</rbnfrule>
<rbnfrule value="8">eighth;</rbnfrule>
<rbnfrule value="9">ninth;</rbnfrule>
<rbnfrule value="10">tenth;</rbnfrule>
<rbnfrule value="11">eleventh;</rbnfrule>
<rbnfrule value="12">twelfth;</rbnfrule>
<rbnfrule value="13">=%spellout-numbering=th;</rbnfrule>
<rbnfrule value="20">twen→%%tieth→;</rbnfrule>
<rbnfrule value="30">thir→%%tieth→;</rbnfrule>
<rbnfrule value="40">for→%%tieth→;</rbnfrule>
<rbnfrule value="50">fif→%%tieth→;</rbnfrule>
<rbnfrule value="60">six→%%tieth→;</rbnfrule>
<rbnfrule value="70">seven→%%tieth→;</rbnfrule>
<rbnfrule value="80">eigh→%%tieth→;</rbnfrule>
<rbnfrule value="90">nine→%%tieth→;</rbnfrule>
<rbnfrule value="100">←%spellout-numbering← hundred→%%th→;</rbnfrule>
<rbnfrule value="1000">←%spellout-numbering← thousand→%%th→;</rbnfrule>
<rbnfrule value="1000000">←%spellout-numbering← million→%%th→;</rbnfrule>
<rbnfrule value="1000000000">←%spellout-numbering← billion→%%th→;</rbnfrule>
<rbnfrule value="1000000000000">←%spellout-numbering← trillion→%%th→;</rbnfrule>
<rbnfrule value="1000000000000000">←%spellout-numbering← quadrillion→%%th→;</rbnfrule>
<rbnfrule value="1000000000000000000">=#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;</rbnfrule>
</ruleset>
<ruleset type="and-o" access="private">
<rbnfrule value="0">th;</rbnfrule>
<rbnfrule value="1">' and =%spellout-ordinal-verbose=;</rbnfrule>
<rbnfrule value="100">' =%spellout-ordinal-verbose=;</rbnfrule>
</ruleset>
<ruleset type="commas-o" access="private">
<rbnfrule value="0">th;</rbnfrule>
<rbnfrule value="1">' and =%spellout-ordinal-verbose=;</rbnfrule>
<rbnfrule value="100">, =%spellout-ordinal-verbose=;</rbnfrule>
<rbnfrule value="1000">, ←%spellout-cardinal-verbose← thousand→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000">, =%spellout-ordinal-verbose=;</rbnfrule>
</ruleset>
<ruleset type="spellout-ordinal-verbose">
<rbnfrule value="-x">minus →→;</rbnfrule>
<rbnfrule value="x.x">=#,##0.#=;</rbnfrule>
<rbnfrule value="Inf">infinitieth;</rbnfrule>
<rbnfrule value="0">=%spellout-ordinal=;</rbnfrule>
<rbnfrule value="100">←%spellout-numbering-verbose← hundred→%%and-o→;</rbnfrule>
<rbnfrule value="1000">←%spellout-numbering-verbose← thousand→%%and-o→;</rbnfrule>
<rbnfrule value="100000" radix="1000">←%spellout-numbering-verbose← thousand→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000">←%spellout-numbering-verbose← million→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000000">←%spellout-numbering-verbose← billion→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000000000">←%spellout-numbering-verbose← trillion→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000000000000">←%spellout-numbering-verbose← quadrillion→%%commas-o→;</rbnfrule>
<rbnfrule value="1000000000000000000">=#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;</rbnfrule>
</ruleset>
</rulesetGrouping>
<rulesetGrouping type="OrdinalRules">
<rbnfRules><![CDATA[
%digits-ordinal:
-x: −>>;
0: =#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;
]]></rbnfRules>
<!-- The following redundant ruleset elements have been deprecated and will be removed in the next release. Please use the rbnfRules contents instead. -->
<ruleset type="digits-ordinal">
<rbnfrule value="-x">−→→;</rbnfrule>
<rbnfrule value="0">=#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>