]>
Commit | Line | Data |
---|---|---|
374ca955 A |
1 | // *************************************************************************** |
2 | // * | |
3 | // * Copyright (C) 2004, International Business Machines | |
4 | // * Corporation and others. All Rights Reserved. | |
5 | // * | |
6 | // *************************************************************************** | |
7 | // | |
8 | ||
9 | ga { | |
10 | SpelloutRules { | |
11 | ||
12 | // Maoluimhreacha | |
13 | "%default:\n" | |
14 | "-x: míneas >>;\n" | |
15 | "x.x: << pointe >>;\n" | |
16 | "a náid; a haon; a dó; a trí; a ceathair; a cúig;\n" | |
17 | "a sé; a seacht; a hocht; a naoi; a deich;\n" | |
18 | "a haon déag; a dó dhéag;\n" | |
19 | ">> déag;\n" | |
20 | "20: fiche[ >>];\n" | |
21 | "30: tríocha[ >>];\n" | |
22 | "40: daichead[ >>];\n" | |
23 | "50: caoga[ >>];\n" | |
24 | "60: seasca[ >>];\n" | |
25 | "70: seachtó[ >>];\n" | |
26 | "80: ochtó[ >>];\n" | |
27 | "90: nócha[ >>];\n" | |
28 | "100: <%%hundreds<[ >%%hundreds_is>];\n" | |
29 | "1,000: <%%thousands<[, >>];\n" | |
30 | "1,000,000: <%%millions<[, >>];\n" | |
31 | "1,000,000,000: <%%billions<[, >>];\n" | |
32 | "1,000,000,000,000: <%%trillions<[, >>];\n" | |
33 | "1,000,000,000,000,000: =#,##0=;\n" | |
34 | ||
35 | "%%cardwithnumber:" | |
36 | " ; aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi; deich;\n" | |
37 | " aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi;\n" | |
38 | "20: fiche[ is >>];\n" | |
39 | "30: tríocha[ is >>];\n" | |
40 | "40: daichead[ is >>];\n" | |
41 | "50: caoga[ is >>];\n" | |
42 | "60: seasca[ is >>];\n" | |
43 | "70: seachtó[ is >>];\n" | |
44 | "80: ochtó[ is >>];\n" | |
45 | "90: nócha[ is >>];\n" | |
46 | "100: <%%hundreds<[ >%%hundreds_is>];\n" | |
47 | "1,000: <%%thousands<[ >%%cardwithnumber>];\n" | |
48 | "1,000,000: <%%millions<[ >%%cardwithnumber>];\n" | |
49 | "1,000,000,000: <%%billions<[ >%%cardwithnumber>];\n" | |
50 | "1,000,000,000: <%%trillions<[ >%%cardwithnumber>];\n" | |
51 | "1,000,000,000,000,000: =#,##0=;\n" | |
52 | ||
53 | // rules to give hundreds value | |
54 | "%%hundreds:\n" | |
55 | "1: céad;\n" | |
56 | "2: <%%cardwithnumber< chéad;\n" | |
57 | "7: <%%cardwithnumber< gcéad;\n" | |
58 | // Put in "is" after céad when a multiple of 10 | |
59 | "%%hundreds_is:\n" | |
60 | "0:;\n" | |
61 | "=%default=;\n" | |
62 | "20: is =%default=;\n" | |
63 | "21: =%default=;\n" | |
64 | "30: is =%default=;\n" | |
65 | "31: =%default=;\n" | |
66 | "40: is =%default=;\n" | |
67 | "41: =%default=;\n" | |
68 | "50: is =%default=;\n" | |
69 | "51: =%default=;\n" | |
70 | "60: is =%default=;\n" | |
71 | "61: =%default=;\n" | |
72 | "70: is =%default=;\n" | |
73 | "71: =%default=;\n" | |
74 | "80: is =%default=;\n" | |
75 | "81: =%default=;\n" | |
76 | "90: is =%default=;\n" | |
77 | "91: =%default=;\n" | |
78 | ||
79 | // rules to give thousands value | |
80 | "%%thousands:\n" | |
81 | "0: míle;\n" | |
82 | "2: <%%cardwithnumber< mhíle;\n" | |
83 | "7: <%%cardwithnumber< míle;\n" | |
84 | "11>: <%%cardwithnumber< mhíle dhéag;\n" | |
85 | "17>: <%%cardwithnumber< míle dhéag;\n" | |
86 | "20>: <%%cardwithnumber< míle;\n" | |
87 | "21>: <%%cardwithnumber< mhíle;\n" | |
88 | "27>: <%%cardwithnumber< míle;\n" | |
89 | "31>: <%%cardwithnumber< mhíle;\n" | |
90 | "37>: <%%cardwithnumber< míle;\n" | |
91 | "41>: <%%cardwithnumber< mhíle;\n" | |
92 | "47>: <%%cardwithnumber< míle;\n" | |
93 | "51>: <%%cardwithnumber< mhíle;\n" | |
94 | "57>: <%%cardwithnumber< míle;\n" | |
95 | "61>: <%%cardwithnumber< mhíle;\n" | |
96 | "67>: <%%cardwithnumber< míle;\n" | |
97 | "71>: <%%cardwithnumber< mhíle;\n" | |
98 | "77>: <%%cardwithnumber< míle;\n" | |
99 | "81>: <%%cardwithnumber< mhíle;\n" | |
100 | "87>: <%%cardwithnumber< míle;\n" | |
101 | "91>: <%%cardwithnumber< mhíle;\n" | |
102 | "97>: <%%cardwithnumber< míle;\n" | |
103 | " 100: <%%hundreds< >%%thousands_is>;\n" | |
104 | ||
105 | // Put in "is" after míle when a multiple of 10 | |
106 | "%%thousands_is:\n" | |
107 | "0: míle;\n" | |
108 | "1: is =%%cardwithnumber= mhíle;\n" | |
109 | "7: is =%%cardwithnumber= míle;\n" | |
110 | "11>: is <%%thousands<;\n" | |
111 | "20: is =%%thousands=;\n" | |
112 | "21: =%%thousands=;\n" | |
113 | "30: is =%%thousands=;\n" | |
114 | "31: =%%thousands=;\n" | |
115 | "40: is =%%thousands=;\n" | |
116 | "41: =%%thousands=;\n" | |
117 | "50: is =%%thousands=;\n" | |
118 | "51: =%%thousands=;\n" | |
119 | "60: is =%%thousands=;\n" | |
120 | "61: =%%thousands=;\n" | |
121 | "70: is =%%thousands=;\n" | |
122 | "71: =%%thousands=;\n" | |
123 | "80: is =%%thousands=;\n" | |
124 | "81: =%%thousands=;\n" | |
125 | "90: is =%%thousands=;\n" | |
126 | "91: =%%thousands=;\n" | |
127 | ||
128 | ||
129 | // rules to give millions value | |
130 | "%%millions:\n" | |
131 | "1: milliún;\n" | |
132 | "2: <%%cardwithnumber< mhilliún;\n" | |
133 | "7: <%%cardwithnumber< milliún;\n" | |
134 | "11>: <%%cardwithnumber< mhilliún déag;\n" | |
135 | "17>: <%%cardwithnumber< milliún déag;\n" | |
136 | "20>: <%%cardwithnumber< milliún;\n" | |
137 | "21>: <%%cardwithnumber< mhilliún;\n" | |
138 | "27>: <%%cardwithnumber< milliún;\n" | |
139 | "31>: <%%cardwithnumber< mhilliún;\n" | |
140 | "37>: <%%cardwithnumber< milliún;\n" | |
141 | "41>: <%%cardwithnumber< mhilliún;\n" | |
142 | "47>: <%%cardwithnumber< milliún;\n" | |
143 | "51>: <%%cardwithnumber< mhilliún;\n" | |
144 | "57>: <%%cardwithnumber< milliún;\n" | |
145 | "61>: <%%cardwithnumber< mhilliún;\n" | |
146 | "67>: <%%cardwithnumber< milliún;\n" | |
147 | "71>: <%%cardwithnumber< mhilliún;\n" | |
148 | "77>: <%%cardwithnumber< milliún;\n" | |
149 | "81>: <%%cardwithnumber< mhilliún;\n" | |
150 | "87>: <%%cardwithnumber< milliún;\n" | |
151 | "91>: <%%cardwithnumber< mhilliún;\n" | |
152 | "97>: <%%cardwithnumber< milliún;\n" | |
153 | " 100: <%%hundreds< >%%millions_is>;\n" | |
154 | ||
155 | // Put in "is" after milliún when a multiple of 10 | |
156 | "%%millions_is:\n" | |
157 | "0: milliún;\n" | |
158 | "1: is =%%cardwithnumber= mhilliún;\n" | |
159 | "7: is =%%cardwithnumber= milliún;\n" | |
160 | "11>: is <%%millions<;\n" | |
161 | "20: is =%%millions=;\n" | |
162 | "21: =%%millions=;\n" | |
163 | "30: is =%%millions=;\n" | |
164 | "31: =%%millions=;\n" | |
165 | "40: is =%%millions=;\n" | |
166 | "41: =%%millions=;\n" | |
167 | "50: is =%%millions=;\n" | |
168 | "51: =%%millions=;\n" | |
169 | "60: is =%%millions=;\n" | |
170 | "61: =%%millions=;\n" | |
171 | "70: is =%%millions=;\n" | |
172 | "71: =%%millions=;\n" | |
173 | "80: is =%%millions=;\n" | |
174 | "81: =%%millions=;\n" | |
175 | "90: is =%%millions=;\n" | |
176 | "91: =%%millions=;\n" | |
177 | ||
178 | ||
179 | // rules to give billions value | |
180 | // to avoid ambiguity, no eclipsis or aspiration! | |
181 | "%%billions:\n" | |
182 | "1: billiún; <%%cardwithnumber< billiún;\n" | |
183 | "11>: <%%cardwithnumber< billiún déag;\n" | |
184 | "20>: <%%cardwithnumber< billiún;\n" | |
185 | "100: <%%hundreds< >%%billions_is>;\n" | |
186 | ||
187 | // Put in "is" after billiún when a multiple of 10 | |
188 | "%%billions_is:\n" | |
189 | "0: billiún;\n" | |
190 | "1: is =%%cardwithnumber= billiún;\n" | |
191 | "7: is =%%cardwithnumber= billiún;\n" | |
192 | "11>: is <%%billions<;\n" | |
193 | "20: is =%%billions=;\n" | |
194 | "21: =%%billions=;\n" | |
195 | "30: is =%%billions=;\n" | |
196 | "31: =%%billions=;\n" | |
197 | "40: is =%%billions=;\n" | |
198 | "41: =%%billions=;\n" | |
199 | "50: is =%%billions=;\n" | |
200 | "51: =%%billions=;\n" | |
201 | "60: is =%%billions=;\n" | |
202 | "61: =%%billions=;\n" | |
203 | "70: is =%%billions=;\n" | |
204 | "71: =%%billions=;\n" | |
205 | "80: is =%%billions=;\n" | |
206 | "81: =%%billions=;\n" | |
207 | "90: is =%%billions=;\n" | |
208 | "91: =%%billions=;\n" | |
209 | ||
210 | // rules to give trillions value | |
211 | "%%trillions:\n" | |
212 | "1: milliún;\n" | |
213 | "2: <%%cardwithnumber< thrilliún;\n" | |
214 | "7: <%%cardwithnumber< dtrilliún;\n" | |
215 | "11>: <%%cardwithnumber< thrilliún déag;\n" | |
216 | "17>: <%%cardwithnumber< dtrilliún déag;\n" | |
217 | "20>: <%%cardwithnumber< dtrilliún;\n" | |
218 | "21>: <%%cardwithnumber< thrilliún;\n" | |
219 | "27>: <%%cardwithnumber< dtrilliún;\n" | |
220 | "31>: <%%cardwithnumber< thrilliún;\n" | |
221 | "37>: <%%cardwithnumber< dtrilliún;\n" | |
222 | "41>: <%%cardwithnumber< thrilliún;\n" | |
223 | "47>: <%%cardwithnumber< dtrilliún;\n" | |
224 | "51>: <%%cardwithnumber< thrilliún;\n" | |
225 | "57>: <%%cardwithnumber< dtrilliún;\n" | |
226 | "61>: <%%cardwithnumber< thrilliún;\n" | |
227 | "67>: <%%cardwithnumber< dtrilliún;\n" | |
228 | "71>: <%%cardwithnumber< thrilliún;\n" | |
229 | "77>: <%%cardwithnumber< dtrilliún;\n" | |
230 | "81>: <%%cardwithnumber< thrilliún;\n" | |
231 | "87>: <%%cardwithnumber< dtrilliún;\n" | |
232 | "91>: <%%cardwithnumber< thrilliún;\n" | |
233 | "97>: <%%cardwithnumber< dtrilliún;\n" | |
234 | " 100: <%%hundreds< >%%trillions_is;\n" | |
235 | ||
236 | // Put in "is" after trilliún when a multiple of 10 | |
237 | "%%trillions_is:\n" | |
238 | "0: trilliún;\n" | |
239 | "1: is =%%cardwithnumber= thrilliún;\n" | |
240 | "7: is =%%cardwithnumber= dtrilliún;\n" | |
241 | "11>: is <%%trillions<;\n" | |
242 | "20: is =%%trillions=;\n" | |
243 | "21: =%%trillions=;\n" | |
244 | "30: is =%%trillions=;\n" | |
245 | "31: =%%trillions=;\n" | |
246 | "40: is =%%trillions=;\n" | |
247 | "41: =%%trillions=;\n" | |
248 | "50: is =%%trillions=;\n" | |
249 | "51: =%%trillions=;\n" | |
250 | "60: is =%%trillions=;\n" | |
251 | "61: =%%trillions=;\n" | |
252 | "70: is =%%trillions=;\n" | |
253 | "71: =%%trillions=;\n" | |
254 | "80: is =%%trillions=;\n" | |
255 | "81: =%%trillions=;\n" | |
256 | "90: is =%%trillions=;\n" | |
257 | "91: =%%trillions=;\n" | |
258 | ||
259 | "%%lenient-parse:\n" | |
260 | "& ' ' , ',' ;\n" | |
261 | } | |
262 | ||
263 | // This rule set formats a number of seconds in sexagesimal notation | |
264 | // (i.e., hours, minutes, and seconds). %with-words formats it with | |
265 | // words (3,740 is "1 uair, 2 nóiméad, 20 soicind") and %in-numerals | |
266 | // formats it entirely in numerals (3,740 is "1:02:20"). | |
267 | // (Based on en rules) | |
268 | DurationRules { | |
269 | // main rule set for formatting with words | |
270 | "%with-words:\n" | |
271 | // seconds | |
272 | "=0= soicind;\n" | |
273 | // use %%min to format values greater than 60 seconds | |
274 | "60/60: <%%min<[, >>];\n" | |
275 | // use %%hr to format values greater than 3,600 seconds | |
276 | // (the ">>>" below causes us to see the number of minutes | |
277 | // when when there are zero minutes) | |
278 | "3600/60: <%%hr<[, >>>];\n" | |
279 | // minutes | |
280 | "%%min:\n" | |
281 | "=0= nóiméad;\n" | |
282 | // hours | |
283 | "%%hr:\n" | |
284 | // casta -- fch. l.40 Caighdeán Oifigiúil | |
285 | "0: =0= uair;\n" | |
286 | "3: =0= huaire;\n" | |
287 | "5: =0= uaire;\n" | |
288 | "6: =0= huaire;\n" | |
289 | "7: =0= n-uaire;\n" | |
290 | "10: =0= n-uair;\n" | |
291 | "11: =0= >%%uaire>;\n" | |
292 | // Tricky bit: next rule does numbers ending in 0; see Gillam's paper | |
293 | // where it explains minor substitutions for 101 to understand. | |
294 | "20: =0= uair; =0= >%%uaire>;\n" | |
295 | ||
296 | // "uaire", except after nos. ending in 1, 2 or 0 when "uair" | |
297 | "%%uaire:\n" | |
298 | "1: uair;\n" | |
299 | "3: huaire;\n" | |
300 | "5: uaire;\n" | |
301 | "6: huaire;\n" | |
302 | "7: n-uaire;\n" | |
303 | ||
304 | // rules giving hh:mm:ss with all fields shown always | |
305 | "%hms:\n" | |
306 | "0: :=00=;\n" | |
307 | "60/60: :<00<>>>;\n" | |
308 | "3600/60: <#,##0<>>>;\n" | |
309 | ||
310 | // main rule set for formatting in numerals | |
311 | "%in-numerals:\n" | |
312 | // values below 60 seconds are shown with "s" | |
313 | "=0=s;\n" | |
314 | // higher values are shown with colons: %%min-sec is used for | |
315 | // values below 3,600 seconds... | |
316 | "60: =%%min-sec=;\n" | |
317 | // ...and %%hr-min-sec is used for values of 3,600 seconds | |
318 | // and above | |
319 | "3600: =%%hr-min-sec=;\n" | |
320 | // this rule causes values of less than 10 minutes to show without | |
321 | // a leading zero | |
322 | "%%min-sec:\n" | |
323 | "0: :=00=;\n" | |
324 | "60/60: <0<>>;\n" | |
325 | // this rule set is used for values of 3,600 or more. Minutes are always | |
326 | // shown, and always shown with two digits | |
327 | "%%hr-min-sec:\n" | |
328 | "0: :=00=;\n" | |
329 | "60/60: <00<>>;\n" | |
330 | "3600/60: <#,##0<:>>>;\n" | |
331 | // the lenient-parse rules allow several different characters to be used | |
332 | // as delimiters between hours, minutes, and seconds | |
333 | "%%lenient-parse:\n" | |
334 | "& ':' = '.' = ' ' = '-';\n" | |
335 | } | |
336 | ||
337 | } |