// *************************************************************************** // * // * Copyright (C) 2004, International Business Machines // * 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: <%alt-ones>];\n" "1000: tausend[>%alt-ones>];\n" "2000: <%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" } }