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

uk {
    Version {"1.1" } 
    CollationElements { 
        Version { "1.0" }
        Sequence { 
            "&\u0413 < \u0491 <<< \u0490"
        }
//        "& Z"
//        "< \u0430 <<< \u0410 < \u0431 <<< \u0411 < \u0432 <<< \u0412 < \u0433 <<< \u0413 < \u0491 <<< \u0490"
//        "< \u0434 <<< \u0414 < \u0435 <<< \u0415 < \u0454 <<< \u0404 < \u0436 <<< \u0416"
//        "< \u0437 <<< \u0417 < \u0438 <<< \u0418  < \u0456 <<< \u0406 < \u0457 <<< \u0407  < \u0439 <<< \u0419 < \u043A <<< \u041A"
//        "< \u043B <<< \u041B < \u043C <<< \u041C < \u043D <<< \u041D < \u043E <<< \u041E"
//        "< \u043F <<< \u041F < \u0440 <<< \u0420 < \u0441 <<< \u0421 < \u0442 <<< \u0422"
//        "< \u0443 <<< \u0423 < \u0444 <<< \u0424 < \u0445 <<< \u0425 < \u0446 <<< \u0426"
//        "< \u0447 <<< \u0427 < \u0448 <<< \u0428 < \u0449 <<< \u0429 < \u044C <<< \u042C"
//        "< \u044E <<< \u042E < \u044F <<< \u042F "
//         }

//      Sequence { "& 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< \u044D <<< \u042D< \u044E <<< \u042E< \u044F <<< "
//        "\u042F< \u044C <<< \u042C< \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 { 
        UA { "\u0423\u043A\u0440\u0430\u0457\u043D\u0430" }
    }
    DateTimeElements:intvector { 
        2,
        1,
    }
    DateTimePatterns {
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE, d, MMMM yyyy",
        "EEEE, d, MMMM yyyy",
        "d/M/yyyy",
        "d/M/yy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "\u041D\u0434",
        "\u041F\u043D",
        "\u0412\u0442",
        "\u0421\u0440",
        "\u0427\u0442",
        "\u041F\u0442",
        "\u0421\u0431",
    }
    DayNames { 
        "\u041D\u0435\u0434\u0456\u043B\u044F",
        "\u041F\u043E\u043D\u0435\u0434\u0456\u043B\u043E\u043A",
        "\u0412\u0456\u0432\u0442\u043E\u0440\u043E\u043A",
        "\u0421\u0435\u0440\u0435\u0434\u0430",
        "\u0427\u0435\u0442\u0432\u0435\u0440",
        "\u041F\u044F\u0442\u043D\u0438\u0446\u044F",
        "\u0421\u0443\u0431\u043E\u0442\u0430",
    }
    Eras { 
        "\u0434\u043E \u043D.\u0435.",
        "\u043F\u0456\u0441\u043B\u044F \u043D.\u0435.",
    }
    Languages { 
        uk { "\u0443\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430" }
    }
    LocaleID:int { 0x22 }
//    LocaleString { "uk" }
    MonthAbbreviations { 
        "\u0421\u0456\u0447",
        "\u041B\u044E\u0442",
        "\u0411\u0435\u0440",
        "\u041A\u0432\u0456\u0442",
        "\u0422\u0440\u0430\u0432",
        "\u0427\u0435\u0440\u0432",
        "\u041B\u0438\u043F",
        "\u0421\u0435\u0440\u043F",
        "\u0412\u0435\u0440",
        "\u0416\u043E\u0432\u0442",
        "\u041B\u0438\u0441\u0442",
        "\u0413\u0440\u0443\u0434",
    }
    MonthNames { 
        "\u0421\u0456\u0447\u043D\u044F",
        "\u041B\u044E\u0442\u043E\u0433\u043E",
        "\u0411\u0435\u0440\u0435\u0436\u043D\u044F",
        "\u041A\u0432\u0456\u0442\u043D\u044F",
        "\u0422\u0440\u0430\u0432\u043D\u044F",
        "\u0427\u0435\u0440\u0432\u043D\u044F",
        "\u041B\u0438\u043F\u043D\u044F",
        "\u0421\u0435\u0440\u043F\u043D\u044F",
        "\u0412\u0435\u0440\u0435\u0441\u043D\u044F",
        "\u0416\u043E\u0432\u0442\u043D\u044F",
        "\u041B\u0438\u0441\u0442\u043E\u043F\u0430\u0434\u0430",
        "\u0413\u0440\u0443\u0434\u043D\u044F",
    }
    NumberElements {
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
    }
//    ShortLanguage { "ukr" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    LocaleScript:array {
        "Cyrl"      // ISO 15924 Name 
    }
    ExemplarCharacters { "[\u0430-\u0449 \u044e \u044c \u044f \u0454 \u0456 \u0457 \u0491]" }

    // Currency display names
    Currencies {
        UAH { "\u0433\u0440\u043D.", "UAH" }
    }
}
