﻿// ***************************************************************************
// *
// * Copyright (C) 2016 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"}
        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{"Rejiãu Administrativu Special di 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{"Rejiãu Administrativu Special di 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."}
        HK{"Hong Kong"}
        MO{"Makau"}
        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.23.7"}
}
