﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/bg.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/bg.xml
 */
bg{
    AuxExemplarCharacters{"[{а\u0300} ѐ ё ѝ {о\u0300} {у\u0300} {ъ\u0300} ы ѣ э {ю\u0300} {я\u0300} ѫ]"}
    ExemplarCharacters{"[а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ь ю я]"}
    ExemplarCharactersIndex{"[А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я]"}
    LocaleScript{
        "Cyrl",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 хиляда"}
                        other{"0 хиляди"}
                    }
                    10000{
                        one{"00 хиляди"}
                        other{"00 хиляди"}
                    }
                    100000{
                        one{"000 Х"}
                        other{"000 хиляди"}
                    }
                    1000000{
                        one{"0 милион"}
                        other{"0 милиона"}
                    }
                    10000000{
                        one{"00 милиона"}
                        other{"00 милиона"}
                    }
                    100000000{
                        one{"000 милиона"}
                        other{"000 милиона"}
                    }
                    1000000000{
                        one{"0 милиард"}
                        other{"0 милиарда"}
                    }
                    10000000000{
                        one{"00 милиарда"}
                        other{"00 милиарда"}
                    }
                    100000000000{
                        one{"000 милиарда"}
                        other{"000 милиарда"}
                    }
                    1000000000000{
                        one{"0 трилион"}
                        other{"0 трилиона"}
                    }
                    10000000000000{
                        one{"00 трилиона"}
                        other{"00 трилиона"}
                    }
                    100000000000000{
                        one{"000 трилиона"}
                        other{"000 трилиона"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 Х"}
                        other{"0 Х"}
                    }
                    10000{
                        one{"00 Х"}
                        other{"00 Х"}
                    }
                    100000{
                        one{"000 Х"}
                        other{"000 Х"}
                    }
                    1000000{
                        one{"0 М"}
                        other{"0 М"}
                    }
                    10000000{
                        one{"00 М"}
                        other{"00 М"}
                    }
                    100000000{
                        one{"000 М"}
                        other{"000 М"}
                    }
                    1000000000{
                        one{"0 Б"}
                        other{"0 Б"}
                    }
                    10000000000{
                        one{"00 Б"}
                        other{"00 Б"}
                    }
                    100000000000{
                        one{"000 Б"}
                        other{"000 Б"}
                    }
                    1000000000000{
                        one{"0 Т"}
                        other{"0 Т"}
                    }
                    10000000000000{
                        one{"00 Т"}
                        other{"00 Т"}
                    }
                    100000000000000{
                        one{"000 Т"}
                        other{"000 Т"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.82.45"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y G, EEEE",
                "dd MMMM y G",
                "dd.MM.y G",
                "dd.MM.yy GGGGG",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E, d"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.MM"}
                MMM{"LLL"}
                MMMEd{"d MMM, E"}
                MMMMd{"d MMMM"}
                MMMMdd{"dd MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd.MM"}
                Md{"d.M"}
                d{"d"}
                h{"h"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y 'г'."}
                yM{"M.y 'г'."}
                yMEd{"E, d.MM.y 'г'."}
                yMM{"MM.y"}
                yMMM{"MMM y 'г'."}
                yMMMEd{"E, d MMM y 'г'."}
                yMMMM{"MMMM y"}
                yMMMd{"dd MMM y"}
                yMd{"dd.MM.y"}
                yQQQ{"QQQ y 'г'."}
                yQQQQ{"QQQQ y 'г'."}
            }
            intervalFormats{
                H{
                    H{"HH-HH"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"HH-HH v"}
                }
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"dd.MM, E - dd.MM, E"}
                    d{"dd.MM, E - dd.MM, E"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"d MMM, E - d MMM, E"}
                    d{"d MMM, E - d MMM, E"}
                }
                MMMd{
                    M{"dd MMM - dd MMM"}
                    d{"dd-dd MMM"}
                }
                Md{
                    M{"dd.MM - dd.MM"}
                    d{"dd.MM - dd.MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"H – H"}
                    h{"h-h a"}
                }
                hm{
                    a{"H:mm – H:mm"}
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    a{"H:mm – H:mm v"}
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    a{"H – H v"}
                    h{"h-h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM.y - MM.y"}
                    y{"MM.y - MM.y"}
                }
                yMEd{
                    M{"dd.MM.y, E - dd.MM.y, E"}
                    d{"dd.MM.y, E - dd.MM.y, E"}
                    y{"dd.MM.y, E - dd.MM.y, E"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"d MMM y, E - d MMM y, E"}
                    d{"d MMM y, E - d MMM y, E"}
                    y{"d MMM y, E - d MMM y, E"}
                }
                yMMMM{
                    M{"MMMM–MMMM y 'г'."}
                    y{"MMMM y 'г'. – MMMM y 'г'."}
                }
                yMMMd{
                    M{"dd MMM - dd MMM y"}
                    d{"dd-dd MMM y"}
                    y{"dd MMM y - dd MMM y"}
                }
                yMd{
                    M{"dd.MM.y - dd.MM.y"}
                    d{"dd.MM.y - dd.MM.y"}
                    y{"dd.MM.y - dd.MM.y"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "пр. об.",
                "сл. об.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "dd MMMM y, EEEE",
                "dd MMMM y",
                "dd.MM.y",
                "dd.MM.yy",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E, d"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.MM"}
                MMM{"LLL"}
                MMMEd{"d MMM, E"}
                MMMMd{"d MMMM"}
                MMMMdd{"dd MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd.MM"}
                Md{"d.M"}
                d{"d"}
                h{"h"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y 'г'."}
                yM{"M.y 'г'."}
                yMEd{"E, d.MM.y 'г'."}
                yMM{"MM.y"}
                yMMM{"MMM y 'г'."}
                yMMMEd{"E, d MMM y 'г'."}
                yMMMM{"MMMM y"}
                yMMMd{"dd MMM y"}
                yMd{"dd.MM.y"}
                yQQQ{"QQQ y 'г'."}
                yQQQQ{"QQQQ y 'г'."}
            }
            dayNames{
                format{
                    abbreviated{
                        "нд",
                        "пн",
                        "вт",
                        "ср",
                        "чт",
                        "пт",
                        "сб",
                    }
                    short{
                        "нд",
                        "пн",
                        "вт",
                        "ср",
                        "чт",
                        "пт",
                        "сб",
                    }
                    wide{
                        "неделя",
                        "понеделник",
                        "вторник",
                        "сряда",
                        "четвъртък",
                        "петък",
                        "събота",
                    }
                }
                stand-alone{
                    narrow{
                        "н",
                        "п",
                        "в",
                        "с",
                        "ч",
                        "п",
                        "с",
                    }
                    short{
                        "нд",
                        "пн",
                        "вт",
                        "ср",
                        "чт",
                        "пт",
                        "сб",
                    }
                }
            }
            eras{
                abbreviated{
                    "пр. н. е.",
                    "от н. е.",
                }
                narrow{
                    "пр. н. е.",
                    "сл.н.е.",
                }
                wide{
                    "пр.Хр.",
                    "сл.Хр.",
                }
            }
            intervalFormats{
                H{
                    H{"HH-HH"}
                }
                Hm{
                    H{"HH:mm-HH:mm"}
                    m{"HH:mm-HH:mm"}
                }
                Hmv{
                    H{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                Hv{
                    H{"HH-HH v"}
                }
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"dd.MM, E - dd.MM, E"}
                    d{"dd.MM, E - dd.MM, E"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"d MMM, E - d MMM, E"}
                    d{"d MMM, E - d MMM, E"}
                }
                MMMd{
                    M{"dd MMM - dd MMM"}
                    d{"dd-dd MMM"}
                }
                Md{
                    M{"dd.MM - dd.MM"}
                    d{"dd.MM - dd.MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"H – H"}
                    h{"h-h a"}
                }
                hm{
                    a{"H:mm – H:mm"}
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    a{"H:mm – H:mm v"}
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    a{"H – H v"}
                    h{"h-h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM.y - MM.y"}
                    y{"MM.y - MM.y"}
                }
                yMEd{
                    M{"dd.MM.y, E - dd.MM.y, E"}
                    d{"dd.MM.y, E - dd.MM.y, E"}
                    y{"dd.MM.y, E - dd.MM.y, E"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"d MMM y, E - d MMM y, E"}
                    d{"d MMM y, E - d MMM y, E"}
                    y{"d MMM y, E - d MMM y, E"}
                }
                yMMMM{
                    M{"MMMM–MMMM y 'г'."}
                    y{"MMMM y 'г'. – MMMM y 'г'."}
                }
                yMMMd{
                    M{"dd MMM - dd MMM y"}
                    d{"dd-dd MMM y"}
                    y{"dd MMM y - dd MMM y"}
                }
                yMd{
                    M{"dd.MM.y - dd.MM.y"}
                    d{"dd.MM.y - dd.MM.y"}
                    y{"dd.MM.y - dd.MM.y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ян.",
                        "февр.",
                        "март",
                        "апр.",
                        "май",
                        "юни",
                        "юли",
                        "авг.",
                        "септ.",
                        "окт.",
                        "ноем.",
                        "дек.",
                    }
                    wide{
                        "януари",
                        "февруари",
                        "март",
                        "април",
                        "май",
                        "юни",
                        "юли",
                        "август",
                        "септември",
                        "октомври",
                        "ноември",
                        "декември",
                    }
                }
                stand-alone{
                    narrow{
                        "я",
                        "ф",
                        "м",
                        "а",
                        "м",
                        "ю",
                        "ю",
                        "а",
                        "с",
                        "о",
                        "н",
                        "д",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "I трим.",
                        "II трим.",
                        "III трим.",
                        "IV трим.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1-во тримесечие",
                        "2-ро тримесечие",
                        "3-то тримесечие",
                        "4-то тримесечие",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1 трим.",
                        "2 трим.",
                        "3 трим.",
                        "4 трим.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "тишри",
                        "хешван",
                        "кислев",
                        "тебет",
                        "шебат",
                        "адар I",
                        "адар",
                        "нисан",
                        "иар",
                        "сиван",
                        "тамуз",
                        "ав",
                        "елул",
                        "адар II",
                    }
                }
            }
        }
        indian{
            monthNames{
                format{
                    wide{
                        "чайтра",
                        "вайсакха",
                        "джаинтха",
                        "асадха",
                        "сравана",
                        "бхада",
                        "азвина",
                        "картика",
                        "аграхайана",
                        "пауза",
                        "магха",
                        "пхалгуна",
                    }
                }
            }
        }
        islamic{
            monthNames{
                format{
                    wide{
                        "мухарам",
                        "сафар",
                        "раби-1",
                        "раби-2",
                        "джумада-1",
                        "джумада-2",
                        "раджаб",
                        "шабан",
                        "рамазан",
                        "Шавал",
                        "Дхул-Каада",
                        "Дхул-хиджа",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    fields{
        day{
            dn{"Ден"}
            relative{
                "-1"{"Вчера"}
                "-2"{"Онзи ден"}
                "0"{"Днес"}
                "1"{"Утре"}
                "2"{"Вдругиден"}
            }
        }
        dayperiod{
            dn{"ден"}
        }
        era{
            dn{"ера"}
        }
        hour{
            dn{"час"}
        }
        minute{
            dn{"минута"}
        }
        month{
            dn{"месец"}
            relative{
                "-1"{"Миналия месец"}
                "0"{"Този месец"}
                "1"{"Следващия месец"}
            }
        }
        second{
            dn{"секунда"}
        }
        week{
            dn{"седмица"}
            relative{
                "-1"{"Миналата седмица"}
                "0"{"Тази седмица"}
                "1"{"Следващата седмица"}
            }
        }
        weekday{
            dn{"Ден от седмицата"}
        }
        year{
            dn{"година"}
            relative{
                "-1"{"Миналата година"}
                "0"{"Тази година"}
                "1"{"Следващата година"}
            }
        }
        zone{
            dn{"зона"}
        }
    }
    listPattern{
        standard{
            2{"{0} и {1}"}
            end{"{0} и {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Имперска"}
        US{"Американска"}
        metric{"Метрична"}
    }
    units{
        day{
            one{"{0} ден"}
            other{"{0} дена"}
        }
        day-future{
            one{"След {0} дни"}
            other{"След {0} дни"}
        }
        day-past{
            one{"Преди {0} ден"}
            other{"Преди {0} дни"}
        }
        hour{
            one{"{0} час"}
            other{"{0} часа"}
        }
        hour-future{
            one{"След {0} час"}
            other{"След {0} часа"}
        }
        hour-past{
            one{"Преди {0} час"}
            other{"Преди {0} часа"}
        }
        minute{
            one{"{0} минута"}
            other{"{0} минути"}
        }
        minute-future{
            one{"След {0} минута"}
            other{"След {0} минути"}
        }
        minute-past{
            one{"Преди {0} минута"}
            other{"Преди {0} минути"}
        }
        month{
            one{"{0} месец"}
            other{"{0} месеца"}
        }
        month-future{
            one{"След {0} месец"}
            other{"След {0} месеца"}
        }
        month-past{
            one{"Преди {0} месец"}
            other{"Преди {0} месеца"}
        }
        second{
            one{"{0} секунда"}
            other{"{0} секунди"}
        }
        second-future{
            one{"След {0} секунда"}
            other{"След {0} секунди"}
        }
        second-past{
            one{"Преди {0} секунда"}
            other{"Преди {0} секунди"}
        }
        week{
            one{"{0} седмица"}
            other{"{0} седмици"}
        }
        week-future{
            one{"След {0} седмица"}
            other{"След {0} седмици"}
        }
        week-past{
            one{"Преди {0} седмица"}
            other{"Преди {0} седмици"}
        }
        year{
            one{"{0} година"}
            other{"{0} години"}
        }
        year-future{
            one{"След {0} година"}
            other{"След {0} години"}
        }
        year-past{
            one{"Преди {0} година"}
            other{"Преди {0} години"}
        }
    }
    unitsShort{
        day{
            one{"{0} дн."}
            other{"{0} дн."}
        }
        hour{
            one{"{0} ч"}
            other{"{0} ч"}
        }
        minute{
            one{"{0} мин"}
            other{"{0} мин"}
        }
        month{
            one{"{0} мес."}
            other{"{0} мес."}
        }
        second{
            one{"{0} сек"}
            other{"{0} сек"}
        }
        week{
            one{"{0} седм."}
            other{"{0} седм."}
        }
        year{
            one{"{0} год."}
            other{"{0} год."}
        }
    }
}
