1 // ***************************************************************************
3 // * Copyright (C) 2004, 2007 International Business Machines
4 // * Corporation and others. All Rights Reserved.
6 // ***************************************************************************
10 //------------------------------------------------------------
11 // Rule Based Number Format Support
12 //------------------------------------------------------------
14 // * Spellout rules for Italian. Like German, most Italian numbers are
15 // * written as single words. What makes these rules complicated is the rule
16 // * that says that when a word ending in a vowel and a word beginning with
17 // * a vowel are combined into a compound, the vowel is dropped from the
18 // * end of the first word: 180 is "centottanta," not "centoottanta."
19 // * The complexity of this rule set is to produce this behavior.
21 // * The "no-final" stanzas are used to deal with the fact that the number
22 // * three ( "tre" ) takes an accent when it is at the end of a word
23 // * like 23 ( ventitr<e-accent> ), but would NOT take an accent
24 // * in the context of a thousands or millions, for example,
25 // * 23,000 would be ventitremila, and would not have an accent on the "tre".
28 // main rule set. Follows the patterns of the preceding rule sets,
29 // except that the final vowel is omitted from words ending in
30 // vowels when they are followed by another word; instead, we have
31 // separate rule sets that are identical to this one, except that
32 // all the words that don't begin with a vowel have a vowel tacked
33 // onto them at the front. A word ending in a vowel calls a
34 // substitution that will supply that vowel, unless that vowel is to
38 "x.x: << virgola >>;\n"
39 "zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
40 "dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
41 " diciasette; diciotto; diciannove;\n"
42 "20: venti; vent>%%with-i>;\n"
43 "30: trenta; trent>%%with-a>;\n"
44 "40: quaranta; quarant>%%with-a>;\n"
45 "50: cinquanta; cinquant>%%with-a>;\n"
46 "60: sessanta; sessant>%%with-a>;\n"
47 "70: settanta; settant>%%with-a>;\n"
48 "80: ottanta; ottant>%%with-a>;\n"
49 "90: novanta; novant>%%with-a>;\n"
50 "100: cento; cent[>%%with-o>];\n"
51 "200: <<cento; <<cent[>%%with-o>];\n"
52 "1000: mille; mille>>;\n"
53 "2000: <%%no-final<mila; <%%no-final<mil>%%with-a>;\n"
54 "100,000>>: <%%no-final<mila[ >>];\n"
55 "1,000,000: un milione; un milione >>;\n"
56 "2,000,000: << milioni[ >>];\n"
57 "1,000,000,000: un miliardo; un miliardo >>;\n"
58 "2,000,000,000: << miliardi[ >>];\n"
59 "1,000,000,000,000: =#,##0= (incomplete data);\n"
61 "zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
62 "dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
63 " diciasette; diciotto; diciannove;\n"
64 "20: venti; vent>%%with-i-nofinal>;\n"
65 "30: trenta; trent>%%with-a-nofinal>;\n"
66 "40: quaranta; quarant>%%with-a-nofinal>;\n"
67 "50: cinquanta; cinquant>%%with-a-nofinal>;\n"
68 "60: sessanta; sessant>%%with-a-nofinal>;\n"
69 "70: settanta; settant>%%with-a-nofinal>;\n"
70 "80: ottanta; ottant>%%with-a-nofinal>;\n"
71 "90: novanta; novant>%%with-a-nofinal>;\n"
72 "100: cento; cent[>%%with-o-nofinal>];\n"
73 "200: <<cento; <<cent[>%%with-o-nofinal>];\n"
76 "azero; uno; adue; atr\u00E9; aquattro; acinque; asei; asette; otto; anove;\n"
77 "adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
78 " adiciasette; adiciotto; adiciannove;\n"
79 "20: aventi; avent>%%with-i>;\n"
80 "30: atrenta; atrent>%%with-a>;\n"
81 "40: aquaranta; aquarant>%%with-a>;\n"
82 "50: acinquanta; acinquant>%%with-a>;\n"
83 "60: asessanta; asessant>%%with-a>;\n"
84 "70: asettanta; asettant>%%with-a>;\n"
85 "80: ottanta; ottant>%%with-a>;\n"
86 "90: anovanta; anovant>%%with-a>;\n"
87 "100: acento; acent[>%%with-o>];\n"
88 "200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n"
89 "1000: amille; amill[>%%with-i>];\n"
90 "2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n"
93 "azero; uno; adue; atre; aquattro; acinque; asei; asette; otto; anove;\n"
94 "adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
95 " adiciasette; adiciotto; adiciannove;\n"
96 "20: aventi; avent>%%with-i-nofinal>;\n"
97 "30: atrenta; atrent>%%with-a-nofinal>;\n"
98 "40: aquaranta; aquarant>%%with-a-nofinal>;\n"
99 "50: acinquanta; acinquant>%%with-a-nofinal>;\n"
100 "60: asessanta; asessant>%%with-a-nofinal>;\n"
101 "70: asettanta; asettant>%%with-a-nofinal>;\n"
102 "80: ottanta; ottant>%%with-a-nofinal>;\n"
103 "90: anovanta; anovant>%%with-a-nofinal>;\n"
104 "100: acento; acent[>%%with-o-nofinal>];\n"
105 "200: <%%with-a-nofinal<cento; <%%with-a-nofinal<cent[>%%with-o-nofinal>];\n"
108 "izero; uno; idue; itr\u00E9; iquattro; icinque; isei; isette; otto; inove;\n"
109 "idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
110 " idiciasette; idiciotto; idiciannove;\n"
111 "20: iventi; ivent>%%with-i>;\n"
112 "30: itrenta; itrent>%%with-a>;\n"
113 "40: iquaranta; iquarant>%%with-a>;\n"
114 "50: icinquanta; icinquant>%%with-a>;\n"
115 "60: isessanta; isessant>%%with-a>;\n"
116 "70: isettanta; isettant>%%with-a>;\n"
117 "80: ottanta; ottant>%%with-a>;\n"
118 "90: inovanta; inovant>%%with-a>;\n"
119 "100: icento; icent[>%%with-o>];\n"
120 "200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n"
121 "1000: imille; imill[>%%with-i>];\n"
122 "2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n"
123 "100,000: =%main=;\n"
124 "%%with-i-nofinal:\n"
125 "izero; uno; idue; itre; iquattro; icinque; isei; isette; otto; inove;\n"
126 "idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
127 " idiciasette; idiciotto; idiciannove;\n"
128 "20: iventi; ivent>%%with-i-nofinal>;\n"
129 "30: itrenta; itrent>%%with-a-nofinal>;\n"
130 "40: iquaranta; iquarant>%%with-a-nofinal>;\n"
131 "50: icinquanta; icinquant>%%with-a-nofinal>;\n"
132 "60: isessanta; isessant>%%with-a-nofinal>;\n"
133 "70: isettanta; isettant>%%with-a-nofinal>;\n"
134 "80: ottanta; ottant>%%with-a-nofinal>;\n"
135 "90: inovanta; inovant>%%with-a-nofinal>;\n"
136 "100: icento; icent[>%%with-o-nofinal>];\n"
137 "200: <%%with-i-nofinal<cento; <%%with-i-nofinal<cent[>%%with-o-nofinal>];\n"
140 "ozero; uno; odue; otr\u00E9; oquattro; ocinque; osei; osette; otto; onove;\n"
141 "odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
142 " odiciasette; odiciotto; odiciannove;\n"
143 "20: oventi; ovent>%%with-i>;\n"
144 "30: otrenta; otrent>%%with-a>;\n"
145 "40: oquaranta; oquarant>%%with-a>;\n"
146 "50: ocinquanta; ocinquant>%%with-a>;\n"
147 "60: osessanta; osessant>%%with-a>;\n"
148 "70: osettanta; osettant>%%with-a>;\n"
149 "80: ottanta; ottant>%%with-a>;\n"
150 "90: onovanta; onovant>%%with-a>;\n"
151 "100: ocento; ocent[>%%with-o>];\n"
152 "200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n"
153 "1000: omille; omill[>%%with-i>];\n"
154 "2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n"
155 "100,000: =%main=;\n"
156 "%%with-o-nofinal:\n"
157 "ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto; onove;\n"
158 "odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
159 " odiciasette; odiciotto; odiciannove;\n"
160 "20: oventi; ovent>%%with-i-nofinal>;\n"
161 "30: otrenta; otrent>%%with-a-nofinal>;\n"
162 "40: oquaranta; oquarant>%%with-a-nofinal>;\n"
163 "50: ocinquanta; ocinquant>%%with-a-nofinal>;\n"
164 "60: osessanta; osessant>%%with-a-nofinal>;\n"
165 "70: osettanta; osettant>%%with-a-nofinal>;\n"
166 "80: ottanta; ottant>%%with-a-nofinal>;\n"
167 "90: onovanta; onovant>%%with-a-nofinal>;\n"
168 "100: ocento; ocent[>%%with-o-nofinal>];\n"
169 "200: <%%with-o-nofinal<cento; <%%with-o-nofinal<cent[>%%with-o-nofinal>];\n"