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

da {
    CollationElements { "& 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 { "0406" }
    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",
                "CET",
                "Central European Time (DST)",
                "CET",
             	"Copenhagen",
        }
    }
}
