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

nn{
    Version { "1.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 z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "d. MMMM yyyy",
        "d. MMMM yyyy",
        "dd.MMM.yy",
        "dd.MM.yy",
        "{1} {0}",
    }
    Languages {
        nb { "bokm\u00E5l" }
        nn { "nynorsk" }
        no { "norsk" }
    }
//    LocaleString { "nn" }
    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",
        ",",
    }
//    ShortLanguage { "nor" }
    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",
        "lau",
    }
    DayNames {
        "sundag",
        "m\u00E5ndag",
        "tysdag",
        "onsdag",
        "torsdag",
        "fredag",
        "laurdag",
    }
    ExemplarCharacters { "[a-z \u00e6 \u00e5 \u00f8 \u00e9 \u00f3 \u00f4 \u00e0 \u00fc \u01ce]" }
    LocaleID:int { 0x814 }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }

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