﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/es_MX.xml
// *
// ***************************************************************************
es_MX{
    %%Parent{"es_419"}
    Countries{
        001{"Mundo"}
        002{"África"}
        003{"América del Norte"}
        005{"Sudamérica"}
        009{"Oceanía"}
        011{"África Occidental"}
        013{"Centroamérica"}
        014{"África Oriental"}
        015{"África del Norte"}
        017{"África Central"}
        018{"África del Sur"}
        019{"Américas"}
        021{"América Septentrional"}
        029{"Caribe"}
        030{"Asia Oriental"}
        034{"Asia del Sur"}
        035{"Sudeste Asiático"}
        039{"Europa del Sur"}
        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 del Norte"}
        155{"Europa Occidental"}
        419{"Latinoamérica"}
        AC{"Isla Ascensión"}
        AD{"Andorra"}
        AE{"Emiratos Árabes Unidos"}
        AF{"Afganistán"}
        AG{"Antigua y Barbuda"}
        AI{"Anguila"}
        AL{"Albania"}
        AM{"Armenia"}
        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{"Baré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 (Keeling)"}
        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 de Navidad"}
        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 Georgias del Sur y Sandwich del Sur"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{
            "Región Administrativa Especial de Hong Kong de la República Popular Chin"
            "a"
        }
        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{"Irak"}
        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{"Región Administrativa Especial de Macao de la República Popular China"}
        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{"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{"Territorios Palestinos"}
        PT{"Portugal"}
        PW{"Palaos"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Islas Ultramarinas"}
        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 de Acuña"}
        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 UltramarinasMenores de 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"}
    }
    CountriesShort{
        HK{"Hong Kong"}
        MO{"Macao"}
        PS{"Palestina"}
        US{"EE. UU."}
    }
    Version{"2.0.98.52"}
}
