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

lt {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "@& 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",
            "EEEE, yyyy, MMMM d",
            "EEEE, yyyy, MMMM d",
            "yyyy.M.d",
            "yy.M.d",
            "{1} {0}",
    }
    DayAbbreviations { 
            "Sk",
            "Pr",
            "An",
            "Tr",
            "Kt",
            "Pn",
            "\u0160t",
    }
    DayNames { 
            "Sekmadienis",
            "Pirmadienis",
            "Antradienis",
            "Tre\u010Diadienis",
            "Ketvirtadienis",
            "Penktadienis",
            "\u0160e\u0161tadienis",
    }
    Eras { 
            "pr.Kr.",
            "po.Kr.",
    }
    Languages { 
        lt { "Lietuvi\u0159" }
    }
    LocaleID { "27" }
    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",
        }
    }
}
