﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/bez.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/bez.xml
 */
bez{
    Countries{
        AD{"Huandola"}
        AE{"Hufalme dza Hihalabu"}
        AF{"Huafuganistani"}
        AG{"Huantigua na Hubarubuda"}
        AI{"Huanguila"}
        AL{"Hualbania"}
        AM{"Huamenia"}
        AN{"Huantili dza Huuholanzi"}
        AO{"Huangola"}
        AR{"Huajendina"}
        AS{"Husamoa ya Humalekani"}
        AT{"Huastlia"}
        AU{"Huaustlalia"}
        AW{"Hualuba"}
        AZ{"Huazabajani"}
        BA{"Hubosinia na Huhezegovina"}
        BB{"Hubabadosi"}
        BD{"Hubangaladeshi"}
        BE{"Huubelgiji"}
        BF{"Hubukinafaso"}
        BG{"Hubulgaria"}
        BH{"Hubahaleni"}
        BI{"Huburundi"}
        BJ{"Hubenini"}
        BM{"Hubelmuda"}
        BN{"Hubrunei"}
        BO{"Hubolivia"}
        BR{"Hublazili"}
        BS{"Hubahama"}
        BT{"Hubutani"}
        BW{"Hubotiswana"}
        BY{"Hubelalusi"}
        BZ{"Hubelize"}
        CA{"Hukanada"}
        CD{"Ijamhuri ya Hidemokrasi ya Hukongo"}
        CF{"Ijamhuri ya Afrika ya Pagati"}
        CG{"Hukongo"}
        CH{"Huuswisi"}
        CI{"Hukodivaa"}
        CK{"Ifisima fya Kook"}
        CL{"Huchile"}
        CM{"Hukameruni"}
        CN{"Huchina"}
        CO{"Hukolombia"}
        CR{"Hukostarika"}
        CU{"Hukuba"}
        CV{"Hukepuvede"}
        CY{"Hukuprosi"}
        CZ{"Ijamhuri ya Cheki"}
        DE{"Huujerumani"}
        DJ{"Hujibuti"}
        DK{"Hudenmaki"}
        DM{"Hudominika"}
        DO{"Ijamhuri ya Hudominika"}
        DZ{"Hualjelia"}
        EC{"Huekwado"}
        EE{"Huestonia"}
        EG{"Humisri"}
        ER{"Hueritrea"}
        ES{"Huhispania"}
        ET{"Huuhabeshi"}
        FI{"Huufini"}
        FJ{"Hufiji"}
        FK{"Ifisima fya Falkland"}
        FM{"Humikronesia"}
        FR{"Huufaransa"}
        GA{"Hugaboni"}
        GB{"Huuingereza"}
        GD{"Hugrenada"}
        GE{"Hujojia"}
        GF{"Hugwiyana ya Huufaransa"}
        GH{"Hughana"}
        GI{"Hujiblalta"}
        GL{"Hujinlandi"}
        GM{"Hugambia"}
        GN{"Hujine"}
        GP{"Hugwadelupe"}
        GQ{"Huginekweta"}
        GR{"Huugiliki"}
        GT{"Hugwatemala"}
        GU{"Hugwam"}
        GW{"Huginebisau"}
        GY{"Huguyana"}
        HN{"Huhondulasi"}
        HR{"Hukorasia"}
        HT{"Huhaiti"}
        HU{"Huhungalia"}
        ID{"Huindonesia"}
        IE{"Huayalandi"}
        IL{"Huislaheli"}
        IN{"Huindia"}
        IO{"Ulubali lwa Hubahari ya Hindi lwa Huingereza"}
        IQ{"Huilaki"}
        IR{"Huuajemi"}
        IS{"Huaislandi"}
        IT{"Huitalia"}
        JM{"Hujamaika"}
        JO{"Huyolodani"}
        JP{"Hujapani"}
        KE{"Hukenya"}
        KG{"Hukiligizistani"}
        KH{"Hukambodia"}
        KI{"Hukilibati"}
        KM{"Hukomoro"}
        KN{"Husantakitzi na Hunevis"}
        KP{"Hukolea Kaskazini"}
        KR{"Hukolea Kusini"}
        KW{"Hukuwaiti"}
        KY{"Ifisima fya Kayman"}
        KZ{"Hukazakistani"}
        LA{"Hulaosi"}
        LB{"Hulebanoni"}
        LC{"Husantalusia"}
        LI{"Hulishenteni"}
        LK{"Husirilanka"}
        LR{"Hulibelia"}
        LS{"Hulesoto"}
        LT{"Hulitwania"}
        LU{"Hulasembagi"}
        LV{"Hulativia"}
        LY{"Hulibiya"}
        MA{"Humoloko"}
        MC{"Humonako"}
        MD{"Humoldova"}
        MG{"Hubukini"}
        MH{"Ifisima fya Marshal"}
        MK{"Humasedonia"}
        ML{"Humali"}
        MM{"Humyama"}
        MN{"Humongolia"}
        MP{"Ifisima fya Mariana fya Hukaskazini"}
        MQ{"Humartiniki"}
        MR{"Humolitania"}
        MS{"Humontserrati"}
        MT{"Humalta"}
        MU{"Humolisi"}
        MV{"Humodivu"}
        MW{"Humalawi"}
        MX{"Humeksiko"}
        MY{"Humalesia"}
        MZ{"Humusumbiji"}
        NA{"Hunamibia"}
        NC{"Hunyukaledonia"}
        NE{"Hunijeli"}
        NF{"Ihisima sha Norfok"}
        NG{"Hunijelia"}
        NI{"Hunikaragwa"}
        NL{"Huuholanzi"}
        NO{"Hunolwe"}
        NP{"Hunepali"}
        NR{"Hunauru"}
        NU{"Huniue"}
        NZ{"Hunyuzilandi"}
        OM{"Huomani"}
        PA{"Hupanama"}
        PE{"Hupelu"}
        PF{"Hupolinesia ya Huufaransa"}
        PG{"Hupapua"}
        PH{"Hufilipino"}
        PK{"Hupakistani"}
        PL{"Hupolandi"}
        PM{"Husantapieri na Humikeloni"}
        PN{"Hupitkaini"}
        PR{"Hupwetoriko"}
        PS{"Ulubali lwa Magharibi nu Gaza wa Hupalestina"}
        PT{"Huuleno"}
        PW{"Hupalau"}
        PY{"Hupalagwai"}
        QA{"Hukatali"}
        RE{"Huliyunioni"}
        RO{"Hulomania"}
        RU{"Huulusi"}
        RW{"Hulwanda"}
        SA{"Husaudi"}
        SB{"Ifisima fya Solomon"}
        SC{"Hushelisheli"}
        SD{"Husudani"}
        SE{"Huuswidi"}
        SG{"Husingapoo"}
        SH{"Husantahelena"}
        SI{"Huslovenia"}
        SK{"Huslovakia"}
        SL{"Husiela Lioni"}
        SM{"Husamalino"}
        SN{"Husenegali"}
        SO{"Husomalia"}
        SR{"Husurinamu"}
        ST{"Husaotome na Huprinsipe"}
        SV{"Huelsavado"}
        SY{"Husilia"}
        SZ{"Huuswazi"}
        TC{"Ifisima fya Turki na Kaiko"}
        TD{"Huchadi"}
        TG{"Hutogo"}
        TH{"Hutailandi"}
        TJ{"Hutajikistani"}
        TK{"Hutokelau"}
        TL{"Hutimori ya Mashariki"}
        TM{"Huuturukimenistani"}
        TN{"Hutunisia"}
        TO{"Hutonga"}
        TR{"Huuturuki"}
        TT{"Hutrinad na Hutobago"}
        TV{"Hutuvalu"}
        TW{"Hutaiwani"}
        TZ{"Hutanzania"}
        UA{"Huukraini"}
        UG{"Huuganda"}
        US{"Humalekani"}
        UY{"Huulugwai"}
        UZ{"Huuzibekistani"}
        VA{"Huvatikani"}
        VC{"Husantavisenti na Hugrenadini"}
        VE{"Huvenezuela"}
        VG{"Ifisima fya Virgin fya Huingereza"}
        VI{"Ifisima fya Virgin fya Humelekani"}
        VN{"Huvietinamu"}
        VU{"Huvanuatu"}
        WF{"Huwalis na Hufutuna"}
        WS{"Husamoa"}
        YE{"Huyemeni"}
        YT{"Humayotte"}
        ZA{"Huafrika iya Hukusini"}
        ZM{"Huzambia"}
        ZW{"Huzimbabwe"}
    }
    Version{"2.0.92.87"}
}
