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

nn{
    Version { "2.0" }
    collations {
      standard { 
        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" }
    }
    // Currency display names
    Currencies {
        NOK { "kr", "NOK" }
    }
    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}",
    }
    DayAbbreviations {
        "su",
        "m\u00E5",
        "ty",
        "on",
        "to",
        "fr",
        "la",
    }
    DayNames {
        "sundag",
        "m\u00E5ndag",
        "tysdag",
        "onsdag",
        "torsdag",
        "fredag",
        "laurdag",
    }
    Eras {
        "f.Kr.",
        "e.Kr.",
    }
    Languages {
        nb { "norsk bokm\u00E5l" }
        nn { "norsk nynorsk" }
        no { "norsk" }
    }
    ExemplarCharacters { "[a-z\u00e6\u00e5\u00f8\u00e9\u00f3\u00f4\u00e0\u00fc\u01ce]" }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    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",
        ",",
        "+",
    }
    zoneStrings {
        {
            "Europe/Oslo",
            "Central European Time",
            "MET",
            "Central European Time (DST)",
            "MET",
            "Oslo"
        }
    }
}