﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kab.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kab.xml
 */
kab{
    Languages{
        ak{"Takanit"}
        am{"Tamahrict"}
        ar{"Taɛrabt"}
        be{"Tabilarusit"}
        bg{"Tabulgarit"}
        bn{"Tabengalit"}
        cs{"Tačikit"}
        de{"Talmant"}
        el{"Tagrikit"}
        en{"Taglizit"}
        es{"Taspenyulit"}
        fa{"Tafarisit"}
        fr{"Tafransist"}
        ha{"Tahwasit"}
        hi{"Tahendit"}
        hu{"Tahungarit"}
        id{"Tandunisit"}
        ig{"Tigbut"}
        it{"Taṭalyanit"}
        ja{"Tajapunit"}
        jv{"Tajavanit"}
        kab{"Taqbaylit"}
        km{"Takemrit"}
        ko{"Takurit"}
        ms{"Tamalawit"}
        my{"Taburmisit"}
        ne{"Tanipalit"}
        nl{"Tadučit"}
        pa{"Tapunjabit"}
        pl{"Tapulunit"}
        pt{"Tapurtugalit"}
        ro{"Tarumanit"}
        ru{"Tarusit"}
        rw{"Taruwandit"}
        so{"Taṣumalit"}
        sv{"Taswidit"}
        ta{"Taṭamulit"}
        th{"Taṭaylundit"}
        tr{"Taṭurkit"}
        uk{"Tukranit"}
        ur{"Turdut"}
        vi{"Tabyiṭnamit"}
        yo{"Tayurubit"}
        zh{"Tacinwat, Tamundarint"}
        zu{"Tazulut"}
    }
    Version{"2.0.82.45"}
}
