﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
sah{
    Keys{
        calendar{"Халандаар"}
        currency{"Уларытыы"}
    }
    Languages{
        ab{"Абхаастыы"}
        af{"Аппырыкааныстыы"}
        ale{"Алеуттуу"}
        am{"Амхаардыы"}
        ar{"Араабтыы"}
        ast{"Астуурдуу"}
        av{"Аваардыы"}
        az{"Адьырбайдьаанныы"}
        be{"Бөлөрүүстүү"}
        bg{"Булҕаардыы"}
        bn{"Бенгаллыы"}
        bo{"Тибиэттии"}
        bs{"Босныйалыы"}
        ca{"Каталаанныы"}
        ce{"Чэчиэннии"}
        ckb{"Киин куурдуу"}
        cs{"Чиэхтии"}
        da{"Даатскайдыы"}
        de{"Ниэмэстии"}
        el{"Гириэктии"}
        en{"Ааҥыллыы"}
        es{"Ыспаанныы"}
        et{"Эстиэнийэлии"}
        fa{"Пиэристии"}
        fi{"Пииннии"}
        fil{"Пилипииннии"}
        fr{"Боронсуустуу"}
        hu{"Бэҥгиэрдии"}
        hy{"Эрмээннии"}
        it{"Ытаалыйалыы"}
        ja{"Дьоппуоннуу"}
        ka{"Курусууннуу"}
        kk{"Хаһаахтыы"}
        ko{"Кэриэйдии"}
        ky{"Кыргыстыы"}
        la{"Латыынныы"}
        mn{"Моҕуоллуу"}
        ms{"Малаайдыы"}
        ne{"Ньыпааллыы"}
        nog{"Нагаайдыы"}
        pa{"Пандьаабтыы"}
        pt{"Португааллыы"}
        ro{"Румыынныы"}
        ru{"Нууччалыы"}
        sah{"саха тыла"}
        sk{"Словаактыы"}
        sq{"Албаанныы"}
        ta{"Тамыллыы"}
        te{"Төлүгүлүү"}
        tg{"Тадьыыктыы"}
        tt{"Татаардыы"}
        ug{"Уйгуурдуу"}
        uk{"Украйыыньыстыы"}
        uz{"Үзбиэктии"}
        zh{"Кытайдыы"}
        zu{"Зуулулуу"}
    }
    Scripts{
        Arab{"Арааптыы"}
        Armn{"Эрмээннии"}
        Cyrl{"Нууччалыы"}
        Grek{"Гириэктии"}
        Jpan{"Дьоппуоннуу"}
        Kore{"Кэриэйдии"}
        Latn{"Латыынныы"}
        Mong{"Моҕуоллуу"}
        Thai{"Таайдыы"}
        Zxxx{"Суруллубатах"}
        Zzzz{"Биллибэт сурук"}
    }
    Types{
        calendar{
            buddhist{"Буудда халандаара"}
            chinese{"Кытай халандаара"}
            hebrew{"Дьэбириэй халандаара"}
            islamic{"Ислаам халандаара"}
            japanese{"Дьоппуон халандаара"}
        }
        hc{
            h11{"12 чаастаах тиһик (0–11)"}
            h12{"12 чаастаах тиһик (0–12)"}
            h23{"24 чаастаах тиһик (0–23)"}
            h24{"24 чаастаах тиһик (0–24)"}
        }
    }
    Version{"2.1.31.33"}
    characterLabelPattern{
        strokes{
            other{"{0} Strokes"}
        }
    }
    codePatterns{
        language{"Тыл: {0}"}
        script{"Сурук: {0}"}
        territory{"Сир: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
