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

lt {
    Version{ "2.0" }
    CollationElements { 
        Version { "1.0" }
        Sequence { "[backwards 2]& C < c\u030C <<< C\u030C & I << y = \u0131 <<< Y = \u0130 "
        "& S < s\u030C <<< S\u030C & X < y\u0301<<< Y\u0301 < y\u0302 <<< Y\u0302 < y\u0308<<< Y"
        "\u0308 & Z < z\u030C <<< Z\u030C" }
    }
    Countries { 
        LT { "Lietuva" }
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "yyyy 'm.' MMMM d 'd.',EEEE",
        "yyyy 'm.' MMMM d 'd.'",
        "yyyy.M.d",
        "yyyy.M.d",
        "{1} {0}",
    }
    DateTimeElements:intvector {
        2,
        1, // "Minimal Days in First Week" is unknown. Root value used instead
    }
    DayAbbreviations { 
        "sk",
        "pr",
        "an",
        "tr",
        "kt",
        "pn",
        "\u0161t",
    }
    DayNames { 
        "sekmadienis",
        "pirmadienis",
        "antradienis",
        "tre\u010Diadienis",
        "ketvirtadienis",
        "penktadienis",
        "\u0161e\u0161tadienis",
    }
    Eras { 
        "pr.Kr.",
        "po.Kr.",
    }
    Languages { 
        lt { "Lietuvi\u0173" }
    }
    LocaleID:int { 0x27 }
//    LocaleString { "lt" }
    MonthAbbreviations { 
        "sau",
        "vas",
        "kov",
        "bal",
        "geg",
        "bir",
        "lie",
        "rgp",
        "rgs",
        "spa",
        "lap",
        "grd",
    }
    MonthNames { 
        "sausio",
        "vasario",
        "kovo",
        "baland\u017Eio",
        "gegu\u017E\u0117s",
        "bir\u017Eelio",
        "liepos",
        "rugpj\u016B\u010Dio",
        "rugs\u0117jo",
        "spalio",
        "lapkri\u010Dio",
        "gruod\u017Eio",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
    }
//    ShortLanguage { "lit" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }
    ExemplarCharacters { "[a-z \u0105 \u0119 \u012f \u0173 \u0117 \u016b \u010d \u0161 \u017e]" }

    // Currency display names
    Currencies {
        LTL { "Lt", "LTL" }
    }
}
