﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/be.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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.85.93"}
    codePatterns{
        language{"Мова: {0}"}
        script{"Пісьмо: {0}"}
        territory{"Рэгіён: {0}"}
    }
    localeDisplayPattern{
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
