﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ky.xml
// *
// ***************************************************************************
ky{
    Keys{
        calendar{"Жылнаама"}
        collation{"Иргөө тартиби"}
        currency{"Валюта"}
        hc{"Саат мерчеми (12/24)"}
        lb{"Саптарды ажыратуу стили"}
        ms{"Өлчөө тутуму"}
        numbers{"сандар"}
    }
    Languages{
        ab{"абхазча"}
        af{"африкаанча"}
        agq{"агемче"}
        ak{"аканча"}
        am{"амхарча"}
        ar{"арабча"}
        ar_001{"азыркы адабий араб тилинде"}
        arn{"мапучеде"}
        as{"ассамча"}
        asa{"асуча"}
        az{"азербайжанча"}
        ba{"башкырча"}
        be{"беларусча"}
        bem{"бембача"}
        bez{"бенача"}
        bg{"болгарча"}
        bgn{"чыгыш балучиче"}
        bm{"бамбарада"}
        bn{"бангладешче"}
        bo{"тибетче"}
        br{"бретончо"}
        brx{"бододо"}
        bs{"боснийче"}
        ca{"каталанча"}
        ce{"чеченче"}
        cgg{"чигача"}
        chr{"черокиче"}
        ckb{"сорани курд"}
        co{"корсиканча"}
        cs{"чехче"}
        cv{"чувашча"}
        cy{"уелшче"}
        da{"датча"}
        dav{"таитача"}
        de{"немисче"}
        dje{"замрача"}
        dsb{"төмөнкү сорбианча"}
        dua{"дуалача"}
        dyo{"жола-фониче"}
        dz{"жонгуча"}
        ebu{"эмбуча"}
        ee{"эбече"}
        el{"грекче"}
        en{"англисче"}
        eo{"эсперанто"}
        es{"испанча"}
        es_ES{"испанча (Европа)"}
        et{"эстончо"}
        eu{"баскча"}
        fa{"фарсча"}
        fi{"финче"}
        fil{"филипино"}
        fj{"фижиче"}
        fo{"фароэче"}
        fr{"французча"}
        fy{"батыш фризче"}
        ga{"ирландча"}
        gag{"гагаузча"}
        gl{"галисияча"}
        gn{"гуараш"}
        gsw{"немисче (Швейцария)"}
        gu{"гужаратча"}
        guz{"гусиче"}
        gv{"манксыча"}
        ha{"хаусача"}
        haw{"гавайча"}
        he{"ивритте"}
        hi{"хиндиче"}
        hr{"хорватча"}
        hsb{"жогорку сорбианча"}
        ht{"гаитиче"}
        hu{"мажарча"}
        hy{"армянча"}
        id{"индонезче"}
        ig{"игбочо"}
        ii{"носуча"}
        is{"исландча"}
        it{"италиянча"}
        iu{"инуктитутта"}
        ja{"япончо"}
        jgo{"нгомбача"}
        jmc{"мачамече"}
        jv{"жаванизче"}
        ka{"грузинче"}
        kab{"кабылча"}
        kam{"камбача"}
        kde{"макондече"}
        kea{"кабувердиче"}
        khq{"койра чиниче"}
        ki{"кикуйиче"}
        kk{"казакча"}
        kl{"калаалисутча"}
        kln{"каленжиче"}
        km{"кмерче"}
        kn{"каннадача"}
        ko{"корейче"}
        koi{"коми-пермякча"}
        kok{"конканиче"}
        ks{"кашмирче"}
        ksb{"шамабалача"}
        ksf{"бафияча"}
        ku{"курдча"}
        kw{"корнишче"}
        ky{"кыргызча"}
        la{"латынча"}
        lag{"лангиче"}
        lb{"люксембургча"}
        lg{"гандача"}
        lkt{"лакотача"}
        ln{"лингалача"}
        lo{"лаочо"}
        lrc{"түндүк луриче"}
        lt{"литовчо"}
        lu{"луба-катангача"}
        luo{"луочо"}
        luy{"лухияча"}
        lv{"латышча"}
        mas{"масайча"}
        mer{"меруча"}
        mfe{"морисианча"}
        mg{"малагасча"}
        mgh{"макуача"}
        mgo{"метөчө"}
        mi{"маориче"}
        mk{"македончо"}
        ml{"малайаламча"}
        mn{"моңголчо"}
        moh{"мохаукча"}
        mr{"маратиче"}
        ms{"малайча"}
        mt{"малтизче"}
        mua{"мундангча"}
        my{"бурмача"}
        mzn{"мазандераниче"}
        naq{"намача"}
        nb{"норвежче (Букмал)"}
        nd{"түндүк ндыбелче"}
        nds{"төмөнкү немисче"}
        nds_NL{"төмөнкү саксончо"}
        ne{"непалча"}
        nl{"голландча"}
        nl_BE{"фламандча"}
        nmg{"квасиочо"}
        nn{"норвежче (Нинорск)"}
        no{"норвежче"}
        nqo{"нкочо"}
        nus{"нуерче"}
        nyn{"ныйанколчо"}
        om{"оромочо"}
        or{"орияча"}
        pa{"пунжабиче"}
        pl{"полякча"}
        ps{"пашточо"}
        pt{"португалча"}
        pt_PT{"португалча (Европа)"}
        qu{"кечуача"}
        quc{"кичече"}
        rm{"романшча"}
        rn{"рундиче"}
        ro{"румынча"}
        ro_MD{"молдованча"}
        rof{"ромбочо"}
        ru{"орусча"}
        rw{"руандача"}
        rwk{"руача"}
        sa{"санскритче"}
        saq{"самбуруча"}
        sbp{"сангуча"}
        sd{"синдхиче"}
        sdh{"түштүк курдча"}
        se{"түндүк самиче"}
        seh{"сенача"}
        ses{"койраборо сенниче"}
        sg{"сангочо"}
        sh{"серб-хорват"}
        shi{"ташелитче"}
        si{"сингалача"}
        sk{"словакча"}
        sl{"словенче"}
        sma{"түштүк саамиче"}
        smj{"лөлө саамиче"}
        smn{"инари саамиче"}
        sms{"сколт саамиче"}
        sn{"шонача"}
        so{"сомаличе"}
        sq{"албанча"}
        sr{"сербче"}
        st{"сесото"}
        su{"сунданча"}
        sv{"шведче"}
        sw{"суахиличе"}
        swc{"конго суахаличе"}
        ta{"тамилче"}
        te{"телугуча"}
        teo{"тесочо"}
        tg{"тажикче"}
        th{"тайча"}
        ti{"тигриниача"}
        tk{"түркмөнчө"}
        tlh{"клингончо"}
        to{"тонгача"}
        tr{"түркчө"}
        tt{"татарча"}
        tw{"тви"}
        twq{"тасабакча"}
        tzm{"борбордук Атлас тамазитче"}
        ug{"уйгурча"}
        uk{"украинче"}
        und{"белгисиз тилде"}
        ur{"урдуча"}
        uz{"өзбекче"}
        vai{"вайиче"}
        vi{"вьетнамча"}
        vun{"вунжочо"}
        wbp{"ворлпириче"}
        wo{"уолофчо"}
        xh{"косача"}
        xog{"согача"}
        yi{"идишче"}
        yo{"йорубача"}
        zgh{"марокко тамазигт адабий тилинде"}
        zh{"кытайча"}
        zh_Hans{"кытайча (жөнөкөйлөштүрүлгөн)"}
        zh_Hant{"кытайча (салттуу)"}
        zu{"зулуча"}
        zxx{"тилдик мазмун жок"}
    }
    Languages%short{
        az{"азер"}
        en_US{"англисче (АКШ)"}
    }
    Scripts{
        Arab{"Араб"}
        Armn{"Армян"}
        Beng{"Бенгал"}
        Bopo{"Бопомофо"}
        Brai{"Брейл"}
        Cyrl{"Кирилл"}
        Deva{"Деванагари"}
        Ethi{"Эфиоп"}
        Geor{"Грузин"}
        Grek{"Грек"}
        Gujr{"Гужарати"}
        Guru{"Гурмухи"}
        Hang{"Хангул"}
        Hani{"Хань"}
        Hans{"Жөн. Кытай"}
        Hant{"Салт. Кытай"}
        Hebr{"Иврит"}
        Hira{"Хирагана"}
        Jpan{"Жапан"}
        Kana{"Катакана"}
        Khmr{"Кмер"}
        Knda{"Каннада"}
        Kore{"Корей"}
        Laoo{"Лао"}
        Latn{"Латын"}
        Mlym{"Малайалам"}
        Mong{"Моңгол"}
        Mymr{"Мйанмар"}
        Orya{"Орийа"}
        Sinh{"Сингала"}
        Taml{"Тамил"}
        Telu{"Телу"}
        Thaa{"Таана"}
        Thai{"Тай"}
        Tibt{"Тибет"}
        Zsym{"Белгилер"}
        Zxxx{"Жазылбаган"}
        Zyyy{"Жалпы"}
        Zzzz{"Белгисиз жазуу"}
    }
    Scripts%stand-alone{
        Hans{"Жөн. Кытай"}
        Hant{"Салт. Кытай"}
    }
    Types{
        calendar{
            buddhist{"Будда жылнаамасы"}
            chinese{"Кытай жылнаамасы"}
            dangi{"Данги жылнаамасы"}
            ethiopic{"Эфиоп жылнаамасы"}
            gregorian{"Григориан жылнаамасы"}
            hebrew{"Иврит жылнаамасы"}
            islamic{"Ислам жылнаамасы"}
            iso8601{"ИСО-8601 жылнаамасы"}
            japanese{"Жапон жылнаамасы"}
            persian{"Перс жылнаамасы"}
            roc{"Мингуо жылнаамасы"}
        }
        collation{
            ducet{"Демейки Unicode иргөө тартиби"}
            search{"Жалпы издөө"}
            standard{"Стандарттуу иргөө тартиби"}
        }
        hc{
            h11{"12 сааттык тутум (0–11)"}
            h12{"12 сааттык тутум (1–12)"}
            h23{"24 сааттык тутум (0–23)"}
            h24{"24 сааттык тутум (1–24)"}
        }
        lb{
            loose{"Саптардын арасы кенен"}
            normal{"Саптардын арасы орточо"}
            strict{"Саптардын арасы тыкыс"}
        }
        ms{
            metric{"Метрикалык тутум"}
            uksystem{"Британ империясынын өлчөө тутуму"}
            ussystem{"АКШнын өлчөө тутуму"}
        }
        numbers{
            arab{"араб-индус сандары"}
            arabext{"кеңейтилген араб-индус сандары"}
            armn{"армян сандары"}
            armnlow{"армян сандары (саптык жазылыш)"}
            beng{"бенгали сандары"}
            deva{"деванагари сандары"}
            ethi{"эфиоп сандары"}
            fullwide{"толук эндүү сандар"}
            geor{"грузин сандары"}
            grek{"грек сандары"}
            greklow{"грек сандары (саптык жазылыш)"}
            gujr{"гужарати сандары"}
            guru{"гурмухи сандары"}
            hanidec{"кытай ондук сандары"}
            hans{"жөнөкөйлөштүрүлгөн кытай сандары"}
            hansfin{"жөнөкөйлөштүрүлгөн кытай финансы сандары"}
            hant{"салттуу кытай сандары"}
            hantfin{"салттуу кытай финансы сандары"}
            hebr{"иврит сандары"}
            jpan{"япон сандары"}
            jpanfin{"япон финансы сандары"}
            khmr{"кмер сандары"}
            knda{"каннада сандары"}
            laoo{"лао сандары"}
            latn{"батыш сандары"}
            mlym{"малайалам сандары"}
            mymr{"мйанмар сандары"}
            orya{"ория сандары"}
            roman{"роман сандары"}
            romanlow{"роман сандары (саптык жазылыш)"}
            taml{"салттуу тамил сандары"}
            tamldec{"тамил сандары"}
            telu{"телугу сандары"}
            thai{"тай сандары"}
            tibt{"тибет сандары"}
        }
    }
    Version{"2.1.19.19"}
    codePatterns{
        language{"тили: {0}"}
        script{"жазуусу: {0}"}
        territory{"региону:{0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
