﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/de.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/de.xml
 */
de{
    Countries{
        001{"Welt"}
        002{"Afrika"}
        003{"Nordamerika"}
        005{"Südamerika"}
        009{"Ozeanien"}
        011{"Westafrika"}
        013{"Mittelamerika"}
        014{"Ostafrika"}
        015{"Nordafrika"}
        017{"Zentralafrika"}
        018{"Südliches Afrika"}
        019{"Amerika"}
        021{"Nördliches Amerika"}
        029{"Karibik"}
        030{"Ostasien"}
        034{"Südasien"}
        035{"Südostasien"}
        039{"Südeuropa"}
        053{"Australien und Neuseeland"}
        054{"Melanesien"}
        057{"Mikronesisches Inselgebiet"}
        061{"Polynesien"}
        062{"Süd-Zentralasien"}
        142{"Asien"}
        143{"Zentralasien"}
        145{"Westasien"}
        150{"Europa"}
        151{"Osteuropa"}
        154{"Nordeuropa"}
        155{"Westeuropa"}
        172{"Gemeinschaft Unabhängiger Staaten"}
        419{"Lateinamerika und Karibik"}
        830{"Kanalinseln"}
        AD{"Andorra"}
        AE{"Vereinigte Arabische Emirate"}
        AF{"Afghanistan"}
        AG{"Antigua und Barbuda"}
        AI{"Anguilla"}
        AL{"Albanien"}
        AM{"Armenien"}
        AN{"Niederländische Antillen"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentinien"}
        AS{"Amerikanisch-Samoa"}
        AT{"Österreich"}
        AU{"Australien"}
        AW{"Aruba"}
        AX{"Alandinseln"}
        AZ{"Aserbaidschan"}
        BA{"Bosnien und Herzegowina"}
        BB{"Barbados"}
        BD{"Bangladesch"}
        BE{"Belgien"}
        BF{"Burkina Faso"}
        BG{"Bulgarien"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei Darussalam"}
        BO{"Bolivien"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetinsel"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosinseln"}
        CD{"Demokratische Republik Kongo"}
        CF{"Zentralafrikanische Republik"}
        CG{"Kongo"}
        CH{"Schweiz"}
        CI{"Côte d’Ivoire"}
        CK{"Cookinseln"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolumbien"}
        CR{"Costa Rica"}
        CS{"Serbien und Montenegro"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CX{"Weihnachtsinsel"}
        CY{"Zypern"}
        CZ{"Tschechische Republik"}
        DE{"Deutschland"}
        DJ{"Dschibuti"}
        DK{"Dänemark"}
        DM{"Dominica"}
        DO{"Dominikanische Republik"}
        DZ{"Algerien"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Ägypten"}
        EH{"Westsahara"}
        ER{"Eritrea"}
        ES{"Spanien"}
        ET{"Äthiopien"}
        FI{"Finnland"}
        FJ{"Fidschi"}
        FK{"Falklandinseln"}
        FM{"Mikronesien"}
        FO{"Färöer"}
        FR{"Frankreich"}
        GA{"Gabun"}
        GB{"Vereinigtes Königreich"}
        GD{"Grenada"}
        GE{"Georgien"}
        GF{"Französisch-Guayana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grönland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Äquatorialguinea"}
        GR{"Griechenland"}
        GS{"Südgeorgien und die Südlichen Sandwichinseln"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Sonderverwaltungszone Hongkong"}
        HM{"Heard- und McDonald-Inseln"}
        HN{"Honduras"}
        HR{"Kroatien"}
        HT{"Haiti"}
        HU{"Ungarn"}
        ID{"Indonesien"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"Indien"}
        IO{"Britisches Territorium im Indischen Ozean"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italien"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordanien"}
        JP{"Japan"}
        KE{"Kenia"}
        KG{"Kirgisistan"}
        KH{"Kambodscha"}
        KI{"Kiribati"}
        KM{"Komoren"}
        KN{"St. Kitts und Nevis"}
        KP{"Demokratische Volksrepublik Korea"}
        KR{"Republik Korea"}
        KW{"Kuwait"}
        KY{"Kaimaninseln"}
        KZ{"Kasachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litauen"}
        LU{"Luxemburg"}
        LV{"Lettland"}
        LY{"Libyen"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Republik Moldau"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagaskar"}
        MH{"Marshallinseln"}
        MK{"Mazedonien"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolei"}
        MO{"Sonderverwaltungszone Macao"}
        MP{"Nördliche Marianen"}
        MQ{"Martinique"}
        MR{"Mauretanien"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Malediven"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malaysia"}
        MZ{"Mosambik"}
        NA{"Namibia"}
        NC{"Neukaledonien"}
        NE{"Niger"}
        NF{"Norfolkinsel"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Niederlande"}
        NO{"Norwegen"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Neuseeland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Französisch-Polynesien"}
        PG{"Papua-Neuguinea"}
        PH{"Philippinen"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"St. Pierre und Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palästinensische Gebiete"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Äußeres Ozeanien"}
        QU{"Europäische Union"}
        RE{"Réunion"}
        RO{"Rumänien"}
        RS{"Serbien"}
        RU{"Russische Föderation"}
        RW{"Ruanda"}
        SA{"Saudi-Arabien"}
        SB{"Salomonen"}
        SC{"Seychellen"}
        SD{"Sudan"}
        SE{"Schweden"}
        SG{"Singapur"}
        SH{"St. Helena"}
        SI{"Slowenien"}
        SJ{"Svalbard und Jan Mayen"}
        SK{"Slowakei"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        ST{"São Tomé und Príncipe"}
        SV{"El Salvador"}
        SY{"Syrien"}
        SZ{"Swasiland"}
        TC{"Turks- und Caicosinseln"}
        TD{"Tschad"}
        TF{"Französische Süd- und Antarktisgebiete"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadschikistan"}
        TK{"Tokelau"}
        TL{"Osttimor"}
        TM{"Turkmenistan"}
        TN{"Tunesien"}
        TO{"Tonga"}
        TR{"Türkei"}
        TT{"Trinidad und Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansania"}
        UA{"Ukraine"}
        UG{"Uganda"}
        UM{"Amerikanisch-Ozeanien"}
        US{"Vereinigte Staaten"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikanstadt"}
        VC{"St. Vincent und die Grenadinen"}
        VE{"Venezuela"}
        VG{"Britische Jungferninseln"}
        VI{"Amerikanische Jungferninseln"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis und Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Südafrika"}
        ZM{"Sambia"}
        ZW{"Simbabwe"}
        ZZ{"Unbekannte oder ungültige Region"}
    }
    Version{"2.0.42.82"}
}
