﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/os.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/os.xml
 */
os{
    AuxExemplarCharacters{"[]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
    }
    ExemplarCharacters{
        "[а ӕ б в г {гъ} д {дж} {дз} е ё ж з и й к {къ} л м н о п {пъ} р с т {тъ} у ф"
        " х {хъ} ц {цъ} ч {чъ} ш щ ъ ы ь э ю я]"
    }
    ExemplarCharactersIndex{
        "[А Ӕ Б В Г {Гъ} Д {Дж} {Дз} Е Ё Ж З И Й К {Къ} Л М Н О П {Пъ} Р С Т {Тъ} У Ф"
        " Х {Хъ} Ц {Цъ} Ч {Чъ} Ш Щ Ы Э Ю Я]"
    }
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \u0022 “ „ « » ( ) \\[ \\] \\{ \\} § @ * / "
        "\\& #]"
    }
    LocaleScript{
        "Cyrl",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"НН"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.1.10.93"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM, y 'аз' G",
                "d MMMM, y 'аз' G",
                "dd MMM y 'аз' G",
                "dd.MM.yy GGGGG",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd.MM"}
                MMM{"LLL"}
                MMMEd{"ccc, d MMM"}
                MMMd{"d MMM"}
                Md{"dd.MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM.y"}
                yMEd{"E, dd.MM.y"}
                yMMM{"LLL y"}
                yMMMEd{"E, d MMM y"}
                yQQQ{"y-'ӕм' 'азы' QQQ"}
                yQQQQ{"y-'ӕм' 'азы' QQQQ"}
            }
            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"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "ӕмбисбоны размӕ",
                "ӕмбисбоны фӕстӕ",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM, y 'аз'",
                "d MMMM, y 'аз'",
                "dd MMM y 'аз'",
                "dd.MM.yy",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd.MM"}
                MMM{"LLL"}
                MMMEd{"ccc, d MMM"}
                MMMd{"d MMM"}
                Md{"dd.MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM.y"}
                yMEd{"E, dd.MM.y"}
                yMMM{"LLL y"}
                yMMMEd{"E, d MMM y"}
                yQQQ{"y-'ӕм' 'азы' QQQ"}
                yQQQQ{"y-'ӕм' 'азы' QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "хцб",
                        "крс",
                        "дцг",
                        "ӕрт",
                        "цпр",
                        "мрб",
                        "сбт",
                    }
                    narrow{
                        "Х",
                        "К",
                        "Д",
                        "Ӕ",
                        "Ц",
                        "М",
                        "С",
                    }
                    wide{
                        "хуыцаубон",
                        "къуырисӕр",
                        "дыццӕг",
                        "ӕртыццӕг",
                        "цыппӕрӕм",
                        "майрӕмбон",
                        "сабат",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Хцб",
                        "Крс",
                        "Дцг",
                        "Ӕрт",
                        "Цпр",
                        "Мрб",
                        "Сбт",
                    }
                    narrow{
                        "Х",
                        "К",
                        "Д",
                        "Ӕ",
                        "Ц",
                        "М",
                        "С",
                    }
                    wide{
                        "Хуыцаубон",
                        "Къуырисӕр",
                        "Дыццӕг",
                        "Ӕртыццӕг",
                        "Цыппӕрӕм",
                        "Майрӕмбон",
                        "Сабат",
                    }
                }
            }
            eras{
                abbreviated{
                    "н.д.а.",
                    "н.д.",
                }
            }
            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"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "янв.",
                        "фев.",
                        "мар.",
                        "апр.",
                        "мая",
                        "июны",
                        "июлы",
                        "авг.",
                        "сен.",
                        "окт.",
                        "ноя.",
                        "дек.",
                    }
                    narrow{
                        "Я",
                        "Ф",
                        "М",
                        "А",
                        "М",
                        "И",
                        "И",
                        "А",
                        "С",
                        "О",
                        "Н",
                        "Д",
                    }
                    wide{
                        "январы",
                        "февралы",
                        "мартъийы",
                        "апрелы",
                        "майы",
                        "июны",
                        "июлы",
                        "августы",
                        "сентябры",
                        "октябры",
                        "ноябры",
                        "декабры",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Янв.",
                        "Февр.",
                        "Март",
                        "Апр.",
                        "Май",
                        "Июнь",
                        "Июль",
                        "Авг.",
                        "Сент.",
                        "Окт.",
                        "Нояб.",
                        "Дек.",
                    }
                    narrow{
                        "Я",
                        "Ф",
                        "М",
                        "А",
                        "М",
                        "И",
                        "И",
                        "А",
                        "С",
                        "О",
                        "Н",
                        "Д",
                    }
                    wide{
                        "Январь",
                        "Февраль",
                        "Мартъи",
                        "Апрель",
                        "Май",
                        "Июнь",
                        "Июль",
                        "Август",
                        "Сентябрь",
                        "Октябрь",
                        "Ноябрь",
                        "Декабрь",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1-аг кв.",
                        "2-аг кв.",
                        "3-аг кв.",
                        "4-ӕм кв.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1-аг квартал",
                        "2-аг квартал",
                        "3-аг квартал",
                        "4-ӕм квартал",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1-аг кв.",
                        "2-аг кв.",
                        "3-аг кв.",
                        "4-ӕм кв.",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1-аг квартал",
                        "2-аг квартал",
                        "3-аг квартал",
                        "4-ӕм квартал",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"“"}
        alternateQuotationStart{"„"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"Бон"}
            relative{
                "-1"{"Знон"}
                "-2"{"Ӕндӕрӕбон"}
                "0"{"Абон"}
                "1"{"Сом"}
                "2"{"Иннӕбон"}
            }
            relativeTime{
                future{
                    one{"{0} боны фӕстӕ"}
                    other{"{0} боны фӕстӕ"}
                }
                past{
                    one{"{0} бон раздӕр"}
                    other{"{0} боны размӕ"}
                }
            }
        }
        dayperiod{
            dn{"Боны период"}
        }
        era{
            dn{"Дуг"}
        }
        hour{
            dn{"Сахат"}
            relativeTime{
                future{
                    one{"{0} сахаты фӕстӕ"}
                    other{"{0} сахаты фӕстӕ"}
                }
                past{
                    one{"{0} сахаты размӕ"}
                    other{"{0} сахаты размӕ"}
                }
            }
        }
        minute{
            dn{"Минут"}
        }
        month{
            dn{"Мӕй"}
        }
        second{
            dn{"Секунд"}
        }
        week{
            dn{"Къуыри"}
        }
        weekday{
            dn{"Къуырийы бон"}
        }
        year{
            dn{"Аз"}
        }
        zone{
            dn{"Рӕстӕджы зонӕ"}
        }
    }
    listPattern{
        standard{
            2{"{0} ӕмӕ {1}"}
            end{"{0} ӕмӕ {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"СБ"}
        US{"АИШ"}
        metric{"Метрикон"}
    }
}
