﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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.47.70"}
}
