﻿// ***************************************************************************
// *
// * 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/pt.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/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{"Ásia Centro-Oriental"}
        039{"Europa do Sul"}
        053{"Austrália e Nova Zelândia"}
        054{"Melanésia"}
        057{"Região da Micronésia"}
        061{"Polinésia"}
        062{"Ásia Centro-Meridional"}
        142{"Ásia"}
        143{"Ásia Central"}
        145{"Ásia Ocidental"}
        150{"Europa"}
        151{"Europa Oriental"}
        154{"Europa Setentrional"}
        155{"Europa Ocidental"}
        172{"Comunidade dos Estados Independentes"}
        419{"América Latina e Caribe"}
        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 Aland"}
        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"}
        BL{"São Bartolomeu"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Butão"}
        BV{"Ilha Bouvet"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Canadá"}
        CC{"Ilhas Coco"}
        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"}
        CS{"Sérvia e Montenegro"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CX{"Ilhas Natal"}
        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{"Groênlandia"}
        GM{"Gâmbia"}
        GN{"Guiné"}
        GP{"Guadalupe"}
        GQ{"Guiné Equatorial"}
        GR{"Grécia"}
        GS{"Geórgia do Sul e Ilhas Sandwich do Sul"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guiné Bissau"}
        GY{"Guiana"}
        HK{"Hong Kong, Região Admin. Especial da China"}
        HM{"Ilha Heard e Ilhas 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 Cristovão e Nevis"}
        KP{"Coreia do Norte"}
        KR{"Coreia do Sul"}
        KW{"Kuwait"}
        KY{"Ilhas Caiman"}
        KZ{"Casaquistão"}
        LA{"República Popular Democrática do 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, Região Admin. Especial da China"}
        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{"Pitcairn"}
        PR{"Porto Rico"}
        PS{"Territórios palestinos"}
        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"}
        ST{"São Tomé e Príncipe"}
        SV{"El Salvador"}
        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{"Tadjiquistã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 Estados Unidos"}
        US{"Estados Unidos"}
        UY{"Uruguai"}
        UZ{"Uzbequistão"}
        VA{"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"}
        YE{"Iêmen"}
        YT{"Mayotte"}
        ZA{"África do Sul"}
        ZM{"Zâmbia"}
        ZW{"Zimbábue"}
        ZZ{"Região desconhecida ou inválida"}
    }
    Version{"2.0.51.59"}
}
