﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/be.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/be.xml
 */
be{
    Keys{
        calendar{"каляндар"}
        collation{"параўнаньне тэксту"}
        currency{"валюта"}
    }
    Languages{
        ab{"абхазская"}
        ady{"адыгейская"}
        af{"афрыкаанс"}
        afa{"афра-азіяцкая мова"}
        akk{"акадзкая"}
        ale{"алеуцкая"}
        am{"амхарская"}
        an{"арагонская"}
        ang{"стараанглійская"}
        ar{"арабская"}
        arc{"арамейская"}
        art{"штучная мова"}
        as{"асамская"}
        ast{"астурыйская"}
        aus{"аўстралійская"}
        av{"аварская"}
        ay{"аймара"}
        az{"азербайджанская"}
        ba{"башкірская"}
        be{"беларуская"}
        bg{"балгарская"}
        bh{"біхары"}
        bn{"бенгальская"}
        br{"брэтонская"}
        bs{"баснійская"}
        bua{"бурацкая"}
        ca{"каталонская"}
        cai{"мова індзейцаў Цэнтральнай Амерыкі"}
        cau{"каўказская мова"}
        ce{"чачэнская"}
        cel{"кельцкая мова"}
        cop{"копцкая"}
        cs{"чэшская"}
        cv{"чувашская"}
        cy{"валійская"}
        da{"дацкая"}
        de{"нямецкая"}
        de_AT{"нямецкая (аўстр.)"}
        de_CH{"нямецкая (швейц.)"}
        egy{"стараэгіпецкая"}
        el{"грэцкая"}
        en{"англійская"}
        en_AU{"англійская (аўстрал.)"}
        en_CA{"англійская (канад.)"}
        en_GB{"англійская (Вялікабрытанія)"}
        en_US{"англійская (ЗША)"}
        eo{"эсперанта"}
        es{"іспанская"}
        es_419{"іспанская (лацінаамер.)"}
        et{"эстонская"}
        eu{"баскская"}
        fa{"фарсі"}
        fi{"фінская"}
        fil{"тагальская"}
        fo{"фарэрская"}
        fr{"французская"}
        fr_CA{"французская (канад.)"}
        fr_CH{"французская (швейц.)"}
        fro{"старафранцузская"}
        fy{"фрызская"}
        ga{"ірландская"}
        gd{"шатландская гэльская"}
        gl{"галісійская"}
        gn{"гуарані"}
        grc{"старагрэцкая"}
        gu{"гуяраці"}
        he{"іўрыт"}
        hi{"хіндзі"}
        hr{"харвацкая"}
        hu{"венгерская"}
        hy{"армянская"}
        ia{"інтэрлінгва"}
        id{"інданезійская"}
        ie{"інтэрлінгве"}
        is{"ісландская"}
        it{"італьянская"}
        ja{"японская"}
        jv{"яванская"}
        ka{"грузінская"}
        kk{"казахская"}
        kn{"каннада"}
        ko{"карэйская"}
        ku{"курдская"}
        la{"лацінская"}
        ln{"лінгала"}
        lo{"лаоская"}
        lt{"літоўская"}
        lv{"латышская"}
        map{"аўстранезійская"}
        mk{"македонская"}
        ml{"малаяламская"}
        mn{"мангольская"}
        mo{"малдаўская"}
        mr{"маратхі"}
        ms{"малайская"}
        mt{"мальтыйская"}
        nb{"нарвэская букмал"}
        ne{"непальская"}
        nl{"галандская"}
        nl_BE{"фламандская"}
        nn{"нарвежская (нюнорск)"}
        no{"нарвежская"}
        oc{"правансальская"}
        pa{"панджабі"}
        pl{"польская"}
        ps{"пушту"}
        pt{"партугальская"}
        pt_BR{"партугальская (бразіл.)"}
        ro{"румынская"}
        ru{"руская"}
        sa{"санскрыт"}
        sah{"якуцкая"}
        sd{"сіндхі"}
        sgn{"знакавая мова"}
        sh{"сербска-харвацкая"}
        si{"сінгальская"}
        sk{"славацкая"}
        sl{"славенская"}
        sla{"славянская мова"}
        so{"самалійская"}
        sq{"албанская"}
        sr{"сербская"}
        su{"суданская"}
        sv{"шведская"}
        sw{"суахілі"}
        ta{"тамільская"}
        te{"тэлугу"}
        th{"тайская"}
        ti{"тыгрынья"}
        tk{"туркменская"}
        tlh{"клінгон"}
        tr{"турэцкая"}
        tt{"татарская"}
        tut{"алтайская мова"}
        ug{"уйгурская"}
        uk{"украінская"}
        und{"невядомая мова"}
        ur{"урду"}
        uz{"узбекская"}
        vi{"в'етнамская"}
        xh{"хоса"}
        yi{"ідыш"}
        zh{"кітайская"}
        zh_Hans{"спрошчаная кітайская"}
        zh_Hant{"традыцыйная кітайская"}
        zu{"зулу"}
    }
    Scripts{
        Arab{"арабскае"}
        Armn{"армянскае"}
        Cyrl{"кірылічны"}
        Geor{"грузінскае"}
        Hans{"спрошчанае кітайскае"}
        Hant{"традыцыйнае кітайскае"}
        Hebr{"габрэйскае"}
        Jpan{"японскае"}
        Latn{"лацінскі"}
        Zxxx{"чысты"}
        Zzzz{"невядомы або недапушчальны пераклад"}
    }
    Types{
        calendar{
            buddhist{"будысцкі каляндар"}
            chinese{"кітайскі каляндар"}
            gregorian{"грэгарыянскі каляндар"}
            hebrew{"іудэйскі каляндар"}
            islamic{"мусульманскі каляндар"}
            islamic-civil{"мусульманскі свецкі каляндар"}
            japanese{"японскі каляндар"}
        }
    }
    Version{"2.0.64.72"}
    codePatterns{
        language{"Мова: {0}"}
        script{"Пісьмо: {0}"}
        territory{"Рэгіён: {0}"}
    }
    localeDisplayPattern{
        pattern{"{0} ({1})"}
        separator{", "}
    }
}
