﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
uz{
    Keys{
        calendar{"taqvim"}
        cf{"valyuta formati"}
        collation{"saralash tartibi"}
        currency{"valyuta"}
        hc{"soat tizimi (12 yoki 24)"}
        lb{"qatorni uzish uslubi"}
        ms{"o‘lchov tizimi"}
        numbers{"raqamlar"}
    }
    Languages{
        aa{"afar"}
        ab{"abxaz"}
        ace{"achin"}
        ada{"adangme"}
        ady{"adigey"}
        af{"afrikaans"}
        agq{"agem"}
        ain{"aynu"}
        ak{"akan"}
        ale{"aleut"}
        alt{"janubiy oltoy"}
        am{"amxar"}
        an{"aragon"}
        anp{"angika"}
        ar{"arab"}
        ar_001{"standart arab"}
        arn{"mapuche"}
        arp{"arapaxo"}
        as{"assam"}
        asa{"asu"}
        ast{"asturiy"}
        av{"avar"}
        awa{"avadxi"}
        ay{"aymara"}
        az{"ozarbayjon"}
        ba{"boshqird"}
        ban{"bali"}
        bas{"basa"}
        be{"belarus"}
        bem{"bemba"}
        bez{"bena"}
        bg{"bolgar"}
        bgn{"g‘arbiy baluj"}
        bho{"bxojpuri"}
        bi{"bislama"}
        bin{"bini"}
        bla{"siksika"}
        bm{"bambara"}
        bn{"bengal"}
        bo{"tibet"}
        br{"breton"}
        brx{"bodo"}
        bs{"bosniy"}
        bug{"bugi"}
        byn{"blin"}
        ca{"katalan"}
        ccp{"chakma"}
        ce{"chechen"}
        ceb{"sebuan"}
        cgg{"chiga"}
        ch{"chamorro"}
        chk{"chukot"}
        chm{"mari"}
        cho{"choktav"}
        chr{"cheroki"}
        chy{"cheyenn"}
        ckb{"sorani-kurd"}
        co{"korsikan"}
        crs{"kreol (Seyshel)"}
        cs{"chex"}
        cu{"slavyan (cherkov)"}
        cv{"chuvash"}
        cy{"valliy"}
        da{"dan"}
        dak{"dakota"}
        dar{"dargva"}
        dav{"taita"}
        de{"nemischa"}
        de_AT{"nemis (Avstriya)"}
        de_CH{"yuqori nemis (Shveytsariya)"}
        dgr{"dogrib"}
        dje{"zarma"}
        dsb{"quyi sorb"}
        dua{"duala"}
        dv{"divexi"}
        dyo{"diola-fogni"}
        dz{"dzongka"}
        dzg{"dazag"}
        ebu{"embu"}
        ee{"eve"}
        efi{"efik"}
        eka{"ekajuk"}
        el{"grek"}
        en{"inglizcha"}
        en_AU{"ingliz (Avstraliya)"}
        en_CA{"ingliz (Kanada)"}
        en_GB{"ingliz (Britaniya)"}
        en_US{"ingliz (Amerika)"}
        eo{"esperanto"}
        es{"ispancha"}
        es_419{"ispan (Lotin Amerikasi)"}
        es_ES{"ispan (Yevropa)"}
        es_MX{"ispan (Meksika)"}
        et{"estoncha"}
        eu{"bask"}
        ewo{"evondo"}
        fa{"fors"}
        fa_AF{"dari"}
        ff{"fula"}
        fi{"fincha"}
        fil{"filipincha"}
        fj{"fiji"}
        fo{"farercha"}
        fon{"fon"}
        fr{"fransuzcha"}
        fr_CA{"fransuz (Kanada)"}
        fr_CH{"fransuz (Shveytsariya)"}
        fur{"friul"}
        fy{"g‘arbiy friz"}
        ga{"irland"}
        gaa{"ga"}
        gag{"gagauz"}
        gan{"gan"}
        gd{"shotland-gel"}
        gez{"geez"}
        gil{"gilbert"}
        gl{"galisiy"}
        gn{"guarani"}
        gor{"gorontalo"}
        gsw{"nemis (Shveytsariya)"}
        gu{"gujarot"}
        guz{"gusii"}
        gv{"men"}
        gwi{"gvichin"}
        ha{"xausa"}
        haw{"gavaycha"}
        he{"ivrit"}
        hi{"hind"}
        hil{"hiligaynon"}
        hmn{"xmong"}
        hr{"xorvat"}
        hsb{"yuqori sorb"}
        ht{"gaityan"}
        hu{"venger"}
        hup{"xupa"}
        hy{"arman"}
        hz{"gerero"}
        ia{"interlingva"}
        iba{"iban"}
        ibb{"ibibio"}
        id{"indonez"}
        ig{"igbo"}
        ii{"sichuan"}
        ilo{"iloko"}
        inh{"ingush"}
        io{"ido"}
        is{"island"}
        it{"italyan"}
        iu{"inuktitut"}
        ja{"yapon"}
        jbo{"lojban"}
        jgo{"ngomba"}
        jmc{"machame"}
        jv{"yavan"}
        ka{"gruzincha"}
        kab{"kabil"}
        kac{"kachin"}
        kaj{"kaji"}
        kam{"kamba"}
        kbd{"kabardin"}
        kcg{"tyap"}
        kde{"makonde"}
        kea{"kabuverdianu"}
        kfo{"koro"}
        kha{"kxasi"}
        khq{"koyra-chiini"}
        ki{"kikuyu"}
        kj{"kvanyama"}
        kk{"qozoqcha"}
        kkj{"kako"}
        kl{"grenland"}
        kln{"kalenjin"}
        km{"xmer"}
        kmb{"kimbundu"}
        kn{"kannada"}
        ko{"koreyscha"}
        koi{"komi-permyak"}
        kok{"konkan"}
        kpe{"kpelle"}
        kr{"kanuri"}
        krc{"qorachoy-bolqor"}
        krl{"karel"}
        kru{"kurux"}
        ks{"kashmircha"}
        ksb{"shambala"}
        ksf{"bafiya"}
        ksh{"kyoln"}
        ku{"kurdcha"}
        kum{"qo‘miq"}
        kv{"komi"}
        kw{"korn"}
        ky{"qirgʻizcha"}
        la{"lotincha"}
        lad{"ladino"}
        lag{"langi"}
        lb{"lyuksemburgcha"}
        lez{"lezgin"}
        lg{"ganda"}
        li{"limburg"}
        lkt{"lakota"}
        ln{"lingala"}
        lo{"laos"}
        loz{"lozi"}
        lrc{"shimoliy luri"}
        lt{"litva"}
        lu{"luba-katanga"}
        lua{"luba-lulua"}
        lun{"lunda"}
        luo{"luo"}
        lus{"lushay"}
        luy{"luhya"}
        lv{"latishcha"}
        mad{"madur"}
        mag{"magahi"}
        mai{"maythili"}
        mak{"makasar"}
        mas{"masay"}
        mdf{"moksha"}
        men{"mende"}
        mer{"meru"}
        mfe{"morisyen"}
        mg{"malagasiy"}
        mgh{"maxuva-mitto"}
        mgo{"meta"}
        mh{"marshall"}
        mi{"maori"}
        mic{"mikmak"}
        min{"minangkabau"}
        mk{"makedon"}
        ml{"malayalam"}
        mn{"mongol"}
        mni{"manipur"}
        moh{"mohauk"}
        mos{"mossi"}
        mr{"maratxi"}
        ms{"malay"}
        mt{"maltiy"}
        mua{"mundang"}
        mul{"bir nechta til"}
        mus{"krik"}
        mwl{"miranda"}
        my{"birman"}
        myv{"erzya"}
        mzn{"mozandaron"}
        na{"nauru"}
        nap{"neapolitan"}
        naq{"nama"}
        nb{"norveg-bokmal"}
        nd{"shimoliy ndebele"}
        nds{"quyi nemis"}
        nds_NL{"quyi sakson"}
        ne{"nepal"}
        new{"nevar"}
        ng{"ndonga"}
        nia{"nias"}
        niu{"niue"}
        nl{"niderland"}
        nl_BE{"flamand"}
        nmg{"kvasio"}
        nn{"norveg-nyunorsk"}
        nnh{"ngiyembun"}
        nog{"no‘g‘ay"}
        nqo{"nko"}
        nr{"janubiy ndebel"}
        nso{"shimoliy soto"}
        nus{"nuer"}
        nv{"navaxo"}
        ny{"cheva"}
        nyn{"nyankole"}
        oc{"oksitan"}
        om{"oromo"}
        or{"oriya"}
        os{"osetin"}
        pa{"panjobcha"}
        pag{"pangasinan"}
        pam{"pampanga"}
        pap{"papiyamento"}
        pau{"palau"}
        pcm{"kreol (Nigeriya)"}
        pl{"polyakcha"}
        prg{"pruss"}
        ps{"pushtu"}
        pt{"portugalcha"}
        pt_BR{"portugal (Braziliya)"}
        pt_PT{"portugal (Yevropa)"}
        qu{"kechua"}
        quc{"kiche"}
        rap{"rapanui"}
        rar{"rarotongan"}
        rm{"romansh"}
        rn{"rundi"}
        ro{"rumincha"}
        ro_MD{"moldovan"}
        rof{"rombo"}
        ru{"ruscha"}
        rup{"arumin"}
        rw{"kinyaruanda"}
        rwk{"ruanda"}
        sa{"sanskrit"}
        sad{"sandave"}
        sah{"saxa"}
        saq{"samburu"}
        sat{"santali"}
        sba{"ngambay"}
        sbp{"sangu"}
        sc{"sardin"}
        scn{"sitsiliya"}
        sco{"shotland"}
        sd{"sindhi"}
        sdh{"janubiy kurd"}
        se{"shimoliy saam"}
        seh{"sena"}
        ses{"koyraboro-senni"}
        sg{"sango"}
        shi{"tashelxit"}
        shn{"shan"}
        si{"singal"}
        sk{"slovakcha"}
        sl{"slovencha"}
        sm{"samoa"}
        sma{"janubiy saam"}
        smj{"lule-saam"}
        smn{"inari-saam"}
        sms{"skolt-saam"}
        sn{"shona"}
        snk{"soninke"}
        so{"somalicha"}
        sq{"alban"}
        sr{"serbcha"}
        srn{"sranan-tongo"}
        ss{"svati"}
        ssy{"saho"}
        st{"janubiy soto"}
        su{"sundan"}
        suk{"sukuma"}
        sv{"shved"}
        sw{"suaxili"}
        sw_CD{"suaxili (Kongo)"}
        swb{"qamar"}
        syr{"suriyacha"}
        ta{"tamil"}
        te{"telugu"}
        tem{"timne"}
        teo{"teso"}
        tet{"tetum"}
        tg{"tojik"}
        th{"tay"}
        ti{"tigrinya"}
        tig{"tigre"}
        tk{"turkman"}
        tlh{"klingon"}
        tn{"tsvana"}
        to{"tongan"}
        tpi{"tok-piksin"}
        tr{"turk"}
        trv{"taroko"}
        ts{"tsonga"}
        tt{"tatar"}
        tum{"tumbuka"}
        tvl{"tuvalu"}
        twq{"tasavak"}
        ty{"taiti"}
        tyv{"tuva"}
        tzm{"markaziy atlas tamazigxt"}
        udm{"udmurt"}
        ug{"uyg‘ur"}
        uk{"ukrain"}
        umb{"umbundu"}
        und{"noma’lum til"}
        ur{"urdu"}
        uz{"o‘zbek"}
        vai{"vai"}
        ve{"venda"}
        vi{"vyetnam"}
        vo{"volapyuk"}
        vun{"vunjo"}
        wa{"vallon"}
        wae{"valis"}
        wal{"volamo"}
        war{"varay"}
        wbp{"valbiri"}
        wo{"volof"}
        xal{"qalmoq"}
        xh{"kxosa"}
        xog{"soga"}
        yav{"yangben"}
        ybb{"yemba"}
        yi{"idish"}
        yo{"yoruba"}
        yue{"kanton"}
        zgh{"tamazigxt"}
        zh{"xitoy"}
        zh_Hans{"xitoy (soddalashgan)"}
        zh_Hant{"xitoy (an’anaviy)"}
        zu{"zulu"}
        zun{"zuni"}
        zxx{"til tarkibi yo‘q"}
        zza{"zaza"}
    }
    Languages%long{
        zh_Hans{"xitoy (soddalashtirilgan mandarin)"}
        zh_Hant{"xitoy (an’anaviy mandarin)"}
    }
    Languages%menu{
        yue{"xitoy, kanton"}
        zh{"xitoy, mandarin"}
    }
    Languages%short{
        az{"ozar"}
        en_GB{"ingliz (Buyuk Britaniya)"}
        en_US{"ingliz (AQSH)"}
    }
    Scripts{
        Arab{"arab"}
        Armn{"arman"}
        Beng{"bengal"}
        Bopo{"bopomofo"}
        Brai{"brayl"}
        Cyrl{"kirill"}
        Deva{"devanagari"}
        Ethi{"habash"}
        Geor{"gruzin"}
        Grek{"grek"}
        Gujr{"gujarot"}
        Guru{"gurmukxi"}
        Hanb{"hanb"}
        Hang{"hangul"}
        Hani{"xitoy"}
        Hans{"soddalashgan xitoy"}
        Hant{"an’anaviy xitoy"}
        Hebr{"ivrit"}
        Hira{"hiragana"}
        Hrkt{"katakana yoki hiragana"}
        Jamo{"jamo"}
        Jpan{"yapon"}
        Kana{"katakana"}
        Khmr{"kxmer"}
        Knda{"kannada"}
        Kore{"koreys"}
        Laoo{"laos"}
        Latn{"lotin"}
        Mlym{"malayalam"}
        Mong{"mongol"}
        Mymr{"myanma"}
        Orya{"oriya"}
        Sinh{"singal"}
        Taml{"tamil"}
        Telu{"telugu"}
        Thaa{"taana"}
        Thai{"tay"}
        Tibt{"tibet"}
        Zmth{"matematik ifodalar"}
        Zsye{"emoji"}
        Zsym{"belgilar"}
        Zxxx{"yozuvsiz"}
        Zyyy{"umumiy"}
        Zzzz{"noma’lum yozuv"}
    }
    Types{
        calendar{
            buddhist{"buddizm taqvimi"}
            chinese{"xitoy taqvimi"}
            dangi{"dangi taqvimi"}
            ethiopic{"habash taqvimi"}
            gregorian{"grigorian taqvimi"}
            hebrew{"yahudiy taqvimi"}
            islamic{"islomiy taqvim"}
            iso8601{"ISO-8601 taqvimi"}
            japanese{"yapon taqvimi"}
            persian{"fors taqvimi"}
            roc{"Mingo taqvimi"}
        }
        cf{
            account{"moliyaviy valyuta formati"}
            standard{"standart valyuta formati"}
        }
        collation{
            ducet{"standart Unicode saralash tartibi"}
            search{"qidiruv"}
            standard{"standart saralash tartibi"}
        }
        hc{
            h11{"12 soatlik tizim (0–11)"}
            h12{"12 soatlik tizim (1–12)"}
            h23{"24 soatlik tizim (0–23)"}
            h24{"24 soatlik tizim (1–24)"}
        }
        lb{
            loose{"qatorni yumshoq uzish"}
            normal{"qatorni odatiy uzish"}
            strict{"qatorni qat’iy uzish"}
        }
        ms{
            metric{"metrik tizim"}
            uksystem{"Britaniya o‘lchov tizimi"}
            ussystem{"AQSH o‘lchov tizimi"}
        }
        numbers{
            arab{"arab-hind raqamlari"}
            arabext{"kengaytirilgan arab-hind raqamlari"}
            armn{"arman raqamlari"}
            armnlow{"arman kichik raqamlari"}
            beng{"bengal raqamlari"}
            deva{"devanagari raqamlari"}
            ethi{"habash raqamlari"}
            fullwide{"to‘liq enli raqamlar"}
            geor{"gruzin raqamlari"}
            grek{"grek raqamlari"}
            greklow{"kichik grek raqamlari"}
            gujr{"gujarot raqamlari"}
            guru{"gurmukxi raqamlari"}
            hanidec{"xitoy o‘nli raqamlari"}
            hans{"soddalashgan xitoy raqamlari"}
            hansfin{"soddalashgan xitoy raqamlari (moliyaviy)"}
            hant{"an’anaviy xitoy raqamlari"}
            hantfin{"an’anaviy xitoy raqamlari (moliyaviy)"}
            hebr{"ivrit raqamlari"}
            jpan{"yapon raqamlari"}
            jpanfin{"yapon raqamlari (moliyaviy)"}
            khmr{"kxmer raqamlari"}
            knda{"kannada raqamlari"}
            laoo{"laos raqamlari"}
            latn{"zamonaviy arab raqamlari"}
            mlym{"malayalam raqamlari"}
            mymr{"birma raqamlari"}
            orya{"oriya raqamlari"}
            roman{"rim raqamlari"}
            romanlow{"kichik rim raqamlari"}
            taml{"an’anaviy tamil raqamlari"}
            tamldec{"tamil raqamlari"}
            telu{"telugu raqamlari"}
            thai{"tay raqamlari"}
            tibt{"tibet raqamlari"}
        }
    }
    characterLabelPattern{
        all{"{0} — hammasi"}
        category-list{"{0}: {1}"}
        compatibility{"{0} — mos"}
        enclosed{"{0} — biriktirilgan"}
        extended{"{0} — kengaytirilgan"}
        historic{"{0} — tarixiy"}
        miscellaneous{"{0} — har xil"}
        other{"{0} — boshqa"}
        scripts{"yozuvlar — {0}"}
        strokes{
            one{"{0} ta chiziq"}
            other{"{0} ta chiziq"}
        }
        subscript{"{0} pastki yozuv"}
        superscript{"{0} ustki yozuv"}
    }
    codePatterns{
        language{"Til: {0}"}
        script{"Yozuv: {0}"}
        territory{"Mintaqa: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
