﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/zu.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/zu.xml
 */
zu{
    Countries{
        001{"Umhlaba"}
        002{"i-Africa"}
        003{"e-North America"}
        005{"i-South America"}
        009{"i-Oceania"}
        011{"e-Western Africa"}
        013{"i-Central America"}
        014{"e-Eastern Africa"}
        015{"e-Northern Africa"}
        017{"e-Middle Africa"}
        018{"e-Southern Africa"}
        019{"Americas"}
        021{"e-Northern America"}
        029{"i-Caribbean"}
        030{"e-Eastern Asia"}
        034{"e-Southern Asia"}
        035{"e-South-Eastern Asia"}
        039{"e-Southern Europe"}
        053{"I-Australasia"}
        054{"i-Melanesia"}
        057{"e-Micronesian Region"}
        061{"i-Polynesia"}
        142{"i-Asia"}
        143{"i-Central Asia"}
        145{"e-Western Asia"}
        150{"i-Europe"}
        151{"e-Eastern Europe"}
        154{"e-Northern Europe"}
        155{"e-Western Europe"}
        419{"i-Latin America"}
        AC{"i-Ascension Island"}
        AD{"i-Andorra"}
        AE{"i-United Arab Emirates"}
        AF{"i-Afghanistan"}
        AG{"i-Antigua and Barbuda"}
        AI{"i-Anguilla"}
        AL{"i-Albania"}
        AM{"i-Armenia"}
        AN{"i-Netherlands Antilles"}
        AO{"i-Angola"}
        AQ{"i-Antarctica"}
        AR{"i-Argentina"}
        AS{"i-American Samoa"}
        AT{"i-Austria"}
        AU{"i-Australia"}
        AW{"i-Aruba"}
        AX{"i-Åland Islands"}
        AZ{"i-Azerbaijan"}
        BA{"i-Bosnia ne-Herzegovina"}
        BB{"i-Barbados"}
        BD{"i-Bangladesh"}
        BE{"i-Belgium"}
        BF{"i-Burkina Faso"}
        BG{"i-Bulgaria"}
        BH{"i-Bahrain"}
        BI{"i-Burundi"}
        BJ{"i-Benin"}
        BL{"i-Saint Barthélemy"}
        BM{"i-Bermuda"}
        BN{"i-Brunei"}
        BO{"i-Bolivia"}
        BQ{"I-Caribbean Netherlands"}
        BR{"i-Brazil"}
        BS{"i-Bahamas"}
        BT{"i-Bhutan"}
        BV{"i-Bouvet Island"}
        BW{"i-Botswana"}
        BY{"i-Belarus"}
        BZ{"i-Belize"}
        CA{"i-Canada"}
        CC{"i-Cocos (Keeling) Islands"}
        CD{"e-Congo - Kinshasa"}
        CF{"i-Central African Republic"}
        CG{"e-Congo - Brazzaville"}
        CH{"i-Switzerland"}
        CI{"i-Côte d’Ivoire"}
        CK{"i-Cook Islands"}
        CL{"i-Chile"}
        CM{"i-Cameroon"}
        CN{"i-China"}
        CO{"i-Colombia"}
        CP{"i-Clipperton Island"}
        CR{"i-Costa Rica"}
        CU{"i-Cuba"}
        CV{"i-Cape Verde"}
        CW{"I-Curaçao"}
        CX{"i-Christmas Island"}
        CY{"i-Cyprus"}
        CZ{"i-Czech Republic"}
        DE{"i-Germany"}
        DG{"e-Diego Garcia"}
        DJ{"i-Djibouti"}
        DK{"i-Denmark"}
        DM{"i-Dominica"}
        DO{"i-Dominican Republic"}
        DZ{"i-Algeria"}
        EA{"i-Cueta ne-Melilla"}
        EC{"i-Ecuador"}
        EE{"i-Estonia"}
        EG{"i-Egypt"}
        EH{"i-Western Sahara"}
        ER{"i-Eritrea"}
        ES{"i-Spain"}
        ET{"i-Ethiopia"}
        EU{"i-European Union"}
        FI{"i-Finland"}
        FJ{"i-Fiji"}
        FK{"i-Falkland Islands"}
        FM{"i-Micronesia"}
        FO{"i-Faroe Islands"}
        FR{"i-France"}
        GA{"i-Gabon"}
        GB{"i-United Kingdom"}
        GD{"i-Grenada"}
        GE{"i-Georgia"}
        GF{"isi-French Guiana"}
        GG{"I-Guernsey"}
        GH{"i-Ghana"}
        GI{"i-Gibraltar"}
        GL{"i-Greenland"}
        GM{"i-Gambia"}
        GN{"i-Guinea"}
        GP{"i-Guadeloupe"}
        GQ{"i-Equatorial Guinea"}
        GR{"i-Greece"}
        GS{"i-South Georgia ne-South Sandwich Islands"}
        GT{"i-Guatemala"}
        GU{"i-Guam"}
        GW{"i-Guinea-Bissau"}
        GY{"i-Guyana"}
        HK{"e-Hong Kong SAR China"}
        HM{"i-Heard Island ne-McDonald Islands"}
        HN{"i-Honduras"}
        HR{"i-Croatia"}
        HT{"i-Haiti"}
        HU{"i-Hungary"}
        IC{"i-Canary Islands"}
        ID{"i-Indonesia"}
        IE{"i-Ireland"}
        IL{"i-Israel"}
        IM{"i-Isle of Man"}
        IN{"i-India"}
        IO{"i-British Indian Ocean Territory"}
        IQ{"i-Iraq"}
        IR{"i-Iran"}
        IS{"i-Iceland"}
        IT{"i-Italy"}
        JE{"isi-Jersey"}
        JM{"i-Jamaica"}
        JO{"i-Jordan"}
        JP{"i-Japan"}
        KE{"i-Kenya"}
        KG{"i-Kyrgyzstan"}
        KH{"i-Cambodia"}
        KI{"i-Kiribati"}
        KM{"i-Comoros"}
        KN{"i-Saint Kitts ne-Nevis"}
        KP{"i-North Korea"}
        KR{"i-South Korea"}
        KW{"i-Kuwait"}
        KY{"i-Cayman Islands"}
        KZ{"i-Kazakhstan"}
        LA{"i-Laos"}
        LB{"i-Lebanon"}
        LC{"i-Saint Lucia"}
        LI{"i-Liechtenstein"}
        LK{"i-Sri Lanka"}
        LR{"i-Liberia"}
        LS{"i-Lesotho"}
        LT{"i-Lithuania"}
        LU{"i-Luxembourg"}
        LV{"i-Latvia"}
        LY{"i-Libya"}
        MA{"i-Morocco"}
        MC{"i-Monaco"}
        MD{"i-Moldova"}
        ME{"i-Montenegro"}
        MF{"i-Saint Martin"}
        MG{"i-Madagascar"}
        MH{"i-Marshall Islands"}
        MK{"I-Macedonia"}
        ML{"i-Mali"}
        MM{"e-Myanmar [Burma]"}
        MN{"i-Mongolia"}
        MO{"i-Macau SAR China"}
        MP{"i-Northern Mariana Islands"}
        MQ{"i-Martinique"}
        MR{"i-Mauritania"}
        MS{"i-Montserrat"}
        MT{"i-Malta"}
        MU{"i-Mauritius"}
        MV{"i-Maldives"}
        MW{"i-Malawi"}
        MX{"i-Mexico"}
        MY{"i-Malaysia"}
        MZ{"i-Mozambique"}
        NA{"i-Namibia"}
        NC{"i-New Caledonia"}
        NE{"i-Niger"}
        NF{"i-Norfolk Island"}
        NG{"i-Nigeria"}
        NI{"i-Nicaragua"}
        NL{"i-Netherlands"}
        NO{"i-Norway"}
        NP{"i-Nepal"}
        NR{"i-Nauru"}
        NU{"i-Niue"}
        NZ{"i-New Zealand"}
        OM{"i-Oman"}
        PA{"i-Panama"}
        PE{"i-Peru"}
        PF{"i-French Polynesia"}
        PG{"i-Papua New Guinea"}
        PH{"i-Philippines"}
        PK{"i-Pakistan"}
        PL{"i-Poland"}
        PM{"i-Saint Pierre kanye ne-Miquelon"}
        PN{"i-Pitcairn Islands"}
        PR{"i-Puerto Rico"}
        PS{"i-Palestinian Territories"}
        PT{"i-Portugal"}
        PW{"i-Palau"}
        PY{"i-Paraguay"}
        QA{"i-Qatar"}
        QO{"i-Outlying Oceania"}
        RE{"i-Réunion"}
        RO{"i-Romania"}
        RS{"i-Serbia"}
        RU{"i-Russia"}
        RW{"i-Rwanda"}
        SA{"i-Saudi Arabia"}
        SB{"i-Solomon Islands"}
        SC{"i-Seychelles"}
        SD{"i-Sudan"}
        SE{"i-Sweden"}
        SG{"i-Singapore"}
        SH{"i-Saint Helena"}
        SI{"i-Slovenia"}
        SJ{"I-Svalbard ne-Jan Mayen"}
        SK{"i-Slovakia"}
        SL{"i-Sierra Leone"}
        SM{"i-San Marino"}
        SN{"i-Senegal"}
        SO{"i-Somalia"}
        SR{"i-Suriname"}
        SS{"Iningizimu Sudan"}
        ST{"i-São Tomé kanye ne-Príncipe"}
        SV{"i-El Salvador"}
        SX{"I-Sint Maarten"}
        SY{"i-Syria"}
        SZ{"i-Swaziland"}
        TA{"i-Tristan da Cunha"}
        TC{"i-Turks and Caicos Islands"}
        TD{"i-Chad"}
        TF{"e-French Southern Territories"}
        TG{"i-Togo"}
        TH{"i-Thailand"}
        TJ{"i-Tajikistan"}
        TK{"i-Tokelau"}
        TL{"i-Timor-Leste"}
        TM{"i-Turkmenistan"}
        TN{"i-Tunisia"}
        TO{"i-Tonga"}
        TR{"i-Turkey"}
        TT{"i-Trinidad ne-Tobago"}
        TV{"i-Tuvalu"}
        TW{"i-Taiwan"}
        TZ{"i-Tanzania"}
        UA{"i-Ukraine"}
        UG{"i-Uganda"}
        UM{"e-U.S. Minor Outlying Islands"}
        US{"i-United States"}
        UY{"i-Uruguay"}
        UZ{"i-Uzbekistan"}
        VA{"i-Vatican City"}
        VC{"i-Saint Vincent ne-Grenadines"}
        VE{"i-Venezuela"}
        VG{"i-British Virgin Islands"}
        VI{"i-U.S. Virgin Islands"}
        VN{"i-Vietnam"}
        VU{"i-Vanuatu"}
        WF{"i-Wallis ne-Futuna"}
        WS{"i-Samoa"}
        XK{"I-Kosovo"}
        YE{"i-Yemen"}
        YT{"i-Mayotte"}
        ZA{"iNingizimu Afrika"}
        ZM{"i-Zambia"}
        ZW{"i-Zimbabwe"}
        ZZ{"Isifunda esingaziwa"}
    }
    Version{"2.0.86.71"}
}
