﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pt.xml
// *
// ***************************************************************************
pt{
    Countries{
        001{"Mundo"}
        002{"África"}
        003{"América do Norte"}
        005{"América do Sul"}
        009{"Oceania"}
        011{"África Ocidental"}
        013{"América Central"}
        014{"África Oriental"}
        015{"África do Norte"}
        017{"África Central"}
        018{"África Austral"}
        019{"Américas"}
        021{"América Setentrional"}
        029{"Caribe"}
        030{"Ásia Oriental"}
        034{"Ásia do Sul"}
        035{"Sudeste Asiático"}
        039{"Europa do Sul"}
        053{"Australásia"}
        054{"Melanésia"}
        057{"Região da Micronésia"}
        061{"Polinésia"}
        142{"Ásia"}
        143{"Ásia Central"}
        145{"Ásia Ocidental"}
        150{"Europa"}
        151{"Europa Oriental"}
        154{"Europa Setentrional"}
        155{"Europa Ocidental"}
        419{"América Latina"}
        AC{"Ilha de Ascensão"}
        AD{"Andorra"}
        AE{"Emirados Árabes Unidos"}
        AF{"Afeganistão"}
        AG{"Antígua e Barbuda"}
        AI{"Anguilla"}
        AL{"Albânia"}
        AM{"Armênia"}
        AN{"Antilhas Holandesas"}
        AO{"Angola"}
        AQ{"Antártida"}
        AR{"Argentina"}
        AS{"Samoa Americana"}
        AT{"Áustria"}
        AU{"Austrália"}
        AW{"Aruba"}
        AX{"Ilhas Åland"}
        AZ{"Azerbaijão"}
        BA{"Bósnia e Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Bélgica"}
        BF{"Burquina Faso"}
        BG{"Bulgária"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"São Bartolomeu"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BQ{"Países Baixos Caribenhos"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Butão"}
        BV{"Ilha Bouvet"}
        BW{"Botsuana"}
        BY{"Bielorrússia"}
        BZ{"Belize"}
        CA{"Canadá"}
        CC{"Ilhas Cocos (Keeling)"}
        CD{"Congo - Kinshasa"}
        CF{"República Centro-Africana"}
        CG{"Congo - Brazzaville"}
        CH{"Suíça"}
        CI{"Costa do Marfim"}
        CK{"Ilhas Cook"}
        CL{"Chile"}
        CM{"República dos Camarões"}
        CN{"China"}
        CO{"Colômbia"}
        CP{"Ilha de Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CW{"Curaçao"}
        CX{"Ilha Christmas"}
        CY{"Chipre"}
        CZ{"República Tcheca"}
        DE{"Alemanha"}
        DG{"Diego Garcia"}
        DJ{"Djibuti"}
        DK{"Dinamarca"}
        DM{"Dominica"}
        DO{"República Dominicana"}
        DZ{"Argélia"}
        EA{"Ceuta e Melilha"}
        EC{"Equador"}
        EE{"Estônia"}
        EG{"Egito"}
        EH{"Saara Ocidental"}
        ER{"Eritreia"}
        ES{"Espanha"}
        ET{"Etiópia"}
        EU{"União Europeia"}
        FI{"Finlândia"}
        FJ{"Fiji"}
        FK{"Ilhas Malvinas"}
        FM{"Micronésia"}
        FO{"Ilhas Faroe"}
        FR{"França"}
        GA{"Gabão"}
        GB{"Reino Unido"}
        GD{"Granada"}
        GE{"Geórgia"}
        GF{"Guiana Francesa"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Groenlândia"}
        GM{"Gâmbia"}
        GN{"Guiné"}
        GP{"Guadalupe"}
        GQ{"Guiné Equatorial"}
        GR{"Grécia"}
        GS{"Ilhas Geórgia do Sul e Sandwich do Sul"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guiné-Bissau"}
        GY{"Guiana"}
        HK{"Hong Kong"}
        HM{"Ilhas Heard e McDonald"}
        HN{"Honduras"}
        HR{"Croácia"}
        HT{"Haiti"}
        HU{"Hungria"}
        IC{"Ilhas Canárias"}
        ID{"Indonésia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Ilha de Man"}
        IN{"Índia"}
        IO{"Território Britânico do Oceano Índico"}
        IQ{"Iraque"}
        IR{"Irã"}
        IS{"Islândia"}
        IT{"Itália"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordânia"}
        JP{"Japão"}
        KE{"Quênia"}
        KG{"Quirguistão"}
        KH{"Camboja"}
        KI{"Quiribati"}
        KM{"Comores"}
        KN{"São Cristóvão e Nevis"}
        KP{"Coreia do Norte"}
        KR{"Coreia do Sul"}
        KW{"Kuwait"}
        KY{"Ilhas Cayman"}
        KZ{"Cazaquistã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"}
        ME{"Montenegro"}
        MF{"São Martinho"}
        MG{"Madagascar"}
        MH{"Ilhas Marshall"}
        MK{"Macedônia"}
        ML{"Mali"}
        MM{"Mianmar (Birmânia)"}
        MN{"Mongólia"}
        MO{"Macau"}
        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{"Ilha 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{"Ilhas Pitcairn"}
        PR{"Porto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Catar"}
        QO{"Oceania Remota"}
        RE{"Reunião"}
        RO{"Romênia"}
        RS{"Sérvia"}
        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"}
        SJ{"Svalbard e Jan Mayen"}
        SK{"Eslováquia"}
        SL{"Serra Leoa"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somália"}
        SR{"Suriname"}
        SS{"Sudão do Sul"}
        ST{"São Tomé e Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Síria"}
        SZ{"Suazilândia"}
        TA{"Tristão da Cunha"}
        TC{"Ilhas Turks e Caicos"}
        TD{"Chade"}
        TF{"Territórios Franceses do Sul"}
        TG{"Togo"}
        TH{"Tailândia"}
        TJ{"Tajiquistão"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turcomenistão"}
        TN{"Tunísia"}
        TO{"Tonga"}
        TR{"Turquia"}
        TT{"Trinidad e Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzânia"}
        UA{"Ucrânia"}
        UG{"Uganda"}
        UM{"Ilhas Menores Distantes dos EUA"}
        US{"Estados Unidos"}
        UY{"Uruguai"}
        UZ{"Uzbequistão"}
        VA{"Cidade do Vaticano"}
        VC{"São Vicente e Granadinas"}
        VE{"Venezuela"}
        VG{"Ilhas Virgens Britânicas"}
        VI{"Ilhas Virgens dos EUA"}
        VN{"Vietnã"}
        VU{"Vanuatu"}
        WF{"Wallis e Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Iêmen"}
        YT{"Mayotte"}
        ZA{"África do Sul"}
        ZM{"Zâmbia"}
        ZW{"Zimbábue"}
        ZZ{"Região desconhecida"}
    }
    Countries%short{
        GB{"Reino Unido"}
        US{"EUA"}
    }
    Countries%variant{
        CD{"República Democrática do Congo"}
        CG{"Congo"}
        FK{"Ilhas Falkland (Ilhas Malvinas)"}
        MK{"Macedônia (Antiga República Iugoslava da Macedônia - ARIM)"}
        TL{"República Democrática de Timor-Leste"}
    }
    Version{"2.1.19.17"}
}
