﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kln.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kln.xml
 */
kln{
    Languages{
        ak{"kutitab Aka"}
        am{"kutitab Amariek"}
        ar{"kutitab Arabuk"}
        be{"kutitab Belarusa"}
        bg{"kutitab Bulgaria"}
        bn{"kutitab Bengali"}
        cs{"kutitab Chek"}
        de{"kutitab Chermani"}
        el{"kutitab Greece"}
        en{"kutitab Uingeresa"}
        es{"kutitab Espianik"}
        fa{"kutitab Persia"}
        fr{"kutitab Kifaransa"}
        ha{"kutitab Hausa"}
        hi{"kutitab Maindiik"}
        hu{"kutitab Hangari"}
        id{"kutitab Indonesia"}
        ig{"kutitab Igbo"}
        it{"kutitab Talianek"}
        ja{"kutitap Japan"}
        jv{"kutitap Javanese"}
        kln{"Kalenjin"}
        km{"kutitab Kher nebo Kwen"}
        ko{"kutitab Korea"}
        ms{"kutitab Malay"}
        my{"kutitab Burma"}
        ne{"kutitab Nepali"}
        nl{"kutitab Boa"}
        pa{"kutitab Punjab"}
        pl{"kutitap Poland"}
        pt{"kutitab Portugal"}
        ro{"kutitab Romaniek"}
        ru{"kutitab Russia"}
        rw{"kutitab Kinyarwanda"}
        so{"kutitab Somaliek"}
        sv{"kutitab Sweden"}
        ta{"kutitab Tamil"}
        th{"kutitab Thailand"}
        tr{"kutitab Turkey"}
        uk{"kutitab Ukraine"}
        ur{"kutitab Urdu"}
        vi{"kutitab Vietnam"}
        yo{"kutitab Yoruba"}
        zh{"kutitab China"}
        zu{"kutitab Zulu"}
    }
    Version{"2.0.82.45"}
}
