﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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.82.45"}
}
