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

da {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		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" }
	}
    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",
        }
    }
}
