﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/es.xml
 */
es{
    Countries{
        001{"Mundo"}
        002{"África"}
        003{"América del Norte"}
        005{"Suramérica"}
        009{"Oceanía"}
        011{"África occidental"}
        013{"Centroamérica"}
        014{"África oriental"}
        015{"África septentrional"}
        017{"África central"}
        018{"África meridional"}
        019{"Américas"}
        021{"Norteamérica"}
        029{"Caribe"}
        030{"Asia oriental"}
        034{"Asia meridional"}
        035{"Sudeste asiático"}
        039{"Europa meridional"}
        053{"Australasia"}
        054{"Melanesia"}
        057{"Región de Micronesia"}
        061{"Polinesia"}
        142{"Asia"}
        143{"Asia central"}
        145{"Asia occidental"}
        150{"Europa"}
        151{"Europa oriental"}
        154{"Europa septentrional"}
        155{"Europa occidental"}
        419{"Latinoamérica"}
        AC{"Isla de la Ascensión"}
        AD{"Andorra"}
        AE{"Emiratos Árabes Unidos"}
        AF{"Afganistán"}
        AG{"Antigua y Barbuda"}
        AI{"Anguila"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antillas Neerlandesas"}
        AO{"Angola"}
        AQ{"Antártida"}
        AR{"Argentina"}
        AS{"Samoa Americana"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Islas Åland"}
        AZ{"Azerbaiyán"}
        BA{"Bosnia-Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bélgica"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahréin"}
        BI{"Burundi"}
        BJ{"Benín"}
        BL{"San Bartolomé"}
        BM{"Bermudas"}
        BN{"Brunéi"}
        BO{"Bolivia"}
        BQ{"Caribe neerlandés"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Bután"}
        BV{"Isla Bouvet"}
        BW{"Botsuana"}
        BY{"Bielorrusia"}
        BZ{"Belice"}
        CA{"Canadá"}
        CC{"Islas Cocos"}
        CD{"República Democrática del Congo"}
        CF{"República Centroafricana"}
        CG{"Congo - Brazzaville"}
        CH{"Suiza"}
        CI{"Costa de Marfil"}
        CK{"Islas Cook"}
        CL{"Chile"}
        CM{"Camerún"}
        CN{"China"}
        CO{"Colombia"}
        CP{"Isla Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CW{"Curazao"}
        CX{"Isla Christmas"}
        CY{"Chipre"}
        CZ{"República Checa"}
        DE{"Alemania"}
        DG{"Diego García"}
        DJ{"Yibuti"}
        DK{"Dinamarca"}
        DM{"Dominica"}
        DO{"República Dominicana"}
        DZ{"Argelia"}
        EA{"Ceuta y Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Egipto"}
        EH{"Sáhara Occidental"}
        ER{"Eritrea"}
        ES{"España"}
        ET{"Etiopía"}
        EU{"Unión Europea"}
        FI{"Finlandia"}
        FJ{"Fiyi"}
        FK{"Islas Malvinas"}
        FM{"Micronesia"}
        FO{"Islas Feroe"}
        FR{"Francia"}
        GA{"Gabón"}
        GB{"Reino Unido"}
        GD{"Granada"}
        GE{"Georgia"}
        GF{"Guayana Francesa"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenlandia"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadalupe"}
        GQ{"Guinea Ecuatorial"}
        GR{"Grecia"}
        GS{"Islas Georgia del Sur y Sandwich del Sur"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong"}
        HM{"Islas Heard y McDonald"}
        HN{"Honduras"}
        HR{"Croacia"}
        HT{"Haití"}
        HU{"Hungría"}
        IC{"Islas Canarias"}
        ID{"Indonesia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Isla de Man"}
        IN{"India"}
        IO{"Territorio Británico del Océano Índico"}
        IQ{"Iraq"}
        IR{"Irán"}
        IS{"Islandia"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordania"}
        JP{"Japón"}
        KE{"Kenia"}
        KG{"Kirguistán"}
        KH{"Camboya"}
        KI{"Kiribati"}
        KM{"Comoras"}
        KN{"San Cristóbal y Nieves"}
        KP{"Corea del Norte"}
        KR{"Corea del Sur"}
        KW{"Kuwait"}
        KY{"Islas Caimán"}
        KZ{"Kazajistán"}
        LA{"Laos"}
        LB{"Líbano"}
        LC{"Santa Lucía"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesoto"}
        LT{"Lituania"}
        LU{"Luxemburgo"}
        LV{"Letonia"}
        LY{"Libia"}
        MA{"Marruecos"}
        MC{"Mónaco"}
        MD{"Moldavia"}
        ME{"Montenegro"}
        MF{"San Martín"}
        MG{"Madagascar"}
        MH{"Islas Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar [Birmania]"}
        MN{"Mongolia"}
        MO{"Macao"}
        MP{"Islas Marianas del Norte"}
        MQ{"Martinica"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauricio"}
        MV{"Maldivas"}
        MW{"Malaui"}
        MX{"México"}
        MY{"Malasia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"Nueva Caledonia"}
        NE{"Níger"}
        NF{"Isla Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Países Bajos"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Isla Niue"}
        NZ{"Nueva Zelanda"}
        OM{"Omán"}
        PA{"Panamá"}
        PE{"Perú"}
        PF{"Polinesia Francesa"}
        PG{"Papúa Nueva Guinea"}
        PH{"Filipinas"}
        PK{"Pakistán"}
        PL{"Polonia"}
        PM{"San Pedro y Miquelón"}
        PN{"Islas Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Territorios alejados de Oceanía"}
        RE{"Reunión"}
        RO{"Rumanía"}
        RS{"Serbia"}
        RU{"Rusia"}
        RW{"Ruanda"}
        SA{"Arabia Saudí"}
        SB{"Islas Salomón"}
        SC{"Seychelles"}
        SD{"Sudán"}
        SE{"Suecia"}
        SG{"Singapur"}
        SH{"Santa Elena"}
        SI{"Eslovenia"}
        SJ{"Svalbard y Jan Mayen"}
        SK{"Eslovaquia"}
        SL{"Sierra Leona"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Sudán del Sur"}
        ST{"Santo Tomé y Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Suazilandia"}
        TA{"Tristán da Cunha"}
        TC{"Islas Turcas y Caicos"}
        TD{"Chad"}
        TF{"Territorios Australes Franceses"}
        TG{"Togo"}
        TH{"Tailandia"}
        TJ{"Tayikistán"}
        TK{"Tokelau"}
        TL{"Timor Oriental"}
        TM{"Turkmenistán"}
        TN{"Túnez"}
        TO{"Tonga"}
        TR{"Turquía"}
        TT{"Trinidad y Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwán"}
        TZ{"Tanzania"}
        UA{"Ucrania"}
        UG{"Uganda"}
        UM{"Islas menores alejadas de los Estados Unidos"}
        US{"Estados Unidos"}
        UY{"Uruguay"}
        UZ{"Uzbekistán"}
        VA{"Ciudad del Vaticano"}
        VC{"San Vicente y las Granadinas"}
        VE{"Venezuela"}
        VG{"Islas Vírgenes Británicas"}
        VI{"Islas Vírgenes de los Estados Unidos"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis y Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Sudáfrica"}
        ZM{"Zambia"}
        ZW{"Zimbabue"}
        ZZ{"Región desconocida"}
    }
    Version{"2.0.82.47"}
}
