﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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-Australia ne-New Zealand"}
        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"}
        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"}
        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"}
        ST{"i-São Tomé kanye ne-Príncipe"}
        SV{"i-El Salvador"}
        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"}
        YE{"i-Yemen"}
        YT{"i-Mayotte"}
        ZA{"iNingizimu Afrika"}
        ZM{"i-Zambia"}
        ZW{"i-Zimbabwe"}
        ZZ{"Isifunda esingaziwa"}
    }
    Version{"2.0.58.79"}
}
