﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/mk.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/mk.xml
 */
mk{
    AuxExemplarCharacters{"[ѐ ѝ]"}
    ExemplarCharacters{"[а б в г ѓ д е ж з ѕ и ј к ќ л љ м н њ о п р с т у ф х ц ч џ ш]"}
    ExemplarCharactersCurrency{"[a b c č d e f g h i j k l ł m n o º p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[А Б В Г Ѓ Д Е Ж З Ѕ И Ј К Ќ Л Љ М Н Њ О П Р С Т У Ф Х Ц Ч Џ Ш]"}
    LocaleScript{
        "Cyrl",
    }
    NumberElements{
        latn{
            patterns{
                decimalFormat{"#,##0.###"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.47.63"}
    calendar{
        gregorian{
            AmPmMarkers{
                "претпладне",
                "попладне",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd MMMM y",
                "dd MMMM y",
                "dd.M.yyyy",
                "dd.M.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"d EEE"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M-d"}
                MMM{"LLL"}
                MMMEd{"E MMM d"}
                MMMMEd{"E MMMM d"}
                MMMMd{"MMMM d"}
                MMMMdd{"dd MMMM"}
                MMMd{"MMM d"}
                Md{"M-d"}
                Mdd{"dd.M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-M"}
                yMEd{"EEE, y-M-d"}
                yMMM{"y MMM"}
                yMMMEd{"EEE, y MMM d"}
                yMMMM{"y MMMM"}
                yQ{"y Q"}
                yQQQ{"y QQQ"}
                yyQ{"Q yy"}
                yyyyM{"M.yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "нед.",
                        "пон.",
                        "вт.",
                        "сре.",
                        "чет.",
                        "пет.",
                        "саб.",
                    }
                    wide{
                        "недела",
                        "понеделник",
                        "вторник",
                        "среда",
                        "четврток",
                        "петок",
                        "сабота",
                    }
                }
                stand-alone{
                    narrow{
                        "н",
                        "п",
                        "в",
                        "с",
                        "ч",
                        "п",
                        "с",
                    }
                }
            }
            eras{
                abbreviated{
                    "пр.н.е.",
                    "ае.",
                }
            }
            fields{
                day{
                    dn{"ден"}
                    relative{
                        "-1"{"Вчера"}
                        "-2"{"завчера"}
                        "-3"{"пред три дена"}
                        "0"{"Денес"}
                        "1"{"Утре"}
                        "2"{"задутре"}
                        "3"{"по три дена"}
                    }
                }
                dayperiod{
                    dn{"претпладне/попладне"}
                }
                era{
                    dn{"Ера"}
                }
                hour{
                    dn{"Час"}
                }
                minute{
                    dn{"Минута"}
                }
                month{
                    dn{"Месец"}
                }
                second{
                    dn{"Секунда"}
                }
                week{
                    dn{"Недела"}
                }
                weekday{
                    dn{"Ден во неделата"}
                }
                year{
                    dn{"година"}
                }
                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{"E, dd.M - E, dd.M"}
                    d{"E, dd.M - E, dd.M"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"E, dd MMM - E, dd MMM"}
                    d{"E, dd - E, dd MMM"}
                }
                MMMM{
                    M{"LLLL–LLLL"}
                }
                MMMd{
                    M{"dd MMM - dd MMM"}
                    d{"dd-dd MMM"}
                }
                Md{
                    M{"dd.M - dd.M"}
                    d{"dd.M - dd.M"}
                }
                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"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"M.yy - M.yy"}
                    y{"M.yy - M.yy"}
                }
                yMEd{
                    M{"E, dd.M.yy - E, dd.M.yy"}
                    d{"E, dd.M.yy - E, dd.M.yy"}
                    y{"E, dd.M.yy - E, dd.M.yy"}
                }
                yMMM{
                    M{"MMM-MMM y"}
                    y{"MMM y - MMM y"}
                }
                yMMMM{
                    M{"yyyy-MM – MM"}
                    y{"yyyy-MM – yyyy-MM"}
                }
                yMMMd{
                    M{"dd MMM - dd MMM y"}
                    d{"dd-dd MMM y"}
                    y{"dd MMM y - dd MMM y"}
                }
                yMd{
                    M{"dd.M.yy - dd.M.yy"}
                    d{"dd.M.yy - dd.M.yy"}
                    y{"dd.M.yy - dd.M.yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "јан.",
                        "фев.",
                        "мар.",
                        "апр.",
                        "мај",
                        "јун.",
                        "јул.",
                        "авг.",
                        "септ.",
                        "окт.",
                        "ноем.",
                        "декем.",
                    }
                    wide{
                        "јануари",
                        "февруари",
                        "март",
                        "април",
                        "мај",
                        "јуни",
                        "јули",
                        "август",
                        "септември",
                        "октомври",
                        "ноември",
                        "декември",
                    }
                }
                stand-alone{
                    narrow{
                        "ј",
                        "ф",
                        "м",
                        "а",
                        "м",
                        "ј",
                        "ј",
                        "а",
                        "с",
                        "о",
                        "н",
                        "д",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "прво тромесечје",
                        "второ тромесечје",
                        "трето тромесечје",
                        "четврто тромесечје",
                    }
                }
                stand-alone{
                    abbreviated{
                        "јан-мар",
                        "апр-јун",
                        "јул-сеп",
                        "окт-дек",
                    }
                }
            }
        }
    }
    measurementSystemNames{
        US{"Американски"}
        metric{"Метрички"}
    }
    units{
        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} години"}
        }
    }
}
