﻿// ***************************************************************************
// *
// * 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/mgh.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/mgh.xml
 */
mgh{
    Languages{
        ak{"Ikan"}
        am{"Imhari"}
        ar{"Iarabu"}
        be{"Ibelausi"}
        bg{"Ibulgaria"}
        bn{"Ibangla"}
        cs{"Icheki"}
        de{"Ijerimani"}
        el{"Igiriki"}
        en{"Ingilishi"}
        es{"Ihispaniola"}
        fa{"Iajemi"}
        fr{"Ifaransa"}
        ha{"Ihausa"}
        hi{"Ihindi"}
        hu{"Ihungari"}
        ig{"Igbo"}
        it{"Italiano"}
        ja{"Ijapani"}
        jv{"Ijava"}
        km{"Ikambodia"}
        ko{"Ikorea"}
        mgh{"Makua"}
        ms{"Imalesia"}
        my{"Iburma"}
        ne{"Inepali"}
        nl{"Iholanzi"}
        pa{"Ipunjabi"}
        pl{"Ipolandi"}
        pt{"Nreno"}
        ro{"Iromania"}
        ru{"Irisi"}
        rw{"Inyaranda"}
        so{"Isomali"}
        sv{"Iswidi"}
        ta{"Itamil"}
        th{"Itailandi"}
        tr{"Ituruki"}
        uk{"Iukran"}
        ur{"Ihurdu"}
        vi{"Ivyetinamu"}
        yo{"Iyoruba"}
        zh{"Ichina"}
        zu{"Izulu"}
    }
    Version{"2.0.58.81"}
}
