﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/bez.xml
// *
// ***************************************************************************
bez{
    Languages{
        ak{"Hiakan"}
        am{"Hiamhari"}
        ar{"Hiharabu"}
        be{"Hibelarusi"}
        bez{"Hibena"}
        bg{"Hibulgaria"}
        bn{"Hibangla"}
        cs{"Hicheki"}
        de{"Hijerumani"}
        el{"Higiriki"}
        en{"Hiingereza"}
        es{"Hihispania"}
        fa{"Hiajemi"}
        fr{"Hifaransa"}
        ha{"Hihausa"}
        hi{"Hihindi"}
        hu{"Hihungari"}
        id{"Hiindonesia"}
        ig{"Hiibo"}
        it{"Hiitaliano"}
        ja{"Hijapani"}
        jv{"Hijava"}
        km{"Hikambodia"}
        ko{"Hikorea"}
        ms{"Himalesia"}
        my{"Hiburma"}
        ne{"Hinepali"}
        nl{"Hiholanzi"}
        pa{"Hipunjabi"}
        pl{"Hipolandi"}
        pt{"Hileno"}
        ro{"Hilomania"}
        ru{"Hilusi"}
        rw{"Hinyarwanda"}
        so{"Hisomali"}
        sv{"Hiswidi"}
        ta{"Hitamil"}
        th{"Hitailand"}
        tr{"Hituluki"}
        uk{"Hiukrania"}
        ur{"Hiurdu"}
        vi{"Hivietinamu"}
        yo{"Hiyoruba"}
        zh{"Hichina"}
        zu{"Hizulu"}
    }
    Version{"2.1.15.45"}
}
