﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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"}
        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 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"}
        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, RAE 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{"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, RAE 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{"Ilhas 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"}
        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{"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 Distantes dos EUA"}
        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"}
        XK{"Kosovo"}
        YE{"Iêmen"}
        YT{"Mayotte"}
        ZA{"África do Sul"}
        ZM{"Zâmbia"}
        ZW{"Zimbábue"}
        ZZ{"Região desconhecida"}
    }
    Version{"2.0.86.71"}
}
