﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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.7.53"}
    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{"Метрикон"}
    }
}
