﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/dje.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/dje.xml
 */
dje{
    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"}
        dje{"Zarmaciine"}
        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"}
        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"}
        zu{"Zulu senni"}
    }
    Version{"2.0.82.45"}
}
