ICU-6654 Integrate RBNF rules from CLDR

X-SVN-Rev: 25090
This commit is contained in:
John Emmons 2008-12-12 01:04:38 +00:00
parent 0338f58718
commit 7d370d115d
61 changed files with 4469 additions and 2699 deletions

30
.gitattributes vendored
View File

@ -83,6 +83,30 @@ icu4c/source/data/locales/zh_Hans_MO.txt -text
icu4c/source/data/misc/likelySubtags.txt -text
icu4c/source/data/misc/plurals.txt -text
icu4c/source/data/pkgdataMakefile.in -text
icu4c/source/data/rbnf/af.txt -text
icu4c/source/data/rbnf/ca.txt -text
icu4c/source/data/rbnf/cs.txt -text
icu4c/source/data/rbnf/et.txt -text
icu4c/source/data/rbnf/fi.txt -text
icu4c/source/data/rbnf/fo.txt -text
icu4c/source/data/rbnf/hu.txt -text
icu4c/source/data/rbnf/hy.txt -text
icu4c/source/data/rbnf/is.txt -text
icu4c/source/data/rbnf/ka.txt -text
icu4c/source/data/rbnf/kl.txt -text
icu4c/source/data/rbnf/ko.txt -text
icu4c/source/data/rbnf/lt.txt -text
icu4c/source/data/rbnf/lv.txt -text
icu4c/source/data/rbnf/nb.txt -text
icu4c/source/data/rbnf/nn.txt -text
icu4c/source/data/rbnf/pt_PT.txt -text
icu4c/source/data/rbnf/ro.txt -text
icu4c/source/data/rbnf/sk.txt -text
icu4c/source/data/rbnf/sq.txt -text
icu4c/source/data/rbnf/tr.txt -text
icu4c/source/data/rbnf/vi.txt -text
icu4c/source/data/rbnf/zh.txt -text
icu4c/source/data/rbnf/zh_Hant.txt -text
icu4c/source/data/xml/collation/bn_IN.xml -text
icu4c/source/data/xml/collation/ur.xml -text
icu4c/source/data/xml/main/ha.xml -text
@ -94,6 +118,12 @@ icu4c/source/data/xml/main/pa_Arab.xml -text
icu4c/source/data/xml/main/pa_PK.xml -text
icu4c/source/data/xml/main/si.xml -text
icu4c/source/data/xml/main/zu.xml -text
icu4c/source/data/xml/rbnf/de.xml -text
icu4c/source/data/xml/rbnf/en.xml -text
icu4c/source/data/xml/rbnf/fr.xml -text
icu4c/source/data/xml/rbnf/ga.xml -text
icu4c/source/data/xml/rbnf/mt.xml -text
icu4c/source/data/xml/rbnf/root.xml -text
icu4c/source/extra/uconv/pkgdataMakefile.in -text
icu4c/source/i18n/dtitv_impl.h -text
icu4c/source/i18n/dtitvfmt.cpp -text

View File

@ -70,7 +70,7 @@
</taskdef>
</target>
<!-- target for generating ICU data -->
<target name="all" depends="locales, resfiles, collation, colfiles, supplementalData, metazoneInfo, likelySubtags, plurals, translit, brkitr, brkfiles" />
<target name="all" depends="locales, resfiles, collation, colfiles, rbnf, rbnffiles, supplementalData, metazoneInfo, likelySubtags, plurals, translit, brkitr, brkfiles" />
<!-- parallel target -->
<target name="pall" depends="init">
<parallel threadsPerProcessor ="1">
@ -86,6 +86,12 @@
<ant target='colfiles'>
</ant>
</sequential>
<sequential>
<ant target='rbnf'>
</ant>
<ant target='rbnffiles'>
</ant>
</sequential>
<ant target='supplementalData'>
</ant>
<sequential>
@ -225,6 +231,34 @@
</run>
</cldr-build>
</target>
<target name="rbnf" depends="init,setup" description="builds rbnf files in ICU text format">
<cldr-build toolName="org.unicode.cldr.icu.LDML2ICUConverter" srcFile=".*xml" destFile=".*txt">
<run>
<args>
<arg name="--sourcedir" value="${env.CLDR_DIR}/common/rbnf" />
<arg name="--destdir" value="${env.ICU4C_DIR}/source/data/rbnf"/>
<arg name="--specialsdir" value="${env.ICU4C_DIR}/source/data/xml/rbnf"/>
<arg name="--supplementaldir" value="${env.CLDR_DIR}/common/supplemental" />
</args>
<!-- http://ant.apache.org/faq.html#xml-entity-include -->
&icu-config;
</run>
</cldr-build>
</target>
<target name="rbnffiles" depends="init, setup" description="builds rbnffiles.mk">
<cldr-build toolName="org.unicode.cldr.icu.LDML2ICUConverter" destFile="rbnffiles.mk" noArgs="true">
<!-- launch the tool and generate the data after reading the config file -->
<run>
<args>
<arg name="-s" value="${env.CLDR_DIR}/common/rbnf" />
<arg name="-d" value="${env.ICU4C_DIR}/source/data/rbnf"/>
<arg name="-p" value="${env.ICU4C_DIR}/source/data/xml/rbnf"/>
<arg name="-m" value="${env.CLDR_DIR}/common/supplemental" />
<arg name="-w" value="${env.CLDR_DIR}/common/rbnf" />
</args>
</run>
</cldr-build>
</target>
<target name="supplementalData" depends="init,setup" description="builds supplementalData.txt from supplementalData.xml">
<cldr-build toolName="org.unicode.cldr.icu.LDML2ICUConverter" destFile="supplementalData.txt" noArgs="true">
<!-- launch the tool and generate the data after reading the config file -->

View File

