﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gl.xml
// *
// ***************************************************************************
gl{
    Countries{
        001{"Mundo"}
        002{"África"}
        003{"Norteamérica"}
        005{"Sudamérica"}
        009{"Oceanía"}
        011{"África Occidental"}
        013{"América Central"}
        014{"África Oriental"}
        015{"África Septentrional"}
        017{"África Central"}
        018{"África Meridional"}
        019{"América"}
        021{"América do Norte"}
        029{"Caribe"}
        030{"Asia Oriental"}
        034{"Sul de Asia"}
        035{"Sureste Asiático"}
        039{"Europa Meridional"}
        053{"Australasia"}
        054{"Melanesia"}
        057{"Rexión da Micronesia"}
        061{"Polinesia"}
        142{"Asia"}
        143{"Asia Central"}
        145{"Asia Occidental"}
        150{"Europa"}
        151{"Europa do Leste"}
        154{"Europa Septentrional"}
        155{"Europa Occidental"}
        419{"América Latina"}
        AC{"Illa de Ascensión"}
        AD{"Andorra"}
        AE{"Emiratos Árabes Unidos"}
        AF{"Afganistán"}
        AG{"Antiga e Barbuda"}
        AI{"Anguila"}
        AL{"Albania"}
        AM{"Armenia"}
        AO{"Angola"}
        AQ{"Antártida"}
        AR{"Arxentina"}
        AS{"Samoa Americana"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Illas Aland"}
        AZ{"Acerbaixán"}
        BA{"Bosnia e Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bélxica"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"San Bartolomé"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Caribe neerlandés"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Bután"}
        BV{"Illa Bouvet"}
        BW{"Botsuana"}
        BY{"Bielorrusia"}
        BZ{"Belice"}
        CA{"Canadá"}
        CC{"Illas Cocos (Keeling)"}
        CD{"República Democrática do Congo"}
        CF{"República Centroafricana"}
        CG{"Congo"}
        CH{"Suíza"}
        CI{"Costa de Marfil"}
        CK{"Illas Cook"}
        CL{"Chile"}
        CM{"Camerún"}
        CN{"China"}
        CO{"Colombia"}
        CP{"Illa Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CW{"Curaçao"}
        CX{"Illa Christmas"}
        CY{"Chipre"}
        CZ{"República Checa"}
        DE{"Alemaña"}
        DG{"Diego García"}
        DJ{"Djibuti"}
        DK{"Dinamarca"}
        DM{"Dominica"}
        DO{"República Dominicana"}
        DZ{"Arxelia"}
        EA{"Ceuta e Melilla"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Exipto"}
        EH{"Sáhara Occidental"}
        ER{"Eritrea"}
        ES{"España"}
        ET{"Etiopía"}
        EU{"Unión Europea"}
        FI{"Finlandia"}
        FJ{"Fixi"}
        FK{"Illas Malvinas"}
        FM{"Micronesia"}
        FO{"Illas Feroe"}
        FR{"Francia"}
        GA{"Gabón"}
        GB{"Reino Unido"}
        GD{"Granada"}
        GE{"Xeorxia"}
        GF{"Güiana Francesa"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Xibraltar"}
        GL{"Grenlandia"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadalupe"}
        GQ{"Guinea Ecuatorial"}
        GR{"Grecia"}
        GS{"Xeorxia do Sur e Illas Sandwich"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Güiana"}
        HK{"Hong Kong RAE de China"}
        HM{"Illa Heard e Illas McDonald"}
        HN{"Honduras"}
        HR{"Croacia"}
        HT{"Haití"}
        HU{"Hungría"}
        IC{"Illas Canarias"}
        ID{"Indonesia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Illa de Man"}
        IN{"India"}
        IO{"Territorio Británico do Océano Índico"}
        IQ{"Iraq"}
        IR{"Irán"}
        IS{"Islandia"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Xamaica"}
        JO{"Xordania"}
        JP{"Xapón"}
        KE{"Kenya"}
        KG{"Quirguicistán"}
        KH{"Cambodia"}
        KI{"Kiribati"}
        KM{"Comores"}
        KN{"San Cristovo e Nevis"}
        KP{"Corea do Norte"}
        KR{"Corea do Sur"}
        KW{"Kuwait"}
        KY{"Illas Caimán"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Líbano"}
        LC{"Santa Lucía"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luxemburgo"}
        LV{"Letonia"}
        LY{"Libia"}
        MA{"Marrocos"}
        MC{"Mónaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"San Martiño"}
        MG{"Madagascar"}
        MH{"Illas Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar (Birmania)"}
        MN{"Mongolia"}
        MO{"Macau RAE de China"}
        MP{"Illas Marianas do norte"}
        MQ{"Martinica"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauricio"}
        MV{"Maldivas"}
        MW{"Malaui"}
        MX{"México"}
        MY{"Malaisia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"Nova Caledonia"}
        NE{"Níxer"}
        NF{"Illa Norfolk"}
        NG{"Nixeria"}
        NI{"Nicaragua"}
        NL{"Países Baixos"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Celandia"}
        OM{"Omán"}
        PA{"Panamá"}
        PE{"Perú"}
        PF{"Polinesia Francesa"}
        PG{"Papúa Nova Guinea"}
        PH{"Filipinas"}
        PK{"Paquistán"}
        PL{"Polonia"}
        PM{"San Pedro e Miguelón"}
        PN{"Illas Pitcairn"}
        PR{"Porto Rico"}
        PS{"Territorios palestinos"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Qatar"}
        QO{"Oceanía Distante"}
        RE{"Reunión"}
        RO{"Romanía"}
        RS{"Serbia"}
        RU{"Rusia"}
        RW{"Ruanda"}
        SA{"Arabia Saudita"}
        SB{"Illas Salomón"}
        SC{"Seixeles"}
        SD{"Sudán"}
        SE{"Suecia"}
        SG{"Singapur"}
        SH{"Santa Helena"}
        SI{"Eslovenia"}
        SJ{"Svalbard e Jan Mayen"}
        SK{"Eslovaquia"}
        SL{"Serra Leoa"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Sudán do sur"}
        ST{"San Tomé e Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Suacilandia"}
        TA{"Tristán da Cunha"}
        TC{"Illas Turks e Caicos"}
        TD{"Chad"}
        TF{"Territorios Franceses do Sul"}
        TG{"Togo"}
        TH{"Tailandia"}
        TJ{"Taxiquistán"}
        TK{"Tokelau"}
        TL{"Timor Leste"}
        TM{"Turkmenistán"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turquía"}
        TT{"Trindade e Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwán"}
        TZ{"Tanzania"}
        UA{"Ucraína"}
        UG{"Uganda"}
        UM{"Illas Menores Distantes dos EUA."}
        US{"Estados Unidos de América"}
        UY{"Uruguai"}
        UZ{"Uzbekistán"}
        VA{"Cidade do Vaticano"}
        VC{"San Vicente e Granadinas"}
        VE{"Venezuela"}
        VG{"Illas Virxes Británicas"}
        VI{"Illas Virxes Estadounidenses"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis e Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Iemen"}
        YT{"Mayotte"}
        ZA{"Sudáfrica"}
        ZM{"Zambia"}
        ZW{"Cimbabue"}
        ZZ{"Rexión descoñecida"}
    }
    Countries%short{
        GB{"RU"}
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"EUA"}
    }
    Countries%variant{
        CD{"Congo (RDC)"}
        CG{"Congo (RC)"}
        CI{"Costa do Marfil"}
        FK{"Illas Malvinas (Falkland)"}
        MK{"Macedonia (ARIM)"}
    }
    Version{"2.1.23.76"}
}
