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

sv {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "& Z < \u00E6 , \u00C6 < a\u030A , A\u030A , aa , aA , A"
        "a , AA< a\u0308 , A\u0308 < o\u0308 , O\u0308 ; u\u030B , U\u030B < o\u030B , O"
        "\u030B ; \u00F8 , \u00D8 & V ; w , W& Y, u\u0308 , U\u0308" }
	}
    Countries { 
        SE { "Sverige" }
    }
    DateTimeElements { 
            "2",
            "4",
    }
    DateTimePatterns { 
            "'kl 'H:mm z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "'den 'd MMMM yyyy",
            "'den 'd MMMM yyyy",
            "yyyy-MMM-dd",
            "yyyy-MM-dd",
            "{1} {0}",
    }
    DayAbbreviations { 
            "s\u00F6",
            "m\u00E5",
            "ti",
            "on",
            "to",
            "fr",
            "l\u00F6",
    }
    DayNames { 
            "s\u00F6ndag",
            "m\u00E5ndag",
            "tisdag",
            "onsdag",
            "torsdag",
            "fredag",
            "l\u00F6rdag",
    }
    Languages { 
        sv { "svenska" }
    }
    LocaleID { "1d" }
    LocaleString { "sv" }
    MonthAbbreviations { 
            "jan",
            "feb",
            "mar",
            "apr",
            "maj",
            "jun",
            "jul",
            "aug",
            "sep",
            "okt",
            "nov",
            "dec",
            "",
    }
    MonthNames { 
            "januari",
            "februari",
            "mars",
            "april",
            "maj",
            "juni",
            "juli",
            "augusti",
            "september",
            "oktober",
            "november",
            "december",
            "",
    }
    NumberElements { 
            ",",
            "\u00A0",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    Eras { 
            "f.Kr.",
            "e.Kr.",
    }
    ShortLanguage { "swe" }
    zoneStrings { 
        {
                "Europe/Stockholm",
                "Central European Time",
                "MET",
                "Central European Time (DST)",
                "MET",
             	"Stockholm",
        }
    }
}
