﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/be.xml
// *
// ***************************************************************************
be{
    Keys{
        calendar{"каляндар"}
        collation{"сартаванне"}
        currency{"валюта"}
        hc{"часавы цыкл (12 і 24)"}
        lb{"правілы разрыву радка"}
        ms{"сістэма мер"}
        numbers{"лічбы"}
    }
    Languages{
        ab{"абхазская"}
        ady{"адыгейская"}
        af{"афрыкаанс"}
        agq{"агем"}
        ak{"акан"}
        akk{"акадзкая"}
        ale{"алеуцкая"}
        am{"амхарская"}
        an{"арагонская"}
        ang{"стараанглійская"}
        ar{"арабская"}
        ar_001{"сучасная стандартная арабская"}
        arc{"арамейская"}
        arn{"мапучэ"}
        as{"асамская"}
        asa{"асу"}
        ast{"астурыйская"}
        av{"аварская"}
        ay{"аймара"}
        az{"азербайджанская"}
        ba{"башкірская"}
        be{"беларуская"}
        bem{"бемба"}
        bez{"бена"}
        bg{"балгарская"}
        bgn{"заходняя белуджская"}
        bm{"бамбара"}
        bn{"бенгальская"}
        bo{"тыбецкая"}
        br{"брэтонская"}
        brx{"бода"}
        bs{"баснійская"}
        bua{"бурацкая"}
        ca{"каталанская"}
        ce{"чачэнская"}
        cgg{"чыга"}
        chr{"чэрокі"}
        ckb{"цэнтральнакурдская"}
        co{"карсіканская"}
        cop{"копцкая"}
        cs{"чэшская"}
        cv{"чувашская"}
        cy{"валійская"}
        da{"дацкая"}
        dav{"тайта"}
        de{"нямецкая"}
        de_AT{"нямецкая (аўстр.)"}
        de_CH{"нямецкая (швейц.)"}
        dje{"зарма"}
        dsb{"ніжнелужыцкая"}
        dua{"дуала"}
        dyo{"дыёла-фон’і"}
        dz{"дзонгкха"}
        ebu{"эмбу"}
        ee{"эве"}
        egy{"стараэгіпецкая"}
        el{"грэчаская"}
        en{"англійская"}
        en_AU{"англійская (аўстрал.)"}
        en_CA{"англійская (канад.)"}
        en_US{"англійская (ЗША)"}
        eo{"эсперанта"}
        es{"іспанская"}
        es_419{"іспанская (лацінаамер.)"}
        es_ES{"іспанская (еўрап.)"}
        es_MX{"іспанская (мексікан.)"}
        et{"эстонская"}
        eu{"баскская"}
        fa{"фарсі"}
        fi{"фінская"}
        fil{"тагальская"}
        fj{"фіджыйская"}
        fo{"фарэрская"}
        fr{"французская"}
        fr_CA{"французская (канад.)"}
        fr_CH{"французская (швейц.)"}
        fro{"старафранцузская"}
        fy{"фрызская"}
        ga{"ірландская"}
        gag{"гагаузская"}
        gd{"шатландская гэльская"}
        gl{"галісійская"}
        gn{"гуарані"}
        grc{"старагрэцкая"}
        gsw{"швейцарская нямецкая"}
        gu{"гуджараці"}
        guz{"гусіі"}
        gv{"мэнская"}
        ha{"хаўса"}
        haw{"гавайская"}
        he{"іўрыт"}
        hi{"хіндзі"}
        hr{"харвацкая"}
        hsb{"верхнелужыцкая"}
        ht{"гаіцянская"}
        hu{"венгерская"}
        hy{"армянская"}
        ia{"інтэрлінгва"}
        id{"інданезійская"}
        ie{"інтэрлінгве"}
        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{"ньянколе"}
        oc{"правансальская"}
        om{"арома"}
        or{"орыя"}
        pa{"панджабі"}
        pl{"польская"}
        ps{"пушту"}
        pt{"партугальская"}
        pt_BR{"партугальская (бразіл.)"}
        pt_PT{"партугальская (еўрап.)"}
        qu{"кечуа"}
        quc{"кічэ"}
        rm{"рэтараманская"}
        rn{"рундзі"}
        ro{"румынская"}
        ro_MD{"малдаўская"}
        rof{"ромба"}
        ru{"руская"}
        rw{"кіньяруанда"}
        rwk{"рва"}
        sa{"санскрыт"}
        sah{"якуцкая"}
        saq{"самбуру"}
        sbp{"сангу"}
        sd{"сіндхі"}
        sdh{"паўднёвакурдская"}
        se{"паўночнасаамская"}
        seh{"сена"}
        ses{"койрабара сенні"}
        sg{"санга"}
        sh{"сербска-харвацкая"}
        shi{"тачалхіт"}
        si{"сінгальская"}
        sk{"славацкая"}
        sl{"славенская"}
        sma{"паўднёвасаамская"}
        smj{"луле-саамская"}
        smn{"інары-саамская"}
        sms{"колта-саамская"}
        sn{"шона"}
        so{"самалійская"}
        sq{"албанская"}
        sr{"сербская"}
        su{"сундская"}
        sv{"шведская"}
        sw{"суахілі"}
        swc{"суахілі Конга"}
        ta{"тамільская"}
        te{"тэлугу"}
        teo{"тэсо"}
        tg{"таджыкская"}
        th{"тайская"}
        ti{"тыгрынья"}
        tk{"туркменская"}
        tlh{"клінгон"}
        to{"танганская"}
        tr{"турэцкая"}
        tt{"татарская"}
        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_GB{"брытанская англійская"}
        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{"мусульманскі каляндар"}
            islamic-civil{"мусульманскі свецкі каляндар"}
            iso8601{"каляндар ISO-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.20.4"}
    codePatterns{
        language{"Мова: {0}"}
        script{"Пісьмо: {0}"}
        territory{"Рэгіён: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
