// ***************************************************************************
// *
// *   Copyright (C) 1997-2002, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

mk {
     Version { "1.1"}
// Macedonian sorting order is completely in accordance with the UCA, so there is no need for separate set of collation elements
//    CollationElements { 
//        Version { "1.0" }
//        Override { "FALSE" }
//        Sequence { "& Z"
//        "< \u0430 , \u0410 < \u0431 , \u0411 < \u0432 , \u0412 < \u0433 , \u0413 "
//        "< \u0434 , \u0414 < \u0453 , \u0403 < \u0435 , \u0415"
//        "< \u0436 , \u0416 < \u0437 , \u0417 < \u0455 , \u0405 < \u0438, \u0418"
//        "< \u0458 , \u0408 < \u043A , \u041A < \u043B , \u041B < \u0459 , \u0409"
//        "< \u043C , \u041C < \u043D , \u041D < \u045A , \u040A < \u043E , \u041E"
//        "< \u043F , \u041F < \u0440 , \u0420 < \u0441 , \u0421"
//        "< \u0442 , \u0422 < \u045C , \u040C < \u0443 , \u0423 < \u0444 , \u0424< \u0445 , \u0425"
//        "< \u0446 , \u0426 < \u0447 , \u0427 < \u045F , \u040F < \u0448 , \u0428" }
//        
////        "& 9 < \u0482 & Z < \u0430 , \u0410< \u0431 , \u0411< \u0432"
////        " , \u0412< \u0433 , \u0413; \u0491 , \u0490; \u0495 , \u0494; \u0453 , \u0403; "
////        "\u0493 , \u0492< \u0434 , \u0414< \u0452 , \u0402< \u0435 , \u0415; \u04BD , \u04BC"
////        "; \u0451 , \u0401; \u04BF , \u04BE< \u0454 , \u0404< \u0436 , \u0416; \u0497 , "
////        "\u0496; \u04C2 , \u04C1< \u0437 , \u0417; \u0499 , \u0498< \u0455 , \u0405< \u0438"
////        " , \u0418< \u0456 , \u0406; \u04C0 < \u0457 , \u0407< \u0439 , \u0419< \u0458 ,"
////        " \u0408< \u043A , \u041A; \u049F , \u049E; \u04C4 , \u04C3; \u049D , \u049C; \u04A1"
////        " , \u04A0; \u045C , \u040C; \u049B , \u049A< \u043B , \u041B< \u0459 , \u0409< "
////        "\u043C , \u041C< \u043D , \u041D; \u0463 ; \u04A3 , \u04A2; \u04A5 , \u04A4; \u04BB"
////        " , \u04BA; \u04C8 , \u04C7< \u045A , \u040A< \u043E , \u041E; \u04A9 , \u04A8< "
////        "\u043F , \u041F; \u04A7 , \u04A6< \u0440 , \u0420< \u0441 , \u0421; \u04AB , \u04AA"
////        "< \u0442 , \u0422; \u04AD , \u04AC< \u045B , \u040B< \u0443 , \u0423; \u04AF , "
////        "\u04AE< \u045E , \u040E< \u04B1 , \u04B0< \u0444 , \u0424< \u0445 , \u0425; \u04B3"
////        " , \u04B2< \u0446 , \u0426; \u04B5 , \u04B4< \u0447 , \u0427; \u04B7 ; \u04B6; "
////        "\u04B9 , \u04B8; \u04CC , \u04CB< \u045F , \u040F< \u0448 , \u0428< \u0449 , \u0429"
////        "< \u044A , \u042A< \u044B , \u042B< \u044C , \u042C< \u044D , \u042D< \u044E , "
////        "\u042E< \u044F , \u042F< \u0461 , \u0460< \u0462 < \u0465 , \u0464< \u0467 , \u0466"
////        "< \u0469 , \u0468< \u046B , \u046A< \u046D , \u046C< \u046F , \u046E< \u0471 , "
////        "\u0470< \u0473 , \u0472< \u0475 , \u0474; \u0477 , \u0476< \u0479 , \u0478< \u047B"
////        " , \u047A< \u047D , \u047C< \u047F , \u047E< \u0481 , \u0480" }
//    }

    Countries { 
        MK { "\u041C\u0430\u043A\u0435\u0434\u043E\u043D\u0438\u0458\u0430" }
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE, d, MMMM yyyy",
        "d, MMMM yyyy",
        "d.M.yyyy",
        "d.M.yy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "\u043D\u0435\u0434.",
        "\u043F\u043E\u043D.",
        "\u0432\u0442.",
        "\u0441\u0440\u0435.",
        "\u0447\u0435\u0442.",
        "\u043F\u0435\u0442.",
        "\u0441\u0430\u0431.",
    }
    DayNames { 
        "\u043D\u0435\u0434\u0435\u043B\u0430",
        "\u043F\u043E\u043D\u0435\u0434\u0435\u043B\u043D\u0438\u043A",
        "\u0432\u0442\u043E\u0440\u043D\u0438\u043A",
        "\u0441\u0440\u0435\u0434\u0430",
        "\u0447\u0435\u0442\u0432\u0440\u0442\u043E\u043A",
        "\u043F\u0435\u0442\u043E\u043A",
        "\u0441\u0430\u0431\u043E\u0442\u0430",
    }
    Eras { 
        "\u043F\u0440.\u043D.\u0435.",
        "\u0430\u0435.",
    }
    Languages { 
        mk { "\u043C\u0430\u043A\u0435\u0434\u043E\u043D\u0441\u043A\u0438" }
    }
    LocaleID:int { 0x2f }
//    LocaleString { "mk" }
    MonthAbbreviations { 
        "\u0458\u0430\u043D.",
        "\u0444\u0435\u0432.",
        "\u043C\u0430\u0440.",
        "\u0430\u043F\u0440.",
        "\u043C\u0430\u0458.",
        "\u0458\u0443\u043D.",
        "\u0458\u0443\u043B.",
        "\u0430\u0432\u0433.",
        "\u0441\u0435\u043F\u0442.",
        "\u043E\u043A\u0442.",
        "\u043D\u043E\u0435\u043C.",
        "\u0434\u0435\u043A\u0435\u043C.",
    }
    MonthNames { 
        "\u0458\u0430\u043D\u0443\u0430\u0440\u0438",
        "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438",
        "\u043C\u0430\u0440\u0442",
        "\u0430\u043F\u0440\u0438\u043B",
        "\u043C\u0430\u0458",
        "\u0458\u0443\u043D\u0438",
        "\u0458\u0443\u043B\u0438",
        "\u0430\u0432\u0433\u0443\u0441\u0442",
        "\u0441\u0435\u043F\u0442\u0435\u043C\u0432\u0440\u0438",
        "\u043E\u043A\u0442\u043E\u043C\u0432\u0440\u0438",
        "\u043D\u043E\u0435\u043C\u0432\u0440\u0438",
        "\u0434\u0435\u043A\u0435\u043C\u0432\u0440\u0438",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
    }
//    ShortLanguage { "mkd" }
    localPatternChars { "GuMtkHmsSEDFwWahKzUe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    LocaleScript{   
        "Cyrl",     // ISO 15924 Name 
    }
    ExemplarCharacters { "[\u0430-\u0438 \u043a-\u0448 \u0450 \u0453 \u0455 \u0458 \u0459 \u045a \u045c \u045d \u045f]" }
}
