2004-07-14 18:35:16 +00:00
|
|
|
// ***************************************************************************
|
|
|
|
// *
|
2007-08-10 19:20:48 +00:00
|
|
|
// * Copyright (C) 2004, 2007 International Business Machines
|
2004-07-14 18:35:16 +00:00
|
|
|
// * Corporation and others. All Rights Reserved.
|
|
|
|
// *
|
|
|
|
// ***************************************************************************
|
|
|
|
//
|
|
|
|
|
|
|
|
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"
|
2007-08-10 19:20:48 +00:00
|
|
|
"1100: tausendein[>%alt-ones>];\n"
|
|
|
|
"1200: tausend[>%alt-ones>];\n"
|
2004-07-14 18:35:16 +00:00
|
|
|
"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"
|
|
|
|
}
|
|
|
|
}
|