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