﻿// ***************************************************************************
// *
// * Copyright (C) 2007 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{
    Countries{
        BR{"Бразілія"}
        BY{"Беларусь"}
        CN{"Кітай"}
        DE{"Германія"}
        FR{"Францыя"}
        GB{"Велікабрытанія"}
        IN{"Індыя"}
        IT{"Італія"}
        JP{"Японія"}
        RU{"Расія"}
        US{"Злучаныя Штаты"}
    }
    Currencies{
        BRL{
            "R$",
            "бразільскі рэал",
        }
        BYB{
            "Руб",
            "BYB",
        }
        BYR{
            "BYR",
            "беларускі рубель",
        }
        CNY{
            "CNY",
            "кітайскі юань Renminbi",
        }
        EUR{
            "€",
            "еўра",
        }
        GBP{
            "UK£",
            "англійскі фунт",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs.",
            "індыйская рупія",
        }
        JPY{
            "JP¥",
            "японская іена",
        }
        RUB{
            "RUB",
            "рускі рубель",
        }
        USD{
            "US$",
            "долар ЗША",
        }
    }
    ExemplarCharacters{"[’ а-д {дж} {дз} е ё ж з й і к-у ў ф-ш ы-я]"}
    Languages{
        ar{"арабскі"}
        be{"Беларускі"}
        de{"нямецкі"}
        en{"англійскі"}
        es{"іспанскі"}
        fr{"французскі"}
        hi{"хіндзі"}
        it{"італьянскі"}
        ja{"японскі"}
        pt{"партугальскі"}
        ru{"рускі"}
        zh{"кітайскі"}
    }
    LocaleScript{
        "Cyrl",
    }
    NumberElements{
        ",",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Scripts{
        Cyrl{"кірылічны"}
        Latn{"лацінскі"}
    }
    Version{"1.57"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH.mm.ss v",
                "HH.mm.ss z",
                "HH.mm.ss",
                "HH.mm",
                "EEEE, d MMMM yyyy",
                "d MMMM yyyy",
                "d.M.yyyy",
                "d.M.yy",
                "{1} {0}",
            }
            availableFormats{
                MMMMd{"d MMMM"}
                Md{"d.M"}
                mmss{"mm.ss"}
                yyQ{"Q yy"}
                yyyyM{"M.yyyy"}
                yyyyMMMM{"MMMM yyyy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "нд",
                        "пн",
                        "аў",
                        "ср",
                        "чц",
                        "пт",
                        "сб",
                    }
                    wide{
                        "нядзеля",
                        "панядзелак",
                        "аўторак",
                        "серада",
                        "чацвер",
                        "пятніца",
                        "субота",
                    }
                }
                stand-alone{
                    narrow{
                        "н",
                        "п",
                        "а",
                        "с",
                        "ч",
                        "п",
                        "с",
                    }
                }
            }
            eras{
                abbreviated{
                    "да н.е.",
                    "н.е.",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "сту",
                        "лют",
                        "сак",
                        "кра",
                        "май",
                        "чэр",
                        "ліп",
                        "жні",
                        "вер",
                        "кас",
                        "ліс",
                        "сне",
                    }
                    wide{
                        "студзень",
                        "люты",
                        "сакавік",
                        "красавік",
                        "май",
                        "чэрвень",
                        "ліпень",
                        "жнівень",
                        "верасень",
                        "кастрычнік",
                        "лістапад",
                        "снежань",
                    }
                }
                stand-alone{
                    narrow{
                        "с",
                        "л",
                        "с",
                        "к",
                        "м",
                        "ч",
                        "л",
                        "ж",
                        "в",
                        "к",
                        "л",
                        "с",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1-ы квартал",
                        "Q2",
                        "3-ы квартал",
                        "4-ы квартал",
                    }
                    wide{
                        "1-ы квартал",
                        "2-ы квартал",
                        "3-ы квартал",
                        "4-ы квартал",
                    }
                }
            }
        }
    }
}
