﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/kea.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/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{"Australia y Nova Zelandia"}
        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"}
        AD{"Andora"}
        AE{"Emiradus Arabi Unidu"}
        AF{"Afeganistãu"}
        AG{"Antigua i Barbuda"}
        AI{"Angila"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antilhas Olandeza"}
        AO{"Angola"}
        AR{"Arjentina"}
        AS{"Samoa Merkanu"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AZ{"Azerbaijãu"}
        BA{"Bosnia-Erzegovina"}
        BB{"Barbadus"}
        BD{"Bangladexi"}
        BE{"Béljika"}
        BF{"Burkina Fasu"}
        BG{"Bulgaria"}
        BH{"Barain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BM{"Bermudas"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brazil"}
        BS{"Baamas"}
        BT{"Butãu"}
        BW{"Botsuana"}
        BY{"Belarus"}
        BZ{"Belizi"}
        CA{"Kanadá"}
        CD{"Republika Dimokratika di Kongu"}
        CF{"Republika Sentru-Afrikanu"}
        CG{"Kongu"}
        CH{"Suisa"}
        CI{"Kosta di Marfin"}
        CK{"Ilhas Kuk"}
        CL{"Xili"}
        CM{"Kamarõis"}
        CN{"Xina"}
        CO{"Kulombia"}
        CR{"Kosta Rika"}
        CS{"Servia i Montinegru"}
        CU{"Kuba"}
        CV{"Kabu Verdi"}
        CY{"Xipri"}
        CZ{"Republika Txeka"}
        DE{"Alimanha"}
        DJ{"Djibuti"}
        DK{"Dinamarka"}
        DM{"Dominika"}
        DO{"Repúblika Dominikana"}
        DZ{"Arjelia"}
        EC{"Ekuador"}
        EE{"Stonia"}
        EG{"Ejitu"}
        ER{"Iritreia"}
        ES{"Spanha"}
        ET{"Itiopia"}
        FI{"Finlandia"}
        FJ{"Fidji"}
        FK{"Ilhas Malvinas"}
        FM{"Mikronezia"}
        FR{"Fransa"}
        GA{"Gabãu"}
        GB{"Reinu Unidu"}
        GD{"Granada"}
        GE{"Jiorjia"}
        GF{"Giana Franseza"}
        GH{"Gana"}
        GI{"Jibraltar"}
        GL{"Gronelandia"}
        GM{"Gambia"}
        GN{"Gine"}
        GP{"Guadalupi"}
        GQ{"Gine Ekuatorial"}
        GR{"Gresia"}
        GT{"Guatimala"}
        GU{"Guam"}
        GW{"Gine-Bisau"}
        GY{"Giana"}
        HK{"Ong Kong"}
        HN{"Onduras"}
        HR{"Kroasia"}
        HT{"Aiti"}
        HU{"Ungria"}
        ID{"Indonezia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IN{"India"}
        IO{"Ilhas Britanika di Indiku"}
        IQ{"Iraki"}
        IR{"Iron"}
        IS{"Islandia"}
        IT{"Italia"}
        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"}
        MG{"Madagaskar"}
        MH{"Ilhas Marxal"}
        MK{"Masidonia"}
        ML{"Mali"}
        MM{"Mianmar"}
        MN{"Mongolia"}
        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"}
        RE{"Runion"}
        RO{"Romenia"}
        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"}
        SK{"Slovakia"}
        SL{"Sera Lioa"}
        SM{"San Marinu"}
        SN{"Senegal"}
        SO{"Sumalia"}
        SR{"Surinami"}
        ST{"Sãu Tume i Prinsipi"}
        SV{"El Salvador"}
        SY{"Siria"}
        SZ{"Suazilándia"}
        TC{"Ilhas Turkas i Kaikus"}
        TD{"Txadi"}
        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"}
        US{"Stadus Unidos di Merka"}
        UY{"Uruguai"}
        UZ{"Uzbekistãu"}
        VA{"Vatikanu"}
        VC{"Sãu Bisenti i Granadinas"}
        VE{"Vinizuea"}
        VG{"Ilhas Virjens Britanikas"}
        VI{"Ilhas Virjens Merkanu"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Ualis i Futuna"}
        WS{"Samoa"}
        YE{"Iemen"}
        YT{"Maiote"}
        ZA{"Afrika di Sul"}
        ZM{"Zambia"}
        ZW{"Zimbabui"}
        ZZ{"rejiãu diskonxedu"}
    }
    Version{"2.0.57.99"}
}
