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

nn{
    Version { "2.0" }
    CollationElements {
        Version { "1.0" }
        Sequence { "& 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" }
    }
    Countries {
        NO { "Noreg" }
    }
    DateTimeElements:intvector {
        2,
        4,
    }
    DateTimePatterns {
        "'kl. 'HH.mm.ss z",
        "HH.mm.ss z",
        "HH.mm.ss",
        "HH.mm",
        "EEEE d. MMMM yyyy",
        "d. MMMM yyyy",
        "d. MMM. yyyy",
        "dd.MM.yy",
        "{1} {0}",
    }
    Languages {
        nb { "Norsk bokm\u00E5l" }
        nn { "Norsk nynorsk" }
        no { "Norsk" }
    }
    MonthAbbreviations {
        "jan",
        "feb",
        "mar",
        "apr",
        "mai",
        "jun",
        "jul",
        "aug",
        "sep",
        "okt",
        "nov",
        "des",
    }
    MonthNames {
        "januar",
        "februar",
        "mars",
        "april",
        "mai",
        "juni",
        "juli",
        "august",
        "september",
        "oktober",
        "november",
        "desember",
    }
    NumberElements {
        ",",
        "\u00A0",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    Eras {
        "f.Kr.",
        "e.Kr.",
    }
    zoneStrings {
        {
            "Europe/Oslo",
            "Central European Time",
            "MET",
            "Central European Time (DST)",
            "MET",
            "Oslo"
        }
    }
    DayAbbreviations {
        "su",
        "m\u00E5",
        "ty",
        "on",
        "to",
        "fr",
        "la",
    }
    DayNames {
        "sundag",
        "m\u00E5ndag",
        "tysdag",
        "onsdag",
        "torsdag",
        "fredag",
        "laurdag",
    }
    ExemplarCharacters { "[a-z\u00e6\u00e5\u00f8\u00e9\u00f3\u00f4\u00e0\u00fc\u01ce]" }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }

    // Currency display names
    Currencies {
        NOK { "kr", "NOK" }
    }
}
