﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/nyn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nyn.xml
 */
nyn{
    Languages{
        ak{"Orukani"}
        am{"Orumariki"}
        ar{"Oruharabu"}
        be{"Oruberarusi"}
        bg{"Oruburugariya"}
        bn{"Orubengari"}
        cs{"Oruceeki"}
        de{"Orugirimaani"}
        el{"Oruguriiki"}
        en{"Orungyereza"}
        es{"Orusupaani"}
        fa{"Orupaasiya"}
        fr{"Orufaransa"}
        ha{"Oruhausa"}
        hi{"Oruhindi"}
        hu{"Oruhangare"}
        id{"Oruindonezia"}
        ig{"Oruibo"}
        it{"Oruyitare"}
        ja{"Orujapaani"}
        jv{"Orujava"}
        km{"Orukambodiya"}
        ko{"Orukoreya"}
        ms{"Orumalesiya"}
        my{"Oruburuma"}
        ne{"Orunepali"}
        nl{"Orudaaki"}
        nyn{"Runyankore"}
        pa{"Orupungyabi"}
        pl{"Orupoori"}
        pt{"Orupocugo"}
        ro{"Oruromania"}
        ru{"Orurrasha"}
        rw{"Orunyarwanda"}
        so{"Orusomaari"}
        sv{"Oruswidi"}
        ta{"Orutamiri"}
        th{"Orutailandi"}
        tr{"Orukuruki"}
        uk{"Orukuraini"}
        ur{"Oru-Urudu"}
        vi{"Oruviyetinaamu"}
        yo{"Oruyoruba"}
        zh{"Oruchaina"}
        zu{"Oruzuru"}
    }
    Version{"2.0.74.65"}
}
