﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fil.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fil.xml
 */
fil{
    Countries{
        001{"Mundo"}
        002{"Africa"}
        003{"North America"}
        005{"South America"}
        009{"Oceania"}
        011{"Kanlurang Africa"}
        013{"Gitnang Amerika"}
        014{"Silangang Africa"}
        015{"Hilagang Africa"}
        017{"Gitnang Africa"}
        018{"Katimugang Africa"}
        019{"Americas"}
        021{"Hilagang Amerika"}
        029{"Carribbean"}
        030{"Silangang Asya"}
        034{"Katimugang Asya"}
        035{"Timog-Silangang Asya"}
        039{"Katimugang Europa"}
        053{"Australia at New Zealand"}
        054{"Melanesia"}
        057{"Rehiyong Micronesia"}
        061{"Polynesia"}
        142{"Asya"}
        143{"Gitnang Asya"}
        145{"Kanlurang Asya"}
        150{"Europa"}
        151{"Silangang Europa"}
        154{"Hilagang Europa"}
        155{"Kanlurang Europa"}
        419{"Latin America"}
        AC{"Acsencion 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{"Antartica"}
        AR{"Argentina"}
        AS{"American Samoa"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Aland 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{"Curacao"}
        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{"Espanya"}
        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 and The South Sandwich Islands"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong SAR China"}
        HM{"Heard Island and McDonald Islands"}
        HN{"Honduras"}
        HR{"Croatia"}
        HT{"Haiti"}
        HU{"Hungary"}
        IC{"Canary Island"}
        ID{"Indonesia"}
        IE{"Ireland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"British Indian Ocean Territory"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Iceland"}
        IT{"Italya"}
        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{"Pilipinas"}
        PK{"Pakistan"}
        PL{"Poland"}
        PM{"Saint Pierre and Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestinian Territory"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Malayong bahagi ng Oceania"}
        RE{"Réunion"}
        RO{"Romania"}
        RS{"Serbia"}
        RU{"Russian Federation"}
        RW{"Rwanda"}
        SA{"Saudi Arabia"}
        SB{"Solomon Islands"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Sweden"}
        SG{"Singapore"}
        SH{"St. Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard and Jan Mayen Islands"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        SS{"South Sudan"}
        ST{"Sao Tome and Principe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syria"}
        SZ{"Swaziland"}
        TA{"Tristan de 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{"Estados Unidos"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatican City"}
        VC{"Saint Vincent and the Grenadines"}
        VE{"Venezuela"}
        VG{"British Virgin Islands"}
        VI{"U.S. Virgin Islands"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis and the Futuna Islands"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"South Africa"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Hindi kilala o Hindi wastong Rehiyon"}
    }
    Version{"2.0.86.71"}
}
