// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

be {
// According to the Russian dictionaries and Word, e-diaresis is 
// a secondary difference from e, as it is in the UCA, so no tailoring is needed
//    CollationElements { 
//	    Version { "1.0.1" }
//		Sequence { // this needs to be checked again
//			"&\u0415 < \u0451, \u0401"
//		}
//    }
    Countries { 
        BY { "\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u044C" }
    }
    DateTimePatterns { 
            "H.mm.ss z",
            "H.mm.ss z",
            "H.mm.ss",
            "H.mm",
            "EEEE, d, MMMM yyyy",
            "EEEE, d, MMMM yyyy",
            "d.M.yyyy",
            "d.M.yy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "\u043d\u0434",
            "\u043F\u043D",
            "\u0430\u045e",
            "\u0441\u0440",
            "\u0447\u0446",
            "\u043F\u0442",
            "\u0441\u0431",
    }
    DayNames { 
            "\u043D\u044F\u0434\u0437\u0435\u043B\u044F",
            "\u043F\u0430\u043D\u044F\u0434\u0437\u0435\u043B\u0430\u043A",
            "\u0430\u045E\u0442\u043E\u0440\u0430\u043A",
            "\u0441\u0435\u0440\u0430\u0434\u0430",
            "\u0447\u0430\u0446\u0432\u0435\u0440",
            "\u043F\u044F\u0442\u043D\u0456\u0446\u0430",
            "\u0441\u0443\u0431\u043E\u0442\u0430",
    }
    Eras { 
            "\u0434\u0430 \u043D.\u0435.",
            "\u043D.\u0435.",
    }
    Languages { 
        be { "\u0411\u0435\u043B\u0430\u0440\u0443\u0441\u043A\u0456" }
    }
    LocaleID { "23" }
    LocaleString { "be" }
    MonthAbbreviations { 
            "\u0421\u0442\u0443",
            "\u041b\u044e\u0442",
            "\u0421\u0430\u043a",
            "\u041a\u0440\u0430",
            "\u041c\u0430\u0439",
            "\u0427\u044d\u0440",
            "\u041b\u0456\u043f",
            "\u0416\u043d\u0456",
            "\u0412\u0435\u0440",
            "\u041a\u0430\u0441",
            "\u041b\u0456\u0441",
            "\u0421\u043d\u0435",
            "",
    }
    MonthNames { 
            "\u0421\u0442\u0443\u0434\u0437\u0435\u043d\u044c",
            "\u041b\u044e\u0442\u044b",
            "\u0421\u0430\u043a\u0430\u0432\u0456\u043a",
            "\u041a\u0440\u0430\u0441\u0430\u0432\u0456\u043a",
            "\u041c\u0430\u0439",
            "\u0427\u044d\u0440\u0432\u0435\u043d\u044c",
            "\u041b\u0456\u043f\u0435\u043d\u044c",
            "\u0416\u043d\u0456\u0432\u0435\u043d\u044c",
            "\u0412\u0435\u0440\u0430\u0441\u0435\u043d\u044c",
            "\u041a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a",
            "\u041b\u0456\u0441\u0442\u0430\u043f\u0430\u0434",
            "\u0421\u043d\u0435\u0436\u0430\u043d\u044c",
            "",
    }
    NumberElements { 
            ",",
            "\u00A0",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "bel" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
    LocaleScript{
        "Cyrl",     // Abbreviation 
    }

}
