﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/pt_PT.xml
// *
// ***************************************************************************
pt_PT{
    Countries{
        001{"Mundo"}
        002{"África"}
        003{"América do Norte"}
        005{"América do Sul"}
        009{"Oceânia"}
        011{"África Ocidental"}
        013{"América Central"}
        014{"África Oriental"}
        015{"Norte de África"}
        017{"África Central"}
        018{"África Austral"}
        019{"Américas"}
        021{"América Setentrional"}
        029{"Caraíbas"}
        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 do Norte"}
        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{"Anguila"}
        AL{"Albânia"}
        AM{"Arménia"}
        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{"Barém"}
        BI{"Burundi"}
        BJ{"Benim"}
        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{"Botswana"}
        BY{"Bielorrússia"}
        BZ{"Belize"}
        CA{"Canadá"}
        CC{"Ilhas Cocos"}
        CD{"Congo-Kinshasa"}
        CF{"República Centro-Africana"}
        CG{"Congo-Brazzaville"}
        CH{"Suíça"}
        CI{"Costa do Marfim"}
        CK{"Ilhas Cook"}
        CL{"Chile"}
        CM{"Camarões"}
        CN{"China"}
        CO{"Colômbia"}
        CP{"Ilha de Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Cabo Verde"}
        CW{"Curaçau"}
        CX{"Ilha do Natal"}
        CY{"Chipre"}
        CZ{"República Checa"}
        DE{"Alemanha"}
        DG{"Diego Garcia"}
        DJ{"Jibuti"}
        DK{"Dinamarca"}
        DM{"Domínica"}
        DO{"República Dominicana"}
        DZ{"Argélia"}
        EA{"Ceuta e Melilha"}
        EC{"Equador"}
        EE{"Estónia"}
        EG{"Egipto"}
        EH{"Saara Ocidental"}
        ER{"Eritreia"}
        ES{"Espanha"}
        ET{"Etiópia"}
        EU{"União Europeia"}
        FI{"Finlândia"}
        FJ{"Fiji"}
        FK{"Ilhas Falkland"}
        FM{"Micronésia"}
        FO{"Ilhas Faroé"}
        FR{"França"}
        GA{"Gabão"}
        GB{"Reino Unido"}
        GD{"Granada"}
        GE{"Geórgia"}
        GF{"Guiana Francesa"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Gronelâ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{"Guame"}
        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ão"}
        IS{"Islândia"}
        IT{"Itália"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordânia"}
        JP{"Japão"}
        KE{"Quénia"}
        KG{"Quirguizistão"}
        KH{"Camboja"}
        KI{"Quiribati"}
        KM{"Comoros"}
        KN{"São Cristóvão e Nevis"}
        KP{"Coreia do Norte"}
        KR{"Coreia do Sul"}
        KW{"Kuwait"}
        KY{"Ilhas Caimão"}
        KZ{"Cazaquistão"}
        LA{"Laos"}
        LB{"Líbano"}
        LC{"Santa Lúcia"}
        LI{"Liechtenstein"}
        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{"Madagáscar"}
        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{"Monserrate"}
        MT{"Malta"}
        MU{"Maurícia"}
        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{"Países Baixos"}
        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{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Catar"}
        QO{"Oceânia Insular"}
        RE{"Reunião"}
        RO{"Roménia"}
        RS{"Sérvia"}
        RU{"Rússia"}
        RW{"Ruanda"}
        SA{"Arábia Saudita"}
        SB{"Ilhas Salomão"}
        SC{"Seicheles"}
        SD{"Sudão"}
        SE{"Suécia"}
        SG{"Singapura"}
        SH{"Santa Helena"}
        SI{"Eslovénia"}
        SJ{"Svalbard e Jan Mayen"}
        SK{"Eslováquia"}
        SL{"Serra Leoa"}
        SM{"São 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 Turcas e Caicos"}
        TD{"Chade"}
        TF{"Territórios Franceses do Sul"}
        TG{"Togo"}
        TH{"Tailândia"}
        TJ{"Tajiquistão"}
        TK{"Toquelau"}
        TL{"Timor-Leste"}
        TM{"Turquemenistão"}
        TN{"Tunísia"}
        TO{"Tonga"}
        TR{"Turquia"}
        TT{"Trindade 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{"Cidade do Vaticano"}
        VC{"São Vicente e Granadinas"}
        VE{"Venezuela"}
        VG{"Ilhas Virgens Britânicas"}
        VI{"Ilhas Virgens dos EUA"}
        VN{"Vietname"}
        VU{"Vanuatu"}
        WF{"Wallis e Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Iémen"}
        YT{"Maiote"}
        ZA{"África do Sul"}
        ZM{"Zâmbia"}
        ZW{"Zimbabué"}
        ZZ{"Região desconhecida ou inválida"}
    }
    CountriesShort{
        GB{"RU"}
        US{"EUA"}
    }
    Version{"2.0.98.52"}
}
