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

da {
    CollationElements { 
	    Version { "2.0" }
		Sequence { "& A < \u00E6\u0301 , \u00C6\u0301& Z < \u00E6 , \u00C6;"
        " a\u0308 , A\u0308 < \u00F8 , \u00D8 ; o\u0308 , O\u0308 ; o\u030B, O\u030B< a\u030A"
        " , A\u030A, aa , aA , Aa , AA & V, w, W & Y ; u\u0308 , U\u0308 &D < \u00FO, \u00D0 &T < \u00FE, \u00DE" }
	}
    Countries { 
        DK { "Danmark" }
    }
    DateTimeElements { 
            "2",
            "4",
    }
    DateTimePatterns { 
            "HH:mm:ss z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "d. MMMM yyyy",
            "d. MMMM yyyy",
            "dd-MM-yyyy",
            "dd-MM-yy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "s\u00F8",
            "ma",
            "ti",
            "on",
            "to",
            "fr",
            "l\u00F8",
    }
    DayNames { 
            "s\u00F8ndag",
            "mandag",
            "tirsdag",
            "onsdag",
            "torsdag",
            "fredag",
            "l\u00F8rdag",
    }
    Languages { 
        da { "dansk" }
    }
    LocaleID { "06" }
    LocaleString { "da" }
    MonthAbbreviations { 
            "jan",
            "feb",
            "mar",
            "apr",
            "maj",
            "jun",
            "jul",
            "aug",
            "sep",
            "okt",
            "nov",
            "dec",
            "",
    }
    MonthNames { 
            "januar",
            "februar",
            "marts",
            "april",
            "maj",
            "juni",
            "juli",
            "august",
            "september",
            "oktober",
            "november",
            "december",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "dan" }
    localPatternChars { "GuMtkHmsSEDFwWahKzUe" }
    Eras { 
            "f.Kr.",
            "e.Kr.",
    }

    zoneStrings { 
        {
                "Europe/Copenhagen",
                "Central European Time",
                "MET",
                "Central European Time (DST)",
                "MET",
             	"Copenhagen",
        }
    }
}
