| /* |
| ******************************************************************************* |
| * Copyright (C) 1996-2000, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| * |
| * $Source: /xsrl/Nsvn/icu/icu4j/src/com/ibm/icu/impl/data/Attic/NumberFormatRules_de.java,v $ |
| * $Date: 2002/02/16 03:05:52 $ |
| * $Revision: 1.4 $ |
| * |
| ***************************************************************************************** |
| */ |
| package com.ibm.icu.impl.data; |
| |
| import java.util.ListResourceBundle; |
| |
| /** |
| * RuleBasedNumberFormat data for German |
| * |
| * @author Richard Gillam |
| * @version $Version$ $Date: 2002/02/16 03:05:52 $ |
| */ |
| public class NumberFormatRules_de extends ListResourceBundle { |
| /** |
| * Puts a copyright in the .class file |
| */ |
| private static final String copyrightNotice |
| = "Copyright \u00a91997-1998 IBM Corp. All rights reserved."; |
| |
| public Object[][] getContents() { |
| return contents; |
| } |
| |
| Object[][] contents = { |
| /** |
| * Spellout rules for German. German also adds some interesting |
| * characteristics. For values below 1,000,000, numbers are customarily |
| * written out as a single word. And the ones digit PRECEDES the tens |
| * digit (e.g., 23 is "dreiundzwanzig," not "zwanzigunddrei"). |
| */ |
| { "SpelloutRules", |
| // 1 is "eins" when by itself, but turns into "ein" in most |
| // combinations |
| "%alt-ones:\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" |
| + " 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" |
| + " & ae , \u00e4 & ae , \u00c4\n" |
| + " & oe , \u00f6 & oe , \u00d6\n" |
| + " & ue , \u00fc & ue , \u00dc\n" |
| } |
| |
| // 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? And again, I'm missing information on negative numbers and |
| // decimals. |
| }; |
| } |
| |