﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kea.xml
// *
// ***************************************************************************
kea{
    Countries{
        001{"Mundu"}
        002{"Áfrika"}
        003{"Merka di Norti"}
        005{"Merka di Sul"}
        009{"Oseania"}
        011{"Áfrika Osidental"}
        013{"Merka Sentral"}
        014{"Áfrika Oriental"}
        015{"Norti di Áfrika"}
        017{"Áfrika Sentral"}
        018{"Sul di Áfrika"}
        019{"Merkas"}
        021{"Norti di Merka"}
        029{"Karaibas"}
        030{"Ázia Oriental"}
        034{"Sul di Ázia"}
        035{"Sudesti Aziátiku"}
        039{"Europa di Sul"}
        053{"Australázia"}
        054{"Melanézia"}
        057{"Rejiãu di Mikronézia"}
        061{"Polinézia"}
        142{"Ázia"}
        143{"Ázia Sentral"}
        145{"Ázia Osidental"}
        150{"Europa"}
        151{"Europa Oriental"}
        154{"Europa di Norti"}
        155{"Europa Osidental"}
        419{"Merka Latinu"}
        AC{"Ilha di Asensãu"}
        AD{"Andora"}
        AE{"Emiradus Arabi Unidu"}
        AF{"Afeganistãu"}
        AG{"Antigua i Barbuda"}
        AI{"Angila"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antilhas Olandeza"}
        AO{"Angola"}
        AQ{"Antartika"}
        AR{"Arjentina"}
        AS{"Samoa Merkanu"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Ilhas Åland"}
        AZ{"Azerbaijãu"}
        BA{"Bosnia-Erzegovina"}
        BB{"Barbadus"}
        BD{"Bangladexi"}
        BE{"Béljika"}
        BF{"Burkina Fasu"}
        BG{"Bulgaria"}
        BH{"Barain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Sãu Bartolomeu"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BQ{"Karaibas Olandezas"}
        BR{"Brazil"}
        BS{"Baamas"}
        BT{"Butãu"}
        BV{"Ilha Buve"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belizi"}
        CA{"Kanadá"}
        CC{"Ilhas Kokus"}
        CD{"Kongu - Kinxasa"}
        CF{"Republika Sentru-Afrikanu"}
        CG{"Kongu - Brazavili"}
        CH{"Suisa"}
        CI{"Kosta di Marfin"}
        CK{"Ilhas Kuk"}
        CL{"Xili"}
        CM{"Kamarõis"}
        CN{"Xina"}
        CO{"Kolômbia"}
        CP{"Ilha Kliperton"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Kabu Verdi"}
        CW{"Kurasau"}
        CX{"Ilha di Natal"}
        CY{"Xipri"}
        CZ{"Republika Txeka"}
        DE{"Alimanha"}
        DG{"Diegu Garsia"}
        DJ{"Djibuti"}
        DK{"Dinamarka"}
        DM{"Dominika"}
        DO{"Repúblika Dominikana"}
        DZ{"Arjelia"}
        EA{"Seuta i Melila"}
        EC{"Ekuador"}
        EE{"Stonia"}
        EG{"Ejitu"}
        EH{"Sara Osidental"}
        ER{"Iritreia"}
        ES{"Spanha"}
        ET{"Itiopia"}
        EU{"Uniãu Europeia"}
        FI{"Finlandia"}
        FJ{"Fidji"}
        FK{"Ilhas Malvinas"}
        FM{"Mikronezia"}
        FO{"Ilhas Faroe"}
        FR{"Fransa"}
        GA{"Gabãu"}
        GB{"Reinu Unidu"}
        GD{"Granada"}
        GE{"Jiorjia"}
        GF{"Giana Franseza"}
        GG{"Gernzi"}
        GH{"Gana"}
        GI{"Jibraltar"}
        GL{"Gronelándia"}
        GM{"Gambia"}
        GN{"Gine"}
        GP{"Guadalupi"}
        GQ{"Gine Ekuatorial"}
        GR{"Gresia"}
        GS{"Jeórjia di Sul i Ilhas di Sanduixi di Sul"}
        GT{"Guatimala"}
        GU{"Guam"}
        GW{"Gine-Bisau"}
        GY{"Giana"}
        HK{"Hong Kong"}
        HM{"Ilha Heard i Ilhas McDonald"}
        HN{"Onduras"}
        HR{"Kroasia"}
        HT{"Aití"}
        HU{"Ungria"}
        IC{"Kanárias"}
        ID{"Indonezia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Ilha di Man"}
        IN{"India"}
        IO{"Ilhas Britanika di Indiku"}
        IQ{"Iraki"}
        IR{"Iron"}
        IS{"Islandia"}
        IT{"Italia"}
        JE{"Jersi"}
        JM{"Jamaika"}
        JO{"Jordania"}
        JP{"Japãu"}
        KE{"Kenia"}
        KG{"Kirgiston"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Kamoris"}
        KN{"Sãu Kristovãu i Nevis"}
        KP{"Koreia di Norti"}
        KR{"Koreia di Sul"}
        KW{"Kueiti"}
        KY{"Ilhas Kaimãu"}
        KZ{"Kazakistãu"}
        LA{"Laus"}
        LB{"Libanu"}
        LC{"Santa Lúsia"}
        LI{"Lixenstain"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lezotu"}
        LT{"Lituania"}
        LU{"Luxemburgu"}
        LV{"Letonia"}
        LY{"Libia"}
        MA{"Marokus"}
        MC{"Monaku"}
        MD{"Moldavia"}
        ME{"Montenegru"}
        MF{"Sãu Martinhu di Fransa"}
        MG{"Madagaskar"}
        MH{"Ilhas Marxal"}
        MK{"Masidonia"}
        ML{"Mali"}
        MM{"Mianmar"}
        MN{"Mongolia"}
        MO{"Makau"}
        MP{"Ilhas Marianas di Norti"}
        MQ{"Martinika"}
        MR{"Mauritania"}
        MS{"Monserat"}
        MT{"Malta"}
        MU{"Ilhas Maurisia"}
        MV{"Maldivas"}
        MW{"Malaui"}
        MX{"Méxiku"}
        MY{"Malazia"}
        MZ{"Musambiki"}
        NA{"Namibia"}
        NC{"Nova Kalidonia"}
        NE{"Nijer"}
        NF{"Ilhas Norfolk"}
        NG{"Nijeria"}
        NI{"Nikarágua"}
        NL{"Olanda"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zilandia"}
        OM{"Oman"}
        PA{"Panamá"}
        PE{"Peru"}
        PF{"Polinezia Franseza"}
        PG{"Papua-Nova Gine"}
        PH{"Filipinas"}
        PK{"Pakistãu"}
        PL{"Pulonia"}
        PM{"San Piere i Mikelon"}
        PN{"Pirkairn"}
        PR{"Portu Riku"}
        PS{"Palistina"}
        PT{"Purtugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Katar"}
        QO{"Ilhas di Oseania"}
        RE{"Runion"}
        RO{"Romenia"}
        RS{"Servia"}
        RU{"Rúsia"}
        RW{"Ruanda"}
        SA{"Arabia Saudita"}
        SB{"Ilhas Salumon"}
        SC{"Seixelis"}
        SD{"Sudãu"}
        SE{"Suesia"}
        SG{"Singapura"}
        SH{"Santa Ilena"}
        SI{"Slovenia"}
        SJ{"Svalbard i Jan Maien"}
        SK{"Slovakia"}
        SL{"Sera Lioa"}
        SM{"San Marinu"}
        SN{"Senegal"}
        SO{"Sumalia"}
        SR{"Surinami"}
        SS{"Sudãu di Sul"}
        ST{"Sãu Tume i Prinsipi"}
        SV{"El Salvador"}
        SX{"Sãu Martinhu di Olanda"}
        SY{"Siria"}
        SZ{"Suazilándia"}
        TA{"Tristan da Kunha"}
        TC{"Ilhas Turkas i Kaikus"}
        TD{"Txadi"}
        TF{"Terras Franses di Sul"}
        TG{"Togu"}
        TH{"Tailandia"}
        TJ{"Tadjikistãu"}
        TK{"Tokelau"}
        TL{"Timor Lesti"}
        TM{"Turkumenistãu"}
        TN{"Tunizia"}
        TO{"Tonga"}
        TR{"Turkia"}
        TT{"Trinidad i Tobagu"}
        TV{"Tuvalu"}
        TW{"Taiuan"}
        TZ{"Tanzania"}
        UA{"Ukrania"}
        UG{"Uganda"}
        UM{"Ilhas Minoris Distantis de Stadus Unidus"}
        US{"Stadus Unidos di Merka"}
        UY{"Uruguai"}
        UZ{"Uzbekistãu"}
        VA{"Vatikanu"}
        VC{"Sãu Bisenti i Granadinas"}
        VE{"Vinizuela"}
        VG{"Ilhas Virjens Britanikas"}
        VI{"Ilhas Virjens Merkanas"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Ualis i Futuna"}
        WS{"Samoa"}
        XK{"Kozovu"}
        YE{"Iemen"}
        YT{"Maiote"}
        ZA{"Afrika di Sul"}
        ZM{"Zambia"}
        ZW{"Zimbabui"}
        ZZ{"Rejiãu Diskonxedu"}
    }
    Countries%short{
        GB{"R.U."}
        US{"S.U."}
    }
    Countries%variant{
        CD{"Republika Dimokratika di Kongu"}
        CG{"Republika di Kongu"}
        CI{"Kosta di Marfin (Côte d’Ivoire)"}
        FK{"Ilhas Falkland (Ilhas Malvinas)"}
        MK{"Masidonia (FYROM)"}
    }
    Version{"2.1.19.74"}
}
