﻿// ***************************************************************************
// *
// * 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/bg.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/bg.xml
 */
bg{
    AuxExemplarCharacters{"[{а\u0300} ѐ ѝ {о\u0300} {у\u0300} ъ ѣ {ю\u0300} {я\u0300} ѫ]"}
    ExemplarCharacters{"[а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ь ю я]"}
    ExemplarCharactersIndex{"[А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ю Я]"}
    LocaleScript{
        "Cyrl",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
            }
            symbols{
                decimal{","}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.65.46"}
    calendar{
        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.yyyy",
                "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"}
                MEd{"E, d.MM"}
                MMMEd{"d MMM, E"}
                MMMMd{"d MMMM"}
                MMMMdd{"dd MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd.MM"}
                Md{"d.M"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                y{"y 'г'."}
                yM{"M.y 'г'."}
                yMEd{"E, d.MM.y 'г'."}
                yMMM{"MMM y 'г'."}
                yMMMEd{"E, d MMM y 'г'."}
                yMMMd{"dd MMM y"}
                yMd{"dd.MM.yy"}
                yQ{"Q y 'г'."}
                yQQQ{"QQQ y 'г'."}
                yyMM{"MM.yy"}
                yyQ{"Q yy"}
                yyyy{"y"}
                yyyyMM{"MM.yyyy"}
                yyyyMMMM{"MMMM y"}
                yyyyQQQQ{"QQQQ y 'г'."}
            }
            dayNames{
                format{
                    abbreviated{
                        "нд",
                        "пн",
                        "вт",
                        "ср",
                        "чт",
                        "пт",
                        "сб",
                    }
                    wide{
                        "неделя",
                        "понеделник",
                        "вторник",
                        "сряда",
                        "четвъртък",
                        "петък",
                        "събота",
                    }
                }
                stand-alone{
                    narrow{
                        "н",
                        "п",
                        "в",
                        "с",
                        "ч",
                        "п",
                        "с",
                    }
                }
            }
            eras{
                abbreviated{
                    "пр. н. е.",
                    "от н. е.",
                }
                narrow{
                    "пр. н. е.",
                    "сл.н.е.",
                }
                wide{
                    "пр.Хр.",
                    "сл.Хр.",
                }
            }
            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{"зона"}
                }
            }
            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{
                    h{"h-h a"}
                }
                hm{
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    h{"h-h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM.yy - MM.yy"}
                    y{"MM.yy - MM.yy"}
                }
                yMEd{
                    M{"dd.MM.yy, E - dd.MM.yy, E"}
                    d{"dd.MM.yy, E - dd.MM.yy, E"}
                    y{"dd.MM.yy, E - dd.MM.yy, 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.yy - dd.MM.yy"}
                    d{"dd.MM.yy - dd.MM.yy"}
                    y{"dd.MM.yy - dd.MM.yy"}
                }
            }
            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 трим.",
                    }
                }
            }
        }
        hebrew{
            monthNames{
                format{
                    wide{
                        "тишри",
                        "хешван",
                        "кислев",
                        "тебет",
                        "шебат",
                        "адар I",
                        "адар",
                        "нисан",
                        "иар",
                        "сиван",
                        "тамуз",
                        "Av",
                        "Elul",
                        "адар II",
                    }
                }
            }
        }
        indian{
            monthNames{
                format{
                    wide{
                        "чайтра",
                        "вайсакха",
                        "джаинтха",
                        "асадха",
                        "сравана",
                        "бхада",
                        "азвина",
                        "картика",
                        "аграхайана",
                        "пауза",
                        "магха",
                        "пхалгуна",
                    }
                }
            }
        }
        islamic{
            monthNames{
                format{
                    wide{
                        "мухарам",
                        "сафар",
                        "раби-1",
                        "раби-2",
                        "джумада-1",
                        "джумада-2",
                        "раджаб",
                        "шабан",
                        "рамазан",
                        "Шавал",
                        "Дхул-Каада",
                        "Дхул-хиджа",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    listPattern{
        standard{
            2{"{0} и {1}"}
            end{"{0} и {1}"}
        }
    }
    measurementSystemNames{
        UK{"Имперска"}
        US{"Американска"}
        metric{"Метрична"}
    }
    units{
        day{
            one{"{0} ден"}
            other{"{0} дена"}
        }
        day-future{
            0{"След 0 дни"}
            1{"След 1 ден"}
            other{"След {0} дни"}
        }
        day-past{
            0{"Преди 0 дни"}
            1{"Преди 1 ден"}
            other{"Преди {0} дни"}
        }
        hour{
            one{"{0} час"}
            other{"{0} часа"}
        }
        hour-future{
            0{"След 0 часа"}
            1{"След 1 час"}
            other{"След {0} часа"}
        }
        hour-past{
            0{"Преди 0 часа"}
            1{"Преди 1 час"}
            other{"Преди {0} часа"}
        }
        minute{
            one{"{0} минута"}
            other{"{0} минути"}
        }
        minute-future{
            0{"След 0 минути"}
            1{"След 1 минута"}
            other{"След {0} минути"}
        }
        minute-past{
            0{"Преди 0 минути"}
            1{"Преди 1 минута"}
            other{"Преди {0} минути"}
        }
        month{
            one{"{0} месец"}
            other{"{0} месеца"}
        }
        month-future{
            0{"След 0 месеца"}
            1{"След 1 месец"}
            other{"След {0} месеца"}
        }
        month-past{
            0{"Преди 0 месеца"}
            1{"Преди 1 месец"}
            other{"Преди {0} месеца"}
        }
        second{
            one{"{0} секунда"}
            other{"{0} секунди"}
        }
        second-future{
            0{"След 0 секунди"}
            1{"След 1 секунда"}
            other{"След {0} секунди"}
        }
        second-past{
            0{"Преди 0 секунди"}
            1{"Преди 1 секунда"}
            other{"Преди {0} секунди"}
        }
        week{
            one{"{0} седмица"}
            other{"{0} седмици"}
        }
        week-future{
            0{"След 0 седмици"}
            1{"След 1 седмица"}
            other{"След {0} седмици"}
        }
        week-past{
            0{"Преди 0 седмици"}
            1{"Преди 1 седмица"}
            other{"Преди {0} седмици"}
        }
        year{
            one{"{0} година"}
            other{"{0} години"}
        }
        year-future{
            0{"След 0 години"}
            1{"След 1 година"}
            other{"След {0} години"}
        }
        year-past{
            0{"Преди 0 години"}
            1{"Преди 1 година"}
            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} год."}
        }
    }
}
