﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/seh.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/seh.xml
 */
seh{
    Countries{
        AD{"Andorra"}
        AE{"Reino Unido"}
        AF{"Afeganistão"}
        AG{"Antígua e Barbuda"}
        AI{"Anguilla"}
        AL{"Albânia"}
        AM{"Armênia"}
        AN{"Antilhas Holandesas"}
        AO{"Angola"}
        AR{"Argentina"}
        AS{"Samoa Americana"}
        AT{"Áustria"}
        AU{"Austrália"}
        AW{"Aruba"}
        AZ{"Azerbaijão"}
        BA{"Bósnia-Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bélgica"}
        BF{"Burquina Faso"}
        BG{"Bulgária"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Butão"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Canadá"}
        CD{"Congo-Kinshasa"}
        CF{"República Centro-Africana"}
        CG{"Congo"}
        CH{"Suíça"}
        CI{"Costa do Marfim"}
        CK{"Ilhas Cook"}
        CL{"Chile"}
        CM{"República dos Camarões"}
        CN{"China"}
        CO{"Colômbia"}
        CR{"Costa Rica"}
        CS{"Sérvia e Montenegro"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CY{"Chipre"}
        CZ{"República Tcheca"}
        DE{"Alemanha"}
        DJ{"Djibuti"}
        DK{"Dinamarca"}
        DM{"Dominica"}
        DO{"República Dominicana"}
        DZ{"Argélia"}
        EC{"Equador"}
        EE{"Estônia"}
        EG{"Egito"}
        ER{"Eritréia"}
        ES{"Espanha"}
        ET{"Etiópia"}
        FI{"Finlândia"}
        FJ{"Fiji"}
        FK{"Ilhas Malvinas"}
        FM{"Micronésia"}
        FR{"França"}
        GA{"Gabão"}
        GB{"Uruguai"}
        GD{"Granada"}
        GE{"Geórgia"}
        GF{"Guiana Francesa"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Groênlandia"}
        GM{"Gâmbia"}
        GN{"Guiné"}
        GP{"Guadalupe"}
        GQ{"Guiné Equatorial"}
        GR{"Grécia"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guiné Bissau"}
        GY{"Guiana"}
        HN{"Honduras"}
        HR{"Croácia"}
        HT{"Haiti"}
        HU{"Hungria"}
        ID{"Indonésia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IN{"Índia"}
        IO{"Território Britânico do Oceano Índico"}
        IQ{"Iraque"}
        IR{"Irã"}
        IS{"Islândia"}
        IT{"Itália"}
        JM{"Jamaica"}
        JO{"Jordânia"}
        JP{"Japão"}
        KE{"Quênia"}
        KG{"Quirguistão"}
        KH{"Camboja"}
        KI{"Quiribati"}
        KM{"Comores"}
        KN{"São Cristovão e Nevis"}
        KP{"Coréia do Norte"}
        KR{"Coréia do Sul"}
        KW{"Kuwait"}
        KY{"Ilhas Caiman"}
        KZ{"Casaquistão"}
        LA{"Laos"}
        LB{"Líbano"}
        LC{"Santa Lúcia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Libéria"}
        LS{"Lesoto"}
        LT{"Lituânia"}
        LU{"Luxemburgo"}
        LV{"Letônia"}
        LY{"Líbia"}
        MA{"Marrocos"}
        MC{"Mônaco"}
        MD{"Moldávia"}
        MG{"Madagascar"}
        MH{"Ilhas Marshall"}
        MK{"Macedônia"}
        ML{"Mali"}
        MM{"Mianmar"}
        MN{"Mongólia"}
        MP{"Ilhas Marianas do Norte"}
        MQ{"Martinica"}
        MR{"Mauritânia"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Maurício"}
        MV{"Maldivas"}
        MW{"Malawi"}
        MX{"México"}
        MY{"Malásia"}
        MZ{"Moçambique"}
        NA{"Namíbia"}
        NC{"Nova Caledônia"}
        NE{"Níger"}
        NF{"Ilhas Norfolk"}
        NG{"Nigéria"}
        NI{"Nicarágua"}
        NL{"Holanda"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zelândia"}
        OM{"Omã"}
        PA{"Panamá"}
        PE{"Peru"}
        PF{"Polinésia Francesa"}
        PG{"Papua-Nova Guiné"}
        PH{"Filipinas"}
        PK{"Paquistão"}
        PL{"Polônia"}
        PM{"Saint Pierre e Miquelon"}
        PN{"Pitcairn"}
        PR{"Porto Rico"}
        PS{"Território da Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Catar"}
        RE{"Reunião"}
        RO{"Romênia"}
        RU{"Rússia"}
        RW{"Ruanda"}
        SA{"Arábia Saudita"}
        SB{"Ilhas Salomão"}
        SC{"Seychelles"}
        SD{"Sudão"}
        SE{"Suécia"}
        SG{"Cingapura"}
        SH{"Santa Helena"}
        SI{"Eslovênia"}
        SK{"Eslováquia"}
        SL{"Serra Leoa"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somália"}
        SR{"Suriname"}
        ST{"São Tomé e Príncipe"}
        SV{"El Salvador"}
        SY{"Síria"}
        SZ{"Suazilândia"}
        TC{"Tuvalu"}
        TD{"Chade"}
        TG{"Tokelau"}
        TH{"Togo"}
        TJ{"Tadjiquistão"}
        TK{"Tonga"}
        TL{"Timor Leste"}
        TM{"Ilhas Turks e Caicos"}
        TN{"Turquia"}
        TO{"Trinidad e Tobago"}
        TR{"Turcomenistão"}
        TT{"Tunísia"}
        TV{"Ilhas Virgens dos EUA"}
        TW{"Taiwan"}
        TZ{"Tailândia"}
        UA{"Emirados Árabes Unidos"}
        UG{"Ucrânia"}
        US{"Uzbequistão"}
        UY{"Estados Unidos"}
        UZ{"Vanuatu"}
        VA{"Venezuela"}
        VC{"São Vicente e Granadinas"}
        VE{"Vietnã"}
        VG{"Ilhas Virgens Britânicas"}
        VI{"Uganda"}
        VN{"Wallis e Futuna"}
        VU{"Vaticano"}
        WF{"Iêmen"}
        WS{"Samoa"}
        YE{"Zâmbia"}
        YT{"Mayotte"}
        ZA{"África do Sul"}
        ZM{"Zimbábue"}
    }
    Version{"2.0.47.38"}
}