@ -0,0 +1,87 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/af.xml
// *
// ***************************************************************************
af{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nul;\n",
"1: een;\n",
"2: twee;\n",
"3: drie;\n",
"4: vier;\n",
"5: vyf;\n",
"6: ses;\n",
"7: sewe;\n",
"8: agt;\n",
"9: nege;\n",
"10: tien;\n",
"11: elf;\n",
"12: twaalf;\n",
"13: dertien;\n",
"14: veertien;\n",
"15: vyftien;\n",
"16: sestien;\n",
"17: sewentien;\n",
"18: agttien;\n",
"19: negentien;\n",
"20: [>> en ]twintig;\n",
"30: [>> en ]dertig;\n",
"40: [>> en ]veertig;\n",
"50: [>> en ]vyftig;\n",
"60: [>> en ]sestig;\n",
"70: [>> en ]sewentig;\n",
"80: [>> en ]tagtig;\n",
"90: [>> en ]negentig;\n",
"100: << honderd[ >>];\n",
"1000: << duisend[ >>];\n",
"1000000: << miljoen[ >>];\n",
"1000000000: << miljard[ >>];\n",
"1000000000000: << biljoen[ >>];\n",
"1000000000000000: << biljard[ >>];\n",
"1000000000000000000: =#,##0.#=\n",
"-x: min >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: nul;\n",
"1: een;\n",
"2: twee;\n",
"3: drie;\n",
"4: vier;\n",
"5: vyf;\n",
"6: ses;\n",
"7: sewe;\n",
"8: agt;\n",
"9: nege;\n",
"10: tien;\n",
"11: elf;\n",
"12: twaalf;\n",
"13: dertien;\n",
"14: veertien;\n",
"15: vyftien;\n",
"16: sestien;\n",
"17: sewentien;\n",
"18: agttien;\n",
"19: negentien;\n",
"20: [>> en ]twintig;\n",
"30: [>> en ]dertig;\n",
"40: [>> en ]veertig;\n",
"50: [>> en ]vyftig;\n",
"60: [>> en ]sestig;\n",
"70: [>> en ]sewentig;\n",
"80: [>> en ]tagtig;\n",
"90: [>> en ]negentig;\n",
"100: << honderd[ >>];\n",
"1000: duisend[ >>];\n",
"1100/100: << honderd[ >>];\n",
"10000: =%spellout=;\n",
"-x: min >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,48 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ca.xml
// *
// ***************************************************************************
ca{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: zero; u; dos; tres; quatre; cinc; sis; set; vuit; nou;\n",
"10: deu; onze; dotze; tretze; catorze; quinze; setze; disset; divuit; dinou;\n",
"20: vint[-i->>];\n",
"30: trenta[->>];\n",
"40: quaranta[->>];\n",
"50: cinquanta[->>];\n",
"60: seixanta[->>];\n",
"70: setanta[->>];\n",
"80: vuitanta[->>];\n",
"90: noranta[->>];\n",
"100: cent[->>];\n",
"200: <<-cents; <<-cent >>;\n",
"300: <<-cents; <<-cent >>;\n",
"400: <<-cents; <<-cent >>;\n",
"500: <<-cents; <<-cent >>;\n",
"600: <<-cents; <<-cent >>;\n",
"700: <<-cents; <<-cent >>;\n",
"800: <<-cents; <<-cent >>;\n",
"900: <<-cents; <<-cent >>;\n",
"1000: mil[ >>];\n",
"2000: << mil[ >>];\n",
"1000000: un mili\u00F3[ >>];\n",
"2000000: << milions[ >>];\n",
"1000000000: un miliard[ >>];\n",
"2000000000: << miliards[ >>];\n",
"1000000000000: un bili\u00F3[ >>];\n",
"2000000000000: << bilions[ >>];\n",
"1000000000000000: un biliard[ >>];\n",
"2000000000000000: << biliards[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: menys >>;\n",
"x.x: << coma >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,64 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/cs.xml
// *
// ***************************************************************************
cs{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nula;\n",
"1: jeden;\n",
"2: dva;\n",
"3: t\u0159i;\n",
"4: \u010Dty\u0159i;\n",
"5: p\u011Bt;\n",
"6: \u0161est;\n",
"7: sedm;\n",
"8: osm;\n",
"9: dev\u011Bt;\n",
"10: deset;\n",
"11: jeden\u00E1ct;\n",
"12: dvan\u00E1ct;\n",
"13: t\u0159in\u00E1ct;\n",
"14: \u010Dtrn\u00E1ct;\n",
"15: patn\u00E1ct;\n",
"16: \u0161estn\u00E1ct;\n",
"17: sedmn\u00E1ct;\n",
"18: osmn\u00E1ct;\n",
"19: devaten\u00E1ct;\n",
"20: <<cet[ >>];\n",
"50: pades\u00E1t[ >>];\n",
"60: \u0161edes\u00E1t[ >>];\n",
"70: sedmdes\u00E1t[ >>];\n",
"80: osmdes\u00E1t[ >>];\n",
"90: devades\u00E1t[ >>];\n",
"100: sto[ >>];\n",
"200: << st\u011B[ >>];\n",
"300: << sta[ >>];\n",
"500: << set[ >>];\n",
"1000: << tis\u00EDc[ >>];\n",
"2000: << tis\u00EDce[ >>];\n",
"5000: << tis\u00EDc[ >>];\n",
"1000000: << mili\u00F3n[ >>];\n",
"2000000: << mili\u00F3ny[ >>];\n",
"5000000: << mili\u00F3n\u016F[ >>];\n",
"1000000000: << miliarda[ >>];\n",
"2000000000: << miliardy[ >>];\n",
"5000000000: << miliard\u016F[ >>];\n",
"1000000000000: << bili\u00F3n[ >>];\n",
"2000000000000: << bili\u00F3ny[ >>];\n",
"5000000000000: << bili\u00F3n\u016F[ >>];\n",
"1000000000000000: << biliarda[ >>];\n",
"2000000000000000: << biliardy[ >>];\n",
"5000000000000000: << biliard\u016F[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << \u010D\u00E1rka >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,34 +1,64 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/da.xml
// *
// ***************************************************************************
//
da {
SpelloutRules {
"-x: minus >>;\n"
"nol; en; to; tre; fire; fem; seks; syv; otte; ni;\n"
"ti; elleve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n"
"20: [>>og]tvye;\n"
"30: [>>og]tredive;\n"
"40: [>>og]fyrre;\n"
"50: [>>og]femti;\n"
"60: [>>og]seksti;\n"
"70: [>>og]syvti;\n"
"80: [>>og]otteti;\n"
"90: [>>og]niti;\n"
"100: et hundrede[>>];\n"
"200: << hundrede[>>];\n"
"1000: et tusinde[ >>];\n"
"2000: << tusinde[ >>];\n"
"1,000,000: en million[ >>];\n"
"2,000,000: << million[ >>];\n"
"1,000,000,000: en milliarde[ >>];\n"
"2,000,000,000: << milliarde[ >>];\n"
"1,000,000,000,000: en billione[ >>];\n"
"2,000,000,000,000: << billione[ >>];\n"
"1,000,000,000,000,000: =#,##0=;"
da{
RBNFRules{
OrdinalRules{
"%%ordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%spellout:\n",
"0: nul; en; to; tre; fire; fem; seks; syv; otte; ni;\n",
"10: ti; elve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: [>>\u00ADog\u00AD]tyve;\n",
"30: [>>\u00ADog\u00AD]tredive;\n",
"40: [>>\u00ADog\u00AD]fyrre;\n",
"50: [>>\u00ADog\u00AD]halvtreds;\n",
"60: [>>\u00ADog\u00AD]tres;\n",
"70: [>>\u00ADog\u00AD]halvfjerds;\n",
"80: [>>\u00ADog\u00AD]firs;\n",
"90: [>>\u00ADog\u00AD]halvfems;\n",
"100: <<\u00ADhundrede[ og >>];\n",
"200: <<\u00ADhundred[ og >>];\n",
"1000: << tusinde[ og >>];\n",
"2000: << tusind[ og >>];\n",
"1000000: en million[ og >>];\n",
"2000000: << millioner[ og >>];\n",
"1000000000: en milliard[ og >>];\n",
"2000000000: << milliarder[ og >>];\n",
"1000000000000: en billion[ og >>];\n",
"2000000000000: << billioner[ og >>];\n",
"1000000000000000: en billiard[ og >>];\n",
"2000000000000000: << billiarder[ og >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: nul; en; to; tre; fire; fem; seks; syv; otte; ni;\n",
"10: ti; elve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: [>>\u00ADog\u00AD]tyve;\n",
"30: [>>\u00ADog\u00AD]tredive;\n",
"40: [>>\u00ADog\u00AD]fyrre;\n",
"50: [>>\u00ADog\u00AD]halvtreds;\n",
"60: [>>\u00ADog\u00AD]tres;\n",
"70: [>>\u00ADog\u00AD]halvfjerds;\n",
"80: [>>\u00ADog\u00AD]firs;\n",
"90: [>>\u00ADog\u00AD]halvfems;\n",
"100: <<\u00ADhundrede[ og >>];\n",
"200: <<\u00ADhundred[ og >>];\n",
"1000: tusinde[ og >>];\n",
"1100/100: <<\u00ADhundred[ og >>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,59 +1,61 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, 2007 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/de.xml
// *
// ***************************************************************************
//
de {
// * RuleBasedNumberFormat data for German
// again, I'm not 100% sure of these rules. I think both "hundert" and
// "einhundert" are correct or 100, but I'm not sure which is preferable
// in situations where this framework is likely to be used. Also, is it
// really true that numbers are run together into compound words all the
// time?
SpelloutRules {
// 1 is "eins" when by itself, but turns into "ein" in most
// combinations
"%alt-ones:\n"
"-x: minus >>;\n"
"x.x: << komma >>;\n"
"null; eins; =%%main=;\n"
"%%main:\n"
// words for numbers from 0 to 12. Notice that the values
// from 13 to 19 can derived algorithmically, unlike in most
// other languages
"null; ein; zwei; drei; vier; f\u00fcnf; sechs; sieben; acht; neun;\n"
"zehn; elf; zw\u00f6lf; >>zehn;\n"
// rules for the multiples of 10. Notice that the ones digit
// goes on the front
"20: [>>und]zwanzig;\n"
"30: [>>und]drei\u00dfig;\n"
"40: [>>und]vierzig;\n"
"50: [>>und]f\u00fcnfzig;\n"
"60: [>>und]sechzig;\n"
"70: [>>und]siebzig;\n"
"80: [>>und]achtzig;\n"
"90: [>>und]neunzig;\n"
"100: hundert[>%alt-ones>];\n"
"200: <<hundert[>%alt-ones>];\n"
"1000: tausend[>%alt-ones>];\n"
"1100: tausendein[>%alt-ones>];\n"
"1200: tausend[>%alt-ones>];\n"
"2000: <<tausend[>%alt-ones>];\n"
"1,000,000: eine Million[ >%alt-ones>];\n"
"2,000,000: << Millionen[ >%alt-ones>];\n"
"1,000,000,000: eine Milliarde[ >%alt-ones>];\n"
"2,000,000,000: << Milliarden[ >%alt-ones>];\n"
"1,000,000,000,000: eine Billion[ >%alt-ones>];\n"
"2,000,000,000,000: << Billionen[ >%alt-ones>];\n"
"1,000,000,000,000,000: =#,##0=;"
"%%lenient-parse:\n"
"&\u0000 << ' ' << '-'\n"
"& ae , \u00e4 & ae , \u00c4\n"
"& oe , \u00f6 & oe , \u00d6\n"
"& ue , \u00fc & ue , \u00dc\n"
/**
* ICU <specials> source: <path>/xml/rbnf/de.xml
*/
de{
RBNFRules{
OrdinalRules{
"%%ordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%%lenient-parse:\n",
"&ue=\u00FC&ae=\u00E4&oe=\u00F6&[last primary ignorable ] << ' ' << ',' << '-';\n",
"%%main:\n",
"0: null; ein; zwei; drei; vier; f\u00FCnf; sechs; sieben; acht; neun;\n",
"10: zehn; elf; zw\u00F6lf; >>zehn;\n",
"20: [>>und]zwanzig;\n",
"30: [>>und]drei\u00DFig;\n",
"40: [>>und]vierzig;\n",
"50: [>>und]f\u00FCnfzig;\n",
"60: [>>und]sechzig;\n",
"70: [>>und]siebzig;\n",
"80: [>>und]achtzig;\n",
"90: [>>und]neunzig;\n",
"100: hundert[>%spellout>];\n",
"200: <<hundert[>%spellout>];\n",
"1000: tausend[>%spellout>];\n",
"1100: tausendein[>%spellout>];\n",
"1200: tausend[>%spellout>];\n",
"2000: <<tausend[>%spellout>];\n",
"1000000: eine Million[ >%spellout>];\n",
"2000000: << Millionen[ >%spellout>];\n",
"1000000000: eine Milliarde[ >%spellout>];\n",
"2000000000: << Milliarden[ >%spellout>];\n",
"1000000000000: eine Billion[ >%spellout>];\n",
"2000000000000: << Billionen[ >%spellout>];\n",
"1000000000000000: eine Billiarde[ >%spellout>];\n",
"2000000000000000: << Billiarden[ >%spellout>];\n",
"1000000000000000000: =#,##0.#=;\n",
"%spellout:\n",
"0: null;eins; =%%main=;\n",
"-x: minus >>;\n",
"x.x: << Komma >>;\n",
"%year:\n",
"0: =%spellout=;\n",
"1100/100: <<hundert[>%spellout>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.5"}
}

View File

@ -1,57 +1,55 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/el.xml
// *
// ***************************************************************************
//
el {
/*
* omit rules for Greek until we have complete and valid data.
// * Spellout rules for Greek. Again in Greek we have to supply the words
// * for the multiples of 100 because they can't be derived algorithmically.
// * Also, the tens digit changes form when followed by a ones digit: an
// * accent mark disappears from the tens digit and moves to the ones digit.
// * Therefore, instead of using the [] notation, we actually have to use
// * two separate rules for each multiple of 10 to show the two forms of
// * the word.
// Can someone supply me with information on negatives and decimals?
SpelloutRules {
"\u03bc\u03b7\u03b4\u03ad\u03bd; \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03c4\u03c1\u03af\u03b1; "
"\u03c4\u03ad\u03c3\u03c3\u03b5\u03c1\u03b1; \u03c0\u03ad\u03bd\u03c4\u03b5; "
"\u03ad\u03be\u03b9; \u03b5\u03c0\u03c4\u03ac; \u03bf\u03ba\u03c4\u03ce; "
"\u03b5\u03bd\u03bd\u03ad\u03b1;\n"
"10: \u03b4\u03ad\u03ba\u03b1; "
"\u03ad\u03bd\u03c4\u03b5\u03ba\u03b1; \u03b4\u03ce\u03b4\u03b5\u03ba\u03b1; "
"\u03b4\u03b5\u03ba\u03b1>>;\n"
"20: \u03b5\u03af\u03ba\u03bf\u03c3\u03b9; \u03b5\u03b9\u03ba\u03bf\u03c3\u03b9>>;\n"
"30: \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1; \u03c4\u03c1\u03b9\u03b1\u03bd\u03c4\u03b1>>;\n"
"40: \u03c3\u03b1\u03c1\u03ac\u03bd\u03c4\u03b1; \u03c3\u03b1\u03c1\u03b1\u03bd\u03c4\u03b1>>;\n"
"50: \u03c0\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; \u03c0\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
"60: \u03b5\u03be\u03ae\u03bd\u03c4\u03b1; \u03b5\u03be\u03b7\u03bd\u03c4\u03b1>>;\n"
"70: \u03b5\u03b2\u03b4\u03bf\u03bc\u03ae\u03bd\u03c4\u03b1; "
"\u03b5\u03b2\u03b4\u03bf\u03bc\u03b7\u03bd\u03c4\u03b1>>;\n"
"80: \u03bf\u03b3\u03b4\u03cc\u03bd\u03c4\u03b1; \u03bf\u03b3\u03b4\u03bf\u03bd\u03c4\u03b1>>;\n"
"90: \u03b5\u03bd\u03bd\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; "
"\u03b5\u03bd\u03bd\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
"100: \u03b5\u03ba\u03b1\u03c4\u03cc[\u03bd >>];\n"
"200: \u03b4\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"300: \u03c4\u03c1\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"400: \u03c4\u03b5\u03c4\u03c1\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"500: \u03c0\u03b5\u03bd\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"600: \u03b5\u03be\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"700: \u03b5\u03c0\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"800: \u03bf\u03ba\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"900: \u03b5\u03bd\u03bd\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
"1000: \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
"2000: << \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
"1,000,000: << \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03bf[ >>];\n"
"1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03bf[ >>];\n"
"1,000,000,000,000: =#,##0="
el{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: \u03BC\u03B7\u03B4\u03AD\u03BD; \u03AD\u03BD\u03B1; \u03B4\u03CD\u03BF;\n",
"3: \u03C4\u03C1\u03AF\u03B1; \u03C4\u03AD\u03C3\u03C3\u03B5\u03C1\u03B1;\n",
"5: \u03C0\u03AD\u03BD\u03C4\u03B5; \u03AD\u03BE\u03B9;\n",
"7: \u03B5\u03C0\u03C4\u03AC; \u03BF\u03BA\u03C4\u03CE;\n",
"9: \u03B5\u03BD\u03BD\u03AD\u03B1;\n",
"10: \u03B4\u03AD\u03BA\u03B1; \u03AD\u03BD\u03C4\u03B5\u03BA\u03B1;\n",
"12: \u03B4\u03CE\u03B4\u03B5\u03BA\u03B1; \u03B4\u03B5\u03BA\u03B1\u00AD>>;\n",
"20: \u03B5\u03AF\u03BA\u03BF\u03C3\u03B9; \u03B5\u03B9\u03BA\u03BF\u03C3\u03B9 >>;\n",
"30: \u03C4\u03C1\u03B9\u03AC\u03BD\u03C4\u03B1; \u03C4\u03C1\u03B9\u03B1\u03BD\u03C4\u03B1 >>;\n",
"40: \u03C3\u03B1\u03C1\u03AC\u03BD\u03C4\u03B1; \u03C3\u03B1\u03C1\u03B1\u03BD\u03C4\u03B1 >>;\n",
"50: \u03C0\u03B5\u03BD\u03AE\u03BD\u03C4\u03B1; \u03C0\u03B5\u03BD\u03B7\u03BD\u03C4\u03B1 >>;\n",
"60: \u03B5\u03BE\u03AE\u03BD\u03C4\u03B1; \u03B5\u03BE\u03B7\u03BD\u03C4\u03B1 >>;\n",
"70: \u03B5\u03B2\u03B4\u03BF\u03BC\u03AE\u03BD\u03C4\u03B1;\n",
"71: \u03B5\u03B2\u03B4\u03BF\u03BC\u03B7\u03BD\u03C4\u03B1 >>;\n",
"80: \u03BF\u03B3\u03B4\u03CC\u03BD\u03C4\u03B1; \u03BF\u03B3\u03B4\u03BF\u03BD\u03C4\u03B1\u00AD >>;\n",
"90: \u03B5\u03BD\u03BD\u03B5\u03BD\u03AE\u03BD\u03C4\u03B1;\n",
"91: \u03B5\u03BD\u03BD\u03B5\u03BD\u03B7\u03BD\u03C4\u03B1 >>;\n",
"100: \u03B5\u03BA\u03B1\u03C4\u03CC[\u03BD >>];\n",
"200: \u03B4\u03B9\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"300: \u03C4\u03C1\u03B9\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"400: \u03C4\u03B5\u03C4\u03C1\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"500: \u03C0\u03B5\u03BD\u03C4\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"600: \u03B5\u03BE\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"700: \u03B5\u03C0\u03C4\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"800: \u03BF\u03BA\u03C4\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"900: \u03B5\u03BD\u03BD\u03B9\u03B1\u00AD\u03BA\u03CC\u03C3\u03B9\u03B1[ >>];\n",
"1000: \u03C7\u03AF\u03BB\u03B9\u03B1[ >>];\n",
"2000: << \u03C7\u03AF\u03BB\u03B9\u03AC\u03B4\u03B5\u03C2[ >>];\n",
"1000000: << \u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03BF[ >>];\n",
"2000000: << \u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03B1[ >>];\n",
"1000000000: << \u03B4\u03B9\u03C3\u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03BF[ >>];\n",
"2000000000: << \u03B4\u03B9\u03C3\u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03B1[ >>];\n",
"1000000000000: << \u03C4\u03C1\u03B9\u03C3\u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03BF[ >>];\n",
"2000000000000: << \u03C4\u03C1\u03B9\u03C3\u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03B1[ >>];\n",
"1000000000000000: << \u03C4\u03AD\u03C4\u03B1\u03C1\u03AC\u03BA\u03B9\u03C2 \u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03BF[ >>];\n",
"2000000000000000: << \u03C4\u03AD\u03C4\u03B1\u03C1\u03AC\u03BA\u03B9\u03C2 \u03B5\u03BA\u03B1\u03C4\u03BF\u03BC\u03BC\u03CD\u03C1\u03B9\u03B1[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: \u03BC\u03B5\u03AF\u03BF\u03BD >>;\n",
"x.x: << \u03BA\u03CC\u03BC\u03BC\u03B1 >>;\n",
}
}
*/
Version{"1.4"}
}

View File

@ -1,219 +1,89 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/en.xml
// *
// ***************************************************************************
//
en {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for U.S. English. This rule set has two variants:
// * %simplified is a set of rules showing the simple method of spelling
// * out numbers in English: 289 is formatted as "two hundred eighty-nine".
// * %default uses a more complicated algorithm to format
// * numbers in a more natural way: 289 is formatted as "two hundred AND
// * eighty-nine" and commas are inserted between the thousands groups for
// * values above 100,000.
SpelloutRules {
// This rule set shows the normal simple formatting rules for English
"%simplified:\n"
// negative number rule. This rule is used to format negative
// numbers. The result of formatting the number's absolute
// value is placed where the >> is.
"-x: minus >>;\n"
// faction rule. This rule is used for formatting numbers
// with fractional parts. The result of formatting the
// number's integral part is substituted for the <<, and
// the result of formatting the number's fractional part
// (one digit at a time, e.g., 0.123 is "zero point one two
// three") replaces the >>.
"x.x: << point >>;\n"
// the rules for the values from 0 to 19 are simply the
// words for those numbers
"zero; one; two; three; four; five; six; seven; eight; nine;\n"
"ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
"seventeen; eighteen; nineteen;\n"
// beginning at 20, we use the >> to mark the position where
// the result of formatting the number's ones digit. Thus,
// we only need a new rule at every multiple of 10. Text in
// backets is omitted if the value being formatted is an
// even multiple of 10.
"20: twenty[->>];\n"
"30: thirty[->>];\n"
"40: forty[->>];\n"
"50: fifty[->>];\n"
"60: sixty[->>];\n"
"70: seventy[->>];\n"
"80: eighty[->>];\n"
"90: ninety[->>];\n"
// beginning at 100, we can use << to mark the position where
// the result of formatting the multiple of 100 is to be
// inserted. Notice also that the meaning of >> has shifted:
// here, it refers to both the ones place and the tens place.
// The meanings of the << and >> tokens depend on the base value
// of the rule. A rule's divisor is (usually) the highest
// power of 10 that is less than or equal to the rule's base
// value. The value being formatted is divided by the rule's
// divisor, and the integral quotient is used to get the text
// for <<, while the remainder is used to produce the text
// for >>. Again, text in brackets is omitted if the value
// being formatted is an even multiple of the rule's divisor
// (in this case, an even multiple of 100)
"100: << hundred[ >>];\n"
// The rules for the higher numbers work the same way as the
// rule for 100: Again, the << and >> tokens depend on the
// rule's divisor, which for all these rules is also the rule's
// base value. To group by thousand, we simply don't have any
// rules between 1,000 and 1,000,000.
"1000: << thousand[ >>];\n"
"1,000,000: << million[ >>];\n"
"1,000,000,000: << billion[ >>];\n"
"1,000,000,000,000: << trillion[ >>];\n"
// overflow rule. This rule specifies that values of a
// quadrillion or more are shown in numerals rather than words.
// The == token means to format (with new rules) the value
// being formatted by this rule and place the result where
// the == is. The #,##0 inside the == signs is a
// DecimalFormat pattern. It specifies that the value should
// be formatted with a DecimalFormat object, and that it
// should be formatted with no decimal places, at least one
// digit, and a thousands separator.
"1,000,000,000,000,000: =#,##0=;\n"
// %default is a more elaborate form of %simplified; It is basically
// the same, except that it introduces "and" before the ones digit
// when appropriate (basically, between the tens and ones digits) and
// separates the thousands groups with commas in values over 100,000.
"%default:\n"
// negative-number and fraction rules. These are the same
// as those for %simplified, but have to be stated here too
// because this is an entry point
"-x: minus >>;\n"
"x.x: << point >>;\n"
// just use %simplified for values below 100
"=%simplified=;\n"
// for values from 100 to 9,999 use %%and to decide whether or
// not to interpose the "and"
"100: << hundred[ >%%and>];\n"
"1000: << thousand[ >%%and>];\n"
// for values of 100,000 and up, use %%commas to interpose the
// commas in the right places (and also to interpose the "and")
"100,000>>: << thousand[>%%commas>];\n"
"1,000,000: << million[>%%commas>];\n"
"1,000,000,000: << billion[>%%commas>];\n"
"1,000,000,000,000: << trillion[>%%commas>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
// if the value passed to this rule set is greater than 100, don't
// add the "and"; if it's less than 100, add "and" before the last
// digits
"%%and:\n"
"and =%default=;\n"
"100: =%default=;\n"
// this rule set is used to place the commas
"%%commas:\n"
// for values below 100, add "and" (the apostrophe at the
// beginning is ignored, but causes the space that follows it
// to be significant: this is necessary because the rules
// calling %%commas don't put a space before it)
"' and =%default=;\n"
// put a comma after the thousands (or whatever preceded the
// hundreds)
"100: , =%default=;\n"
// put a comma after the millions (or whatever precedes the
// thousands)
"1000: , <%default< thousand, >%default>;\n"
// and so on...
"1,000,000: , =%default=;"
// %%lenient-parse isn't really a set of number formatting rules;
// it's a set of collation rules. Lenient-parse mode uses a Collator
// object to compare fragments of the text being parsed to the text
// in the rules, allowing more leeway in the matching text. This set
// of rules tells the formatter to ignore commas when parsing (it
// already ignores spaces, which is why we refer to the space; it also
// ignores hyphens, making "twenty one" and "twenty-one" parse
// identically)
"%%lenient-parse:\n"
// "& ' ' , ',' ;\n"
" &\u0000 << ' ' << ',' << '-'; \n"
}
// * This rule set adds an English ordinal abbreviation to the end of a
// * number. For example, 2 is formatted as "2nd". Parsing doesn't work with
// * this rule set. To parse, use DecimalFormat on the numeral.
OrdinalRules {
// this rule set formats the numeral and calls %%abbrev to
// supply the abbreviation
"%main:\n"
"=#,##0==%%abbrev=;\n"
// this rule set supplies the abbreviation
"%%abbrev:\n"
// the abbreviations. Everything from 4 to 19 ends in "th"
"th; st; nd; rd; th;\n"
// at 20, we begin repeating the cycle every 10 (13 is "13th",
// but 23 and 33 are "23rd" and "33rd") We do this by
// ignoring all bug the ones digit in selecting the abbreviation
"20: >>;\n"
// at 100, we repeat the whole cycle by considering only the
// tens and ones digits in picking an abbreviation
"100: >>;\n"
}
// * This rule set formats a number of seconds in sexagesimal notation
// * (i.e., hours, minutes, and seconds). %with-words formats it with
// * words (3,740 is "1 hour, 2 minutes, 20 seconds") and %in-numerals
// * formats it entirely in numerals (3,740 is "1:02:20").
DurationRules {
// main rule set for formatting with words
"%with-words:\n"
// take care of singular and plural forms of "second"
"0 seconds; 1 second; =0= seconds;\n"
// use %%min to format values greater than 60 seconds
"60/60: <%%min<[, >>];\n"
// use %%hr to format values greater than 3,600 seconds
// (the ">>>" below causes us to see the number of minutes
// when when there are zero minutes)
"3600/60: <%%hr<[, >>>];\n"
// this rule set takes care of the singular and plural forms
// of "minute"
"%%min:\n"
"0 minutes; 1 minute; =0= minutes;\n"
// this rule set takes care of the singular and plural forms
// of "hour"
"%%hr:\n"
"0 hours; 1 hour; =0= hours;\n"
// main rule set for formatting in numerals
"%in-numerals:\n"
// values below 60 seconds are shown with "sec."
"=0= sec.;\n"
// higher values are shown with colons: %%min-sec is used for
// values below 3,600 seconds...
"60: =%%min-sec=;\n"
// ...and %%hr-min-sec is used for values of 3,600 seconds
// and above
"3600: =%%hr-min-sec=;\n"
// this rule causes values of less than 10 minutes to show without
// a leading zero
"%%min-sec:\n"
"0: :=00=;\n"
"60/60: <0<>>;\n"
// this rule set is used for values of 3,600 or more. Minutes are always
// shown, and always shown with two digits
"%%hr-min-sec:\n"
"0: :=00=;\n"
"60/60: <00<>>;\n"
"3600/60: <#,##0<:>>>;\n"
// the lenient-parse rules allow several different characters to be used
// as delimiters between hours, minutes, and seconds
"%%lenient-parse:\n"
"& ':' = '.' = ' ' = '-';\n"
/**
* ICU <specials> source: <path>/xml/rbnf/en.xml
*/
en{
RBNFRules{
DurationRules{
"%duration:\n",
"0: =%in-numerals=;\n",
"%%hr:\n",
"0: 0 hours; 1 hour; =0= hours;\n",
"%%hr-min-sec:\n",
"0: :=00=;\n",
"60/60: <00<>>;\n",
"3600/60: <#,##0<:>>>;\n",
"%in-numerals:\n",
"0: =0= sec.;\n",
"60: =%%min-sec=;\n",
"3600: =%%hr-min-sec=;\n",
"%%lenient-parse:\n",
"& ':' = '.' = ' ' = '-';\n",
"%%min:\n",
"0: 0 minutes; 1 minute; =0= minutes;\n",
"%%min-sec:\n",
"0: :=00=;\n",
"60/60: <0<>>;\n",
"%with-words:\n",
"0: 0 seconds; 1 second; =0= seconds;\n",
"60/60: <%%min<[, >>];\n",
"3600/60: <%%hr<[, >>>];\n",
}
OrdinalRules{
"%%ordabbrev:\n",
"0: th; st; nd; rd; th;\n",
"20: >>;\n",
"100: >>;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%%lenient-parse:\n",
"&[last primary ignorable ] << ' ' << ',' << '-';\n",
"%spellout:\n",
"0: zero; one; two; three; four; five; six; seven; eight; nine;\n",
"10: ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen; seventeen; eighteen; nineteen;\n",
"20: twenty[->>];\n",
"30: thirty[->>];\n",
"40: forty[->>];\n",
"50: fifty[->>];\n",
"60: sixty[->>];\n",
"70: seventy[->>];\n",
"80: eighty[->>];\n",
"90: ninety[->>];\n",
"100: << hundred[ >>];\n",
"1000: << thousand[ >>];\n",
"1000000: << million[ >>];\n",
"1000000000: << billion[ >>];\n",
"1000000000000: << trillion[ >>];\n",
"1000000000000000: << quadrillion[ >>];\n",
"1000000000000000000: =#,##0=;\n",
"-x: minus >>;\n",
"x.x: << point >>;\n",
"%year:\n",
"0: zero; one; two; three; four; five; six; seven; eigth; nine;\n",
"10: ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen; seventeen; eighteen; nineteen;\n",
"20: twenty[->>];\n",
"30: thirty[->>];\n",
"40: forty[->>];\n",
"50: fifty[->>];\n",
"60: sixty[->>];\n",
"70: seventy[->>];\n",
"80: eighty[->>];\n",
"90: ninety[->>];\n",
"100: << hundred[ and >>];\n",
"1000: thousand[ and >>];\n",
"1100/100: << hundred[ and >>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,77 +0,0 @@
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// *
// ***************************************************************************
//
en_GB {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for U.K. English. U.K. English has one significant
// * difference from U.S. English: the names for values of 1,000,000,000
// * and higher. In American English, each successive "-illion" is 1,000
// * times greater than the preceding one: 1,000,000,000 is "one billion"
// * and 1,000,000,000,000 is "one trillion." In British English, each
// * successive "-illion" is one million times greater than the one before:
// * "one billion" is 1,000,000,000,000 (or what Americans would call a
// * "trillion"), and "one trillion" is 1,000,000,000,000,000,000.
// * 1,000,000,000 in British English is "one thousand million." (This
// * value is sometimes called a "milliard," but this word seems to have
// * fallen into disuse.)
// Could someone please correct me if I'm wrong about "milliard" falling
// into disuse, or have missed any other details of how large numbers
// are rendered. Also, could someone please provide me with information
// on which other English-speaking countries use which system? Right now,
// I'm assuming that the U.S. system is used in Canada and that all the
// other English-speaking countries follow the British system. Can
// someone out there confirm this?
SpelloutRules {
"%simplified:\n"
"-x: minus >>;\n"
"x.x: << point >>;\n"
"zero; one; two; three; four; five; six; seven; eight; nine;\n"
"ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
" seventeen; eighteen; nineteen;\n"
"20: twenty[->>];\n"
"30: thirty[->>];\n"
"40: forty[->>];\n"
"50: fifty[->>];\n"
"60: sixty[->>];\n"
"70: seventy[->>];\n"
"80: eighty[->>];\n"
"90: ninety[->>];\n"
"100: << hundred[ >>];\n"
"1000: << thousand[ >>];\n"
"1,000,000: << million[ >>];\n"
"1,000,000,000,000: << billion[ >>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
"%default:\n"
"-x: minus >>;\n"
"x.x: << point >>;\n"
"=%simplified=;\n"
"100: << hundred[ >%%and>];\n"
"1000: << thousand[ >%%and>];\n"
"100,000>>: << thousand[>%%commas>];\n"
"1,000,000: << million[>%%commas>];\n"
"1,000,000,000,000: << billion[>%%commas>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
"%%and:\n"
"and =%default=;\n"
"100: =%default=;\n"
"%%commas:\n"
"' and =%default=;\n"
"100: , =%default=;\n"
"1000: , <%default< thousand, >%default>;\n"
"1,000,000: , =%default=;"
"%%lenient-parse:\n"
"& ' ' , ',' ;\n"
}
}

View File

@ -1,36 +1,34 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/eo.xml
// *
// ***************************************************************************
//
eo {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// data from 'Esperanto-programita 1' courtesy of Markus Scherer
SpelloutRules {
"-x: minus >>;\n"
"x.x: << komo >>;\n"
"nulo; unu; du; tri; kvar; kvin; ses; sep; ok; na\u016d;\n"
"10: dek[ >>];\n"
"20: <<dek[ >>];\n"
"100: cent[ >>];\n"
"200: <<cent[ >>];\n"
"1000: mil[ >>];\n"
"2000: <<mil[ >>];\n"
"10000: dekmil[ >>];\n"
"11000>: << mil[ >>];\n"
"1,000,000: miliono[ >>];\n"
"2,000,000: << milionoj[ >>];\n"
"1,000,000,000: miliardo[ >>];\n"
"2,000,000,000: << miliardoj[ >>];\n"
"1,000,000,000,000: biliono[ >>];\n"
"2,000,000,000,000: << bilionoj[ >>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
eo{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nulo; unu; du; tri; kvar; kvin; ses; sep; ok; na\u016D;\n",
"10: dek[ >>];\n",
"20: <<dek[ >>];\n",
"100: cent[ >>];\n",
"200: <<cent[ >>];\n",
"1000: mil[ >>];\n",
"2000: <<mil[ >>];\n",
"10000: dekmil[ >>];\n",
"11000>: << mil[ >>];\n",
"1000000: miliono[ >>];\n",
"2000000: << milionoj[ >>];\n",
"1000000000: miliardo[ >>];\n",
"2000000000: << miliardoj[ >>];\n",
"1000000000000: biliono[ >>];\n",
"2000000000000: << bilionoj[ >>];\n",
"1000000000000000: =#,##0=;\n",
"-x: minus >>;\n",
"x.x: << komo >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,74 +1,55 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/es.xml
// *
// ***************************************************************************
//
es {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for Spanish. The Spanish rules are quite similar to
// * the English rules, but there are some important differences:
// * First, we have to provide separate rules for most of the twenties
// * because the ones digit frequently picks up an accent mark that it
// * doesn't have when standing alone. Second, each multiple of 100 has
// * to be specified separately because the multiplier on 100 very often
// * changes form in the contraction: 500 is "quinientos," not
// * "cincocientos." In addition, the word for 100 is "cien" when
// * standing alone, but changes to "ciento" when followed by more digits.
// * There also some other differences.
// The Spanish rules are incomplete. I'm missing information on negative
// numbers and numbers with fractional parts. I also don't have
// information on numbers higher than the millions.
SpelloutRules {
// negative-number and fraction rules
"-x: menos >>;\n"
"x.x: << punto >>;\n"
// words for values from 0 to 19
"cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n"
"diez; once; doce; trece; catorce; quince; diecis\u00e9is;\n"
" diecisiete; dieciocho; diecinueve;\n"
// words for values from 20 to 29 (necessary because the ones digit
// often picks up an accent mark it doesn't have when standing alone)
"veinte; veintiuno; veintid\u00f3s; veintitr\u00e9s; veinticuatro;\n"
" veinticinco; veintis\u00e9is; veintisiete; veintiocho;\n"
" veintinueve;\n"
// words for multiples of 10 (notice that the tens digit is separated
// from the ones digit by the word "y".)
"30: treinta[ y >>];\n"
"40: cuarenta[ y >>];\n"
"50: cincuenta[ y >>];\n"
"60: sesenta[ y >>];\n"
"70: setenta[ y >>];\n"
"80: ochenta[ y >>];\n"
"90: noventa[ y >>];\n"
// 100 by itself is "cien," but 100 followed by something is "cineto"
"100: cien;\n"
"101: ciento >>;\n"
// words for multiples of 100 (must be stated because they're
// rarely simple concatenations)
"200: doscientos[ >>];\n"
"300: trescientos[ >>];\n"
"400: cuatrocientos[ >>];\n"
"500: quinientos[ >>];\n"
"600: seiscientos[ >>];\n"
"700: setecientos[ >>];\n"
"800: ochocientos[ >>];\n"
"900: novecientos[ >>];\n"
// for 1,000, the multiplier on "mil" is omitted: 2,000 is "dos mil,"
// but 1,000 is just "mil."
"1000: mil[ >>];\n"
"2000: << mil[ >>];\n"
// 1,000,000 is "un millon," not "uno millon"
"1,000,000: un mill\u00f3n[ >>];\n"
"2,000,000: << mill\u00f3n[ >>];\n"
// overflow rule
"1,000,000,000: =#,##0= (incomplete data);"
es{
RBNFRules{
OrdinalRules{
"%ordinal:\n",
"0: =#,##0==%%ordinal_mascabbrev=;\n",
"%%ordinal_mascabbrev:\n",
"0: \u00BA;\n",
}
SpelloutRules{
"%spellout:\n",
"0: cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n",
"10: diez; once; doce; trece; catorce; quince; diecis\u00E9is; dieci>>;\n",
"20: veinte; veintiuno; veintid\u00F3s; veintitr\u00E9s; veinticuatro;\n",
"25: veinticinco; veintis\u00E9is; veinti>>;\n",
"30: treinta[ y >>];\n",
"40: cuarenta[ y >>];\n",
"50: cincuenta[ y >>];\n",
"60: sesenta[ y >>];\n",
"70: setenta[ y >>];\n",
"80: ochenta[ y >>];\n",
"90: noventa[ y >>];\n",
"100: cien; ciento >>;\n",
"200: doscientos[ >>];\n",
"300: trescientos[ >>];\n",
"400: cuatrocientos[ >>];\n",
"500: quinientos[ >>];\n",
"600: seiscientos[ >>];\n",
"700: setecientos[ >>];\n",
"800: ochocientos[ >>];\n",
"900: novecientos[ >>];\n",
"1000: mil[ >>];\n",
"2000: << mil[ >>];\n",
"1000000: un mill\u00F3n[ >>];\n",
"2000000: << millones[ >>];\n",
"1000000000: un millardo[ >>];\n",
"2000000000: << millardos[ >>];\n",
"1000000000000: un bill\u00F3n[ >>];\n",
"2000000000000: << billones[ >>];\n",
"1000000000000000: un billardo[ >>];\n",
"2000000000000000: << billardos[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: menos >>;\n",
"x.x: << coma >>;\n",
}
}
Version{"1.5"}
}

View File

@ -0,0 +1,32 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/et.xml
// *
// ***************************************************************************
et{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: null; \u00FCks; kaks; kolm; neli; viis; kuus; seitse; kaheksa; \u00FCheksa;\n",
"10: k\u00FCmme; >>\u00ADteist;\n",
"20: <<\u00ADk\u00FCmmend[ >>];\n",
"100: <<\u00ADsada[ >>];\n",
"1000: << tuhat[ >>];\n",
"1000000: << miljon[ >>];\n",
"2000000: << miljonit[ >>];\n",
"1000000000: << miljard[ >>];\n",
"2000000000: << miljardit[ >>];\n",
"1000000000000: << biljon[ >>];\n",
"2000000000000: << biljonit[ >>];\n",
"1000000000000000: << biljard[ >>];\n",
"2000000000000000: << biljardit[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: miinus >>;\n",
"x.x: << koma >>;\n",
}
}
Version{"1.3"}
}

View File

@ -1,39 +1,42 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fa.xml
// *
// ***************************************************************************
//
fa {
SpelloutRules {
"%main:\n"
"-x: \u0645\u0646\u0641\u06cc >>;\n"
"x.x: << \u0645\u0645\u06cc\u0632 >>;\n"
"\u0635\u0641\u0631; \u06cc\u06a9; \u062f\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067e\u0646\u062c; \u0634\u0634; \u0647\u0641\u062a; \u0647\u0634\u062a; \u0646\u0647;\n"
"\u062f\u0647; \u06cc\u0627\u0632\u062f\u0647; \u062f\u0648\u0627\u0632\u062f\u0647; \u0633\u06cc\u0632\u062f\u0647; \u0686\u0647\u0627\u0631\u062f\u0647; \u067e\u0627\u0646\u0632\u062f\u0647; \u0634\u0627\u0646\u0632\u062f\u0647;\n"
" \u0647\u0641\u062f\u0647; \u0647\u062c\u062f\u0647; \u0646\u0648\u0632\u062f\u0647;\n"
"20: \u0628\u06cc\u0633\u062a[ \u0648 >>];\n"
"30: \u0633\u06cc[ \u0648 >>];\n"
"40: \u0686\u0647\u0644[ \u0648 >>];\n"
"50: \u067e\u0646\u062c\u0627\u0647[ \u0648 >>];\n"
"60: \u0634\u0635\u062a[ \u0648 >>];\n"
"70: \u0647\u0641\u062a\u0627\u062f[ \u0648 >>];\n"
"80: \u0647\u0634\u062a\u0627\u062f[ \u0648 >>];\n"
"90: \u0646\u0648\u062f[ \u0648 >>];\n"
"100: \u0635\u062f[ \u0648 >>];\n"
"200: \u062f\u0648\u06cc\u0633\u062a[ \u0648 >>];\n"
"300: \u0633\u06cc\u0635\u062f[ \u0648 >>];\n"
"400: \u0686\u0647\u0627\u0631\u0635\u062f[ \u0648 >>];\n"
"500: \u067e\u0627\u0646\u0635\u062f[ \u0648 >>];\n"
"600: \u0634\u0634\u0635\u062f[ \u0648 >>];\n"
"700: \u0647\u0641\u062a\u0635\u062f[ \u0648 >>];\n"
"800: \u0647\u0634\u062a\u0635\u062f[ \u0648 >>];\n"
"900: \u0646\u0647\u0635\u062f[ \u0648 >>];\n"
"1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n"
"1,000,000: << \u0645\u06cc\u0644\u06cc\u0648\u0646[ \u0648 >>];\n"
"1,000,000,000: << \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f[ \u0648 >>];\n"
"1,000,000,000,000: =#,##0=;\n"
fa{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: \u0635\u0641\u0631; \u06CC\u06A9; \u062F\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067E\u0646\u062C; \u0634\u0634; \u0647\u0641\u062A; \u0647\u0634\u062A; \u0646\u0647;\n",
"10: \u062F\u0647; \u06CC\u0627\u0632\u062F\u0647; \u062F\u0648\u0627\u0632\u062F\u0647; \u0633\u06CC\u0632\u062F\u0647; \u0686\u0647\u0627\u0631\u062F\u0647; \u067E\u0627\u0646\u0632\u062F\u0647; \u0634\u0627\u0646\u0632\u062F\u0647;\n",
"17: \u0647\u0641\u062F\u0647; \u0647\u062C\u062F\u0647; \u0646\u0648\u0632\u062F\u0647;\n",
"20: \u0628\u06CC\u0633\u062A[ \u0648 >>];\n",
"30: \u0633\u06CC[ \u0648 >>];\n",
"40: \u0686\u0647\u0644[ \u0648 >>];\n",
"50: \u067E\u0646\u062C\u0627\u0647[ \u0648 >>];\n",
"60: \u0634\u0635\u062A[ \u0648 >>];\n",
"70: \u0647\u0641\u062A\u0627\u062F[ \u0648 >>];\n",
"80: \u0647\u0634\u062A\u0627\u062F[ \u0648 >>];\n",
"90: \u0646\u0648\u062F[ \u0648 >>];\n",
"100: \u0635\u062F[ \u0648 >>];\n",
"200: \u062F\u0648\u06CC\u0633\u062A[ \u0648 >>];\n",
"300: \u0633\u06CC\u0635\u062F[ \u0648 >>];\n",
"400: \u0686\u0647\u0627\u0631\u0635\u062F[ \u0648 >>];\n",
"500: \u067E\u0627\u0646\u0635\u062F[ \u0648 >>];\n",
"600: \u0634\u0634\u0635\u062F[ \u0648 >>];\n",
"700: \u0647\u0641\u062A\u0635\u062F[ \u0648 >>];\n",
"800: \u0647\u0634\u062A\u0635\u062F[ \u0648 >>];\n",
"900: \u0646\u0647\u0635\u062F[ \u0648 >>];\n",
"1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n",
"1000000: << \u0645\u06CC\u0644\u06CC\u0648\u0646[ \u0648 >>];\n",
"1000000000: << \u0645\u06CC\u0644\u06CC\u0627\u0631\u062F[ \u0648 >>];\n",
"1000000000000: =#,##0=;\n",
"-x: \u0645\u0646\u0641\u06CC >>;\n",
"x.x: << \u0645\u0645\u06CC\u0632 >>;\n",
}
}
Version{"1.3"}
}

View File

@ -1,39 +1,42 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fa_AF.xml
// *
// ***************************************************************************
//
fa_AF {
SpelloutRules {
"%main:\n"
"-x: \u0645\u0646\u0641\u06cc >>;\n"
"x.x: << \u0639\u0634\u0627\u0631\u06cc\u0647 >>;\n"
"\u0635\u0641\u0631; \u06cc\u06a9; \u062f\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067e\u0646\u062c; \u0634\u0634; \u0647\u0641\u062a; \u0647\u0634\u062a; \u0646\u0647;\n"
"\u062f\u0647; \u06cc\u0627\u0632\u062f\u0647; \u062f\u0648\u0627\u0632\u062f\u0647; \u0633\u06cc\u0632\u062f\u0647; \u0686\u0647\u0627\u0631\u062f\u0647; \u067e\u0627\u0646\u0632\u062f\u0647; \u0634\u0627\u0646\u0632\u062f\u0647;\n"
" \u0647\u0641\u062f\u0647; \u0647\u062c\u062f\u0647; \u0646\u0632\u062f\u0647;\n"
"20: \u0628\u06cc\u0633\u062a[ \u0648 >>];\n"
"30: \u0633\u06cc[ \u0648 >>];\n"
"40: \u0686\u0647\u0644[ \u0648 >>];\n"
"50: \u067e\u0646\u062c\u0627\u0647[ \u0648 >>];\n"
"60: \u0634\u0635\u062a[ \u0648 >>];\n"
"70: \u0647\u0641\u062a\u0627\u062f[ \u0648 >>];\n"
"80: \u0647\u0634\u062a\u0627\u062f[ \u0648 >>];\n"
"90: \u0646\u0648\u062f[ \u0648 >>];\n"
"100: \u0635\u062f[ \u0648 >>];\n"
"200: \u062f\u0648\u0635\u062f[ \u0648 >>];\n"
"300: \u0633\u0647\u200c\u0635\u062f[ \u0648 >>];\n"
"400: \u0686\u0647\u0627\u0631\u0635\u062f[ \u0648 >>];\n"
"500: \u067e\u0646\u062c\u0635\u062f[ \u0648 >>];\n"
"600: \u0634\u0634\u0635\u062f[ \u0648 >>];\n"
"700: \u0647\u0641\u062a\u0635\u062f[ \u0648 >>];\n"
"800: \u0647\u0634\u062a\u0635\u062f[ \u0648 >>];\n"
"900: \u0646\u0647\u0635\u062f[ \u0648 >>];\n"
"1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n"
"1,000,000: << \u0645\u06cc\u0644\u06cc\u0648\u0646[ \u0648 >>];\n"
"1,000,000,000: << \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f[ \u0648 >>];\n"
"1,000,000,000,000: =#,##0=;\n"
fa_AF{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: \u0635\u0641\u0631; \u06CC\u06A9; \u062F\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067E\u0646\u062C; \u0634\u0634; \u0647\u0641\u062A; \u0647\u0634\u062A; \u0646\u0647;\n",
"10: \u062F\u0647; \u06CC\u0627\u0632\u062F\u0647; \u062F\u0648\u0627\u0632\u062F\u0647; \u0633\u06CC\u0632\u062F\u0647; \u0686\u0647\u0627\u0631\u062F\u0647; \u067E\u0627\u0646\u0632\u062F\u0647; \u0634\u0627\u0646\u0632\u062F\u0647;\n",
"17: \u0647\u0641\u062F\u0647; \u0647\u062C\u062F\u0647; \u0646\u0632\u062F\u0647;\n",
"20: \u0628\u06CC\u0633\u062A[ \u0648 >>];\n",
"30: \u0633\u06CC[ \u0648 >>];\n",
"40: \u0686\u0647\u0644[ \u0648 >>];\n",
"50: \u067E\u0646\u062C\u0627\u0647[ \u0648 >>];\n",
"60: \u0634\u0635\u062A[ \u0648 >>];\n",
"70: \u0647\u0641\u062A\u0627\u062F[ \u0648 >>];\n",
"80: \u0647\u0634\u062A\u0627\u062F[ \u0648 >>];\n",
"90: \u0646\u0648\u062F[ \u0648 >>];\n",
"100: \u0635\u062F[ \u0648 >>];\n",
"200: \u062F\u0648\u0635\u062F[ \u0648 >>];\n",
"300: \u0633\u0647\u200C\u0635\u062F[ \u0648 >>];\n",
"400: \u0686\u0647\u0627\u0631\u0635\u062F[ \u0648 >>];\n",
"500: \u067E\u0646\u062C\u0635\u062F[ \u0648 >>];\n",
"600: \u0634\u0634\u0635\u062F[ \u0648 >>];\n",
"700: \u0647\u0641\u062A\u0635\u062F[ \u0648 >>];\n",
"800: \u0647\u0634\u062A\u0635\u062F[ \u0648 >>];\n",
"900: \u0646\u0647\u0635\u062F[ \u0648 >>];\n",
"1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n",
"1000000: << \u0645\u06CC\u0644\u06CC\u0648\u0646[ \u0648 >>];\n",
"1000000000: << \u0645\u06CC\u0644\u06CC\u0627\u0631\u062F[ \u0648 >>];\n",
"1000000000000: =#,##0=;\n",
"-x: \u0645\u0646\u0641\u06CC >>;\n",
"x.x: << \u0639\u0634\u0627\u0631\u06CC\u0647 >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,34 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fi.xml
// *
// ***************************************************************************
fi{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nolla; yksi; kaksi; kolme; nelj\u00E4; viisi; kuusi; seitsem\u00E4n; kahdeksan; yhdeks\u00E4n;\n",
"10: kymmenen; >>\u00ADtoista;\n",
"20: <<\u00ADkymment\u00E4[\u00AD>>];\n",
"100: <<\u00ADsata[\u00AD>>];\n",
"200: <<\u00ADsataa[\u00AD>>];\n",
"1000: <<\u00ADtuhat[ >>];\n",
"2000: <<\u00ADtuhatta[ >>];\n",
"1000000: << miljoona[ >>];\n",
"2000000: << miljoonan[ >>];\n",
"1000000000: << miljardi[ >>];\n",
"2000000000: << miljardin[ >>];\n",
"1000000000000: << biljoona[ >>];\n",
"2000000000000: << biljoonan[ >>];\n",
"1000000000000000: << biljardi[ >>];\n",
"2000000000000000: << biljardin[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: miinus >>;\n",
"x.x: << pilkku >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,86 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fo.xml
// *
// ***************************************************************************
fo{
RBNFRules{
OrdinalRules{
"%%dordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%dordabbrev=;\n",
}
SpelloutRules{
"%%feminine:\n",
"0: null; ein; tv\u00E6r; tr\u00EDggjar; f\u00FDre; fimm; seks; sjey; \u00E1tta; n\u00EDggju;\n",
"10: t\u00EDggju; ellivu; t\u00F3lv; trettan; fj\u00FArtan; f\u00EDmtan; sekstan; seytan; \u00E1tjan; n\u00EDtjan;\n",
"20: tj\u00FAgo[\u00AD>>];\n",
"30: tr\u00EDati[\u00AD>>];\n",
"40: f\u00FDrati[\u00AD>>];\n",
"50: fimmti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: sjeyti[\u00AD>>];\n",
"80: \u00E1ttati[\u00AD>>];\n",
"90: n\u00EDti[\u00AD>>];\n",
"100: <%%neuter<\u00ADhundra\u00F0[\u00ADog\u00AD>>];\n",
"1000: =#,##0.#=;\n",
"%%neuter:\n",
"0: null; eitt; tvey; tr\u00FD; f\u00FDre; fimm; seks; sjey; \u00E1tta; n\u00EDggju;\n",
"10: t\u00EDggju; ellivu; t\u00F3lv; trettan; fj\u00FArtan; f\u00EDmtan; sekstan; seytan; \u00E1tjan; n\u00EDtjan;\n",
"20: tj\u00FAgo[\u00AD>>];\n",
"30: tr\u00EDati[\u00AD>>];\n",
"40: f\u00FDrati[\u00AD>>];\n",
"50: fimmti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: sjeyti[\u00AD>>];\n",
"80: \u00E1ttati[\u00AD>>];\n",
"90: n\u00EDti[\u00AD>>];\n",
"100: <<\u00ADhundra\u00F0[\u00ADog\u00AD>>];\n",
"1000: =#,##0.#=;\n",
"%spellout:\n",
"0: null; ein; tveir; tr\u00EDggir; f\u00FDre; fimm; seks; sjey; \u00E1tta; n\u00EDggju;\n",
"10: t\u00EDggju; ellivu; t\u00F3lv; trettan; fj\u00FArtan; f\u00EDmtan; sekstan; seytan; \u00E1tjan; n\u00EDtjan;\n",
"20: tj\u00FAgo[\u00AD>>];\n",
"30: tr\u00EDati[\u00AD>>];\n",
"40: f\u00FDrati[\u00AD>>];\n",
"50: fimmti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: sjeyti[\u00AD>>];\n",
"80: \u00E1ttati[\u00AD>>];\n",
"90: n\u00EDti[\u00AD>>];\n",
"100: <%%neuter<\u00ADhundra\u00F0[\u00ADog\u00AD>>];\n",
"1000: <%%neuter< tusin[ og >>];\n",
"1000000: ein milli\u00F3n[ og >>];\n",
"2000000: <%%feminine< milli\u00F3ner[ og >>];\n",
"1000000000: ein milliard[ og >>];\n",
"2000000000: <%%feminine< milliarder[ og >>];\n",
"1000000000000: ein billi\u00F3n[ og >>];\n",
"2000000000000: <%%feminine< billi\u00F3ner[ og >>];\n",
"1000000000000000: ein billiard[ og >>];\n",
"2000000000000000: <%%feminine< billiarder[ og >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: null; ein; tvey; tr\u00FD; f\u00FDre; fimm; seks; sjey; \u00E1tta; n\u00EDggju;\n",
"10: t\u00EDggju; ellivu; t\u00F3lv; trettan; fj\u00FArtan; f\u00EDmtan; sekstan; seytan; \u00E1tjan; n\u00EDtjan;\n",
"20: tj\u00FAgo[\u00AD>>];\n",
"30: tr\u00EDati[\u00AD>>];\n",
"40: f\u00FDrati[\u00AD>>];\n",
"50: fimmti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: sjeyti[\u00AD>>];\n",
"80: \u00E1ttati[\u00AD>>];\n",
"90: n\u00EDti[\u00AD>>];\n",
"100: <<\u00ADhundra\u00F0[\u00ADog\u00AD>>];\n",
"1000: tusin[\u00ADog\u00AD>>];\n",
"1100/100: <<\u00ADhundra\u00F0[\u00ADog\u00AD>>];\n",
"10000: =%spellout=;\n",
}
}
Version{"1.4"}
}

View File

@ -1,79 +1,62 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fr.xml
// *
// ***************************************************************************
//
fr {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for French. French adds some interesting quirks of its
// * own: 1) The word "et" is interposed between the tens and ones digits,
// * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux,"
// * but 21 is "vingt-et-un." 2) There are no words for 70, 80, or 90.
// * "quatre-vingts" ("four twenties") is used for 80, and values proceed
// * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]).
// * Numbers from 1,100 to 1,199 are rendered as hundreds rather than
// * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than
// * "mille cent" ("one thousand one hundred")
SpelloutRules {
// the main rule set
"%main:\n"
"-x: moins >>;\n"
"x.x: << virgule >>;\n"
// words for numbers from 0 to 10
"z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
"dix; onze; douze; treize; quatorze; quinze; seize;\n"
" dix-sept; dix-huit; dix-neuf;\n"
// ords for the multiples of 10: %%alt-ones inserts "et"
// when needed
"20: vingt[->%%alt-ones>];\n"
"30: trente[->%%alt-ones>];\n"
"40: quarante[->%%alt-ones>];\n"
"50: cinquante[->%%alt-ones>];\n"
// rule for 60. The /20 causes this rule's multiplier to be
// 20 rather than 10, allowinhg us to recurse for all values
// from 60 to 79...
"60/20: soixante[->%%alt-ones>];\n"
// ...except for 71, which must be special-cased
"71: soixante et onze;\n"
// at 72, we have to repeat the rule for 60 to get us to 79
"72/20: soixante->%%alt-ones>;\n"
// at 80, we state a new rule with the phrase for 80. Since
// it changes form when there's a ones digit, we need a second
// rule at 81. This rule also includes "/20," allowing it to
// be used correctly for all values up to 99
"80: quatre-vingts; 81/20: quatre-vingt->>;\n"
// "cent" becomes plural when preceded by a multiplier, and
// the multiplier is omitted from the singular form
"100: cent[ >>];\n"
"200: << cents[ >>];\n"
"1000: mille[ >>];\n"
// values from 1,100 to 1,199 are rendered as "onze cents..."
// instead of "mille cent..." The > after "1000" decreases
// the rule's exponent, causing its multiplier to be 100 instead
// of 1,000. This prevents us from getting "onze cents cent
// vingt-deux" ("eleven hundred one hundred twenty-two").
"1100>: onze cents[ >>];\n"
// at 1,200, we go back to formating in thousands, so we
// repeat the rule for 1,000
"1200: mille >>;\n"
// at 2,000, the multiplier is added
"2000: << mille[ >>];\n"
"1,000,000: << million[ >>];\n"
"1,000,000,000: << milliard[ >>];\n"
"1,000,000,000,000: << billion[ >>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
// %%alt-ones is used to insert "et" when the ones digit is 1
"%%alt-ones:\n"
"; et-un; =%main=;\n"
"%%lenient-parse:\n"
"&\u0000 << ' ' << ',' << '-';\n"
/**
* ICU <specials> source: <path>/xml/rbnf/fr.xml
*/
fr{
RBNFRules{
OrdinalRules{
"%%ord_mascabbrev:\n",
"0: e; er; e;\n",
"%ordinal:\n",
"0: =#,##0==%%ord_mascabbrev=;\n",
}
SpelloutRules{
"%%et-un:\n",
"0: ; ' et un; -deux; -trois; -quatre; -cinq; -six; -sept; -huit; -neuf; -dix; ' et onze; -=%spellout=;\n",
"%%lenient-parse:\n",
"&[last primary ignorable ] << ' ' << ',' << '-';\n",
"%spellout:\n",
"0: z\u00E9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n",
"10: dix; onze; douze; treize; quatorze; quinze; seize; dix->>;\n",
"20: vingt[>%%et-un>];\n",
"30: trente[>%%et-un>];\n",
"40: quarante[>%%et-un>];\n",
"50: cinquante[>%%et-un>];\n",
"60/20: soixante[>%%et-un>];\n",
"80: quatre-vingts;\n",
"81/20: quatre-vingt->>;\n",
"100: cent[ >>];\n",
"200: << cents; << cent >>;\n",
"300: << cents; << cent >>;\n",
"400: << cents; << cent >>;\n",
"500: << cents; << cent >>;\n",
"600: << cents; << cent >>;\n",
"700: << cents; << cent >>;\n",
"800: << cents; << cent >>;\n",
"900: << cents; << cent >>;\n",
"1000: mille[ >>];\n",
"2000: << mille[ >>];\n",
"1000000: un million[ >>];\n",
"2000000: << millions[ >>];\n",
"1000000000: un milliard[ >>];\n",
"2000000000: << milliards[ >>];\n",
"1000000000000: un billion[ >>];\n",
"2000000000000: << billions[ >>];\n",
"1000000000000000: un billiard[ >>];\n",
"2000000000000000: << billiards[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: moins >>;\n",
"x.x: << virgule >>;\n",
"%year:\n",
"0: =%spellout=;\n",
}
}
Version{"1.5"}
}

View File

@ -1,14 +1,58 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fr_BE.xml
// *
// ***************************************************************************
//
fr_BE {
// Reuse Swiss French spellout rules. Also for French in Zaire,
// but we've no locale for it yet.
SpelloutRules:alias { "fr_CH" }
fr_BE{
RBNFRules{
OrdinalRules{
"%%ord_mascabbrev:\n",
"0: e; er; e;\n",
"%ordinal:\n",
"0: =#,##0==%%ord_mascabbrev=;\n",
}
SpelloutRules{
"%%et-un:\n",
"0: ; ' et un; -deux; -trois; -quatre; -cinq; -six; -sept; -huit; -neuf; -dix; ' et onze; -=%spellout=;\n",
"%spellout:\n",
"0: z\u00E9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n",
"10: dix; onze; douze; treize; quatorze; quinze; seize; dix->>;\n",
"20: vingt[>%%et-un>];\n",
"30: trente[>%%et-un>];\n",
"40: quarante[>%%et-un>];\n",
"50: cinquante[>%%et-un>];\n",
"60: soixante[>%%et-un>];\n",
"70: septante[>%%et-un>];\n",
"80: quatre-vingts; quatre-vingt[->>];\n",
"90: nonante[>%%et-un>];\n",
"100: cent[ >>];\n",
"200: << cents; << cent >>;\n",
"300: << cents; << cent >>;\n",
"400: << cents; << cent >>;\n",
"500: << cents; << cent >>;\n",
"600: << cents; << cent >>;\n",
"700: << cents; << cent >>;\n",
"800: << cents; << cent >>;\n",
"900: << cents; << cent >>;\n",
"1000: mille[ >>];\n",
"2000: << mille[ >>];\n",
"1000000: un million[ >>];\n",
"2000000: << millions[ >>];\n",
"1000000000: un milliard[ >>];\n",
"2000000000: << milliards[ >>];\n",
"1000000000000: un billion[ >>];\n",
"2000000000000: << billions[ >>];\n",
"1000000000000000: un billiard[ >>];\n",
"2000000000000000: << billiards[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: moins >>;\n",
"x.x: << virgule >>;\n",
"%year:\n",
"0: =%spellout=;\n",
}
}
Version{"1.4"}
}

View File

@ -1,57 +1,58 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/fr_CH.xml
// *
// ***************************************************************************
//
fr_CH {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for Swiss French. Swiss French differs from French French
// * in that it does have words for 70, 80, and 90. This rule set shows them,
// * and is simpler as a result.
// again, I'm missing information on negative numbers and decimals for
// these to rule sets. Also, I'm not 100% sure about Swiss French. Is
// this correct? Is "onze cents" commonly used for 1,100 in both France
// and Switzerland? Can someone fill me in on the rules for the other
// French-speaking countries? I've heard conflicting opinions on which
// version is used in Canada, and I understand there's an alternate set
// of words for 70, 80, and 90 that is used somewhere, but I don't know
// what those words are or where they're used.
SpelloutRules {
"%main:\n"
"-x: moins >>;\n"
"x.x: << virgule >>;\n"
"z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
"dix; onze; douze; treize; quatorze; quinze; seize;\n"
" dix-sept; dix-huit; dix-neuf;\n"
"20: vingt[->%%alt-ones>];\n"
"30: trente[->%%alt-ones>];\n"
"40: quarante[->%%alt-ones>];\n"
"50: cinquante[->%%alt-ones>];\n"
"60: soixante[->%%alt-ones>];\n"
// notice new words for 70, 80, and 90
"70: septante[->%%alt-ones>];\n"
"80: huitante[->%%alt-ones>];\n"
"90: nonante[->%%alt-ones>];\n"
"100: cent[ >>];\n"
"200: << cents[ >>];\n"
"1000: mille[ >>];\n"
"1100>: onze cents[ >>];\n"
"1200: mille >>;\n"
"2000: << mille[ >>];\n"
"1,000,000: << million[ >>];\n"
"1,000,000,000: << milliarde[ >>];\n"
"1,000,000,000,000: << billion[ >>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
"%%alt-ones:\n"
"; et-un; =%main=;"
fr_CH{
RBNFRules{
OrdinalRules{
"%%ord_mascabbrev:\n",
"0: e; er; e;\n",
"%ordinal:\n",
"0: =#,##0==%%ord_mascabbrev=;\n",
}
SpelloutRules{
"%%et-un:\n",
"0: ; ' et un; -deux; -trois; -quatre; -cinq; -six; -sept; -huit; -neuf; -dix; ' et onze; -=%spellout=;\n",
"%spellout:\n",
"0: z\u00E9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n",
"10: dix; onze; douze; treize; quatorze; quinze; seize; dix->>;\n",
"20: vingt[>%%et-un>];\n",
"30: trente[>%%et-un>];\n",
"40: quarante[>%%et-un>];\n",
"50: cinquante[>%%et-un>];\n",
"60: soixante[>%%et-un>];\n",
"70: septante[>%%et-un>];\n",
"80: huitante[>%%et-un>];\n",
"90: nonante[>%%et-un>];\n",
"100: cent[ >>];\n",
"200: << cents; << cent >>;\n",
"300: << cents; << cent >>;\n",
"400: << cents; << cent >>;\n",
"500: << cents; << cent >>;\n",
"600: << cents; << cent >>;\n",
"700: << cents; << cent >>;\n",
"800: << cents; << cent >>;\n",
"900: << cents; << cent >>;\n",
"1000: mille[ >>];\n",
"2000: << mille[ >>];\n",
"1000000: un million[ >>];\n",
"2000000: << millions[ >>];\n",
"1000000000: un milliard[ >>];\n",
"2000000000: << milliards[ >>];\n",
"1000000000000: un billion[ >>];\n",
"2000000000000: << billions[ >>];\n",
"1000000000000000: un billiard[ >>];\n",
"2000000000000000: << billiards[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: moins >>;\n",
"x.x: << virgule >>;\n",
"%year:\n",
"0: =%spellout=;\n",
}
}
Version{"1.4"}
}

View File

@ -1,337 +1,283 @@
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ga.xml
// *
// ***************************************************************************
//
ga {
SpelloutRules {
// Maoluimhreacha
"%default:\n"
"-x: míneas >>;\n"
"x.x: << pointe >>;\n"
"a náid; a haon; a dó; a trí; a ceathair; a cúig;\n"
"a sé; a seacht; a hocht; a naoi; a deich;\n"
"a haon déag; a dó dhéag;\n"
">> déag;\n"
"20: fiche[ >>];\n"
"30: tríocha[ >>];\n"
"40: daichead[ >>];\n"
"50: caoga[ >>];\n"
"60: seasca[ >>];\n"
"70: seachtó[ >>];\n"
"80: ochtó[ >>];\n"
"90: nócha[ >>];\n"
"100: <%%hundreds<[ >%%hundreds_is>];\n"
"1,000: <%%thousands<[, >>];\n"
"1,000,000: <%%millions<[, >>];\n"
"1,000,000,000: <%%billions<[, >>];\n"
"1,000,000,000,000: <%%trillions<[, >>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
"%%cardwithnumber:"
" ; aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi; deich;\n"
" aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi;\n"
"20: fiche[ is >>];\n"
"30: tríocha[ is >>];\n"
"40: daichead[ is >>];\n"
"50: caoga[ is >>];\n"
"60: seasca[ is >>];\n"
"70: seachtó[ is >>];\n"
"80: ochtó[ is >>];\n"
"90: nócha[ is >>];\n"
"100: <%%hundreds<[ >%%hundreds_is>];\n"
"1,000: <%%thousands<[ >%%cardwithnumber>];\n"
"1,000,000: <%%millions<[ >%%cardwithnumber>];\n"
"1,000,000,000: <%%billions<[ >%%cardwithnumber>];\n"
"1,000,000,000,000: <%%trillions<[ >%%cardwithnumber>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
// rules to give hundreds value
"%%hundreds:\n"
"1: céad;\n"
"2: <%%cardwithnumber< chéad;\n"
"7: <%%cardwithnumber< gcéad;\n"
// Put in "is" after céad when a multiple of 10
"%%hundreds_is:\n"
"0:;\n"
"=%default=;\n"
"20: is =%default=;\n"
"21: =%default=;\n"
"30: is =%default=;\n"
"31: =%default=;\n"
"40: is =%default=;\n"
"41: =%default=;\n"
"50: is =%default=;\n"
"51: =%default=;\n"
"60: is =%default=;\n"
"61: =%default=;\n"
"70: is =%default=;\n"
"71: =%default=;\n"
"80: is =%default=;\n"
"81: =%default=;\n"
"90: is =%default=;\n"
"91: =%default=;\n"
// rules to give thousands value
"%%thousands:\n"
"0: míle;\n"
"2: <%%cardwithnumber< mhíle;\n"
"7: <%%cardwithnumber< míle;\n"
"11>: <%%cardwithnumber< mhíle dhéag;\n"
"17>: <%%cardwithnumber< míle dhéag;\n"
"20>: <%%cardwithnumber< míle;\n"
"21>: <%%cardwithnumber< mhíle;\n"
"27>: <%%cardwithnumber< míle;\n"
"31>: <%%cardwithnumber< mhíle;\n"
"37>: <%%cardwithnumber< míle;\n"
"41>: <%%cardwithnumber< mhíle;\n"
"47>: <%%cardwithnumber< míle;\n"
"51>: <%%cardwithnumber< mhíle;\n"
"57>: <%%cardwithnumber< míle;\n"
"61>: <%%cardwithnumber< mhíle;\n"
"67>: <%%cardwithnumber< míle;\n"
"71>: <%%cardwithnumber< mhíle;\n"
"77>: <%%cardwithnumber< míle;\n"
"81>: <%%cardwithnumber< mhíle;\n"
"87>: <%%cardwithnumber< míle;\n"
"91>: <%%cardwithnumber< mhíle;\n"
"97>: <%%cardwithnumber< míle;\n"
" 100: <%%hundreds< >%%thousands_is>;\n"
// Put in "is" after míle when a multiple of 10
"%%thousands_is:\n"
"0: míle;\n"
"1: is =%%cardwithnumber= mhíle;\n"
"7: is =%%cardwithnumber= míle;\n"
"11>: is <%%thousands<;\n"
"20: is =%%thousands=;\n"
"21: =%%thousands=;\n"
"30: is =%%thousands=;\n"
"31: =%%thousands=;\n"
"40: is =%%thousands=;\n"
"41: =%%thousands=;\n"
"50: is =%%thousands=;\n"
"51: =%%thousands=;\n"
"60: is =%%thousands=;\n"
"61: =%%thousands=;\n"
"70: is =%%thousands=;\n"
"71: =%%thousands=;\n"
"80: is =%%thousands=;\n"
"81: =%%thousands=;\n"
"90: is =%%thousands=;\n"
"91: =%%thousands=;\n"
// rules to give millions value
"%%millions:\n"
"1: milliún;\n"
"2: <%%cardwithnumber< mhilliún;\n"
"7: <%%cardwithnumber< milliún;\n"
"11>: <%%cardwithnumber< mhilliún déag;\n"
"17>: <%%cardwithnumber< milliún déag;\n"
"20>: <%%cardwithnumber< milliún;\n"
"21>: <%%cardwithnumber< mhilliún;\n"
"27>: <%%cardwithnumber< milliún;\n"
"31>: <%%cardwithnumber< mhilliún;\n"
"37>: <%%cardwithnumber< milliún;\n"
"41>: <%%cardwithnumber< mhilliún;\n"
"47>: <%%cardwithnumber< milliún;\n"
"51>: <%%cardwithnumber< mhilliún;\n"
"57>: <%%cardwithnumber< milliún;\n"
"61>: <%%cardwithnumber< mhilliún;\n"
"67>: <%%cardwithnumber< milliún;\n"
"71>: <%%cardwithnumber< mhilliún;\n"
"77>: <%%cardwithnumber< milliún;\n"
"81>: <%%cardwithnumber< mhilliún;\n"
"87>: <%%cardwithnumber< milliún;\n"
"91>: <%%cardwithnumber< mhilliún;\n"
"97>: <%%cardwithnumber< milliún;\n"
" 100: <%%hundreds< >%%millions_is>;\n"
// Put in "is" after milliún when a multiple of 10
"%%millions_is:\n"
"0: milliún;\n"
"1: is =%%cardwithnumber= mhilliún;\n"
"7: is =%%cardwithnumber= milliún;\n"
"11>: is <%%millions<;\n"
"20: is =%%millions=;\n"
"21: =%%millions=;\n"
"30: is =%%millions=;\n"
"31: =%%millions=;\n"
"40: is =%%millions=;\n"
"41: =%%millions=;\n"
"50: is =%%millions=;\n"
"51: =%%millions=;\n"
"60: is =%%millions=;\n"
"61: =%%millions=;\n"
"70: is =%%millions=;\n"
"71: =%%millions=;\n"
"80: is =%%millions=;\n"
"81: =%%millions=;\n"
"90: is =%%millions=;\n"
"91: =%%millions=;\n"
// rules to give billions value
// to avoid ambiguity, no eclipsis or aspiration!
"%%billions:\n"
"1: billiún; <%%cardwithnumber< billiún;\n"
"11>: <%%cardwithnumber< billiún déag;\n"
"20>: <%%cardwithnumber< billiún;\n"
"100: <%%hundreds< >%%billions_is>;\n"
// Put in "is" after billiún when a multiple of 10
"%%billions_is:\n"
"0: billiún;\n"
"1: is =%%cardwithnumber= billiún;\n"
"7: is =%%cardwithnumber= billiún;\n"
"11>: is <%%billions<;\n"
"20: is =%%billions=;\n"
"21: =%%billions=;\n"
"30: is =%%billions=;\n"
"31: =%%billions=;\n"
"40: is =%%billions=;\n"
"41: =%%billions=;\n"
"50: is =%%billions=;\n"
"51: =%%billions=;\n"
"60: is =%%billions=;\n"
"61: =%%billions=;\n"
"70: is =%%billions=;\n"
"71: =%%billions=;\n"
"80: is =%%billions=;\n"
"81: =%%billions=;\n"
"90: is =%%billions=;\n"
"91: =%%billions=;\n"
// rules to give trillions value
"%%trillions:\n"
"1: milliún;\n"
"2: <%%cardwithnumber< thrilliún;\n"
"7: <%%cardwithnumber< dtrilliún;\n"
"11>: <%%cardwithnumber< thrilliún déag;\n"
"17>: <%%cardwithnumber< dtrilliún déag;\n"
"20>: <%%cardwithnumber< dtrilliún;\n"
"21>: <%%cardwithnumber< thrilliún;\n"
"27>: <%%cardwithnumber< dtrilliún;\n"
"31>: <%%cardwithnumber< thrilliún;\n"
"37>: <%%cardwithnumber< dtrilliún;\n"
"41>: <%%cardwithnumber< thrilliún;\n"
"47>: <%%cardwithnumber< dtrilliún;\n"
"51>: <%%cardwithnumber< thrilliún;\n"
"57>: <%%cardwithnumber< dtrilliún;\n"
"61>: <%%cardwithnumber< thrilliún;\n"
"67>: <%%cardwithnumber< dtrilliún;\n"
"71>: <%%cardwithnumber< thrilliún;\n"
"77>: <%%cardwithnumber< dtrilliún;\n"
"81>: <%%cardwithnumber< thrilliún;\n"
"87>: <%%cardwithnumber< dtrilliún;\n"
"91>: <%%cardwithnumber< thrilliún;\n"
"97>: <%%cardwithnumber< dtrilliún;\n"
" 100: <%%hundreds< >%%trillions_is;\n"
// Put in "is" after trilliún when a multiple of 10
"%%trillions_is:\n"
"0: trilliún;\n"
"1: is =%%cardwithnumber= thrilliún;\n"
"7: is =%%cardwithnumber= dtrilliún;\n"
"11>: is <%%trillions<;\n"
"20: is =%%trillions=;\n"
"21: =%%trillions=;\n"
"30: is =%%trillions=;\n"
"31: =%%trillions=;\n"
"40: is =%%trillions=;\n"
"41: =%%trillions=;\n"
"50: is =%%trillions=;\n"
"51: =%%trillions=;\n"
"60: is =%%trillions=;\n"
"61: =%%trillions=;\n"
"70: is =%%trillions=;\n"
"71: =%%trillions=;\n"
"80: is =%%trillions=;\n"
"81: =%%trillions=;\n"
"90: is =%%trillions=;\n"
"91: =%%trillions=;\n"
"%%lenient-parse:\n"
"& ' ' , ',' ;\n"
/**
* ICU <specials> source: <path>/xml/rbnf/ga.xml
*/
ga{
RBNFRules{
DurationRules{
"%duration:\n",
"0: =%in-numerals=;\n",
"%hms:\n",
"0: :=00=;\n",
"60/60: <00<>>>\n",
"3600/60: <#,##0<>>>;\n",
"%%hr:\n",
"0: =0= uair;\n",
"3: =0= huaire;\n",
"5: =0= uaire;\n",
"6: =0= huaire;\n",
"7: =0= n-uaire;\n",
"10: =0= n-uair;\n",
"11: =0= >%%uaire>;\n",
"20: =0= uair; =0= >%%uaire>;\n",
"%%hr-min-sec:\n",
"0: :=00=;\n",
"60/60: <00<>>;\n",
"3600/60: <#,##0<:>>>;\n",
"%in-numerals:\n",
"0: =0= sec.;\n",
"60: =%%min-sec=;\n",
"3600: =%%hr-min-sec=;\n",
"%%lenient-parse:\n",
"& ':' = '.' = ' ' = '-';\n",
"%%min:\n",
"0: =0= n\u00C3\u00B3im\u00C3\u00A9ad;\n",
"%%min-sec:\n",
"0: :=00=;\n",
"60/60: <0<>>;\n",
"%%uaire:\n",
"1: uair;\n",
"3: huaire;\n",
"5: uaire;\n",
"6: huaire;\n",
"7: n-uaire;\n",
"%with-words:\n",
"0: =0= soicind;\n",
"60/60: <%%min<[, >>];\n",
"3600/60: <%%hr<[, >>>];\n",
}
SpelloutRules{
"%%billions:\n",
"1: billi\u00FAn; <%%cardwithnumber< billi\u00FAn;\n",
"11>: <%%cardwithnumber< billi\u00FAn d\u00E9ag;\n",
"20>: <%%cardwithnumber< billi\u00FAn;\n",
"100: <%%hundreds< >%%billions_is>;\n",
"%%billions_is:\n",
"0: billi\u00FAn;\n",
"1: is =%%cardwithnumber= billi\u00FAn;\n",
"7: is =%%cardwithnumber= billi\u00FAn;\n",
"11>: is <%%billions<;\n",
"20: is =%%billions=;\n",
"21: =%%billions=;\n",
"30: is =%%billions=;\n",
"31: =%%billions=;\n",
"40: is =%%billions=;\n",
"41: =%%billions=;\n",
"50: is =%%billions=;\n",
"51: =%%billions=;\n",
"60: is =%%billions=;\n",
"61: =%%billions=;\n",
"70: is =%%billions=;\n",
"71: =%%billions=;\n",
"80: is =%%billions=;\n",
"81: =%%billions=;\n",
"90: is =%%billions=;\n",
"91: =%%billions=;\n",
"%%cardwithnumber:\n",
"0: ; aon; dh\u00E1; tr\u00ED; ceithre; c\u00FAig; s\u00E9; seacht; ocht; naoi; deich;\n",
"11: aon; dh\u00E1; tr\u00ED; ceithre; c\u00FAig; s\u00E9; seacht; ocht; naoi;\n",
"20: fiche[ is >>];\n",
"30: tr\u00EDocha[ is >>];\n",
"40: daichead[ is >>];\n",
"50: caoga[ is >>];\n",
"60: seasca[ is >>];\n",
"70: seacht\u00F3[ is >>];\n",
"80: ocht\u00F3[ is >>];\n",
"90: n\u00F3cha[ is >>];\n",
"100: <%%hundreds<[ >%%hundreds_is>];\n",
"1000: <%%thousands<[ >>];\n",
"1000000: <%%millions<[ >>];\n",
"1000000000: <%%billions<[ >>];\n",
"1000000000000: <%%trillions<[ >>];\n",
"1000000000000000: =#,##0=;\n",
"%%hundreds:\n",
"1: c\u00E9ad;\n",
"2: <%%cardwithnumber< ch\u00E9ad;\n",
"7: <%%cardwithnumber< gc\u00E9ad;\n",
"%%hundreds_is:\n",
"0: =%spellout=;\n",
"20: is =%spellout=;\n",
"21: =%spellout=;\n",
"30: is =%spellout=;\n",
"31: =%spellout=;\n",
"40: is =%spellout=;\n",
"41: =%spellout=;\n",
"50: is =%spellout=;\n",
"51: =%spellout=;\n",
"60: is =%spellout=;\n",
"61: =%spellout=;\n",
"70: is =%spellout=;\n",
"71: =%spellout=;\n",
"80: is =%spellout=;\n",
"81: =%spellout=;\n",
"90: is =%spellout=;\n",
"91: =%spellout=;\n",
"%%lenient-parse:\n",
"& ' ' , ',' ;\n",
"%%millions:\n",
"1: milli\u00FAn;\n",
"2: <%%cardwithnumber< mhilli\u00FAn;\n",
"7: <%%cardwithnumber< milli\u00FAn;\n",
"11>: <%%cardwithnumber< mhilli\u00FAn d\u00E9ag;\n",
"17>: <%%cardwithnumber< milli\u00FAn d\u00E9ag;\n",
"20>: <%%cardwithnumber< milli\u00FAn;\n",
"21>: <%%cardwithnumber< mhilli\u00FAn;\n",
"27>: <%%cardwithnumber< milli\u00FAn;\n",
"31>: <%%cardwithnumber< mhilli\u00FAn;\n",
"37>: <%%cardwithnumber< milli\u00FAn;\n",
"41>: <%%cardwithnumber< mhilli\u00FAn;\n",
"47>: <%%cardwithnumber< milli\u00FAn;\n",
"51>: <%%cardwithnumber< mhilli\u00FAn;\n",
"57>: <%%cardwithnumber< milli\u00FAn;\n",
"61>: <%%cardwithnumber< mhilli\u00FAn;\n",
"67>: <%%cardwithnumber< milli\u00FAn;\n",
"71>: <%%cardwithnumber< mhilli\u00FAn;\n",
"77>: <%%cardwithnumber< milli\u00FAn;\n",
"81>: <%%cardwithnumber< mhilli\u00FAn;\n",
"87>: <%%cardwithnumber< milli\u00FAn;\n",
"91>: <%%cardwithnumber< mhilli\u00FAn;\n",
"97>: <%%cardwithnumber< milli\u00FAn;\n",
"100: <%%hundreds< >%%millions_is>;\n",
"%%millions_is:\n",
"0: milli\u00FAn;\n",
"1: is =%%cardwithnumber= mhilli\u00FAn;\n",
"7: is =%%cardwithnumber= milli\u00FAn;\n",
"11>: is <%%millions<;\n",
"20: is =%%millions=;\n",
"21: =%%millions=;\n",
"30: is =%%millions=;\n",
"31: =%%millions=;\n",
"40: is =%%millions=;\n",
"41: =%%millions=;\n",
"50: is =%%millions=;\n",
"51: =%%millions=;\n",
"60: is =%%millions=;\n",
"61: =%%millions=;\n",
"70: is =%%millions=;\n",
"71: =%%millions=;\n",
"80: is =%%millions=;\n",
"81: =%%millions=;\n",
"90: is =%%millions=;\n",
"91: =%%millions=;\n",
"%spellout:\n",
"0: a n\u00E1id; a haon; a d\u00F3; a tr\u00ED; a ceathair; a c\u00FAig;\n",
"6: a s\u00E9; a seacht; a hocht; a naoi; a deich;\n",
"11: a haon d\u00E9ag; a d\u00F3 dh\u00E9ag;\n",
"13: >> d\u00E9ag;\n",
"20: fiche[ >>];\n",
"30: tr\u00EDocha[ >>];\n",
"40: daichead[ >>];\n",
"50: caoga[ >>];\n",
"60: seasca[ >>];\n",
"70: seacht\u00F3[ >>];\n",
"80: ocht\u00F3[ >>];\n",
"90: n\u00F3cha[ >>];\n",
"100: <%%hundreds<[ >%%hundreds_is>];\n",
"1000: <%%thousands<[, >>];\n",
"1000000: <%%millions<[, >>];\n",
"1000000000: <%%billions<[, >>];\n",
"1000000000000: <%%trillions<[, >>];\n",
"1000000000000000: =#,##0=;\n",
"-x: m\u00EDneas >>;\n",
"x.x: << pointe >>;\n",
"%%thousands:\n",
"0: m\u00EDle;\n",
"2: <%%cardwithnumber< mh\u00EDle;\n",
"7: <%%cardwithnumber< m\u00EDle;\n",
"11>: <%%cardwithnumber< mh\u00EDle dh\u00E9ag;\n",
"17>: <%%cardwithnumber< m\u00EDle dh\u00E9ag;\n",
"20>: <%%cardwithnumber< m\u00EDle;\n",
"21>: <%%cardwithnumber< mh\u00EDle;\n",
"27>: <%%cardwithnumber< m\u00EDle;\n",
"31>: <%%cardwithnumber< mh\u00EDle;\n",
"37>: <%%cardwithnumber< m\u00EDle;\n",
"41>: <%%cardwithnumber< mh\u00EDle;\n",
"47>: <%%cardwithnumber< m\u00EDle;\n",
"51>: <%%cardwithnumber< mh\u00EDle;\n",
"57>: <%%cardwithnumber< m\u00EDle;\n",
"61>: <%%cardwithnumber< mh\u00EDle;\n",
"67>: <%%cardwithnumber< m\u00EDle;\n",
"71>: <%%cardwithnumber< mh\u00EDle;\n",
"77>: <%%cardwithnumber< m\u00EDle;\n",
"81>: <%%cardwithnumber< mh\u00EDle;\n",
"87>: <%%cardwithnumber< m\u00EDle;\n",
"91>: <%%cardwithnumber< mh\u00EDle;\n",
"97>: <%%cardwithnumber< m\u00EDle;\n",
"100: <%%hundreds< >%%thousands_is>;\n",
"%%thousands_is:\n",
"0: m\u00EDle;\n",
"1: is =%%cardwithnumber= mh\u00EDle;\n",
"7: is =%%cardwithnumber= m\u00EDle;\n",
"11>: is <%%thousands<;\n",
"20: is =%%thousands=;\n",
"21: =%%thousands=;\n",
"30: is =%%thousands=;\n",
"31: =%%thousands=;\n",
"40: is =%%thousands=;\n",
"41: =%%thousands=;\n",
"50: is =%%thousands=;\n",
"51: =%%thousands=;\n",
"60: is =%%thousands=;\n",
"61: =%%thousands=;\n",
"70: is =%%thousands=;\n",
"71: =%%thousands=;\n",
"80: is =%%thousands=;\n",
"81: =%%thousands=;\n",
"90: is =%%thousands=;\n",
"91: =%%thousands=;\n",
"%%trillions:\n",
"1: milli\u00FAn;\n",
"2: <%%cardwithnumber< thrilli\u00FAn;\n",
"7: <%%cardwithnumber< dtrilli\u00FAn;\n",
"11>: <%%cardwithnumber< thrilli\u00FAn d\u00E9ag;\n",
"17>: <%%cardwithnumber< dtrilli\u00FAn d\u00E9ag;\n",
"20>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"21>: <%%cardwithnumber< thrilli\u00FAn;\n",
"27>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"31>: <%%cardwithnumber< thrilli\u00FAn;\n",
"37>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"41>: <%%cardwithnumber< thrilli\u00FAn;\n",
"47>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"51>: <%%cardwithnumber< thrilli\u00FAn;\n",
"57>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"61>: <%%cardwithnumber< thrilli\u00FAn;\n",
"67>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"71>: <%%cardwithnumber< thrilli\u00FAn;\n",
"77>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"81>: <%%cardwithnumber< thrilli\u00FAn;\n",
"87>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"91>: <%%cardwithnumber< thrilli\u00FAn;\n",
"97>: <%%cardwithnumber< dtrilli\u00FAn;\n",
"100: <%%hundreds< >%%trillions_is;\n",
"%%trillions_is:\n",
"0: trilli\u00FAn;\n",
"1: is =%%cardwithnumber= thrilli\u00FAn;\n",
"7: is =%%cardwithnumber= dtrilli\u00FAn;\n",
"11>: is <%%trillions<;\n",
"20: is =%%trillions=;\n",
"21: =%%trillions=;\n",
"30: is =%%trillions=;\n",
"31: =%%trillions=;\n",
"40: is =%%trillions=;\n",
"41: =%%trillions=;\n",
"50: is =%%trillions=;\n",
"51: =%%trillions=;\n",
"60: is =%%trillions=;\n",
"61: =%%trillions=;\n",
"70: is =%%trillions=;\n",
"71: =%%trillions=;\n",
"80: is =%%trillions=;\n",
"81: =%%trillions=;\n",
"90: is =%%trillions=;\n",
"91: =%%trillions=;\n",
}
}
// This rule set formats a number of seconds in sexagesimal notation
// (i.e., hours, minutes, and seconds). %with-words formats it with
// words (3,740 is "1 uair, 2 nóiméad, 20 soicind") and %in-numerals
// formats it entirely in numerals (3,740 is "1:02:20").
// (Based on en rules)
DurationRules {
// main rule set for formatting with words
"%with-words:\n"
// seconds
"=0= soicind;\n"
// use %%min to format values greater than 60 seconds
"60/60: <%%min<[, >>];\n"
// use %%hr to format values greater than 3,600 seconds
// (the ">>>" below causes us to see the number of minutes
// when when there are zero minutes)
"3600/60: <%%hr<[, >>>];\n"
// minutes
"%%min:\n"
"=0= nóiméad;\n"
// hours
"%%hr:\n"
// casta -- fch. l.40 Caighdeán Oifigiúil
"0: =0= uair;\n"
"3: =0= huaire;\n"
"5: =0= uaire;\n"
"6: =0= huaire;\n"
"7: =0= n-uaire;\n"
"10: =0= n-uair;\n"
"11: =0= >%%uaire>;\n"
// Tricky bit: next rule does numbers ending in 0; see Gillam's paper
// where it explains minor substitutions for 101 to understand.
"20: =0= uair; =0= >%%uaire>;\n"
// "uaire", except after nos. ending in 1, 2 or 0 when "uair"
"%%uaire:\n"
"1: uair;\n"
"3: huaire;\n"
"5: uaire;\n"
"6: huaire;\n"
"7: n-uaire;\n"
// rules giving hh:mm:ss with all fields shown always
"%hms:\n"
"0: :=00=;\n"
"60/60: :<00<>>>;\n"
"3600/60: <#,##0<>>>;\n"
// main rule set for formatting in numerals
"%in-numerals:\n"
// values below 60 seconds are shown with "s"
"=0=s;\n"
// higher values are shown with colons: %%min-sec is used for
// values below 3,600 seconds...
"60: =%%min-sec=;\n"
// ...and %%hr-min-sec is used for values of 3,600 seconds
// and above
"3600: =%%hr-min-sec=;\n"
// this rule causes values of less than 10 minutes to show without
// a leading zero
"%%min-sec:\n"
"0: :=00=;\n"
"60/60: <0<>>;\n"
// this rule set is used for values of 3,600 or more. Minutes are always
// shown, and always shown with two digits
"%%hr-min-sec:\n"
"0: :=00=;\n"
"60/60: <00<>>;\n"
"3600/60: <#,##0<:>>>;\n"
// the lenient-parse rules allow several different characters to be used
// as delimiters between hours, minutes, and seconds
"%%lenient-parse:\n"
"& ':' = '.' = ' ' = '-';\n"
}
Version{"1.4"}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/hu.xml
// *
// ***************************************************************************
hu{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nulla; egy; kett\u0151; h\u00E1rom; n\u00E9gy; \u00F6t; hat; h\u00E9t; nyolc; kilenc;\n",
"10: t\u00EDz; tizen\u00AD>>;\n",
"20: h\u00FAsz; huszon\u00AD>>;\n",
"30: harminc[\u00AD>>];\n",
"40: negyven[\u00AD>>];\n",
"50: \u00F6tven[\u00AD>>];\n",
"60: hatvan[\u00AD>>];\n",
"70: hetven[\u00AD>>];\n",
"80: nyolcvan[\u00AD>>];\n",
"90: kilencven[\u00AD>>];\n",
"100: <<\u00ADsz\u00E1z[\u00AD>>];\n",
"1000: <<\u00ADezer[ >>];\n",
"1000000: << milli\u00F3[ >>];\n",
"1000000000: << milli\u00E1rd[ >>];\n",
"1000000000000: << billi\u00F3[ >>];\n",
"1000000000000000: << billi\u00E1rd[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minusz >>;\n",
"x.x: << vessz\u0151 >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,45 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/hy.xml
// *
// ***************************************************************************
hy{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: \u0566\u0580\u0578;\n",
"1: \u0574\u0565\u056F;\n",
"2: \u0565\u0580\u056F\u0578\u0582;\n",
"3: \u0565\u0580\u0565\u0584;\n",
"4: \u0579\u0578\u0580\u057D;\n",
"5: \u0570\u056B\u0576\u0563;\n",
"6: \u057E\u0565\u0581;\n",
"7: \u0575\u0578\u0569;\n",
"8: \u0578\u0582\u0569;\n",
"9: \u056B\u0576\u0568;\n",
"10: \u057F\u0561\u057D;\n",
"11: \u057F\u0561\u057D\u0576>>;\n",
"20: \u0584\u057D\u0561\u0576[\u00AD>>];\n",
"30: \u0565\u0580\u0565\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"40: \u0584\u0561\u057C\u0561\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"50: \u0570\u056B\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"60: \u057E\u0561\u0569\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"70: \u0575\u0578\u0569\u0561\u0576\u0561\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"80: \u0578\u0582\u0569\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"90: \u056B\u0576\u0576\u0561\u057D\u0578\u0582\u0576[\u00AD>>];\n",
"100: << \u0570\u0561\u0580\u0575\u0578\u0582\u0580[\u00AD>>];\n",
"1000: << \u0570\u0561\u0566\u0561\u0580[ >>];\n",
"1000000: << \u0574\u056B\u056C\u056B\u0585\u0576[ >>];\n",
"1000000000: << \u0574\u056B\u056C\u056B\u0561\u0580[ >>];\n",
"1000000000000: << \u0562\u056B\u056C\u056B\u0585\u0576[ >>];\n",
"1000000000000000: << \u0562\u056B\u056C\u056B\u0561\u0580[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: --- >>;\n",
"x.x: << ... >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,113 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/is.xml
// *
// ***************************************************************************
is{
RBNFRules{
OrdinalRules{
"%%ordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%%feminine:\n",
"0: n\u00FAll; ein; tv\u00E6r; \u00FErj\u00E1r; fj\u00F3rar; fimm; sex; sj\u00F3; \u00E1tta; n\u00EDu;\n",
"10: t\u00EDu; ellefu; t\u00F3lf; \u00FErett\u00E1n; fj\u00F3rt\u00E1n; fimmt\u00E1n; sext\u00E1n;\n",
"17: sautj\u00E1n; \u00E1tj\u00E1n; n\u00EDtj\u00E1n;\n",
"20: tuttugu[ og >>];\n",
"30: \u00FErj\u00E1t\u00EDu[ og >>];\n",
"40: fj\u00F6rut\u00EDu[ og >>];\n",
"50: fimmt\u00EDu[ og >>];\n",
"60: sext\u00EDu[ og >>];\n",
"70: sj\u00F6t\u00EDu[ og >>];\n",
"80: \u00E1ttat\u00EDu[ og >>];\n",
"90: n\u00EDut\u00EDu[ og >>];\n",
"100: <%%neuter<\u00ADhundra\u00F0[ og >>];\n",
"1000: <%%neuter< \u00FE\u00FAsund[ og >>];\n",
"1000000: ein milli\u00F3n[ og >>];\n",
"2000000: <%%feminine< milli\u00F3nur[ og >>];\n",
"1000000000: ein milliar\u00F0[ og >>];\n",
"2000000000: <%%feminine< milliar\u00F0ur[ og >>];\n",
"1000000000000: ein billi\u00F3n[ og >>];\n",
"2000000000000: <%%feminine< billi\u00F3nur[ og >>];\n",
"1000000000000000: ein billiar\u00F0[ og >>];\n",
"2000000000000000: <%%feminine< billiar\u00F0ur[ og >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: m\u00EDnus >>;\n",
"x.x: << komma >>;\n",
"%%neuter:\n",
"0: n\u00FAll; eitt; tv\u00F6; \u00FErj\u00FA; fj\u00F6gur; fimm; sex; sj\u00F3; \u00E1tta; n\u00EDu;\n",
"10: t\u00EDu; ellefu; t\u00F3lf; \u00FErett\u00E1n; fj\u00F3rt\u00E1n; fimmt\u00E1n; sext\u00E1n;\n",
"17: sautj\u00E1n; \u00E1tj\u00E1n; n\u00EDtj\u00E1n;\n",
"20: tuttugu[ og >>];\n",
"30: \u00FErj\u00E1t\u00EDu[ og >>];\n",
"40: fj\u00F6rut\u00EDu[ og >>];\n",
"50: fimmt\u00EDu[ og >>];\n",
"60: sext\u00EDu[ og >>];\n",
"70: sj\u00F6t\u00EDu[ og >>];\n",
"80: \u00E1ttat\u00EDu[ og >>];\n",
"90: n\u00EDut\u00EDu[ og >>];\n",
"100: <%%neuter<\u00ADhundra\u00F0[ og >>];\n",
"1000: <%%neuter< \u00FE\u00FAsund[ og >>];\n",
"1000000: ein milli\u00F3n[ og >>];\n",
"2000000: << milli\u00F3nur[ og >>];\n",
"1000000000: ein milliar\u00F0[ og >>];\n",
"2000000000: << milliar\u00F0ur[ og >>];\n",
"1000000000000: ein billi\u00F3n[ og >>];\n",
"2000000000000: << billi\u00F3nur[ og >>];\n",
"1000000000000000: ein billiar\u00F0[ og >>];\n",
"2000000000000000: << billiar\u00F0ur[ og >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: m\u00EDnus >>;\n",
"x.x: << komma >>;\n",
"%spellout:\n",
"0: n\u00FAll; einn; tveir; \u00FEr\u00EDr; fj\u00F3rir; fimm; sex; sj\u00F3; \u00E1tta; n\u00EDu;\n",
"10: t\u00EDu; ellefu; t\u00F3lf; \u00FErett\u00E1n; fj\u00F3rt\u00E1n; fimmt\u00E1n; sext\u00E1n;\n",
"17: sautj\u00E1n; \u00E1tj\u00E1n; n\u00EDtj\u00E1n;\n",
"20: tuttugu[ og >>];\n",
"30: \u00FErj\u00E1t\u00EDu[ og >>];\n",
"40: fj\u00F6rut\u00EDu[ og >>];\n",
"50: fimmt\u00EDu[ og >>];\n",
"60: sext\u00EDu[ og >>];\n",
"70: sj\u00F6t\u00EDu[ og >>];\n",
"80: \u00E1ttat\u00EDu[ og >>];\n",
"90: n\u00EDut\u00EDu[ og >>];\n",
"100: <%%neuter<\u00ADhundra\u00F0[ og >>];\n",
"1000: <%%neuter< \u00FE\u00FAsund[ og >>];\n",
"1000000: ein milli\u00F3n[ og >>];\n",
"2000000: <%%feminine< milli\u00F3nur[ og >>];\n",
"1000000000: ein milliar\u00F0[ og >>];\n",
"2000000000: <%%feminine< milliar\u00F0ur[ og >>];\n",
"1000000000000: ein billi\u00F3n[ og >>];\n",
"2000000000000: <%%feminine< billi\u00F3nur[ og >>];\n",
"1000000000000000: ein billiar\u00F0[ og >>];\n",
"2000000000000000: <%%feminine< billiar\u00F0ur[ og >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: m\u00EDnus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: n\u00FAll; ein; tv\u00F6; \u00FErj\u00FA; fj\u00F6gur; fimm; sex; sj\u00F3; \u00E1tta; n\u00EDu;\n",
"10: t\u00EDu; ellefu; t\u00F3lf; \u00FErett\u00E1n; fj\u00F3rt\u00E1n; fimmt\u00E1n; sext\u00E1n;\n",
"17: sautj\u00E1n; \u00E1tj\u00E1n; n\u00EDtj\u00E1n;\n",
"20: tuttugu[ og >>];\n",
"30: \u00FErj\u00E1t\u00EDu[ og >>];\n",
"40: fj\u00F6rut\u00EDu[ og >>];\n",
"50: fimmt\u00EDu[ og >>];\n",
"60: sext\u00EDu[ og >>];\n",
"70: sj\u00F6t\u00EDu[ og >>];\n",
"80: \u00E1ttat\u00EDu[ og >>];\n",
"90: n\u00EDut\u00EDu[ og >>];\n",
"100: <<\u00ADhundra\u00F0[ og >>];\n",
"1000: \u00FE\u00FAsund[ og >>];\n",
"1100/100: << hundra\u00F0[ og >>];\n",
"10000: =%spellout=;\n",
"-x: m\u00EDnus >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,172 +1,150 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, 2007 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/it.xml
// *
// ***************************************************************************
//
it {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for Italian. Like German, most Italian numbers are
// * written as single words. What makes these rules complicated is the rule
// * that says that when a word ending in a vowel and a word beginning with
// * a vowel are combined into a compound, the vowel is dropped from the
// * end of the first word: 180 is "centottanta," not "centoottanta."
// * The complexity of this rule set is to produce this behavior.
// * The "no-final" stanzas are used to deal with the fact that the number
// * three ( "tre" ) takes an accent when it is at the end of a word
// * like 23 ( ventitr<e-accent> ), but would NOT take an accent
// * in the context of a thousands or millions, for example,
// * 23,000 would be ventitremila, and would not have an accent on the "tre".
//
SpelloutRules {
// main rule set. Follows the patterns of the preceding rule sets,
// except that the final vowel is omitted from words ending in
// vowels when they are followed by another word; instead, we have
// separate rule sets that are identical to this one, except that
// all the words that don't begin with a vowel have a vowel tacked
// onto them at the front. A word ending in a vowel calls a
// substitution that will supply that vowel, unless that vowel is to
// be elided.
"%main:\n"
"-x: meno >>;\n"
"x.x: << virgola >>;\n"
"zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
"dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
" diciasette; diciotto; diciannove;\n"
"20: venti; vent>%%with-i>;\n"
"30: trenta; trent>%%with-a>;\n"
"40: quaranta; quarant>%%with-a>;\n"
"50: cinquanta; cinquant>%%with-a>;\n"
"60: sessanta; sessant>%%with-a>;\n"
"70: settanta; settant>%%with-a>;\n"
"80: ottanta; ottant>%%with-a>;\n"
"90: novanta; novant>%%with-a>;\n"
"100: cento; cent[>%%with-o>];\n"
"200: <<cento; <<cent[>%%with-o>];\n"
"1000: mille; mille>>;\n"
"2000: <%%no-final<mila; <%%no-final<mil>%%with-a>;\n"
"100,000>>: <%%no-final<mila[ >>];\n"
"1,000,000: un milione; un milione >>;\n"
"2,000,000: << milioni[ >>];\n"
"1,000,000,000: un miliardo; un miliardo >>;\n"
"2,000,000,000: << miliardi[ >>];\n"
"1,000,000,000,000: =#,##0= (incomplete data);\n"
"%%no-final:\n"
"zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
"dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
" diciasette; diciotto; diciannove;\n"
"20: venti; vent>%%with-i-nofinal>;\n"
"30: trenta; trent>%%with-a-nofinal>;\n"
"40: quaranta; quarant>%%with-a-nofinal>;\n"
"50: cinquanta; cinquant>%%with-a-nofinal>;\n"
"60: sessanta; sessant>%%with-a-nofinal>;\n"
"70: settanta; settant>%%with-a-nofinal>;\n"
"80: ottanta; ottant>%%with-a-nofinal>;\n"
"90: novanta; novant>%%with-a-nofinal>;\n"
"100: cento; cent[>%%with-o-nofinal>];\n"
"200: <<cento; <<cent[>%%with-o-nofinal>];\n"
"1,000: =%main=;\n"
"%%with-a:\n"
"azero; uno; adue; atr\u00E9; aquattro; acinque; asei; asette; otto; anove;\n"
"adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
" adiciasette; adiciotto; adiciannove;\n"
"20: aventi; avent>%%with-i>;\n"
"30: atrenta; atrent>%%with-a>;\n"
"40: aquaranta; aquarant>%%with-a>;\n"
"50: acinquanta; acinquant>%%with-a>;\n"
"60: asessanta; asessant>%%with-a>;\n"
"70: asettanta; asettant>%%with-a>;\n"
"80: ottanta; ottant>%%with-a>;\n"
"90: anovanta; anovant>%%with-a>;\n"
"100: acento; acent[>%%with-o>];\n"
"200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n"
"1000: amille; amill[>%%with-i>];\n"
"2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n"
"100,000: =%main=;\n"
"%%with-a-nofinal:\n"
"azero; uno; adue; atre; aquattro; acinque; asei; asette; otto; anove;\n"
"adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
" adiciasette; adiciotto; adiciannove;\n"
"20: aventi; avent>%%with-i-nofinal>;\n"
"30: atrenta; atrent>%%with-a-nofinal>;\n"
"40: aquaranta; aquarant>%%with-a-nofinal>;\n"
"50: acinquanta; acinquant>%%with-a-nofinal>;\n"
"60: asessanta; asessant>%%with-a-nofinal>;\n"
"70: asettanta; asettant>%%with-a-nofinal>;\n"
"80: ottanta; ottant>%%with-a-nofinal>;\n"
"90: anovanta; anovant>%%with-a-nofinal>;\n"
"100: acento; acent[>%%with-o-nofinal>];\n"
"200: <%%with-a-nofinal<cento; <%%with-a-nofinal<cent[>%%with-o-nofinal>];\n"
"1,000: =%main=;\n"
"%%with-i:\n"
"izero; uno; idue; itr\u00E9; iquattro; icinque; isei; isette; otto; inove;\n"
"idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
" idiciasette; idiciotto; idiciannove;\n"
"20: iventi; ivent>%%with-i>;\n"
"30: itrenta; itrent>%%with-a>;\n"
"40: iquaranta; iquarant>%%with-a>;\n"
"50: icinquanta; icinquant>%%with-a>;\n"
"60: isessanta; isessant>%%with-a>;\n"
"70: isettanta; isettant>%%with-a>;\n"
"80: ottanta; ottant>%%with-a>;\n"
"90: inovanta; inovant>%%with-a>;\n"
"100: icento; icent[>%%with-o>];\n"
"200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n"
"1000: imille; imill[>%%with-i>];\n"
"2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n"
"100,000: =%main=;\n"
"%%with-i-nofinal:\n"
"izero; uno; idue; itre; iquattro; icinque; isei; isette; otto; inove;\n"
"idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
" idiciasette; idiciotto; idiciannove;\n"
"20: iventi; ivent>%%with-i-nofinal>;\n"
"30: itrenta; itrent>%%with-a-nofinal>;\n"
"40: iquaranta; iquarant>%%with-a-nofinal>;\n"
"50: icinquanta; icinquant>%%with-a-nofinal>;\n"
"60: isessanta; isessant>%%with-a-nofinal>;\n"
"70: isettanta; isettant>%%with-a-nofinal>;\n"
"80: ottanta; ottant>%%with-a-nofinal>;\n"
"90: inovanta; inovant>%%with-a-nofinal>;\n"
"100: icento; icent[>%%with-o-nofinal>];\n"
"200: <%%with-i-nofinal<cento; <%%with-i-nofinal<cent[>%%with-o-nofinal>];\n"
"1,000: =%main=;\n"
"%%with-o:\n"
"ozero; uno; odue; otr\u00E9; oquattro; ocinque; osei; osette; otto; onove;\n"
"odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
" odiciasette; odiciotto; odiciannove;\n"
"20: oventi; ovent>%%with-i>;\n"
"30: otrenta; otrent>%%with-a>;\n"
"40: oquaranta; oquarant>%%with-a>;\n"
"50: ocinquanta; ocinquant>%%with-a>;\n"
"60: osessanta; osessant>%%with-a>;\n"
"70: osettanta; osettant>%%with-a>;\n"
"80: ottanta; ottant>%%with-a>;\n"
"90: onovanta; onovant>%%with-a>;\n"
"100: ocento; ocent[>%%with-o>];\n"
"200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n"
"1000: omille; omill[>%%with-i>];\n"
"2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n"
"100,000: =%main=;\n"
"%%with-o-nofinal:\n"
"ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto; onove;\n"
"odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
" odiciasette; odiciotto; odiciannove;\n"
"20: oventi; ovent>%%with-i-nofinal>;\n"
"30: otrenta; otrent>%%with-a-nofinal>;\n"
"40: oquaranta; oquarant>%%with-a-nofinal>;\n"
"50: ocinquanta; ocinquant>%%with-a-nofinal>;\n"
"60: osessanta; osessant>%%with-a-nofinal>;\n"
"70: osettanta; osettant>%%with-a-nofinal>;\n"
"80: ottanta; ottant>%%with-a-nofinal>;\n"
"90: onovanta; onovant>%%with-a-nofinal>;\n"
"100: ocento; ocent[>%%with-o-nofinal>];\n"
"200: <%%with-o-nofinal<cento; <%%with-o-nofinal<cent[>%%with-o-nofinal>];\n"
"1,000: =%main=;\n"
it{
RBNFRules{
SpelloutRules{
"%%no-final:\n",
"0: zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n",
"10: dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n",
"17: diciasette; diciotto; diciannove;\n",
"20: venti; vent>%%with-i-nofinal>;\n",
"30: trenta; trent>%%with-a-nofinal>;\n",
"40: quaranta; quarant>%%with-a-nofinal>;\n",
"50: cinquanta; cinquant>%%with-a-nofinal>;\n",
"60: sessanta; sessant>%%with-a-nofinal>;\n",
"70: settanta; settant>%%with-a-nofinal>;\n",
"80: ottanta; ottant>%%with-a-nofinal>;\n",
"90: novanta; novant>%%with-a-nofinal>;\n",
"100: cento; cent[>%%with-o-nofinal>];\n",
"200: <<cento; <<cent[>%%with-o-nofinal>];\n",
"1000: =%spellout=;\n",
"%spellout:\n",
"0: zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n",
"10: dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n",
"17: diciasette; diciotto; diciannove;\n",
"20: venti; vent>%%with-i>;\n",
"30: trenta; trent>%%with-a>;\n",
"40: quaranta; quarant>%%with-a>;\n",
"50: cinquanta; cinquant>%%with-a>;\n",
"60: sessanta; sessant>%%with-a>;\n",
"70: settanta; settant>%%with-a>;\n",
"80: ottanta; ottant>%%with-a>;\n",
"90: novanta; novant>%%with-a>;\n",
"100: cento; cent[>%%with-o>];\n",
"200: <<cento; <<cent[>%%with-o>];\n",
"1000: mille; mille>>;\n",
"2000: <%%no-final<mila; <%%no-final<mil>%%with-a>;\n",
"100000>>: <%%no-final<mila[ >>];\n",
"1000000: un milione; un milione >>;\n",
"2000000: << milioni[ >>];\n",
"1000000000: un miliardo; un miliardo >>;\n",
"2000000000: << miliardi[ >>];\n",
"1000000000000: =#,##0=;\n",
"-x: meno >>;\n",
"x.x: << virgola >>;\n",
"%%with-a:\n",
"0: azero; uno; adue; atr\u00E9; aquattro; acinque; asei; asette; otto; anove;\n",
"10: adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n",
"17: adiciasette; adiciotto; adiciannove;\n",
"20: aventi; avent>%%with-i>;\n",
"30: atrenta; atrent>%%with-a>;\n",
"40: aquaranta; aquarant>%%with-a>;\n",
"50: acinquanta; acinquant>%%with-a>;\n",
"60: asessanta; asessant>%%with-a>;\n",
"70: asettanta; asettant>%%with-a>;\n",
"80: ottanta; ottant>%%with-a>;\n",
"90: anovanta; anovant>%%with-a>;\n",
"100: acento; acent[>%%with-o>];\n",
"200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n",
"1000: amille; amill[>%%with-i>];\n",
"2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n",
"100000: =%spellout=;\n",
"%%with-a-nofinal:\n",
"0: azero; uno; adue; atre; aquattro; acinque; asei; asette; otto; anove;\n",
"10: adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n",
"17: adiciasette; adiciotto; adiciannove;\n",
"20: aventi; avent>%%with-i-nofinal>;\n",
"30: atrenta; atrent>%%with-a-nofinal>;\n",
"40: aquaranta; aquarant>%%with-a-nofinal>;\n",
"50: acinquanta; acinquant>%%with-a-nofinal>;\n",
"60: asessanta; asessant>%%with-a-nofinal>;\n",
"70: asettanta; asettant>%%with-a-nofinal>;\n",
"80: ottanta; ottant>%%with-a-nofinal>;\n",
"90: anovanta; anovant>%%with-a-nofinal>;\n",
"100: acento; acent[>%%with-o-nofinal>];\n",
"200: <%%with-a-nofinal<cento; <%%with-a-nofinal<cent[>%%with-o-nofinal>];\n",
"1000: =%spellout=;\n",
"%%with-i:\n",
"0: izero; uno; idue; itr\u00E9; iquattro; icinque; isei; isette; otto; inove;\n",
"10: idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n",
"17: idiciasette; idiciotto; idiciannove;\n",
"20: iventi; ivent>%%with-i>;\n",
"30: itrenta; itrent>%%with-a>;\n",
"40: iquaranta; iquarant>%%with-a>;\n",
"50: icinquanta; icinquant>%%with-a>;\n",
"60: isessanta; isessant>%%with-a>;\n",
"70: isettanta; isettant>%%with-a>;\n",
"80: ottanta; ottant>%%with-a>;\n",
"90: inovanta; inovant>%%with-a>;\n",
"100: icento; icent[>%%with-o>];\n",
"200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n",
"1000: imille; imill[>%%with-i>];\n",
"2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n",
"100000: =%spellout=;\n",
"%%with-i-nofinal:\n",
"0: izero; uno; idue; itre; iquattro; icinque; isei; isette; otto; inove;\n",
"10: idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n",
"17: idiciasette; idiciotto; idiciannove;\n",
"20: iventi; ivent>%%with-i-nofinal>;\n",
"30: itrenta; itrent>%%with-a-nofinal>;\n",
"40: iquaranta; iquarant>%%with-a-nofinal>;\n",
"50: icinquanta; icinquant>%%with-a-nofinal>;\n",
"60: isessanta; isessant>%%with-a-nofinal>;\n",
"70: isettanta; isettant>%%with-a-nofinal>;\n",
"80: ottanta; ottant>%%with-a-nofinal>;\n",
"90: inovanta; inovant>%%with-a-nofinal>;\n",
"100: icento; icent[>%%with-o-nofinal>];\n",
"200: <%%with-i-nofinal<cento; <%%with-i-nofinal<cent[>%%with-o-nofinal>];\n",
"1000: =%spellout=;\n",
"%%with-o:\n",
"0: ozero; uno; odue; otr\u00E9; oquattro; ocinque; osei; osette; otto; onove;\n",
"10: odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n",
"17: odiciasette; odiciotto; odiciannove;\n",
"20: oventi; ovent>%%with-i>;\n",
"30: otrenta; otrent>%%with-a>;\n",
"40: oquaranta; oquarant>%%with-a>;\n",
"50: ocinquanta; ocinquant>%%with-a>;\n",
"60: osessanta; osessant>%%with-a>;\n",
"70: osettanta; osettant>%%with-a>;\n",
"80: ottanta; ottant>%%with-a>;\n",
"90: onovanta; onovant>%%with-a>;\n",
"100: ocento; ocent[>%%with-o>];\n",
"200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n",
"1000: omille; omill[>%%with-i>];\n",
"2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n",
"100000: =%spellout=;\n",
"%%with-o-nofinal:\n",
"0: ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto; onove;\n",
"10: odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n",
"17: odiciasette; odiciotto; odiciannove;\n",
"20: oventi; ovent>%%with-i-nofinal>;\n",
"30: otrenta; otrent>%%with-a-nofinal>;\n",
"40: oquaranta; oquarant>%%with-a-nofinal>;\n",
"50: ocinquanta; ocinquant>%%with-a-nofinal>;\n",
"60: osessanta; osessant>%%with-a-nofinal>;\n",
"70: osettanta; osettant>%%with-a-nofinal>;\n",
"80: ottanta; ottant>%%with-a-nofinal>;\n",
"90: onovanta; onovant>%%with-a-nofinal>;\n",
"100: ocento; ocent[>%%with-o-nofinal>];\n",
"200: <%%with-o-nofinal<cento; <%%with-o-nofinal<cent[>%%with-o-nofinal>];\n",
"1000: =%spellout=;\n",
}
}
Version{"1.4"}
}

View File

@ -1,64 +1,87 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004-2006, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ja.xml
// *
// ***************************************************************************
//
ja {
// Spellout rules for Japanese.
//
// In Japanese, there really isn't any distinction between a number written
// out in digits and a number written out in words. The kanji are both
// digits and words. This rule set provides two variants:
//
// %traditional
// Traditional CJK numerals for everyday usage.
//
// %financial
// Alternate numerals that are harder to alter than the traditional
// numerals to prevent fraud (e.g. changing a traditional one to a
// three by adding two strokes). Additionally, items that are usually
// dropped or shortened in the traditional form are supplied in full
// (e.g. 128 is 1 x 100, 2 x 10, 8 instead of just 100, 2 x 10, 8).
//
// Note that the Japanese spell out rules, although similar, are different
// to those for Chinese. For instance, Japanese omits powers of ten which
// are zero, however in Chinese they are included.
SpelloutRules {
"%financial:\n"
"-x: \u30de\u30a4\u30ca\u30b9>>;\n"
"x.x: <<\u70b9>>;\n"
"\u96f6; \u58f1; \u5f10; \u53c2; \u56db; \u4f0d; \u516d; \u4e03; \u516b; \u4e5d;\n"
"\u62fe; \u62fe[>>];\n"
"20: <<\u62fe[>>];\n"
"100: <<\u767e[>>];\n"
"1000: <<\u5343[>>];\n"
"10,000: <<\u842c[>>];\n"
"100,000,000: <<\u5104[>>];\n"
"1,000,000,000,000: <<\u5146[>>];\n"
"10,000,000,000,000,000: =#,##0=;\n"
// "10,000,000,000,000,000: <<\u4eac[>>];\n"
// "100,000,000,000,000,000,000: =#,##0=;"
"%traditional:\n"
"-x: \u30de\u30a4\u30ca\u30b9>>;\n"
"x.x: <<\u30fb>>;\n"
"\u3007; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
"\u5341; \u5341[>>];\n"
"20: <<\u5341[>>];\n"
"100: \u767e[>>];\n"
"200: <<\u767e[>>];\n"
"1000: \u5343[>>];\n"
"2000: <<\u5343[>>];\n"
"10,000: <<\u4e07[>>];\n"
"100,000,000: <<\u5104[>>];\n"
"1,000,000,000,000: <<\u5146[>>];\n"
"10,000,000,000,000,000: =#,##0=;"
// "10,000,000,000,000,000: <<\u4eac[>>];\n"
// "100,000,000,000,000,000,000: =#,##0=;"
ja{
RBNFRules{
OrdinalRules{
"%%ord_spellout:\n",
"0: \u3007;\n",
"1: \u4E00;\n",
"2: \u4E8C;\n",
"3: \u4E09;\n",
"4: \u56DB;\n",
"5: \u4E94;\n",
"6: \u516D;\n",
"7: \u4E03;\n",
"8: \u516B;\n",
"9: \u4E5D;\n",
"10: \u5341[>>];\n",
"20: <<\u5341[>>];\n",
"100: \u767E[>>];\n",
"200: <<\u767E[>>];\n",
"1000: \u5343[>>];\n",
"2000: <<\u5343[>>];\n",
"10000: <<\u4E07[>>];\n",
"100000000: <<\u5104[>>];\n",
"1000000000000: <<\u5146[>>];\n",
"10000000000000000: <<\u4EAC[>>];\n",
"100000000000000000000: =#,###0.#=;\n",
"%ordinal:\n",
"0: \u7B2C=%%ord_spellout=;\n",
}
SpelloutRules{
"%financial:\n",
"0: \u96F6;\n",
"1: \u58F1;\n",
"2: \u5F10;\n",
"3: \u53C2;\n",
"4: \u56DB;\n",
"5: \u4F0D;\n",
"6: \u516D;\n",
"7: \u4E03;\n",
"8: \u516B;\n",
"9: \u4E5D;\n",
"10: \u62FE[>>];\n",
"20: <<\u62FE[>>];\n",
"100: <<\u767E[>>];\n",
"1000: <<\u5343[>>];\n",
"10000: <<\u842C[>>];\n",
"100000000: <<\u5104[>>];\n",
"1000000000000: <<\u5146[>>];\n",
"10000000000000000: <<\u4EAC[>>];\n",
"100000000000000000000: =#,###0.#=;\n",
"-x: \u30DE\u30A4\u30CA\u30B9>>;\n",
"x.x: <<\u70B9>>>;\n",
"%spellout:\n",
"0: \u3007;\n",
"1: \u4E00;\n",
"2: \u4E8C;\n",
"3: \u4E09;\n",
"4: \u56DB;\n",
"5: \u4E94;\n",
"6: \u516D;\n",
"7: \u4E03;\n",
"8: \u516B;\n",
"9: \u4E5D;\n",
"10: \u5341[>>];\n",
"20: <<\u5341[>>];\n",
"100: \u767E[>>];\n",
"200: <<\u767E[>>];\n",
"1000: \u5343[>>];\n",
"2000: <<\u5343[>>];\n",
"10000: <<\u4E07[>>];\n",
"100000000: <<\u5104[>>];\n",
"1000000000000: <<\u5146[>>];\n",
"10000000000000000: <<\u4EAC[>>];\n",
"100000000000000000000: =#,###0.#=;\n",
"-x: \u30DE\u30A4\u30CA\u30B9>>;\n",
"x.x: <<\u30FB>>>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,53 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ka.xml
// *
// ***************************************************************************
ka{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: \u10DC\u10E3\u10DA\u10D8;\n",
"1: \u10D4\u10E0\u10D7\u10D8;\n",
"2: \u10DD\u10E0\u10D8;\n",
"3: \u10E1\u10D0\u10DB\u10D8;\n",
"4: \u10DD\u10D7\u10EE\u10D8;\n",
"5: \u10EE\u10E3\u10D7\u10D8;\n",
"6: \u10D4\u10E5\u10D5\u10E1\u10D8;\n",
"7: \u10E8\u10D5\u10D8\u10D3\u10D8;\n",
"8: \u10E0\u10D5\u10D0;\n",
"9: \u10EA\u10EE\u10E0\u10D0;\n",
"10: \u10D0\u10D7\u10D8;\n",
"11: \u10D7\u10D4\u10E0\u10D7\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"12: \u10D7\u10DD\u10E0\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"13: \u10EA\u10D0\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"14: \u10D7\u10DD\u10D7\u10EE\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"15: \u10D7\u10EE\u10E3\u10D7\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"16: \u10D7\u10D4\u10E5\u10D5\u10E1\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"17: \u10E9\u10D5\u10D8\u10D3\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"18: \u10D7\u10E0\u10D5\u10D0\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"19: \u10EA\u10EE\u10E0\u10D0\u00AD\u10DB\u10D4\u10E2\u10D8;\n",
"20: \u10DD\u10EA\u10D8;\n",
"21/20: \u10DD\u10EA\u10D3\u10D0->>;\n",
"40: \u10DD\u10E0\u10DB\u00AD\u10DD\u10EA\u10D8;\n",
"41/20: \u10DD\u10E0\u10DB\u10DD\u10EA\u10D0\u00AD>>;\n",
"60: \u10E1\u10D0\u10DB\u00AD\u10DD\u10EA\u10D8;\n",
"61/20: \u10E1\u10D0\u10DB\u10DD\u10EA\u10D0\u00AD>>;\n",
"80: \u10DD\u10D7\u10EE\u10DB\u00AD\u10DD\u10EA\u10D8;\n",
"81/20: \u10DD\u10D7\u10EE\u10DB\u10DD\u10EA\u10D0\u00AD>>;\n",
"100: <<\u00AD\u10D0\u10E1\u10D8[\u00AD>>];\n",
"1000: <<\u00AD\u10D0\u10D7\u10D0\u10E1\u10D8[ >>];\n",
"1000000: << \u10DB\u10D8\u10DA\u10D8\u10DD\u10DC\u10D8[ >>];\n",
"1000000000: << \u10DB\u10D8\u10DA\u10D8\u10D0\u10E0\u10D3\u10D8[ >>];\n",
"1000000000000: << \u10D1\u10D8\u10DA\u10D8\u10DD\u10DC\u10D8[ >>];\n",
"1000000000000000: << \u10D1\u10D8\u10DA\u10D8\u10D0\u10E0\u10D3\u10D8[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: --- >>;\n",
"x.x: << ... >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,75 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/kl.xml
// *
// ***************************************************************************
kl{
RBNFRules{
SpelloutRules{
"%%numbertimes:\n",
"1: ataaseq;\n",
"2: marlunnik;\n",
"3: pingasunik;\n",
"4: sisamanik;\n",
"5: tallimanik;\n",
"6: arfinilinnik;\n",
"7: arfineq-marlunnik;\n",
"8: arfineq-pingasunik;\n",
"9: qulingiluanik;\n",
"10: qulinik;\n",
"11: aqqanilinik;\n",
"12: aqqaneq-marlunnik;\n",
"13: aqqaneq-pingasunik;\n",
"14: aqqaneq-sisamanik;\n",
"15: aqqaneq-tallimanik;\n",
"16: arfersanilinnik;\n",
"17: arfersaneq-marlunnik;\n",
"18: arfersaneq-pingasunik;\n",
"19: arfersaneq-sisamanik;\n",
"20: <%%numbertimes< qulillit[ >>];\n",
"100: uutritit[ >>];\n",
"200: <%%numbertimes< uutritillit[ >>];\n",
"%spellout:\n",
"0: nuulu;\n",
"1: ataaseq;\n",
"2: marluk;\n",
"3: pingasut;\n",
"4: sisamat;\n",
"5: tallimat;\n",
"6: arfinillit;\n",
"7: arfineq-marluk;\n",
"8: arfineq-pingasut;\n",
"9: qulingiluat;\n",
"10: qulit;\n",
"11: aqqanilit;\n",
"12: aqqaneq-marluk;\n",
"13: aqqaneq-pingasut;\n",
"14: aqqaneq-sisamat;\n",
"15: aqqaneq-tallimat;\n",
"16: arfersanillit;\n",
"17: arfersaneq-marluk;\n",
"18: arfersaneq-pingasut;\n",
"19: arfersaneq-sisamat;\n",
"20: <%%numbertimes< qulillit[ >>];\n",
"100: uutritit[ >>];\n",
"200: <%%numbertimes< uutritillit[ >>];\n",
"1000: tuusintit[ >>];\n",
"2000: <%%numbertimes< tuusintillit[ >>];\n",
"1000000: millionit[ >>];\n",
"2000000: <%%numbertimes< millionit[ >>];\n",
"1000000000: milliardit[ >>];\n",
"2000000000: <%%numbertimes< milliardit[ >>];\n",
"1000000000000: billionit[ >>];\n",
"2000000000000: <%%numbertimes< billionit[ >>];\n",
"1000000000000000: billiardit[ >>];\n",
"2000000000000000: <%%numbertimes< billiardit[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,69 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ko.xml
// *
// ***************************************************************************
ko{
RBNFRules{
OrdinalRules{
"%ordinal:\n",
"0: \uC81C =%%sinonumber=;\n",
"%%sinonumber:\n",
"0: \uC601;\n",
"1: \uC77C;\n",
"2: \uC774;\n",
"3: \uC0BC;\n",
"4: \uC0AC;\n",
"5: \uC624;\n",
"6: \uC721;\n",
"7: \uCE60;\n",
"8: \uD314;\n",
"9: \uAD6C;\n",
"10: <<\uC2ED[ >>];\n",
"100: <<\uBC31[ >>];\n",
"1000: << \uCC9C[ >>];\n",
"10000: << \uB9CC[ >>];\n",
"100000000: << \uC5B5[ >>];\n",
"1000000000000: << \uC870[ >>];\n",
"10000000000000000: << \uACBD[ >>];\n",
"100000000000000000000: =#,###0.#=;\n",
"-x: \uB9C8\uC774\uB108\uC2A4 >>;\n",
"x.x: << \uC810 >>;\n",
}
SpelloutRules{
"%spellout:\n",
"0: \uACF5;\n",
"1: \uD558\uB098;\n",
"2: \uB458;\n",
"3: \uC14B;\n",
"4: \uB137;\n",
"5: \uB2E4\uC12F;\n",
"6: \uC5EC\uC12F;\n",
"7: \uC77C\uACF1;\n",
"8: \uC5EC\uB35F;\n",
"9: \uC544\uD649;\n",
"10: \uC5F4[ >>];\n",
"20: \uC2A4\uBB3C[ >>];\n",
"30: \uC11C\uB978[ >>];\n",
"40: \uB9C8\uD754[ >>];\n",
"50: \uC270[ >>];\n",
"60: \uC608\uC21C[ >>];\n",
"70: \uC77C\uD754[ >>];\n",
"80: \uC5EC\uB4E0[ >>];\n",
"90: \uC544\uD754[ >>];\n",
"100: <<\uBC31[ >>];\n",
"1000: << \uCC9C[ >>];\n",
"10000: << \uB9CC[ >>];\n",
"100000000: << \uC5B5[ >>];\n",
"1000000000000: << \uC870[ >>];\n",
"10000000000000000: << \uACBD[ >>];\n",
"100000000000000000000: =#,###0.#=;\n",
"-x: \uB9C8\uC774\uB108\uC2A4 >>;\n",
"x.x: << \uC810 >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,43 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/lt.xml
// *
// ***************************************************************************
lt{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nulis; vienas; du; trys; keturi; penki;\n",
"6: \u0161e\u0161i; septyni; a\u0161tuoni; devyni;\n",
"10: de\u0161imt; vienuolika; dvylika; trylika; keturiolika; penkiolika;\n",
"16: \u0161e\u0161iolika; septyniolika; a\u0161tuoniolika; devyniolika;\n",
"20: dvi\u00ADde\u0161imt[ >>];\n",
"30: tris\u00ADde\u0161imt[ >>];\n",
"40: keturias\u00ADde\u0161imt[ >>];\n",
"50: penkias\u00ADde\u0161imt[ >>];\n",
"60: \u0161e\u0161ias\u00ADde\u0161imt[ >>];\n",
"70: septynias\u00ADde\u0161imt[ >>];\n",
"80: a\u0161tuonias\u00ADde\u0161imt[ >>];\n",
"90: devynias\u00ADde\u0161imt[ >>];\n",
"100: \u0161imtas[ >>];\n",
"200: << \u0161imtai[ >>];\n",
"1000: t\u016Bkstantis[ >>];\n",
"2000: << t\u016Bkstant\u0173[ >>];\n",
"1000000: << milijonas[ >>];\n",
"2000000: << milijon\u0173[ >>];\n",
"1000000000: << milijardas[ >>];\n",
"2000000000: << milijard\u0173[ >>];\n",
"1000000000000: << trilijonas[ >>];\n",
"2000000000000: << trilijon\u0173[ >>];\n",
"1000000000000000: << kvadrilijonas[ >>];\n",
"2000000000000000: << kvadrilijon\u0173[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: m\u012Bnus >>;\n",
"x.x: << kablelis >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,43 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/lv.xml
// *
// ***************************************************************************
lv{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: nulle; viens; divi; tr\u012Bs; \u010Detri; pieci;\n",
"6: se\u0161i; septi\u0146i; asto\u0146i; devi\u0146i;\n",
"10: desmit; vienpadsmit; divpadsmit; tr\u012Bspadsmit; \u010Detrpadsmit; piecpadsmit;\n",
"16: se\u0161padsmit; septi\u0146padsmit; asto\u0146padsmit; devi\u0146padsmit;\n",
"20: divdesmit[ >>];\n",
"30: tr\u012Bsdesmit[ >>];\n",
"40: \u010Detrdesmit[ >>];\n",
"50: piecdesmit[ >>];\n",
"60: se\u0161desmit[ >>];\n",
"70: septi\u0146desmit[ >>];\n",
"80: asto\u0146desmit[ >>];\n",
"90: devi\u0146desmit[ >>];\n",
"100: simts[ >>];\n",
"200: << simti[ >>];\n",
"1000: t\u016Bkstotis[ >>];\n",
"2000: << t\u016Bksto\u0161i[ >>];\n",
"1000000: << miljons[ >>];\n",
"2000000: << miljoni[ >>];\n",
"1000000000: << miljards[ >>];\n",
"2000000000: << miljardi[ >>];\n",
"1000000000000: << biljons[ >>];\n",
"2000000000000: << biljoni[ >>];\n",
"1000000000000000: << biljards[ >>];\n",
"2000000000000000: << biljardi[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: m\u012Bnuss >>;\n",
"x.x: << komats >>;\n",
}
}
Version{"1.3"}
}

View File

@ -1,193 +1,68 @@
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/mt.xml
// *
// ***************************************************************************
//
mt {
// Spellout rules. Experimental.
SpelloutRules {
// This rule set shows the normal simple formatting rules for English
"%simplified:\n"
// negative number rule. This rule is used to format negative
// numbers. The result of formatting the number's absolute
// value is placed where the >> is.
"-x: minus >>;\n"
// faction rule. This rule is used for formatting numbers
// with fractional parts. The result of formatting the
// number's integral part is substituted for the <<, and
// the result of formatting the number's fractional part
// (one digit at a time, e.g., 0.123 is "zero punt one two
// three") replaces the >>.
"x.x: << punt >>;\n"
// the rules for the values from 0 to 19 are simply the
// words for those numbers
"żero; wieħed; tnejn; tlieta; erbgħa; ħamsa; sitta; sebgħa; tmienja; disgħa;\n"
"għaxra; ħdax; tnax; tlettax; erbatax; ħmistax; sittax;\n"
" sbatax; tmintax; dsatax;\n"
// beginning at 20, we use the >> to mark the position where
// the result of formatting the number's ones digit. Thus,
// we only need a new rule at every multiple of 10. Text in
// backets is omitted if the value being formatted is an
// even multiple of 10.
"20: [>> u ]għoxrin;\n"
"30: [>> u ]tletin;\n"
"40: [>> u ]erbgħin;\n"
"50: [>> u ]ħamsin;\n"
"60: [>> u ]sittin;\n"
"70: [>> u ]sebgħin;\n"
"80: [>> u ]tmenin;\n"
"90: [>> u ]disgħin;\n"
// beginning at 100, we can use << to mark the position where
// the result of formatting the multiple of 100 is to be
// inserted. Notice also that the meaning of >> has shifted:
// here, it refers to both the ones place and the tens place.
// The meanings of the << and >> tokens depend on the base value
// of the rule. A rule's divisor is (usually) the highest
// power of 10 that is less than or equal to the rule's base
// value. The value being formatted is divided by the rule's
// divisor, and the integral quotient is used to get the text
// for <<, while the remainder is used to produce the text
// for >>. Again, text in brackets is omitted if the value
// being formatted is an even multiple of the rule's divisor
// (in this case, an even multiple of 100)
"100: mija[ u >>];\n"
"200: mitejn[ u >>];\n"
// The rules for the higher numbers work the same way as the
// rule for 100: Again, the << and >> tokens depend on the
// rule's divisor, which for all these rules is also the rule's
// base value. To group by thousand, we simply don't have any
// rules between 1,000 and 1,000,000.
"1000: << elf[ u >>];\n"
"2000: << elfejn[ u >>];\n"
"3000: tliet elef [ u >>];\n"
"1,000,000: << miljun[ u >>];\n"
"1,000,000,000: << biljun[ >>];\n"
"1,000,000,000,000: << triljun[ >>];\n"
// overflow rule. This rule specifies that values of a
// quadrillion or more are shown in numerals rather than words.
// The == token means to format (with new rules) the value
// being formatted by this rule and place the result where
// the == is. The #,##0 inside the == signs is a
// DecimalFormat pattern. It specifies that the value should
// be formatted with a DecimalFormat object, and that it
// should be formatted with no decimal places, at least one
// digit, and a thousands separator.
"1,000,000,000,000,000: =#,##0=;\n"
// %default is a more elaborate form of %simplified; It is basically
// the same, except that it introduces "and" before the ones digit
// when appropriate (basically, between the tens and ones digits) and
// separates the thousands groups with commas in values over 100,000.
"%default:\n"
// negative-number and fraction rules. These are the same
// as those for %simplified, but have to be stated here too
// because this is an entry point
"-x: minus >>;\n"
"x.x: << punt >>;\n"
// just use %simplified for values below 100
"=%simplified=;\n"
// for values from 100 to 9,999 use %%and to decide whether or
// not to interpose the "and"
"100: mija[ >%%and>];\n"
"200: mitejn[ >%%and>];\n"
"300: tlett mija[ >%%and>];\n"
"400: erbgħa mija[ >%%and>];\n"
"500: ħames mija[ >%%and>];\n"
"600: sitt mija[ >%%and>];\n"
"700: sebgħa mija[ >%%and>];\n"
"800: tmin mija[ >%%and>];\n"
"900: disgħa mija[ >%%and>];\n"
"1000: << elf[ >%%and>];\n"
// for values of 100,000 and up, use %%commas to interpose the
// commas in the right places (and also to interpose the "and")
"100,000>>: << thousand[>%%commas>];\n"
"1,000,000: << million[>%%commas>];\n"
"1,000,000,000: << billion[>%%commas>];\n"
"1,000,000,000,000: << trillion[>%%commas>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
// if the value passed to this rule set is greater than 100, don't
// add the "and"; if it's less than 100, add "and" before the last
// digits
"%%and:\n"
"u =%default=;\n"
"100: =%default=;\n"
// this rule set is used to place the commas
"%%commas:\n"
// for values below 100, add "and" (the apostrophe at the
// beginning is ignored, but causes the space that follows it
// to be significant: this is necessary because the rules
// calling %%commas don't put a space before it)
"' and =%default=;\n"
// put a comma after the thousands (or whatever preceded the
// hundreds)
"100: , =%default=;\n"
// put a comma after the millions (or whatever precedes the
// thousands)
"1000: , <%default< thousand, >%default>;\n"
// and so on...
"1,000,000: , =%default=;"
// %%lenient-parse isn't really a set of number formatting rules;
// it's a set of collation rules. Lenient-parse mode uses a Collator
// object to compare fragments of the text being parsed to the text
// in the rules, allowing more leeway in the matching text. This set
// of rules tells the formatter to ignore commas when parsing (it
// already ignores spaces, which is why we refer to the space; it also
// ignores hyphens, making "twenty one" and "twenty-one" parse
// identically)
"%%lenient-parse:\n"
// "& ' ' , ',' ;\n"
"&\u0000 << ' ' << ',' << '-'; \n"
}
DurationRules {
// main rule set for formatting with words
"%with-words:\n"
// take care of singular and plural forms of "second"
"0 sekondi; 1 sekonda; =0= sekondi;\n"
// use %%min to format values greater than 60 seconds
"60/60: <%%min<[, >>];\n"
// use %%hr to format values greater than 3,600 seconds
// (the ">>>" below causes us to see the number of minutes
// when when there are zero minutes)
"3600/60: <%%hr<[, >>>];\n"
// this rule set takes care of the singular and plural forms
// of "minute"
"%%min:\n"
"0 minuti; 1 minuta; =0= minuti;\n"
// this rule set takes care of the singular and plural forms
// of "hour"
"%%hr:\n"
"0 siegħat; 1 siegħa; =0= siegħat;\n"
// main rule set for formatting in numerals
"%in-numerals:\n"
// values below 60 seconds are shown with "sec."
"=0= sek.;\n"
// higher values are shown with colons: %%min-sec is used for
// values below 3,600 seconds...
"60: =%%min-sec=;\n"
// ...and %%hr-min-sec is used for values of 3,600 seconds
// and above
"3600: =%%hr-min-sec=;\n"
// this rule causes values of less than 10 minutes to show without
// a leading zero
"%%min-sec:\n"
"0: :=00=;\n"
"60/60: <0<>>;\n"
// this rule set is used for values of 3,600 or more. Minutes are always
// shown, and always shown with two digits
"%%hr-min-sec:\n"
"0: :=00=;\n"
"60/60: <00<>>;\n"
"3600/60: <#,##0<:>>>;\n"
// the lenient-parse rules allow several different characters to be used
// as delimiters between hours, minutes, and seconds
"%%lenient-parse:\n"
"& ':' = '.' = ' ' = '-';\n"
/**
* ICU <specials> source: <path>/xml/rbnf/mt.xml
*/
mt{
RBNFRules{
DurationRules{
"%duration:\n",
"0: =%in-numerals=;\n",
"%%hr:\n",
"0: 0 sieg\u0127at; 1 sieg\u0127a; =0= sieg\u0127at;\n",
"%%hr-min-sec:\n",
"0: :=00=;\n",
"60/60: <00<>>;\n",
"3600/60: <#,##0<:>>>;\n",
"%in-numerals:\n",
"0: =0= sek.;\n",
"60: =%%min-sec=;\n",
"3600: =%%hr-min-sec=;\n",
"%%lenient-parse:\n",
"& ':' = '.' = ' ' = '-';\n",
"%%min:\n",
"0: 0 minuti; 1 minuta; =0= minuti;\n",
"%%min-sec:\n",
"0: :=00=;\n",
"60/60: <0<>>;\n",
"%with-words:\n",
"0: 0 sekondi; 1 sekonda; =0= sekondi;\n",
"60/60: <%%min<[, >>];\n",
"3600/60: <%%hr<[, >>>];\n",
}
SpelloutRules{
"%%lenient-parse:\n",
"&[last primary ignorable ] << ' ' << ',' << '-';\n",
"%spellout:\n",
"0: \u017Cero; wie\u0127ed; tnejn; tlieta; erbg\u0127a; \u0127amsa; sitta; sebg\u0127a; tmienja; disg\u0127a;\n",
"10: g\u0127axra; \u0127dax; tnax; tlettax; erbatax; \u0127mistax; sittax;\n",
"17: sbatax; tmintax; dsatax;\n",
"20: [>> u ]g\u0127oxrin;\n",
"30: [>> u ]tletin;\n",
"40: [>> u ]erbg\u0127in;\n",
"50: [>> u ]\u0127amsin;\n",
"60: [>> u ]sittin;\n",
"70: [>> u ]sebg\u0127in;\n",
"80: [>> u ]tmenin;\n",
"90: [>> u ]disg\u0127in;\n",
"100: mija[ u >>];\n",
"200: mitejn[ u >>];\n",
"1000: << elf[ u >>];\n",
"2000: << elfejn[ u >>];\n",
"3000: tliet elef [ u >>];\n",
"1000000: << miljun[ u >>];\n",
"1000000000: << biljun[ >>];\n",
"1000000000000: << triljun[ >>];\n",
"1000000000000000: =#,##0=;\n",
"-x: minus >>;\n",
"x.x: << punt >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,65 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/nb.xml
// *
// ***************************************************************************
nb{
RBNFRules{
OrdinalRules{
"%%ordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%%neuter:\n",
"0: null; et; =%spellout=;\n",
"%spellout:\n",
"0: null; \u00E9n; to; tre; fire; fem; seks; syv; \u00E5tte; ni;\n",
"10: ti; elve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: [>>\u00ADog\u00AD]tyve;\n",
"30: [>>\u00ADog\u00AD]tredve;\n",
"40: [>>\u00ADog\u00AD]f\u00F8rr;\n",
"50: [>>\u00ADog\u00AD]femti;\n",
"60: [>>\u00ADog\u00AD]seksti;\n",
"70: [>>\u00ADog\u00AD]s\u00F8tti;\n",
"80: [>>\u00ADog\u00AD]\u00E5tti;\n",
"90: [>>\u00ADog\u00AD]nitti;\n",
"100: ett\u00ADhundre[ og >>];\n",
"200: <%%neuter<\u00ADhundre[ og >>];\n",
"1000: <%%neuter< tusen[ og >>];\n",
"1000000: \u00E9n million[ >>];\n",
"2000000: << millioner[ >>];\n",
"1000000000: \u00E9n milliard[ >>];\n",
"2000000000: << milliarder[ >>];\n",
"1000000000000: \u00E9n billion[ >>];\n",
"2000000000000: << billioner[ >>];\n",
"1000000000000000: \u00E9n billiard[ >>];\n",
"2000000000000000: << billiarder[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: null; \u00E9n; to; tre; fire; fem; seks; syv; \u00E5tte; ni;\n",
"10: ti; elve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: [>>\u00ADog\u00AD]tyve;\n",
"30: [>>\u00ADog\u00AD]tredve;\n",
"40: [>>\u00ADog\u00AD]f\u00F8rr;\n",
"50: [>>\u00ADog\u00AD]femti;\n",
"60: [>>\u00ADog\u00AD]seksti;\n",
"70: [>>\u00ADog\u00AD]s\u00F8tti;\n",
"80: [>>\u00ADog\u00AD]\u00E5tti;\n",
"90: [>>\u00ADog\u00AD]nitti;\n",
"100: ett\u00ADhundre[ og >>];\n",
"200: <<\u00ADhundre[ og >>];\n",
"1000: tusen[ og >>];\n",
"1100/100: <<\u00ADhundre[ og >>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,35 +1,70 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/nl.xml
// *
// ***************************************************************************
//
nl {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
SpelloutRules {
"-x: min >>;\n"
"x.x: << komma >>;\n"
"nul; een; twee; drie; vier; vijf; zes; zeven; acht; negen;\n"
"tien; elf; twaalf; dertien; veertien; vijftien; zestien;\n"
"zeventien; achtien; negentien;\n"
"20: [>> en ]twintig;\n"
"30: [>> en ]dertig;\n"
"40: [>> en ]veertig;\n"
"50: [>> en ]vijftig;\n"
"60: [>> en ]zestig;\n"
"70: [>> en ]zeventig;\n"
"80: [>> en ]tachtig;\n"
"90: [>> en ]negentig;\n"
"100: << honderd[ >>];\n"
"1000: << duizend[ >>];\n"
"1,000,000: << miljoen[ >>];\n"
"1,000,000,000: << miljard[ >>];\n"
"1,000,000,000,000: << biljoen[ >>];\n"
"1,000,000,000,000,000: =#,##0="
nl{
RBNFRules{
SpelloutRules{
"%%number-en:\n",
"1: eenen;\n",
"2: twee\u00EBn;\n",
"3: drie\u00EBn;\n",
"4: vieren;\n",
"5: vijfen;\n",
"6: zesen;\n",
"7: zevenen;\n",
"8: achten;\n",
"9: negenen;\n",
"10: =%spellout=;\n",
"%spellout:\n",
"0: nul;\n",
"1: een;\n",
"2: twee;\n",
"3: drie;\n",
"4: vier;\n",
"5: vijf;\n",
"6: zes;\n",
"7: zeven;\n",
"8: acht;\n",
"9: negen;\n",
"10: tien;\n",
"11: elf;\n",
"12: twaalf;\n",
"13: dertien;\n",
"14: veertien;\n",
"15: vijftien;\n",
"16: zestien;\n",
"17: zeventien;\n",
"18: achttien;\n",
"19: negentien;\n",
"20: [>%%number-en>]twintig;\n",
"30: [>%%number-en>]dertig;\n",
"40: [>%%number-en>]veertig;\n",
"50: [>%%number-en>]vijftig;\n",
"60: [>%%number-en>]zestig;\n",
"70: [>%%number-en>]zeventig;\n",
"80: [>%%number-en>]tachtig;\n",
"90: [>%%number-en>]negentig;\n",
"100: honderd[-en->>];\n",
"200: <<honderd[-en->>];\n",
"1000: duizend[-en->>];\n",
"2000: <<duizend[-en->>];\n",
"1000000: << miljoen[ >>];\n",
"1000000000: << miljard[ >>];\n",
"1000000000000: << biljoen[ >>];\n",
"1000000000000000: << biljard[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: min >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: =%spellout=;\n",
"1100/100: <<honderd[-en->>];\n",
"10000: =%spellout=;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,63 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/nn.xml
// *
// ***************************************************************************
nn{
RBNFRules{
OrdinalRules{
"%%ordabbrev:\n",
"0: '.;\n",
"%ordinal:\n",
"0: =#,##0==%%ordabbrev=;\n",
}
SpelloutRules{
"%%neuter:\n",
"0: null; eitt; =%spellout=;\n",
"%spellout:\n",
"0: null; \u00E9in; to; tre; fire; fem; seks; sju; \u00E5tte; ni;\n",
"10: ti; elleve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: tjue[\u00AD>>];\n",
"30: tretti[\u00AD>>];\n",
"40: f\u00F8rti[\u00AD>>];\n",
"50: femti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: s\u00F8tti[\u00AD>>];\n",
"80: \u00E5tti[\u00AD>>];\n",
"90: nitti[\u00AD>>];\n",
"100: <%%neuter< hundre[ og >>];\n",
"1000: <%%neuter< tusen[ og >>];\n",
"1000000: \u00E9in miljon[ >>];\n",
"2000000: << miljoner[ >>];\n",
"1000000000: \u00E9in miljard[ >>];\n",
"2000000000: << miljarder[ >>];\n",
"1000000000000: \u00E9in biljon[ >>];\n",
"2000000000000: << biljoner[ >>];\n",
"1000000000000000: \u00E9in biljard[ >>];\n",
"2000000000000000: << biljarder[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: null; \u00E9in; to; tre; fire; fem; seks; sju; \u00E5tte; ni;\n",
"10: ti; elleve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n",
"20: tjue[\u00AD>>];\n",
"30: tretti[\u00AD>>];\n",
"40: f\u00F8rti[\u00AD>>];\n",
"50: femti[\u00AD>>];\n",
"60: seksti[\u00AD>>];\n",
"70: s\u00F8tti[\u00AD>>];\n",
"80: \u00E5tti[\u00AD>>];\n",
"90: nitti[\u00AD>>];\n",
"100: << hundre[ og >>];\n",
"1000: tusen[ og >>];\n",
"1100/100: << hundre[ og >>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,44 +1,109 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/pl.xml
// *
// ***************************************************************************
//
pl {
SpelloutRules {
"-x: minus >>;\n"
"zero; jeden; dwa; trzy; cztery; pi\u0119\u0107;\n"
"sze\u015B\u0107; siedem; osiem; dziewi\u0119\u0107; dziesi\u0119\u0107;\n"
"jedena\u015Bcie; dwana\u015Bcie; trzyna\u015Bcie; czterna\u015Bcie; pi\u0119tna\u015Bcie;\n"
"szesna\u015Bcie; siedemna\u015Bcie; osiemna\u015Bcie; dziewi\u0119tna\u015Bcie;\n"
"20: dwadzie\u015Bcia[ >>];\n"
"30: trzydzie\u015Bci[ >>];\n"
"40: czterdzie\u015Bci[ >>];\n"
"50: pi\u0119\u0107dziesi\u0105t[ >>];\n"
"60: sze\u015B\u0107dziesi\u0105t[ >>];\n"
"70: siedemdziesi\u0105t[ >>];\n"
"80: osiemdziesi\u0105t[ >>];\n"
"90: dziewi\u0119\u0107dziesi\u0105t[ >>];\n"
"100: sto[ >>];\n"
"200: dwie\u015Bcie[ >>];\n"
"300: trzysta[ >>];\n"
"400: czterysta[ >>];\n"
"500: pi\u0119\u0107set[ >>];\n"
"600: sze\u015B\u0107set[ >>];\n"
"700: siedemset[ >>];\n"
"800: osiemset[ >>];\n"
"900: dziewi\u0119\u0107set[ >>];\n"
"1000: tysi\u0105c[ >>];\n"
"2000: << tysi\u0105cy[ >>];\n"
"1,000,000: milion[ >>];\n"
"2,000,000: << miliony[ >>];\n"
"1,000,000,000: bilion[ >>];\n"
"2,000,000,000: << biliony[ >>];\n"
"1,000,000,000,000: trylion[ >>];\n"
"2,000,000,000,000: << tryliony[ >>];\n"
"1,000,000,000,000,000: =#,##0=;"
pl{
RBNFRules{
SpelloutRules{
"%%feminine:\n",
"0: zero;\n",
"1: jedna;\n",
"2: dwie;\n",
"3: trzy;\n",
"4: cztery;\n",
"5: pi\u0119\u0107;\n",
"6: sze\u015B\u0107;\n",
"7: siedem;\n",
"8: osiem;\n",
"9: dziewi\u0119\u0107;\n",
"10: dziesi\u0119\u0107;\n",
"11: jedena\u015Bcie;\n",
"12: dwana\u015Bcie;\n",
"13: trzyna\u015Bcie;\n",
"14: czterna\u015Bcie;\n",
"15: pi\u0119tna\u015Bcie;\n",
"16: szesna\u015Bcie;\n",
"17: siedemna\u015Bcie;\n",
"18: osiemna\u015Bcie;\n",
"19: dziewi\u0119tna\u015Bcie;\n",
"20: dwa\u00ADdzie\u015Bcia[ >>];\n",
"30: trzy\u00ADdzie\u015Bci[ >>];\n",
"40: czter\u00ADdzie\u015Bci[ >>];\n",
"50: <<\u00ADdziesi\u0105t[ >>];\n",
"100: sto[ >>];\n",
"200: <<\u00AD\u015Bcie[ >>];\n",
"300: <<\u00ADsta[ >>];\n",
"500: <<\u00ADset[ >>];\n",
"1000: <%spellout< tysi\u0105c[ >>];\n",
"2000: <%spellout< tysi\u0105ce[ >>];\n",
"5000: <%spellout< tysi\u0105cy[ >>];\n",
"1000000: <%spellout< milion[ >>];\n",
"2000000: <%spellout< miliony[ >>];\n",
"5000000: <%spellout< milion\u00F3w[ >>];\n",
"1000000000: <%spellout< miliard[ >>];\n",
"2000000000: <%spellout< miliardy[ >>];\n",
"5000000000: <%spellout< miliard\u00F3w[ >>];\n",
"1000000000000: <%spellout< bilion[ >>];\n",
"2000000000000: <%spellout< biliony[ >>];\n",
"5000000000000: <%spellout< bilion\u00F3w[ >>];\n",
"1000000000000000: <%spellout< biliard[ >>];\n",
"2000000000000000: <%spellout< biliardy[ >>];\n",
"5000000000000000: <%spellout< biliard\u00F3w[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << przecinek >>;\n",
"%spellout:\n",
"0: zero;\n",
"1: jeden;\n",
"2: dwa;\n",
"3: trzy;\n",
"4: cztery;\n",
"5: pi\u0119\u0107;\n",
"6: sze\u015B\u0107;\n",
"7: siedem;\n",
"8: osiem;\n",
"9: dziewi\u0119\u0107;\n",
"10: dziesi\u0119\u0107;\n",
"11: jedena\u015Bcie;\n",
"12: dwana\u015Bcie;\n",
"13: trzyna\u015Bcie;\n",
"14: czterna\u015Bcie;\n",
"15: pi\u0119tna\u015Bcie;\n",
"16: szesna\u015Bcie;\n",
"17: siedemna\u015Bcie;\n",
"18: osiemna\u015Bcie;\n",
"19: dziewi\u0119tna\u015Bcie;\n",
"20: dwa\u00ADdzie\u015Bcia[ >>];\n",
"30: trzy\u00ADdzie\u015Bci[ >>];\n",
"40: czter\u00ADdzie\u015Bci[ >>];\n",
"50: <<\u00ADdziesi\u0105t[ >>];\n",
"100: sto[ >>];\n",
"200: <%%feminine<\u00AD\u015Bcie[ >>];\n",
"300: <%%feminine<\u00ADsta[ >>];\n",
"500: <%%feminine<\u00ADset[ >>];\n",
"1000: << tysi\u0105c[ >>];\n",
"2000: << tysi\u0105ce[ >>];\n",
"5000: << tysi\u0105cy[ >>];\n",
"1000000: << milion[ >>];\n",
"2000000: << miliony[ >>];\n",
"5000000: << milion\u00F3w[ >>];\n",
"1000000000: << miliard[ >>];\n",
"2000000000: << miliardy[ >>];\n",
"5000000000: << miliard\u00F3w[ >>];\n",
"1000000000000: << bilion[ >>];\n",
"2000000000000: << biliony[ >>];\n",
"5000000000000: << bilion\u00F3w[ >>];\n",
"1000000000000000: << biliard[ >>];\n",
"2000000000000000: << biliardy[ >>];\n",
"5000000000000000: << biliard\u00F3w[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << przecinek >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,72 +1,85 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004-2007, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/pt.xml
// *
// ***************************************************************************
//
pt {
SpelloutRules {
"%main:\n"
"-x: menos >>;\n"
"x.x: << ponto >>;\n"
"zero; um; dois; tr\u00EAs; quatro; cinco; seis; sete; oito; nove;\n"
"dez; onze; doze; treze; catorze; quinze; dezasseis;"
" dezassete; dezoito; dezanove;\n"
"20: vinte[ e >>];\n"
"30: trinta[ e >>];\n"
"40: quarenta[ e >>];\n"
"50: cinquenta[ e >>];\n"
"60: sessenta[ e >>];\n"
"70: setenta[ e >>];\n"
"80: oitenta[ e >>];\n"
"90: noventa[ e >>];\n"
"100: cem;\n"
"101: cento[ e >>];\n"
"200: duzcentos[ e >>];\n"
"300: trezentos[ e >>];\n"
"400: quatrocentos[ e >>];\n"
"500: quinhentos[ e >>];\n"
"600: seiscentos[ e >>];\n"
"700: setecentos[ e >>];\n"
"800: oitocentos[ e >>];\n"
"900: novecentos[ e >>];\n"
"1000: mil[ >%%with-e>];\n"
"2000: << mil[ >%%with-e>];\n"
"1,000,000: um milh\u00E3o[ >%%with-e>];\n"
"2,000,000: << milh\u00F5es[ >%%with-e>];\n"
"1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"
"2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"
"1,000,000,000,000: =#,##0=;"
"%%with-e:\n"
"zero; e um; e dois; e tr\u00EAs; e quatro; e cinco; e seis; e sete; e oito; e nove;\n"
"e dez; e onze; e doze; e treze; e catorze; e quinze; e dezasseis;"
" e dezassete; e dezoito; e dezanove;\n"
"20: e vinte; vinte[ e >%main>];\n"
"30: e trinta; trinta[ e >%main>];\n"
"40: e quarenta; quarenta[ e >%main>];\n"
"50: e cinquenta; cinquenta[ e >%main>];\n"
"60: e sessenta; sessenta[ e >%main>];\n"
"70: e setenta; setenta[ e >%main>];\n"
"80: e oitenta; oitenta[ e >%main>];\n"
"90: e noventa; noventa[ e >%main>];\n"
"100: e cem;\n"
"101: cento[ e >%main>];\n"
"200: e duzentos; duzcentos[ e >%main>];\n"
"300: e trezentos; trezentos[ e >%main>];\n"
"400: e quatrocentos; quatrocentos[ e >%main>];\n"
"500: e quinhentos; quinhentos[ e >%main>];\n"
"600: e seiscentos; seiscentos[ e >%main>];\n"
"700: e setecentos; setecentos[ e >%main>];\n"
"800: e oitocentos; oitocentos[ e >%main>];\n"
"900: e novecentos; novecentos[ e >%main>];\n"
"1000: e mil; mil[ >%%with-e>];\n"
"2000: << mil[ >%%with-e>];\n"
"1,000,000: um milh\u00E3o[ >%%with-e>];\n"
"2,000,000: << milh\u00F5es[ >%%with-e>];\n"
"1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"
"2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"
"1,000,000,000,000: =#,##0=;"
pt{
RBNFRules{
OrdinalRules{
"%%ord_mascabbrev:\n",
"0: \u00BA;\n",
"%ordinal:\n",
"0: =#,##0==%%ord_mascabbrev=;\n",
}
SpelloutRules{
"%spellout:\n",
"0: zero; um; dois; tr\u00EAs; quatro; cinco; seis; sete; oito; nove;\n",
"10: dez; onze; doze; treze; catorze; quinze; dezasseis; dezassete; dezoito; dezanove;\n",
"20: vinte[ e >>];\n",
"30: trinta[ e >>];\n",
"40: quarenta[ e >>];\n",
"50: cinquenta[ e >>];\n",
"60: sessenta[ e >>];\n",
"70: setenta[ e >>];\n",
"80: oitenta[ e >>];\n",
"90: noventa[ e >>];\n",
"100: cem; cento[ e >>];\n",
"200: duzcentos[ e >>];\n",
"300: trezentos[ e >>];\n",
"400: quatrocentos[ e >>];\n",
"500: quinhentos[ e >>];\n",
"600: seiscentos[ e >>];\n",
"700: setecentos[ e >>];\n",
"800: oitocentos[ e >>];\n",
"900: novecentos[ e >>];\n",
"1000: mil[ >%%with-e>];\n",
"2000: << mil[ >%%with-e>];\n",
"1000000: um milh\u00E3o[ >%%with-e>];\n",
"2000000: << milh\u00F5es[ >%%with-e>];\n",
"1000000000: um bilh\u00E3o[ >%%with-e>];\n",
"2000000000: << bilh\u00F5es[ >%%with-e>];\n",
"1000000000000: um trilh\u00E3o[ >%%with-e>];\n",
"2000000000000: << trilh\u00F5es[ >%%with-e>];\n",
"1000000000000000: um quatrilh\u00E3o[ >%%with-e>];\n",
"2000000000000000: << quatrilh\u00F5es[ >%%with-e>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: menos >>;\n",
"x.x: << v\u00EDrgula >>;\n",
"%%with-e:\n",
"0: zero; e um; e dois; e tr\u00EAs; e quatro; e cinco; e seis; e sete; e oito; e nove;\n",
"10: e dez; e onze; e doze; e treze; e catorze; e quinze; e dezasseis; e dezassete; e dezoito; e dezanove;\n",
"20: e vinte; vinte[ e >%spellout>];\n",
"30: e trinta; trinta[ e >%spellout>];\n",
"40: e quarenta; quarenta[ e >%spellout>];\n",
"50: e cinquenta; cinquenta[ e >%spellout>];\n",
"60: e sessenta; sessenta[ e >%spellout>];\n",
"70: e setenta; setenta[ e >%spellout>];\n",
"80: e oitenta; oitenta[ e >%spellout>];\n",
"90: e noventa; noventa[ e >%spellout>];\n",
"100: e cem; cento [ e >%spellout>];\n",
"200: e duzentos; duzcentos[ e >%spellout>];\n",
"300: e trezentos; trezentos[ e >%spellout>];\n",
"400: e quatrocentos; quatrocentos[ e >%spellout>];\n",
"500: e quinhentos; quinhentos[ e >%spellout>];\n",
"600: e seiscentos; seiscentos[ e >%spellout>];\n",
"700: e setecentos; setecentos[ e >%spellout>];\n",
"800: e oitocentos; oitocentos[ e >%spellout>];\n",
"900: e novecentos; novecentos[ e >%spellout>];\n",
"1000: e mil; mil[ >%%with-e>];\n",
"2000: <%spellout< mil[ >%%with-e>];\n",
"1000000: um milh\u00E3o[ >%%with-e>];\n",
"2000000: <%spellout< milh\u00F5es[ >%%with-e>];\n",
"1000000000: um bilh\u00E3o[ >%%with-e>];\n",
"2000000000: <%spellout< bilh\u00F5es[ >%%with-e>];\n",
"1000000000000: um trilh\u00E3o[ >%%with-e>];\n",
"2000000000000: <%spellout< trilh\u00F5es[ >%%with-e>];\n",
"1000000000000000: um quatrilh\u00E3o[ >%%with-e>];\n",
"2000000000000000: <%spellout< quatrilh\u00F5es[ >%%with-e>];\n",
"1000000000000000000: =#,##0.#=;\n",
}
}
Version{"1.5"}
}

View File

@ -0,0 +1,77 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/pt_PT.xml
// *
// ***************************************************************************
pt_PT{
RBNFRules{
OrdinalRules{
"%%ord_mascabbrev:\n",
"0: \u00BA;\n",
"%ordinal:\n",
"0: =#,##0==%%ord_mascabbrev=;\n",
}
SpelloutRules{
"%spellout:\n",
"0: zero; um; dois; tr\u00EAs; quatro; cinco; seis; sete; oito; nove;\n",
"10: dez; onze; doze; treze; catorze; quinze; dezasseis; dezassete; dezoito; dezanove;\n",
"20: vinte[ e >>];\n",
"30: trinta[ e >>];\n",
"40: quarenta[ e >>];\n",
"50: cinquenta[ e >>];\n",
"60: sessenta[ e >>];\n",
"70: setenta[ e >>];\n",
"80: oitenta[ e >>];\n",
"90: noventa[ e >>];\n",
"100: cem; cento[ e >>];\n",
"200: duzcentos[ e >>];\n",
"300: trezentos[ e >>];\n",
"400: quatrocentos[ e >>];\n",
"500: quinhentos[ e >>];\n",
"600: seiscentos[ e >>];\n",
"700: setecentos[ e >>];\n",
"800: oitocentos[ e >>];\n",
"900: novecentos[ e >>];\n",
"1000: mil[ >%%with-e>];\n",
"2000: << mil[ >%%with-e>];\n",
"1000000: um milh\u00E3o[ >%%with-e>];\n",
"2000000: << milh\u00F5es[ >%%with-e>];\n",
"1000000000000: um bilh\u00E3o[ >%%with-e>];\n",
"2000000000000: << bilh\u00F5es[ >%%with-e>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: menos >>;\n",
"x.x: << v\u00EDrgula >>;\n",
"%%with-e:\n",
"0: zero; e um; e dois; e tr\u00EAs; e quatro; e cinco; e seis; e sete; e oito; e nove;\n",
"10: e dez; e onze; e doze; e treze; e catorze; e quinze; e dezasseis; e dezassete; e dezoito; e dezanove;\n",
"20: e vinte; vinte[ e >%spellout>];\n",
"30: e trinta; trinta[ e >%spellout>];\n",
"40: e quarenta; quarenta[ e >%spellout>];\n",
"50: e cinquenta; cinquenta[ e >%spellout>];\n",
"60: e sessenta; sessenta[ e >%spellout>];\n",
"70: e setenta; setenta[ e >%spellout>];\n",
"80: e oitenta; oitenta[ e >%spellout>];\n",
"90: e noventa; noventa[ e >%spellout>];\n",
"100: e cem; cento [ e >%spellout>];\n",
"200: e duzentos; duzcentos[ e >%spellout>];\n",
"300: e trezentos; trezentos[ e >%spellout>];\n",
"400: e quatrocentos; quatrocentos[ e >%spellout>];\n",
"500: e quinhentos; quinhentos[ e >%spellout>];\n",
"600: e seiscentos; seiscentos[ e >%spellout>];\n",
"700: e setecentos; setecentos[ e >%spellout>];\n",
"800: e oitocentos; oitocentos[ e >%spellout>];\n",
"900: e novecentos; novecentos[ e >%spellout>];\n",
"1000: e mil; mil[ >%%with-e>];\n",
"2000: <%spellout< mil[ >%%with-e>];\n",
"1000000: um milh\u00E3o[ >%%with-e>];\n",
"2000000: <%spellout< milh\u00F5es[ >%%with-e>];\n",
"1000000000000: um bilh\u00E3o[ >%%with-e>];\n",
"2000000000000: <%spellout< bilh\u00F5es[ >%%with-e>];\n",
"1000000000000000000: =#,##0.#=;\n",
}
}
Version{"1.5"}
}

View File

@ -1,12 +1,13 @@
# * Copyright (C) 1997-2005, International Business Machines
# * Copyright (C) 1998-2008, International Business Machines
# * Corporation and others. All Rights Reserved.
RBNF_CLDR_VERSION = 1.6
# A list of txt's to build
# Note:
#
# If you are thinking of modifying this file, READ THIS.
#
# Instead of changing this file [unless you want to check it back in],
# you should consider creating a 'reslocal.mk' file in this same directory.
# you should consider creating a 'rbnflocal.mk' file in this same directory.
# Then, you can have your local changes remain even if you upgrade or
# reconfigure ICU.
#
@ -22,34 +23,25 @@
# | RBNF_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
#
#
# Generated by LDML2ICUConverter, from LDML source files.
# Aliases which do not have a corresponding xx.xml file (see icu-config.xml & build.xml)
RBNF_SYNTHETIC_ALIAS =
# This is the list of locales that are built, but not considered installed in ICU.
# These are usually aliased locales or the root locale.
RBNF_ALIAS_SOURCE =
# All aliases (to not be included under 'installed'), but not including root.
RBNF_ALIAS_SOURCE = $(RBNF_SYNTHETIC_ALIAS)
# Please try to keep this list in alphabetical order
RBNF_SOURCE = \
da.txt \
de.txt \
en.txt en_GB.txt\
eo.txt \
es.txt \
fa.txt fa_AF.txt \
fr.txt fr_BE.txt fr_CH.txt \
ga.txt \
he.txt \
it.txt \
ja.txt \
mt.txt \
nl.txt \
pl.txt \
pt.txt \
ru.txt \
sv.txt \
th.txt \
uk.txt
# Ordinary resources
RBNF_SOURCE = af.txt ca.txt cs.txt da.txt\
de.txt el.txt en.txt eo.txt es.txt\
et.txt fa.txt fa_AF.txt fi.txt fo.txt\
fr.txt fr_BE.txt fr_CH.txt ga.txt he.txt\
hu.txt hy.txt is.txt it.txt ja.txt\
ka.txt kl.txt ko.txt lt.txt lv.txt\
mt.txt nb.txt nl.txt nn.txt pl.txt\
pt.txt pt_PT.txt ro.txt ru.txt sk.txt\
sq.txt sv.txt th.txt tr.txt uk.txt\
vi.txt zh.txt zh_Hant.txt
#These are not in use yet
# el.txt \

View File

@ -0,0 +1,81 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ro.xml
// *
// ***************************************************************************
ro{
RBNFRules{
SpelloutRules{
"%%feminine:\n",
"0: zero; o; dou\u0103; trei; patru; cinci; \u015Fase; \u015Fapte; opt; nou\u0103;\n",
"10: zece;\n",
"11: un\u00ADsprezece;\n",
"12: >>\u00ADsprezece;\n",
"20: <<\u00ADzeci[ \u015Fi >>];\n",
"100: o sut\u0103[ >>];\n",
"200: << sute[ >>];\n",
"1000: o mie[ >>];\n",
"2000: << mii[ >>];\n",
"1000000: <%%neuter< milion[ >>];\n",
"2000000: <%%neuter< milioane[ >>];\n",
"1000000000: <%%neuter< miliard[ >>];\n",
"2000000000: <%%neuter< miliarde[ >>];\n",
"1000000000000: <%%neuter< bilion[ >>];\n",
"2000000000000: <%%neuter< bilioane[ >>];\n",
"1000000000000000: <%%neuter< biliard[ >>];\n",
"2000000000000000: <%%neuter< biliarde[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << virgul\u0103 >>;\n",
"%%neuter:\n",
"0: zero; unu; dou\u0103; trei; patru; cinci; \u015Fase; \u015Fapte; opt; nou\u0103;\n",
"10: zece;\n",
"11: un\u00ADsprezece;\n",
"12: >>\u00ADsprezece;\n",
"20: <%%feminine<\u00ADzeci[ \u015Fi >>];\n",
"100: o sut\u0103[ >>];\n",
"200: <%%feminine< sute[ >>];\n",
"1000: o mie[ >>];\n",
"2000: <%%feminine< mii[ >>];\n",
"1000000: << milion[ >>];\n",
"2000000: << milioane[ >>];\n",
"1000000000: << miliard[ >>];\n",
"2000000000: << miliarde[ >>];\n",
"1000000000000: << bilion[ >>];\n",
"2000000000000: << bilioane[ >>];\n",
"1000000000000000: << biliard[ >>];\n",
"2000000000000000: << biliarde[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << virgul\u0103 >>;\n",
"%spellout:\n",
"0: zero; unu; doi; trei; patru; cinci; \u015Fase; \u015Fapte; opt; nou\u0103;\n",
"10: zece;\n",
"11: un\u00ADsprezece;\n",
"12: >>\u00ADsprezece;\n",
"20: dou\u0103\u00ADzeci[ \u015Fi >>];\n",
"30: <%%feminine<\u00ADzeci[ \u015Fi >>];\n",
"60: \u015Fai\u00ADzeci[ \u015Fi >>];\n",
"70: <%%feminine<\u00ADzeci[ \u015Fi >>];\n",
"100: o sut\u0103[ >>];\n",
"200: <%%feminine< sute[ >>];\n",
"1000: o mie[ >>];\n",
"2000: <%%feminine< mii[ >>];\n",
"1000000: <%%neuter< milion[ >>];\n",
"2000000: <%%neuter< milioane[ >>];\n",
"1000000000: <%%neuter< miliard[ >>];\n",
"2000000000: <%%neuter< miliarde[ >>];\n",
"1000000000000: <%%neuter< bilion[ >>];\n",
"2000000000000: <%%neuter< bilioane[ >>];\n",
"1000000000000000: <%%neuter< biliard[ >>];\n",
"2000000000000000: <%%neuter< biliarde[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << virgul\u0103 >>;\n",
}
}
Version{"1.4"}
}

View File

@ -1,27 +1,116 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/root.xml
// *
// ***************************************************************************
//
root {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
/*
* Default used to be English (US) rules, but now default just formats
* like DecimalFormat. The former default rules are now the _en rules.
*/
SpelloutRules {
"=#,##0.######=;\n"
}
OrdinalRules {
"=#,##0=;\n"
}
DurationRules {
"=#,##0=;\n"
/**
* ICU <specials> source: <path>/xml/rbnf/root.xml
*/
root{
RBNFRules{
DurationRules{
"%duration:\n",
"0: =#,##0=;\n",
}
NumberingSystemRules{
"%hebrew:\n",
"0: \u05D0\u05E4\u05E1\n",
"1: \u05D0\n",
"2: \u05D1\n",
"3: \u05D2\n",
"4: \u05D3\n",
"5: \u05D4\n",
"6: \u05D5\n",
"7: \u05D6\n",
"8: \u05D7\n",
"9: \u05D8\n",
"10: \u05D9[>>];\n",
"20: \u05DB[>>];\n",
"30: \u05DC[>>];\n",
"40: \u05DE[>>];\n",
"50: \u05E0[>>];\n",
"60: \u05E1[>>];\n",
"70: \u05E2[>>];\n",
"80: \u05E4[>>];\n",
"90: \u05E6[>>];\n",
"100: \u05E7[>>];\n",
"200: \u05E8[>>];\n",
"300: \u05E9[>>];\n",
"400: \u05EA[>>];\n",
"500: \u05EA\u05E7[>>];\n",
"600: \u05EA\u05E8[>>];\n",
"700: \u05EA\u05E9[>>];\n",
"800: \u05EA\u05EA[>>];\n",
"900: \u05EA\u05EA\u05E7[>>];\n",
"1000: \u05D0\u05DC\u05E4\u05D9;<< [>>]\n",
"2000: \u05DC\u05E4\u05D9\u05D9\u05DD<<;<< [>>]\n",
"1000000: \u05D0\u05DC\u05E3 \u05D0\u05DC\u05E4\u05D9\u05DD;<< [>>]\n",
"1000000000: =#,##0=;\n",
"-x: =#,##0=;\n",
"%lower-roman:\n",
"0: n; i; ii; iii; iv; v; vi; vii; viii; ix;\n",
"10: x[>>];\n",
"20: xx[>>];\n",
"30: xxx[>>];\n",
"40: xl[>>];\n",
"50: l[>>];\n",
"60: lx[>>];\n",
"70: lxx[>>];\n",
"80: lxxx[>>];\n",
"90: xc[>>];\n",
"100: c[>>];\n",
"200: cc[>>];\n",
"300: ccc[>>];\n",
"400: cd[>>];\n",
"500: d[>>];\n",
"600: dc[>>];\n",
"700: dcc[>>];\n",
"800: dccc[>>];\n",
"900: cm[>>];\n",
"1000: m[>>];\n",
"2000: mm[>>];\n",
"3000: mmm[>>];\n",
"4000: mmmm[>>];\n",
"5000: =#,##0=;\n",
"-x: >>n;\n",
"%upper-roman:\n",
"0: N; I; II; III; IV; V; VI; VII; VIII; IX;\n",
"10: X[>>];\n",
"20: XX[>>];\n",
"30: XXX[>>];\n",
"40: XL[>>];\n",
"50: L[>>];\n",
"60: LX[>>];\n",
"70: LXX[>>];\n",
"80: LXXX[>>];\n",
"90: XC[>>];\n",
"100: C[>>];\n",
"200: CC[>>];\n",
"300: CCC[>>];\n",
"400: CD[>>];\n",
"500: D[>>];\n",
"600: DC[>>];\n",
"700: DCC[>>];\n",
"800: DCCC[>>];\n",
"900: CM[>>];\n",
"1000: M[>>];\n",
"2000: MM[>>];\n",
"3000: MMM[>>];\n",
"4000: MMMM[>>];\n",
"5000: =#,##0=;\n",
"-x: >>N;\n",
}
OrdinalRules{
"%ordinal:\n",
"0: =#,##0=;\n",
}
SpelloutRules{
"%spellout:\n",
"0: =#,##0.#=;\n",
}
}
Version{"1.4"}
}

View File

@ -1,51 +1,117 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/ru.xml
// *
// ***************************************************************************
//
ru {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// * Spellout rules for Russian.
// TODO: Can someone supply me with information on decimals?
// How about words for billions and trillions?
SpelloutRules {
"-x: \u043C\u0438\u043D\u0443\u0441 >>;\n"
"\u043d\u043e\u043b\u044c; \u043e\u0434\u0438\u043d; \u0434\u0432\u0430; \u0442\u0440\u0438; "
"\u0447\u0435\u0442\u044b\u0440\u0435; \u043f\u044f\u0442\u044C; \u0448\u0435\u0441\u0442\u044C; "
"\u0441\u0435\u043c\u044c; \u0432\u043e\u0441\u0435\u043c\u044c; \u0434\u0435\u0432\u044f\u0442\u044C;\n"
"10: \u0434\u0435\u0441\u044f\u0442\u044c; "
"\u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
"\u0434\u0432\u0435\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0442\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
"15: \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
"\u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
"20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c[ >>];\n"
"30: \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044c[ >>];\n"
"40: \u0441\u043e\u0440\u043e\u043a[ >>];\n"
"50: \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
"60: \u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
"70: \u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
"80: \u0432\u043e\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
"90: \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u043e[ >>];\n"
"100: \u0441\u0442\u043e[ >>];\n"
"200: << \u0441\u0442\u043e[ >>];\n"
"1000: \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
"2000: << \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
"1,000,000: \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
"2,000,000: << \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
"1,000,000,000: =#,##0=;"
ru{
RBNFRules{
SpelloutRules{
"%%feminine:\n",
"0: \u043D\u043E\u043B\u044C;\n",
"1: \u043E\u0434\u043D\u0430;\n",
"2: \u0434\u0432\u0435;\n",
"3: \u0442\u0440\u0438;\n",
"4: \u0447\u0435\u0442\u044B\u0440\u0435;\n",
"5: \u043F\u044F\u0442\u044C;\n",
"6: \u0448\u0435\u0441\u0442\u044C;\n",
"7: \u0441\u0435\u043C\u044C;\n",
"8: \u0432\u043E\u0441\u0435\u043C\u044C;\n",
"9: \u0434\u0435\u0432\u044F\u0442\u044C;\n",
"10: \u0434\u0435\u0441\u044F\u0442\u044C;\n",
"11: \u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"12: \u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"13: \u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"14: \u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"15: \u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"16: \u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"17: \u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"18: \u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"19: \u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C[ >>];\n",
"30: \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C[ >>];\n",
"40: \u0441\u043E\u0440\u043E\u043A[ >>];\n",
"50: \u043F\u044F\u0442\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"60: \u0448\u0435\u0441\u0442\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"70: \u0441\u0435\u043C\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"80: \u0432\u043E\u0441\u0435\u043C\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"90: \u0434\u0435\u0432\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n",
"100: \u0441\u0442\u043E[ >>];\n",
"200: <%spellout<\u0441\u0442\u0438[ >>];\n",
"300: <%spellout<\u0441\u0442\u0430[ >>];\n",
"500: <%spellout<\u0441\u043E\u0442[ >>];\n",
"1000: << \u0442\u044B\u0441\u044F\u0447\u0430[ >>];\n",
"2000: << \u0442\u044B\u0441\u044F\u0447\u0438[ >>];\n",
"5000: << \u0442\u044B\u0441\u044F\u0447[ >>];\n",
"1000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u043E\u043D[ >>];\n",
"2000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u043E\u043D\u044B[ >>];\n",
"5000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u043E\u043D\u043E\u0432[ >>];\n",
"1000000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434[ >>];\n",
"2000000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u044B[ >>];\n",
"5000000000: <%spellout< \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u043E\u0432[ >>];\n",
"1000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u043E\u043D[ >>];\n",
"2000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u043E\u043D\u044B[ >>];\n",
"5000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u043E\u043D\u043E\u0432[ >>];\n",
"1000000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434[ >>];\n",
"2000000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u044B[ >>];\n",
"5000000000000000: <%spellout< \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u043E\u0432[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: \u043C\u0438\u043D\u0443\u0441 >>;\n",
"x.x: << \u0437\u0430\u043F\u044F\u0442\u0430\u044F >>;\n",
"%spellout:\n",
"0: \u043D\u043E\u043B\u044C;\n",
"1: \u043E\u0434\u0438\u043D;\n",
"2: \u0434\u0432\u0430;\n",
"3: \u0442\u0440\u0438;\n",
"4: \u0447\u0435\u0442\u044B\u0440\u0435;\n",
"5: \u043F\u044F\u0442\u044C;\n",
"6: \u0448\u0435\u0441\u0442\u044C;\n",
"7: \u0441\u0435\u043C\u044C;\n",
"8: \u0432\u043E\u0441\u0435\u043C\u044C;\n",
"9: \u0434\u0435\u0432\u044F\u0442\u044C;\n",
"10: \u0434\u0435\u0441\u044F\u0442\u044C;\n",
"11: \u043E\u0434\u0438\u043D\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"12: \u0434\u0432\u0435\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"13: \u0442\u0440\u0438\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"14: \u0447\u0435\u0442\u044B\u0440\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"15: \u043F\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"16: \u0448\u0435\u0441\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"17: \u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"18: \u0432\u043E\u0441\u0435\u043C\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"19: \u0434\u0435\u0432\u044F\u0442\u043D\u0430\u0434\u0446\u0430\u0442\u044C;\n",
"20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044C[ >>];\n",
"30: \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044C[ >>];\n",
"40: \u0441\u043E\u0440\u043E\u043A[ >>];\n",
"50: \u043F\u044F\u0442\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"60: \u0448\u0435\u0441\u0442\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"70: \u0441\u0435\u043C\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"80: \u0432\u043E\u0441\u0435\u043C\u044C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"90: \u0434\u0435\u0432\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n",
"100: \u0441\u0442\u043E[ >>];\n",
"200: <<\u0441\u0442\u0438[ >>];\n",
"300: <<\u0441\u0442\u0430[ >>];\n",
"500: <<\u0441\u043E\u0442[ >>];\n",
"1000: <%%feminine< \u0442\u044B\u0441\u044F\u0447\u0430[ >>];\n",
"2000: <%%feminine< \u0442\u044B\u0441\u044F\u0447\u0438[ >>];\n",
"5000: <%%feminine< \u0442\u044B\u0441\u044F\u0447[ >>];\n",
"1000000: << \u043C\u0438\u043B\u043B\u0438\u043E\u043D[ >>];\n",
"2000000: << \u043C\u0438\u043B\u043B\u0438\u043E\u043D\u044B[ >>];\n",
"5000000: << \u043C\u0438\u043B\u043B\u0438\u043E\u043D\u043E\u0432[ >>];\n",
"1000000000: << \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434[ >>];\n",
"2000000000: << \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u044B[ >>];\n",
"5000000000: << \u043C\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u043E\u0432[ >>];\n",
"1000000000000: << \u0431\u0438\u043B\u043B\u0438\u043E\u043D[ >>];\n",
"2000000000000: << \u0431\u0438\u043B\u043B\u0438\u043E\u043D\u044B[ >>];\n",
"5000000000000: << \u0431\u0438\u043B\u043B\u0438\u043E\u043D\u043E\u0432[ >>];\n",
"1000000000000000: << \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434[ >>];\n",
"2000000000000000: << \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u044B[ >>];\n",
"5000000000000000: << \u0431\u0438\u043B\u043B\u0438\u0430\u0440\u0434\u043E\u0432[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: \u043C\u0438\u043D\u0443\u0441 >>;\n",
"x.x: << \u0437\u0430\u043F\u044F\u0442\u0430\u044F >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,99 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/sk.xml
// *
// ***************************************************************************
sk{
RBNFRules{
SpelloutRules{
"%%feminine:\n",
"0: nula;\n",
"1: jedna;\n",
"2: dve;\n",
"3: tri;\n",
"4: \u0161tyri;\n",
"5: p\u00E4\u0165;\n",
"6: \u0161es\u0165;\n",
"7: sedem;\n",
"8: osem;\n",
"9: dev\u00E4\u0165;\n",
"10: desa\u0165;\n",
"11: jeden\u00E1s\u0165;\n",
"12: dva\u00E1s\u0165;\n",
"13: trin\u00E1s\u0165;\n",
"14: \u0161trn\u00E1s\u0165;\n",
"15: p\u00E4tn\u00E1s\u0165;\n",
"16: \u0161estn\u00E1s\u0165;\n",
"17: sedemn\u00E1s\u0165;\n",
"18: osemn\u00E1s\u0165;\n",
"19: dev\u00E4tn\u00E1s\u0165;\n",
"20: dvasa\u0165[ >>];\n",
"30: trisa\u0165[ >>];\n",
"40: \u0161tyridsa\u0165[ >>];\n",
"50: <<desiat[ >>];\n",
"100: << sto[ >>];\n",
"1000: <%spellout< tis\u00EDc[ >>];\n",
"1000000: <%spellout< mili\u00F3n[ >>];\n",
"2000000: <%spellout< mili\u00F3ny[ >>];\n",
"5000000: <%spellout< mili\u00F3nov[ >>];\n",
"1000000000: <%spellout< miliarda[ >>];\n",
"2000000000: <%spellout< miliardy[ >>];\n",
"5000000000: <%spellout< miliardov[ >>];\n",
"1000000000000: <%spellout< bili\u00F3n[ >>];\n",
"2000000000000: <%spellout< bili\u00F3ny[ >>];\n",
"5000000000000: <%spellout< bili\u00F3nov[ >>];\n",
"1000000000000000: <%spellout< biliarda[ >>];\n",
"2000000000000000: <%spellout< biliardy[ >>];\n",
"5000000000000000: <%spellout< biliardov[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << \u010D\u00E1rka >>;\n",
"%spellout:\n",
"0: nula;\n",
"1: jeden;\n",
"2: dva;\n",
"3: tri;\n",
"4: \u0161tyri;\n",
"5: p\u00E4\u0165;\n",
"6: \u0161es\u0165;\n",
"7: sedem;\n",
"8: osem;\n",
"9: dev\u00E4\u0165;\n",
"10: desa\u0165;\n",
"11: jeden\u00E1s\u0165;\n",
"12: dva\u00E1s\u0165;\n",
"13: trin\u00E1s\u0165;\n",
"14: \u0161trn\u00E1s\u0165;\n",
"15: p\u00E4tn\u00E1s\u0165;\n",
"16: \u0161estn\u00E1s\u0165;\n",
"17: sedemn\u00E1s\u0165;\n",
"18: osemn\u00E1s\u0165;\n",
"19: dev\u00E4tn\u00E1s\u0165;\n",
"20: dvasa\u0165[ >>];\n",
"30: trisa\u0165[ >>];\n",
"40: \u0161tyridsa\u0165[ >>];\n",
"50: <<desiat[ >>];\n",
"100: <%%feminine< sto[ >>];\n",
"1000: << tis\u00EDc[ >>];\n",
"1000000: << mili\u00F3n[ >>];\n",
"2000000: << mili\u00F3ny[ >>];\n",
"5000000: << mili\u00F3nov[ >>];\n",
"1000000000: << miliarda[ >>];\n",
"2000000000: << miliardy[ >>];\n",
"5000000000: << miliardov[ >>];\n",
"1000000000000: << bili\u00F3n[ >>];\n",
"2000000000000: << bili\u00F3ny[ >>];\n",
"5000000000000: << bili\u00F3nov[ >>];\n",
"1000000000000000: << biliarda[ >>];\n",
"2000000000000000: << biliardy[ >>];\n",
"5000000000000000: << biliardov[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << \u010D\u00E1rka >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,45 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/sq.xml
// *
// ***************************************************************************
sq{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: zero;\n",
"1: nj\u00EB;\n",
"2: dy;\n",
"3: tre;\n",
"4: kat\u00EBr;\n",
"5: pes\u00EB;\n",
"6: gjasht\u00EB;\n",
"7: shtat\u00EB;\n",
"8: tet\u00EB;\n",
"9: n\u00EBnt\u00EB;\n",
"10: dhjet\u00EB;\n",
"11: >>\u00ADmb\u00EB\u00ADdhjet\u00EB;\n",
"20: nj\u00EB\u00ADzet[ e >>];\n",
"30: tri\u00ADdhjet\u00EB[ e >>];\n",
"40: dy\u00ADzet[ e >>];\n",
"50: <<\u00ADdhjet\u00EB[ e >>];\n",
"100: <<\u00ADqind[ e >>];\n",
"1000: << mij\u00EB[ e >>];\n",
"1000000: << milion[ e >>];\n",
"2000000: << milion\u00EB[ e >>];\n",
"1000000000: << miliar[ e >>];\n",
"2000000000: << miliar\u00EB[ e >>];\n",
"1000000000000: << bilion[ e >>];\n",
"2000000000000: << bilion\u00EB[ e >>];\n",
"1000000000000000: << biliar[ e >>];\n",
"2000000000000000: << biliar\u00EB[ e >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << ... >>;\n",
}
}
Version{"1.3"}
}

View File

@ -1,95 +1,92 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/sv.xml
// *
// ***************************************************************************
//
sv {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// Spellout rules for Swedish.
// Thanks to Kent Karlsson for cleaning up these rules.
// (rapport inskickad till ICU 2001-11-03; ny version inskickad till Doug Felt 2001-11-07)
SpelloutRules {
"%year:\n"
"=%neutrum=;\n"
"1000>: <%neutrum<hundra[\u00ad>>];\n"
"10,000: =%neutrum=;\n"
// the same as default except we change the one's digit, wish there were a better way
"%neutrum:\n"
"-x: minus >>;\n"
"x.x: << komma >>;\n"
"noll; ett; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
"tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
"20: tjugo[>>];\n"
"30: trettio[>>];\n"
"40: fyrtio[>>];\n"
"50: femtio[>>];\n"
"60: sextio[>>];\n"
"70: sjuttio[>>];\n"
"80: \u00e5ttio[>>];\n"
"90: nittio[>>];\n"
"100: <<hundra[\u00ad>>];\n"
"1000: ettusen[ >>];\n"
"2000: <%default<\u00adtusen[ >>];\n"
"1,000,000: en miljon[ >>];\n"
"2,000,000: <%default< miljoner[ >>];\n"
"1,000,000,000: en miljard[ >>];\n"
"2,000,000,000: <%default< miljarder[ >>];\n"
"1,000,000,000,000: en biljon[ >>];\n"
"2,000,000,000,000: <%default< biljoner[ >>];\n"
"1,000,000,000,000,000: en triljon[ >>];\n"
"2,000,000,000,000,000: <%default< triljoner[ >>];\n"
"1,000,000,000,000,000,000: =#,##0=;\n"
"%default:\n"
" -x: minus >>;\n"
"x.x: << komma >>;\n"
"noll; en; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
"tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
"20: tjugo[>>];\n"
"30: trettio[>>];\n"
"40: fyrtio[>>];\n"
"50: femtio[>>];\n"
"60: sextio[>>];\n"
"70: sjuttio[>>];\n"
"80: \u00e5ttio[>>];\n"
"90: nittio[>>];\n"
"100: etthundra[\u00ad>>];\n"
"200: <<hundra[\u00ad>>];\n"
"1000: ettusen[ >>];\n"
"2000: <<\u00adtusen[ >>];\n"
"1,000,000: en miljon[ >>];\n"
"2,000,000: << miljoner[ >>];\n"
"1,000,000,000: en miljard[ >>];\n"
"2,000,000,000: << miljarder[ >>];\n"
"1,000,000,000,000: en biljon[ >>];\n"
"2,000,000,000,000: << biljoner[ >>];\n"
"1,000,000,000,000,000: en triljon[ >>];\n"
"2,000,000,000,000,000: << triljoner[ >>];\n"
"1,000,000,000,000,000,000: =#,##0=;\n"
/*
* Current (java) implementation can't handle these magnitudes
"1,000,000,000,000,000,000: en triljard[ >>];\n"
"2,000,000,000,000,000,000: << triljarder[ >>];\n"
* Current (c++) implmenatation can't handle these magnitudes
"1,000,000,000,000,000,000,000: en kvartiljon[ >>];\n"
"2,000,000,000,000,000,000,000: << kvartiljoner[ >>];\n"
"1,000,000,000,000,000,000,000,000: en kvartiljard[ >>];\n"
"2,000,000,000,000,000,000,000,000: << kvartiljarder[ >>];\n"
"1,000,000,000,000,000,000,000,000,000: en kvintiljon[ >>];\n"
"2,000,000,000,000,000,000,000,000,000: << kvintiljoner[ >>];\n"
"1,000,000,000,000,000,000,000,000,000,000: en kvintiljard[ >>];\n"
"2,000,000,000,000,000,000,000,000,000,000: << kvintiljarder[ >>];\n"
"1,000,000,000,000,000,000,000,000,000,000,000: en sextiljon[ >>];\n"
"2,000,000,000,000,000,000,000,000,000,000,000: << sextiljoner[ >>];\n"
"1,000,000,000,000,000,000,000,000,000,000,000,000: en sextiljard[ >>];\n"
"2,000,000,000,000,000,000,000,000,000,000,000,000: << sextiljarder[ >>];\n"
"1,000,000,000,000,000,000,000,000,000,000,000,000,000: =#,##0="
*/
sv{
RBNFRules{
OrdinalRules{
"%%dord_mascabbrev:\n",
"0: :e;\n",
"%ordinal:\n",
"0: =#,##0==%%dord_mascabbrev=;\n",
}
SpelloutRules{
"%%neuter:\n",
"0: noll; ett; =%%reale=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%%reale:\n",
"0: noll; en; tv\u00E5; tre; fyra; fem; sex; sju; \u00E5tta; nio;\n",
"10: tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n",
"20: tjugo[>>];\n",
"30: trettio[>>];\n",
"40: fyrtio[>>];\n",
"50: femtio[>>];\n",
"60: sextio[>>];\n",
"70: sjuttio[>>];\n",
"80: \u00E5ttio[>>];\n",
"90: nittio[>>];\n",
"100: <%%neuter<hundra[>>];\n",
"1000: ettusen[>>];\n",
"2000: <<tusen[>>];\n",
"1000000: en miljon[ >>];\n",
"2000000: << miljoner[ >>];\n",
"1000000000: en miljard[ >>];\n",
"2000000000: << miljarder[ >>];\n",
"1000000000000: en biljon[ >>];\n",
"2000000000000: << biljoner[ >>];\n",
"1000000000000000: en biljard[ >>];\n",
"2000000000000000: << biljarder[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%spellout:\n",
"0: noll; ett; tv\u00E5; tre; fyra; fem; sex; sju; \u00E5tta; nio;\n",
"10: tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n",
"20: tjugo[>>];\n",
"30: trettio[>>];\n",
"40: fyrtio[>>];\n",
"50: femtio[>>];\n",
"60: sextio[>>];\n",
"70: sjuttio[>>];\n",
"80: \u00E5ttio[>>];\n",
"90: nittio[>>];\n",
"100: <<hundra[>>];\n",
"1000: ettusen[>>];\n",
"2000: <<tusen[>>];\n",
"20000/1000: <<tusen[>>];\n",
"1000000: en miljon[ >>];\n",
"2000000: <%%reale< miljoner[ >>];\n",
"1000000000: en miljard[ >>];\n",
"2000000000: <%%reale< miljarder[ >>];\n",
"1000000000000: en biljon[ >>];\n",
"2000000000000: <%%reale< biljoner[ >>];\n",
"1000000000000000: en biljard[ >>];\n",
"2000000000000000: <%%reale< biljarder[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: minus >>;\n",
"x.x: << komma >>;\n",
"%year:\n",
"0: noll; ett; tv\u00E5; tre; fyra; fem; sex; sju; \u00E5tta; nio;\n",
"10: tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n",
"20: tjugo[>>];\n",
"30: trettio[>>];\n",
"40: fyrtio[>>];\n",
"50: femtio[>>];\n",
"60: sextio[>>];\n",
"70: sjuttio[>>];\n",
"80: \u00E5ttio[>>];\n",
"90: nittio[>>];\n",
"100: <<hundra[>>];\n",
"1000: tusen[>>];\n",
"1100/100: <<hundra[>>];\n",
"10000: =%spellout=;\n",
"-x: minus >>;\n",
}
}
Version{"1.5"}
}

View File

@ -1,49 +1,45 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/th.xml
// *
// ***************************************************************************
//
th {
//------------------------------------------------------------
// Rule Based Number Format Support
//------------------------------------------------------------
// Spellout rules for Thai. Data from Suwit Srivilairith, IBM Thailand
SpelloutRules {
"%default:\n"
"-x: \u0e25\u0e1a>>;\n"
"x.x: <<\u0e08\u0e38\u0e14>>>;\n"
"\u0e28\u0e39\u0e19\u0e22\u0e4c; \u0e2b\u0e19\u0e36\u0e48\u0e07; \u0e2a\u0e2d\u0e07; \u0e2a\u0e32\u0e21;\n"
"\u0e2a\u0e35\u0e48; \u0e2b\u0e49\u0e32; \u0e2b\u0e01; \u0e40\u0e08\u0e47\u0e14; \u0e41\u0e1b\u0e14;\n"
"\u0e40\u0e01\u0e49\u0e32; \u0e2a\u0e34\u0e1a; \u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14;\n"
"\u0e2a\u0e34\u0e1a\u0e2a\u0e2d\u0e07; \u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21;\n"
"\u0e2a\u0e34\u0e1a\u0e2a\u0e35\u0e48; \u0e2a\u0e34\u0e1a\u0e2b\u0e49\u0e32;\n"
"\u0e2a\u0e34\u0e1a\u0e2b\u0e01; \u0e2a\u0e34\u0e1a\u0e40\u0e08\u0e47\u0e14;\n"
"\u0e2a\u0e34\u0e1a\u0e41\u0e1b\u0e14; \u0e2a\u0e34\u0e1a\u0e40\u0e01\u0e49\u0e32;\n"
"20: \u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"30: \u0e2a\u0e32\u0e21\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"40: \u0e2a\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"50: \u0e2b\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"60: \u0e2b\u0e01\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"70: \u0e40\u0e08\u0e47\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"80: \u0e41\u0e1b\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"90: \u0e40\u0e01\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
"100: <<\u0e23\u0e49\u0e2d\u0e22[>>];\n"
"1000: <<\u0e1e\u0e31\u0e19[>>];\n"
"10000: <<\u0e2b\u0e21\u0e37\u0e48\u0e19[>>];\n"
"100000: <<\u0e41\u0e2a\u0e19[>>];\n"
"1,000,000: <<\u0e25\u0e49\u0e32\u0e19[>>];\n"
"1,000,000,000: <<\u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
"1,000,000,000,000: <<\u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
"1,000,000,000,000,000: =#,##0=;\n"
"%%alt-ones:\n"
"\u0e28\u0e39\u0e19\u0e22\u0e4c;\n"
"\u0e40\u0e2d\u0e47\u0e14;\n"
"=%default=;\n"
th{
RBNFRules{
SpelloutRules{
"%%alt-ones:\n",
"0: \u0E28\u0E39\u0E19\u0E22\u0E4C;\n",
"1: \u0E40\u0E2D\u0E47\u0E14;\n",
"2: =%spellout=;\n",
"%spellout:\n",
"0: \u0E28\u0E39\u0E19\u0E22\u0E4C; \u0E2B\u0E19\u0E36\u0E48\u0E07; \u0E2A\u0E2D\u0E07; \u0E2A\u0E32\u0E21;\n",
"4: \u0E2A\u0E35\u0E48; \u0E2B\u0E49\u0E32; \u0E2B\u0E01; \u0E40\u0E08\u0E47\u0E14; \u0E41\u0E1B\u0E14;\n",
"9: \u0E40\u0E01\u0E49\u0E32; \u0E2A\u0E34\u0E1A; \u0E2A\u0E34\u0E1A\u0E40\u0E2D\u0E47\u0E14;\n",
"12: \u0E2A\u0E34\u0E1A\u0E2A\u0E2D\u0E07; \u0E2A\u0E34\u0E1A\u0E2A\u0E32\u0E21;\n",
"14: \u0E2A\u0E34\u0E1A\u0E2A\u0E35\u0E48; \u0E2A\u0E34\u0E1A\u0E2B\u0E49\u0E32;\n",
"16: \u0E2A\u0E34\u0E1A\u0E2B\u0E01; \u0E2A\u0E34\u0E1A\u0E40\u0E08\u0E47\u0E14;\n",
"18: \u0E2A\u0E34\u0E1A\u0E41\u0E1B\u0E14; \u0E2A\u0E34\u0E1A\u0E40\u0E01\u0E49\u0E32;\n",
"20: \u0E22\u0E35\u0E48\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"30: \u0E2A\u0E32\u0E21\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"40: \u0E2A\u0E35\u0E48\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"50: \u0E2B\u0E49\u0E32\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"60: \u0E2B\u0E01\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"70: \u0E40\u0E08\u0E47\u0E14\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"80: \u0E41\u0E1B\u0E14\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"90: \u0E40\u0E01\u0E49\u0E32\u0E2A\u0E34\u0E1A[>%%alt-ones>];\n",
"100: <<\u0E23\u0E49\u0E2D\u0E22[>>];\n",
"1000: <<\u0E1E\u0E31\u0E19[>>];\n",
"10000: <<\u0E2B\u0E21\u0E37\u0E48\u0E19[>>];\n",
"100000: <<\u0E41\u0E2A\u0E19[>>];\n",
"1000000: <<\u0E25\u0E49\u0E32\u0E19[>>];\n",
"1000000000: <<\u0E1E\u0E31\u0E19\u0E25\u0E49\u0E32\u0E19[>>];\n",
"1000000000000: <<\u0E25\u0E49\u0E32\u0E19\u0E25\u0E49\u0E32\u0E19[>>];\n",
"1000000000000000: =#,##0=;\n",
"-x: \u0E25\u0E1A>>;\n",
"x.x: <<\u0E08\u0E38\u0E14>>>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,35 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/tr.xml
// *
// ***************************************************************************
tr{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: s\u0131f\u0131r; bir; iki; \u00FC\u00E7; d\u00F6rt; be\u015F; alt\u0131; yedi; sekiz; dokuz;\n",
"10: on[\u00AD>>];\n",
"20: yirmi[\u00AD>>];\n",
"30: otuz[\u00AD>>];\n",
"40: k\u0131rk[\u00AD>>];\n",
"50: elli[\u00AD>>];\n",
"60: altm\u0131\u015F[\u00AD>>];\n",
"70: yetmi\u015F[\u00AD>>];\n",
"80: seksen[\u00AD>>];\n",
"90: doksan[\u00AD>>];\n",
"100: <<\u00ADy\u00FCz[\u00AD>>];\n",
"1000: <<\u00ADbin[ >>];\n",
"1000000: << milyon[ >>];\n",
"1000000000: << milyar[ >>];\n",
"1000000000000: << bilyon[ >>];\n",
"1000000000000000: << bilyar[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: eks\u0131 >>;\n",
"x.x: << virg\u00FCl >>;\n",
}
}
Version{"1.3"}
}

View File

@ -1,56 +1,127 @@
// ***************************************************************************
// ***************************************************************************
// *
// * Copyright (C) 2004, International Business Machines
// * Corporation and others. All Rights Reserved.
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/uk.xml
// *
// ***************************************************************************
//
uk {
// TODO: Can someone supply me with information on negatives and decimals?
// How about words for billions and trillions?
SpelloutRules {
"-x: \u043C\u0456\u043D\u0443\u0441 >>;\n"
"x.x: << \u043A\u043E\u043C\u0430 >>;\n"
"\u043D\u0443\u043B\u044C; \u043E\u0434\u0438\u043D; \u0434\u0432\u0430; \u0442\u0440\u0438; "
"\u0447\u043E\u0442\u0438\u0440\u0438; \u043F\u02bc\u044F\u0442\u044C; \u0448\u0456\u0441\u0442\u044C; "
"\u0441\u0456\u043C; \u0432\u0456\u0441\u0456\u043C; \u0434\u0435\u0432\u02bc\u044F\u0442\u044C;\n"
"10: \u0434\u0435\u0441\u044F\u0442\u044C; "
"\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
"\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0447\u043E\u0442\u0438\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
"15: \u043F\u02bc\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
"\u0434\u0435\u0432\u02bc\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
"20: \u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C[ >>];\n"
"30: \u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C[ >>];\n"
"40: \u0441\u043E\u0440\u043E\u043A[ >>];\n"
"50: \u043F\u02bc\u044F\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n"
"60: \u0448\u0456\u0441\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n"
"70: \u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n"
"80: \u0432\u0456\u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n"
"90: \u0434\u0435\u0432\u02bc\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n"
"100: \u0441\u0442\u043E[ >>];\n"
"200: \u0434\u0432\u0456\u0441\u0442\u0456[ >>];\n"
"300: \u0442\u0440\u0438\u0441\u0442\u0430[ >>];\n"
"400: \u0447\u043E\u0442\u0438\u0440\u0438\u0441\u0442\u0430[ >>];\n"
"500: \u043F\u02bc\u044F\u0442\u0441\u043E\u0442[ >>];\n"
"600: \u0448\u0456\u0441\u0442\u0441\u043E\u0442[ >>];\n"
"700: \u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n"
"800: \u0432\u0456\u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n"
"900: \u0434\u0435\u0432\u02bc\u044F\u0442\u0441\u043E\u0442[ >>];\n"
"1000: \u0442\u0438\u0441\u044F\u0447\u0430[ >>];\n"
"2000: << \u0442\u0438\u0441\u044F\u0447\u0456[ >>];\n"
"5000: << \u0442\u0438\u0441\u044F\u0447[ >>];\n"
"1,000,000: \u043C\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n"
"2,000,000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n"
"5,000,000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n"
"1,000,000,000: << \u043C\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n"
"1,000,000,000,000: << \u0442\u0440\u0456\u043B\u043B\u0456\u043E\u043D[ >>];"
uk{
RBNFRules{
SpelloutRules{
"%%feminine:\n",
"0: \u043D\u0443\u043B\u044C;\n",
"1: \u043E\u0434\u043D\u0430;\n",
"2: \u0434\u0432\u0456;\n",
"3: \u0442\u0440\u0438;\n",
"4: \u0447\u043E\u0442\u0438\u0440\u0438;\n",
"5: \u043F\u02BC\u044F\u0442\u044C;\n",
"6: \u0448\u0456\u0441\u0442\u044C;\n",
"7: \u0441\u0456\u043C;\n",
"8: \u0432\u0456\u0441\u0456\u043C;\n",
"9: \u0434\u0435\u0432\u02BC\u044F\u0442\u044C;\n",
"10: \u0434\u0435\u0441\u044F\u0442\u044C;\n",
"11: \u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"12: \u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"13: \u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"14: \u0447\u043E\u0442\u0438\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"15: \u043F\u02BC\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"16: \u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"17: \u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"18: \u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"19: \u0434\u0435\u0432\u02BC\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"20: \u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C[ >>];\n",
"30: \u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C[ >>];\n",
"40: \u0441\u043E\u0440\u043E\u043A[ >>];\n",
"50: \u043F\u02BC\u044F\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"60: \u0448\u0456\u0441\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"70: \u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"80: \u0432\u0456\u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"90: \u0434\u0435\u0432\u02BC\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n",
"100: \u0441\u0442\u043E[ >>];\n",
"200: \u0434\u0432\u0456\u0441\u0442\u0456[ >>];\n",
"300: \u0442\u0440\u0438\u0441\u0442\u0430[ >>];\n",
"400: \u0447\u043E\u0442\u0438\u0440\u0438\u0441\u0442\u0430[ >>];\n",
"500: \u043F\u02BC\u044F\u0442\u0441\u043E\u0442[ >>];\n",
"600: \u0448\u0456\u0441\u0442\u0441\u043E\u0442[ >>];\n",
"700: \u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n",
"800: \u0432\u0456\u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n",
"900: \u0434\u0435\u0432\u02BC\u044F\u0442\u0441\u043E\u0442[ >>];\n",
"1000: << \u0442\u0438\u0441\u044F\u0447\u0430[ >>];\n",
"2000: << \u0442\u0438\u0441\u044F\u0447\u0456[ >>];\n",
"5000: << \u0442\u0438\u0441\u044F\u0447[ >>];\n",
"1000000: <%spellout< \u043C\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n",
"2000000: <%spellout< \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n",
"5000000: <%spellout< \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n",
"1000000000: <%spellout< \u043C\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n",
"2000000000: <%spellout< \u043C\u0456\u043B\u044C\u044F\u0440\u0434\u0438[ >>];\n",
"5000000000: <%spellout< \u043C\u0456\u043B\u044C\u044F\u0440\u0434\u0456\u0432[ >>];\n",
"1000000000000: <%spellout< \u0431\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n",
"2000000000000: <%spellout< \u0431\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n",
"5000000000000: <%spellout< \u0431\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n",
"1000000000000000: <%spellout< \u0431\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n",
"2000000000000000: <%spellout< \u0431\u0456\u043B\u044C\u044F\u0440\u0434\u0438[ >>];\n",
"5000000000000000: <%spellout< \u0431\u0456\u043B\u044C\u044F\u0440\u0434\u0456\u0432[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: \u043C\u0456\u043D\u0443\u0441 >>;\n",
"x.x: << \u043A\u043E\u043C\u0430 >>;\n",
"%spellout:\n",
"0: \u043D\u0443\u043B\u044C;\n",
"1: \u043E\u0434\u0438\u043D;\n",
"2: \u0434\u0432\u0430;\n",
"3: \u0442\u0440\u0438;\n",
"4: \u0447\u043E\u0442\u0438\u0440\u0438;\n",
"5: \u043F\u02BC\u044F\u0442\u044C;\n",
"6: \u0448\u0456\u0441\u0442\u044C;\n",
"7: \u0441\u0456\u043C;\n",
"8: \u0432\u0456\u0441\u0456\u043C;\n",
"9: \u0434\u0435\u0432\u02BC\u044F\u0442\u044C;\n",
"10: \u0434\u0435\u0441\u044F\u0442\u044C;\n",
"11: \u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"12: \u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"13: \u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"14: \u0447\u043E\u0442\u0438\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"15: \u043F\u02BC\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"16: \u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"17: \u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"18: \u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"19: \u0434\u0435\u0432\u02BC\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n",
"20: \u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C[ >>];\n",
"30: \u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C[ >>];\n",
"40: \u0441\u043E\u0440\u043E\u043A[ >>];\n",
"50: \u043F\u02BC\u044F\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"60: \u0448\u0456\u0441\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"70: \u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"80: \u0432\u0456\u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n",
"90: \u0434\u0435\u0432\u02BC\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n",
"100: \u0441\u0442\u043E[ >>];\n",
"200: \u0434\u0432\u0456\u0441\u0442\u0456[ >>];\n",
"300: \u0442\u0440\u0438\u0441\u0442\u0430[ >>];\n",
"400: \u0447\u043E\u0442\u0438\u0440\u0438\u0441\u0442\u0430[ >>];\n",
"500: \u043F\u02BC\u044F\u0442\u0441\u043E\u0442[ >>];\n",
"600: \u0448\u0456\u0441\u0442\u0441\u043E\u0442[ >>];\n",
"700: \u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n",
"800: \u0432\u0456\u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n",
"900: \u0434\u0435\u0432\u02BC\u044F\u0442\u0441\u043E\u0442[ >>];\n",
"1000: <%%feminine< \u0442\u0438\u0441\u044F\u0447\u0430[ >>];\n",
"2000: <%%feminine< \u0442\u0438\u0441\u044F\u0447\u0456[ >>];\n",
"5000: <%%feminine< \u0442\u0438\u0441\u044F\u0447[ >>];\n",
"1000000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n",
"2000000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n",
"5000000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n",
"1000000000: << \u043C\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n",
"2000000000: << \u043C\u0456\u043B\u044C\u044F\u0440\u0434\u0438[ >>];\n",
"5000000000: << \u043C\u0456\u043B\u044C\u044F\u0440\u0434\u0456\u0432[ >>];\n",
"1000000000000: << \u0431\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n",
"2000000000000: << \u0431\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n",
"5000000000000: << \u0431\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n",
"1000000000000000: << \u0431\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n",
"2000000000000000: << \u0431\u0456\u043B\u044C\u044F\u0440\u0434\u0438[ >>];\n",
"5000000000000000: << \u0431\u0456\u043B\u044C\u044F\u0440\u0434\u0456\u0432[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: \u043C\u0456\u043D\u0443\u0441 >>;\n",
"x.x: << \u043A\u043E\u043C\u0430 >>;\n",
}
}
Version{"1.4"}
}

View File

@ -0,0 +1,35 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/vi.xml
// *
// ***************************************************************************
vi{
RBNFRules{
SpelloutRules{
"%spellout:\n",
"0: kh\u00F4ng;\n",
"1: m\u1ED9t;\n",
"2: hai;\n",
"3: ba;\n",
"4: b\u1ED1n;\n",
"5: n\u0103m;\n",
"6: s\u00E1u;\n",
"7: b\u1EA3y;\n",
"8: t\u00E1m;\n",
"9: ch\u00EDn;\n",
"10: m\u01B0\u1EDDi[ >>];\n",
"20: << m\u01B0\u01A1i[ >>];\n",
"100: << tr\u0103m[ >>];\n",
"1000: << ngh\u00ECn[ >>];\n",
"1000000: << tri\u1EC7u[ >>];\n",
"1000000000: << t\u1EF7[ >>];\n",
"1000000000000000000: =#,##0.#=;\n",
"-x: tr\u1EEB >>;\n",
"x.x: << ph\u1EA9y >>;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,116 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/zh.xml
// *
// ***************************************************************************
zh{
RBNFRules{
SpelloutRules{
"%financial:\n",
"0: \u96F6;\n",
"1: \u58F9;\n",
"2: \u8D30;\n",
"3: \u53C1;\n",
"4: \u8086;\n",
"5: \u4F0D;\n",
"6: \u9646;\n",
"7: \u67D2;\n",
"8: \u634C;\n",
"9: \u7396;\n",
"10: \u62FE[>>];\n",
"20: =%%financial1=;\n",
"-x: \u8D1F>>;\n",
"x.x: <<\u70B9>>>;\n",
"%%financial1:\n",
"0: =%financial=;\n",
"10: <<\u62FE[>>];\n",
"100: <<\u4F70[>%%financial2>];\n",
"1000: <<\u4EDF[>%%financial3>];\n",
"10000: <<\u842C[>%%financial4>];\n",
"100000000: <<\u5104[>%%financial8>];\n",
"1000000000000: <<\u5146[>%%financial12>];\n",
"10000000000000000: <<\u4EAC[>%%financial16>];\n",
"100000000000000000000: =#,###0.#=;\n",
"%%financial12:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"100000000000: =%financial=;\n",
"%%financial16:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"1000000000000000: =%financial=;\n",
"%%financial2:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"10: =%financial=;\n",
"%%financial3:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"100: =%financial=;\n",
"%%financial4:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"1000: =%financial=;\n",
"%%financial8:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"10000000: =%financial=;\n",
"%spellout:\n",
"0: \u3007;\n",
"1: \u4E00;\n",
"2: \u4E8C;\n",
"3: \u4E09;\n",
"4: \u56DB;\n",
"5: \u4E94;\n",
"6: \u516D;\n",
"7: \u4E03;\n",
"8: \u516B;\n",
"9: \u4E5D;\n",
"10: \u5341[>>];\n",
"20: <<\u5341[>>];\n",
"100: \u767E[>%%spellout2>];\n",
"200: <<\u767E[>%%spellout2>];\n",
"1000: =%%spellout1=;\n",
"-x: \u8D1F>>;\n",
"x.x: <<\u70B9>>>;\n",
"%%spellout1:\n",
"0: =%spellout=;\n",
"10: <<\u5341[>>];\n",
"100: <<\u767E[>%%spellout2>];\n",
"1000: <<\u5343[>%%spellout3>];\n",
"10000: <<\u4E07[>%%spellout4>];\n",
"100000000: <<\u4EBF[>%%spellout8>];\n",
"1000000000000: <<\u5146[>%%spellout12>];\n",
"10000000000000000: <<\u4EAC[>%%spellout16>];\n",
"100000000000000000000: =#,###0.#=;\n",
"%%spellout12:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"100000000000: =%spellout=;\n",
"%%spellout16:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"1000000000000000: =%spellout=;\n",
"%%spellout2:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"10: =%spellout=;\n",
"%%spellout3:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"100: =%spellout=;\n",
"%%spellout4:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"1000: =%spellout=;\n",
"%%spellout8:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"10000000: =%spellout=;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,116 @@
// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/zh_Hant.xml
// *
// ***************************************************************************
zh_Hant{
RBNFRules{
SpelloutRules{
"%financial:\n",
"0: \u96F6;\n",
"1: \u58F9;\n",
"2: \u8CB3;\n",
"3: \u53C4;\n",
"4: \u8086;\n",
"5: \u4F0D;\n",
"6: \u9678;\n",
"7: \u67D2;\n",
"8: \u634C;\n",
"9: \u7396;\n",
"10: \u62FE[>>];\n",
"20: =%%financial1=;\n",
"-x: \u8CA0>>;\n",
"x.x: <<\u9EDE>>>;\n",
"%%financial1:\n",
"0: =%financial=;\n",
"10: <<\u62FE[>>];\n",
"100: <<\u4F70[>%%financial2>];\n",
"1000: <<\u4EDF[>%%financial3>];\n",
"10000: <<\u842C[>%%financial4>];\n",
"100000000: <<\u5104[>%%financial8>];\n",
"1000000000000: <<\u5146[>%%financial12>];\n",
"10000000000000000: <<\u4EAC[>%%financial16>];\n",
"100000000000000000000: =#,###0.#=;\n",
"%%financial12:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"100000000000: =%financial=;\n",
"%%financial16:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"1000000000000000: =%financial=;\n",
"%%financial2:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"10: =%financial=;\n",
"%%financial3:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"100: =%financial=;\n",
"%%financial4:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"1000: =%financial=;\n",
"%%financial8:\n",
"0: =%financial=;\n",
"1: \u96F6=%financial=;\n",
"10000000: =%financial=;\n",
"%spellout:\n",
"0: \u3007;\n",
"1: \u4E00;\n",
"2: \u4E8C;\n",
"3: \u4E09;\n",
"4: \u56DB;\n",
"5: \u4E94;\n",
"6: \u516D;\n",
"7: \u4E03;\n",
"8: \u516B;\n",
"9: \u4E5D;\n",
"10: \u5341[>>];\n",
"20: <<\u5341[>>];\n",
"100: \u767E[>%%spellout2>];\n",
"200: <<\u767E[>%%spellout2>];\n",
"1000: =%%spellout1=;\n",
"-x: \u8CA0>>;\n",
"x.x: <<\u9EDE>>>;\n",
"%%spellout1:\n",
"0: =%spellout=;\n",
"10: <<\u5341[>>];\n",
"100: <<\u767E[>%%spellout2>];\n",
"1000: <<\u5343[>%%spellout3>];\n",
"10000: <<\u842C[>%%spellout4>];\n",
"100000000: <<\u5104[>%%spellout8>];\n",
"1000000000000: <<\u5146[>%%spellout12>];\n",
"10000000000000000: <<\u4EAC[>%%spellout16>];\n",
"100000000000000000000: =#,###0.#=;\n",
"%%spellout12:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"100000000000: =%spellout=;\n",
"%%spellout16:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"1000000000000000: =%spellout=;\n",
"%%spellout2:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"10: =%spellout=;\n",
"%%spellout3:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"100: =%spellout=;\n",
"%%spellout4:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"1000: =%spellout=;\n",
"%%spellout8:\n",
"0: =%spellout=;\n",
"1: \u3007=%spellout=;\n",
"10000000: =%spellout=;\n",
}
}
Version{"1.3"}
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="de"/>
</identity>
<rbnf>
<rulesetGrouping type="SpelloutRules">
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp;ue=ü&amp;ae=ä&amp;oe=ö&amp;[last primary ignorable ] ←← ' ' ←← ',' ←← '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="en"/>
</identity>
<rbnf>
<rulesetGrouping type="DurationRules">
<ruleset type="with-words">
<rbnfrule value="0">0 seconds; 1 second; =0= seconds;</rbnfrule>
<rbnfrule value="60" radix="60">←%%min←[, →→];</rbnfrule>
<rbnfrule value="3600" radix="60">←%%hr←[, →→→];</rbnfrule>
</ruleset>
<ruleset type="min" access="private">
<rbnfrule value="0">0 minutes; 1 minute; =0= minutes;</rbnfrule>
</ruleset>
<ruleset type="hr" access="private">
<rbnfrule value="0">0 hours; 1 hour; =0= hours;</rbnfrule>
</ruleset>
<ruleset type="in-numerals">
<rbnfrule value="0">=0= sec.;</rbnfrule>
<rbnfrule value="60">=%%min-sec=;</rbnfrule>
<rbnfrule value="3600">=%%hr-min-sec=;</rbnfrule>
</ruleset>
<ruleset type="min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←0←→→;</rbnfrule>
</ruleset>
<ruleset type="hr-min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←00←→→;</rbnfrule>
<rbnfrule value="3600" radix="60">←#,##0←:→→→;</rbnfrule>
</ruleset>
<ruleset type="duration">
<rbnfrule value="0">=%in-numerals=;</rbnfrule>
</ruleset>
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp; ':' = '.' = ' ' = '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
<rulesetGrouping type="SpelloutRules">
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp;[last primary ignorable ] ←← ' ' ←← ',' ←← '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="fr"/>
</identity>
<rbnf>
<rulesetGrouping type="SpelloutRules">
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp;[last primary ignorable ] ←← ' ' ←← ',' ←← '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="ga"/>
</identity>
<rbnf>
<rulesetGrouping type="SpelloutRules">
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp; ' ' , ',' ;</rbnfrule>
</ruleset>
</rulesetGrouping>
<rulesetGrouping type="DurationRules">
<ruleset type="with-words">
<rbnfrule value="0">=0= soicind;</rbnfrule>
<rbnfrule value="60" radix="60">←%%min←[, →→];</rbnfrule>
<rbnfrule value="3600" radix="60">←%%hr←[, →→→];</rbnfrule>
</ruleset>
<ruleset type="min" access="private">
<rbnfrule value="0">=0= nóiméad;</rbnfrule>
</ruleset>
<ruleset type="hr" access="private">
<rbnfrule value="0">=0= uair;</rbnfrule>
<rbnfrule value="3">=0= huaire;</rbnfrule>
<rbnfrule value="5">=0= uaire;</rbnfrule>
<rbnfrule value="6">=0= huaire;</rbnfrule>
<rbnfrule value="7">=0= n-uaire;</rbnfrule>
<rbnfrule value="10">=0= n-uair;</rbnfrule>
<rbnfrule value="11">=0= →%%uaire→;</rbnfrule>
<rbnfrule value="20">=0= uair; =0= →%%uaire→;</rbnfrule>
</ruleset>
<ruleset type="uaire" access="private">
<rbnfrule value="1">uair;</rbnfrule>
<rbnfrule value="3">huaire;</rbnfrule>
<rbnfrule value="5">uaire;</rbnfrule>
<rbnfrule value="6">huaire;</rbnfrule>
<rbnfrule value="7">n-uaire;</rbnfrule>
</ruleset>
<ruleset type="hms">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←00←→→→</rbnfrule>
<rbnfrule value="3600" radix="60">←#,##0←→→→;</rbnfrule>
</ruleset>
<ruleset type="in-numerals">
<rbnfrule value="0">=0= sec.;</rbnfrule>
<rbnfrule value="60">=%%min-sec=;</rbnfrule>
<rbnfrule value="3600">=%%hr-min-sec=;</rbnfrule>
</ruleset>
<ruleset type="min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←0←→→;</rbnfrule>
</ruleset>
<ruleset type="hr-min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←00←→→;</rbnfrule>
<rbnfrule value="3600" radix="60">←#,##0←:→→→;</rbnfrule>
</ruleset>
<ruleset type="duration">
<rbnfrule value="0">=%in-numerals=;</rbnfrule>
</ruleset>
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp; ':' = '.' = ' ' = '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="mt"/>
</identity>
<rbnf>
<rulesetGrouping type="DurationRules">
<ruleset type="with-words">
<rbnfrule value="0">0 sekondi; 1 sekonda; =0= sekondi;</rbnfrule>
<rbnfrule value="60" radix="60">←%%min←[, →→];</rbnfrule>
<rbnfrule value="3600" radix="60">←%%hr←[, →→→];</rbnfrule>
</ruleset>
<ruleset type="min" access="private">
<rbnfrule value="0">0 minuti; 1 minuta; =0= minuti;</rbnfrule>
</ruleset>
<ruleset type="hr" access="private">
<rbnfrule value="0">0 siegħat; 1 siegħa; =0= siegħat;</rbnfrule>
</ruleset>
<ruleset type="in-numerals">
<rbnfrule value="0">=0= sek.;</rbnfrule>
<rbnfrule value="60">=%%min-sec=;</rbnfrule>
<rbnfrule value="3600">=%%hr-min-sec=;</rbnfrule>
</ruleset>
<ruleset type="min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←0←→→;</rbnfrule>
</ruleset>
<ruleset type="hr-min-sec" access="private">
<rbnfrule value="0">:=00=;</rbnfrule>
<rbnfrule value="60" radix="60">←00←→→;</rbnfrule>
<rbnfrule value="3600" radix="60">←#,##0←:→→→;</rbnfrule>
</ruleset>
<ruleset type="duration">
<rbnfrule value="0">=%in-numerals=;</rbnfrule>
</ruleset>
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp; ':' = '.' = ' ' = '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
<rulesetGrouping type="SpelloutRules">
<ruleset type="lenient-parse" access="private">
<rbnfrule value="0">&amp;[last primary ignorable ] ←← ' ' ←← ',' ←← '-';</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (c) 2008 International Business Machines Corporation and others. All rights reserved.
-->
<!DOCTYPE ldml SYSTEM "http://www.unicode.org/cldr/dtd/1.7/ldml.dtd">
<ldml>
<identity>
<version number="$Revision: 1.4 $"/>
<generation date="$Date: 2008/12/08 18:18:44 $"/>
<language type="root"/>
</identity>
<rbnf>
<rulesetGrouping type="DurationRules">
<ruleset type="duration">
<rbnfrule value="0">=#,##0=;</rbnfrule>
</ruleset>
</rulesetGrouping>
</rbnf>
</ldml>

View File

@ -24,6 +24,7 @@
#include "cmemory.h"
#include "cstring.h"
#include "util.h"
#include "uresimp.h"
// debugging
// #define DEBUG
@ -732,6 +733,7 @@ RuleBasedNumberFormat::RuleBasedNumberFormat(URBNFRuleSetTag tag, const Locale&
return;
}
const char* rules_tag = "RBNFRules";
const char* fmt_tag = "";
switch (tag) {
case URBNF_SPELLOUT: fmt_tag = "SpelloutRules"; break;
@ -748,10 +750,30 @@ RuleBasedNumberFormat::RuleBasedNumberFormat(URBNFRuleSetTag tag, const Locale&
if (U_SUCCESS(status)) {
setLocaleIDs(ures_getLocaleByType(nfrb, ULOC_VALID_LOCALE, &status),
ures_getLocaleByType(nfrb, ULOC_ACTUAL_LOCALE, &status));
const UChar* description = ures_getStringByKey(nfrb, fmt_tag, &len, &status);
UnicodeString desc(description, len);
UResourceBundle* rbnfRules = ures_getByKeyWithFallback(nfrb, rules_tag, NULL, &status);
if (U_FAILURE(status)) {
ures_close(nfrb);
}
UResourceBundle* ruleSets = ures_getByKeyWithFallback(rbnfRules, fmt_tag, NULL, &status);
if (U_FAILURE(status)) {
ures_close(rbnfRules);
ures_close(nfrb);
return;
}
UnicodeString desc;
while (ures_hasNext(ruleSets)) {
const UChar* currentString = ures_getNextString(ruleSets,&len,NULL,&status);
desc.append(currentString);
}
UParseError perror;
init (desc, locinfo, perror, status);
ures_close(ruleSets);
ures_close(rbnfRules);
}
ures_close(nfrb);
}
@ -1196,9 +1218,18 @@ RuleBasedNumberFormat::initDefaultRuleSet()
return;
}
const UnicodeString spellout = UNICODE_STRING_SIMPLE("%spellout");
const UnicodeString ordinal = UNICODE_STRING_SIMPLE("%ordinal");
const UnicodeString duration = UNICODE_STRING_SIMPLE("%duration");
NFRuleSet**p = &ruleSets[0];
while (*p) {
++p;
if ((*p)->isNamed(spellout) || (*p)->isNamed(ordinal) || (*p)->isNamed(duration)) {
defaultRuleSet = *p;
return;
} else {
++p;
}
}
defaultRuleSet = *--p;

View File

@ -14,8 +14,8 @@
//#define DTIFMTTS_DEBUG 1
#include <iostream>
#ifdef DTIFMTTS_DEBUG
#include <iostream>
#endif

View File

@ -173,7 +173,20 @@ IntlTestRBNF::TestAPI() {
errln("Unable to access resource bundle with data!");
} else {
int32_t ruleLen = 0;
const UChar *spelloutRules = ures_getStringByKey(en, "SpelloutRules", &ruleLen, &status);
int32_t len = 0;
UResourceBundle *rbnfRules = ures_getByKey(en, "RBNFRules", NULL, &status);
UResourceBundle *ruleSets = ures_getByKey(rbnfRules, "SpelloutRules", NULL, &status);
UnicodeString desc;
while (ures_hasNext(ruleSets)) {
const UChar* currentString = ures_getNextString(ruleSets,&len,NULL,&status);
ruleLen += len;
desc.append(currentString);
}
ures_close(ruleSets);
ures_close(rbnfRules);
const UChar *spelloutRules = desc.getTerminatedBuffer();
if(U_FAILURE(status) || ruleLen == 0 || spelloutRules == NULL) {
errln("Unable to access the rules string!");
} else {
@ -1057,18 +1070,18 @@ IntlTestRBNF::TestEnglishSpellout()
{ "73", "seventy-three" },
{ "88", "eighty-eight" },
{ "100", "one hundred" },
{ "106", "one hundred and six" },
{ "127", "one hundred and twenty-seven" },
{ "106", "one hundred six" },
{ "127", "one hundred twenty-seven" },
{ "200", "two hundred" },
{ "579", "five hundred and seventy-nine" },
{ "579", "five hundred seventy-nine" },
{ "1,000", "one thousand" },
{ "2,000", "two thousand" },
{ "3,004", "three thousand and four" },
{ "4,567", "four thousand five hundred and sixty-seven" },
{ "15,943", "fifteen thousand nine hundred and forty-three" },
{ "2,345,678", "two million, three hundred and forty-five thousand, six hundred and seventy-eight" },
{ "3,004", "three thousand four" },
{ "4,567", "four thousand five hundred sixty-seven" },
{ "15,943", "fifteen thousand nine hundred forty-three" },
{ "2,345,678", "two million three hundred forty-five thousand six hundred seventy-eight" },
{ "-36", "minus thirty-six" },
{ "234.567", "two hundred and thirty-four point five six seven" },
{ "234.567", "two hundred thirty-four point five six seven" },
{ NULL, NULL}
};
@ -1195,9 +1208,9 @@ IntlTestRBNF::TestSpanishSpellout()
{ "3,004", "tres mil cuatro" },
{ "4,567", "cuatro mil quinientos sesenta y siete" },
{ "15,943", "quince mil novecientos cuarenta y tres" },
{ "2,345,678", "dos mill\\u00f3n trescientos cuarenta y cinco mil seiscientos setenta y ocho"},
{ "2,345,678", "dos millones trescientos cuarenta y cinco mil seiscientos setenta y ocho"},
{ "-36", "menos treinta y seis" },
{ "234.567", "doscientos treinta y cuatro punto cinco seis siete" },
{ "234.567", "doscientos treinta y cuatro coma cinco seis siete" },
{ NULL, NULL}
};
@ -1220,7 +1233,7 @@ IntlTestRBNF::TestFrenchSpellout()
{ "1", "un" },
{ "15", "quinze" },
{ "20", "vingt" },
{ "21", "vingt-et-un" },
{ "21", "vingt et un" },
{ "23", "vingt-trois" },
{ "62", "soixante-deux" },
{ "70", "soixante-dix" },
@ -1232,17 +1245,17 @@ IntlTestRBNF::TestFrenchSpellout()
{ "106", "cent six" },
{ "127", "cent vingt-sept" },
{ "200", "deux cents" },
{ "579", "cinq cents soixante-dix-neuf" },
{ "579", "cinq cent soixante-dix-neuf" },
{ "1,000", "mille" },
{ "1,123", "onze cents vingt-trois" },
{ "1,594", "mille cinq cents quatre-vingt-quatorze" },
{ "1,123", "mille cent vingt-trois" },
{ "1,594", "mille cinq cent quatre-vingt-quatorze" },
{ "2,000", "deux mille" },
{ "3,004", "trois mille quatre" },
{ "4,567", "quatre mille cinq cents soixante-sept" },
{ "15,943", "quinze mille neuf cents quarante-trois" },
{ "2,345,678", "deux million trois cents quarante-cinq mille six cents soixante-dix-huit" },
{ "4,567", "quatre mille cinq cent soixante-sept" },
{ "15,943", "quinze mille neuf cent quarante-trois" },
{ "2,345,678", "deux millions trois cent quarante-cinq mille six cent soixante-dix-huit" },
{ "-36", "moins trente-six" },
{ "234.567", "deux cents trente-quatre virgule cinq six sept" },
{ "234.567", "deux cent trente-quatre virgule cinq six sept" },
{ NULL, NULL}
};
@ -1251,8 +1264,8 @@ IntlTestRBNF::TestFrenchSpellout()
#if !UCONFIG_NO_COLLATION
formatter->setLenient(TRUE);
static const char* lpTestData[][2] = {
{ "trente-un", "31" },
{ "un cents quatre vingt dix huit", "198" },
{ "trente-et-un", "31" },
{ "un cent quatre vingt dix huit", "198" },
{ NULL, NULL}
};
doLenientParseTest(formatter, lpTestData);
@ -1265,11 +1278,11 @@ static const char* const swissFrenchTestData[][2] = {
{ "1", "un" },
{ "15", "quinze" },
{ "20", "vingt" },
{ "21", "vingt-et-un" },
{ "21", "vingt et un" },
{ "23", "vingt-trois" },
{ "62", "soixante-deux" },
{ "70", "septante" },
{ "71", "septante-et-un" },
{ "71", "septante et un" },
{ "73", "septante-trois" },
{ "80", "huitante" },
{ "88", "huitante-huit" },
@ -1277,17 +1290,17 @@ static const char* const swissFrenchTestData[][2] = {
{ "106", "cent six" },
{ "127", "cent vingt-sept" },
{ "200", "deux cents" },
{ "579", "cinq cents septante-neuf" },
{ "579", "cinq cent septante-neuf" },
{ "1,000", "mille" },
{ "1,123", "onze cents vingt-trois" },
{ "1,594", "mille cinq cents nonante-quatre" },
{ "1,123", "mille cent vingt-trois" },
{ "1,594", "mille cinq cent nonante-quatre" },
{ "2,000", "deux mille" },
{ "3,004", "trois mille quatre" },
{ "4,567", "quatre mille cinq cents soixante-sept" },
{ "15,943", "quinze mille neuf cents quarante-trois" },
{ "2,345,678", "deux million trois cents quarante-cinq mille six cents septante-huit" },
{ "4,567", "quatre mille cinq cent soixante-sept" },
{ "15,943", "quinze mille neuf cent quarante-trois" },
{ "2,345,678", "deux millions trois cent quarante-cinq mille six cent septante-huit" },
{ "-36", "moins trente-six" },
{ "234.567", "deux cents trente-quatre virgule cinq six sept" },
{ "234.567", "deux cent trente-quatre virgule cinq six sept" },
{ NULL, NULL}
};
@ -1306,6 +1319,40 @@ IntlTestRBNF::TestSwissFrenchSpellout()
delete formatter;
}
static const char* const belgianFrenchTestData[][2] = {
{ "1", "un" },
{ "15", "quinze" },
{ "20", "vingt" },
{ "21", "vingt et un" },
{ "23", "vingt-trois" },
{ "62", "soixante-deux" },
{ "70", "septante" },
{ "71", "septante et un" },
{ "73", "septante-trois" },
{ "80", "quatre-vingts" },
{ "88", "quatre-vingt-huit" },
{ "90", "nonante" },
{ "91", "nonante et un" },
{ "95", "nonante-cinq" },
{ "100", "cent" },
{ "106", "cent six" },
{ "127", "cent vingt-sept" },
{ "200", "deux cents" },
{ "579", "cinq cent septante-neuf" },
{ "1,000", "mille" },
{ "1,123", "mille cent vingt-trois" },
{ "1,594", "mille cinq cent nonante-quatre" },
{ "2,000", "deux mille" },
{ "3,004", "trois mille quatre" },
{ "4,567", "quatre mille cinq cent soixante-sept" },
{ "15,943", "quinze mille neuf cent quarante-trois" },
{ "2,345,678", "deux millions trois cent quarante-cinq mille six cent septante-huit" },
{ "-36", "moins trente-six" },
{ "234.567", "deux cent trente-quatre virgule cinq six sept" },
{ NULL, NULL}
};
void
IntlTestRBNF::TestBelgianFrenchSpellout()
{
@ -1318,7 +1365,7 @@ IntlTestRBNF::TestBelgianFrenchSpellout()
errln("FAIL: could not construct formatter");
} else {
// Belgian french should match Swiss french.
doTest(formatter, swissFrenchTestData, TRUE);
doTest(formatter, belgianFrenchTestData, TRUE);
}
delete formatter;
}
@ -1392,7 +1439,7 @@ IntlTestRBNF::TestPortugueseSpellout()
{ "4,567", "quatro mil quinhentos e sessenta e sete" },
{ "15,943", "quinze mil novecentos e quarenta e tr\\u00EAs" },
{ "-36", "menos trinta e seis" },
{ "234.567", "duzcentos e trinta e quatro ponto cinco seis sete" },
{ "234.567", "duzcentos e trinta e quatro v\\u00EDrgula cinco seis sete" },
{ NULL, NULL}
};
@ -1482,56 +1529,57 @@ IntlTestRBNF::TestSwedishSpellout()
errln("FAIL: could not construct formatter");
} else {
static const char* testDataDefault[][2] = {
{ "101", "etthundra\\u00aden" },
{ "123", "etthundra\\u00adtjugotre" },
{ "1,001", "ettusen en" },
{ "1,100", "ettusen etthundra" },
{ "1,101", "ettusen etthundra\\u00aden" },
{ "1,234", "ettusen tv\\u00e5hundra\\u00adtrettiofyra" },
{ "10,001", "tio\\u00adtusen en" },
{ "11,000", "elva\\u00adtusen" },
{ "12,000", "tolv\\u00adtusen" },
{ "20,000", "tjugo\\u00adtusen" },
{ "21,000", "tjugoen\\u00adtusen" },
{ "21,001", "tjugoen\\u00adtusen en" },
{ "200,000", "tv\\u00e5hundra\\u00adtusen" },
{ "201,000", "tv\\u00e5hundra\\u00aden\\u00adtusen" },
{ "200,200", "tv\\u00e5hundra\\u00adtusen tv\\u00e5hundra" },
{ "2,002,000", "tv\\u00e5 miljoner tv\\u00e5\\u00adtusen" },
{ "12,345,678", "tolv miljoner trehundra\\u00adfyrtiofem\\u00adtusen sexhundra\\u00adsjuttio\\u00e5tta" },
{ "123,456.789", "etthundra\\u00adtjugotre\\u00adtusen fyrahundra\\u00adfemtiosex komma sju \\u00e5tta nio" },
{ "-12,345.678", "minus tolv\\u00adtusen trehundra\\u00adfyrtiofem komma sex sju \\u00e5tta" },
{ "101", "etthundraett" },
{ "123", "etthundratjugotre" },
{ "1,001", "ettusenett" },
{ "1,100", "ettusenetthundra" },
{ "1,101", "ettusenetthundraett" },
{ "1,234", "ettusentv\\u00e5hundratrettiofyra" },
{ "10,001", "tiotusenett" },
{ "11,000", "elvatusen" },
{ "12,000", "tolvtusen" },
{ "20,000", "tjugotusen" },
{ "21,000", "tjugoetttusen" },
{ "21,001", "tjugoetttusenett" },
{ "200,000", "tv\\u00e5hundratusen" },
{ "201,000", "tv\\u00e5hundraetttusen" },
{ "200,200", "tv\\u00e5hundratusentv\\u00e5hundra" },
{ "2,002,000", "tv\\u00e5 miljoner tv\\u00e5tusen" },
{ "12,345,678", "tolv miljoner trehundrafyrtiofemtusensexhundrasjuttio\\u00e5tta" },
{ "123,456.789", "etthundratjugotretusenfyrahundrafemtiosex komma sju \\u00e5tta nio" },
{ "-12,345.678", "minus tolvtusentrehundrafyrtiofem komma sex sju \\u00e5tta" },
{ NULL, NULL }
};
doTest(formatter, testDataDefault, TRUE);
static const char* testDataNeutrum[][2] = {
{ "101", "etthundra\\u00adett" },
{ "1,001", "ettusen ett" },
{ "1,101", "ettusen etthundra\\u00adett" },
{ "10,001", "tio\\u00adtusen ett" },
{ "21,001", "tjugoen\\u00adtusen ett" },
{ NULL, NULL }
};
formatter->setDefaultRuleSet("%neutrum", status);
if (U_SUCCESS(status)) {
logln("testing neutrum rules");
doTest(formatter, testDataNeutrum, TRUE);
}
else {
errln("Can't test neutrum rules");
}
// These tests no longer valid - neutrum rules not in CLDR
// static const char* testDataNeutrum[][2] = {
// { "101", "etthundra\\u00adett" },
// { "1,001", "ettusen ett" },
// { "1,101", "ettusen etthundra\\u00adett" },
// { "10,001", "tio\\u00adtusen ett" },
// { "21,001", "tjugoen\\u00adtusen ett" },
// { NULL, NULL }
// };
//
// formatter->setDefaultRuleSet("%neutrum", status);
// if (U_SUCCESS(status)) {
// logln(" testing neutrum rules");
// doTest(formatter, testDataNeutrum, TRUE);
// }
// else {
// errln("Can't test neutrum rules");
// }
static const char* testDataYear[][2] = {
{ "101", "etthundra\\u00adett" },
{ "101", "etthundraett" },
{ "900", "niohundra" },
{ "1,001", "tiohundra\\u00adett" },
{ "1,001", "tusenett" },
{ "1,100", "elvahundra" },
{ "1,101", "elvahundra\\u00adett" },
{ "1,234", "tolvhundra\\u00adtrettiofyra" },
{ "2,001", "tjugohundra\\u00adett" },
{ "10,001", "tio\\u00adtusen ett" },
{ "1,101", "elvahundraett" },
{ "1,234", "tolvhundratrettiofyra" },
{ "2,001", "tjugohundraett" },
{ "10,001", "tiotusenett" },
{ NULL, NULL }
};
@ -1583,11 +1631,11 @@ IntlTestRBNF::TestSmallValues()
// { "1,234,567,890.0987654", "one billion, two hundred and thirty-four million, five hundred and sixty-seven thousand, eight hundred and ninety point zero nine eight seven six five four" },
// { "123,456,789.9876543", "one hundred and twenty-three million, four hundred and fifty-six thousand, seven hundred and eighty-nine point nine eight seven six five four three" },
// { "12,345,678.87654321", "twelve million, three hundred and forty-five thousand, six hundred and seventy-eight point eight seven six five four three two one" },
{ "1,234,567.7654321", "one million, two hundred and thirty-four thousand, five hundred and sixty-seven point seven six five four three two one" },
{ "123,456.654321", "one hundred and twenty-three thousand, four hundred and fifty-six point six five four three two one" },
{ "12,345.54321", "twelve thousand three hundred and forty-five point five four three two one" },
{ "1,234.4321", "one thousand two hundred and thirty-four point four three two one" },
{ "123.321", "one hundred and twenty-three point three two one" },
{ "1,234,567.7654321", "one million two hundred thirty-four thousand five hundred sixty-seven point seven six five four three two one" },
{ "123,456.654321", "one hundred twenty-three thousand four hundred fifty-six point six five four three two one" },
{ "12,345.54321", "twelve thousand three hundred forty-five point five four three two one" },
{ "1,234.4321", "one thousand two hundred thirty-four point four three two one" },
{ "123.321", "one hundred twenty-three point three two one" },
{ "0.0000000011754944", "zero point zero zero zero zero zero zero zero zero one one seven five four nine four four" },
{ "0.000001175494351", "zero point zero zero zero zero zero one one seven five four nine four three five one" },
{ NULL, NULL }