﻿// ***************************************************************************
// *
// * 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{"Afrika"}
        003{"Merka di Norti"}
        005{"Merka di Sul"}
        009{"Oseania"}
        011{"Afrika Osidental"}
        013{"Merka Sentral"}
        014{"Afrika Oriental"}
        015{"Norti di Afrika"}
        017{"Afrika Sentral"}
        018{"Sul di Afrika"}
        019{"Merkas"}
        021{"Norti di Merka"}
        029{"Karaibas"}
        030{"Azia Oriental"}
        034{"Sul di Azia"}
        035{"Sudesti Aziatiku"}
        039{"Europa di Sul"}
        053{"Australazia"}
        054{"Melanezia"}
        057{"Rejiãu di Mikronezia"}
        061{"Polinezia"}
        142{"Azia"}
        143{"Azia Sentral"}
        145{"Azia 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{"Bolivia"}
        BQ{"Karaibas olandes"}
        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{"Kulombia"}
        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{"Gronelandia"}
        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 Ong Kong"}
        HM{"Ilha Heard i Ilhas McDonald"}
        HN{"Onduras"}
        HR{"Kroasia"}
        HT{"Aiti"}
        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{"Mexiku"}
        MY{"Malazia"}
        MZ{"Musambiki"}
        NA{"Namibia"}
        NC{"Nova Kalidonia"}
        NE{"Nijer"}
        NF{"Ilhas Norfolk"}
        NG{"Nijeria"}
        NI{"Nikaragua"}
        NL{"Olanda"}
        NO{"Noruega"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zilandia"}
        OM{"Oman"}
        PA{"Panama"}
        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{"Oseania Insular"}
        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 Merkanu"}
        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{"Ong 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)"}
        MK{"Masidonia (FYROM)"}
    }
    Version{"2.1.15.45"}
}
