﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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"}
        142{"Asien"}
        143{"Zentralasien"}
        145{"Westasien"}
        150{"Europa"}
        151{"Osteuropa"}
        154{"Nordeuropa"}
        155{"Westeuropa"}
        419{"Lateinamerika"}
        AC{"Ascension"}
        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"}
        BQ{"Karibische Niederlande"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetinsel"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosinseln"}
        CD{"Kongo-Kinshasa"}
        CF{"Zentralafrikanische Republik"}
        CG{"Kongo-Brazzaville"}
        CH{"Schweiz"}
        CI{"Côte d’Ivoire"}
        CK{"Cookinseln"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolumbien"}
        CP{"Clipperton-Insel"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CW{"Curaçao"}
        CX{"Weihnachtsinsel"}
        CY{"Zypern"}
        CZ{"Tschechische Republik"}
        DE{"Deutschland"}
        DG{"Diego Garcia"}
        DJ{"Dschibuti"}
        DK{"Dänemark"}
        DM{"Dominica"}
        DO{"Dominikanische Republik"}
        DZ{"Algerien"}
        EA{"Ceuta und Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Ägypten"}
        EH{"Westsahara"}
        ER{"Eritrea"}
        ES{"Spanien"}
        ET{"Äthiopien"}
        EU{"Europäische Union"}
        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"}
        IC{"Kanarische Inseln"}
        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{"Pitcairninseln"}
        PR{"Puerto Rico"}
        PS{"Palästinensische Autonomiegebiete"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Äußeres Ozeanien"}
        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"}
        SS{"Südsudan"}
        ST{"São Tomé und Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syrien"}
        SZ{"Swasiland"}
        TA{"Tristan da Cunha"}
        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 Region"}
    }
    Version{"2.0.78.47"}
}
