﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ses.xml
// *
// ***************************************************************************
ses{
    Languages{
        ak{"Akan senni"}
        am{"Amhaarik senni"}
        ar{"Laaraw senni"}
        be{"Belaruus senni"}
        bg{"Bulagaari senni"}
        bn{"Bengali senni"}
        cs{"Cek senni"}
        de{"Almaŋ senni"}
        el{"Grek senni"}
        en{"Inglisi senni"}
        es{"Espaaɲe senni"}
        fa{"Farsi senni"}
        fr{"Fransee senni"}
        ha{"Hawsance senni"}
        hi{"Induu senni"}
        hu{"Hungaari senni"}
        id{"Indoneesi senni"}
        ig{"Iboo senni"}
        it{"Itaali senni"}
        ja{"Japonee senni"}
        jv{"Javanee senni"}
        km{"Kmeer senni"}
        ko{"Koree senni"}
        ms{"Maleezi senni"}
        my{"Burme senni"}
        ne{"Neepal senni"}
        nl{"Holandee senni"}
        pa{"Punjaabi sennii"}
        pl{"Polonee senni"}
        pt{"Portugee senni"}
        ro{"Rumaani senni"}
        ru{"Ruusi senni"}
        rw{"Rwanda senni"}
        ses{"Koyraboro senni"}
        so{"Somaali senni"}
        sv{"Suweede senni"}
        ta{"Tamil senni"}
        th{"Taailandu senni"}
        tr{"Turku senni"}
        uk{"Ukreen senni"}
        ur{"Urdu senni"}
        vi{"Vietnaam senni"}
        yo{"Yorbance senni"}
        zh{"Sinuwa senni, Mandareŋ"}
        zu{"Zulu senni"}
    }
    Version{"2.1.15.45"}
}
