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

nb {
    Version{"2.0"}
    collations {
      standard { 
        Version { "2.0" }
        Sequence { 
            "&D<<đ<<<Đ<<ð<<<Ð "
            "&t<<<þ/h"
            "&T<<<Þ/H"
            "&Y<<ü<<<Ü<<ű<<<Ű"
            "&[before 1]ʒ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å"
        }
      }
    }
    Countries {
        Fallback{ "en"}
        //AD { "Andorra" }
        AE { "De forente arabiske emiratene" }
        //AF { "Afghanistan" }
        AG { "Antigua og Barbuda" }
        //AI { "Anguilla" }
        //AL { "Albania" }
        //AM { "Armenia" }
        AN { "De nederlandske antiller" }
        //AO { "Angola" }
        AQ { "Antarktis" }
        //AR { "Argentina" }
        AS { "Amerikansk Samoa" }
        AT { "\u00D8sterrike" }
        //AU { "Australia" }
        //AW { "Aruba" }
        AZ { "Aserbajdsjan" }
        BA { "Bosnia og Hercegovina" }
        //BB { "Barbados" }
        //BD { "Bangladesh" }
        BE { "Belgia" }
        //BF { "Burkina Faso" }
        //BG { "Bulgaria" }
        //BH { "Bahrain" }
        //BI { "Burundi" }
        //BJ { "Benin" }
        //BM { "Bermuda" }
        BN { "Brunei Darussalam" }
        //BO { "Bolivia" }
        BR { "Brasil" }
        //BS { "Bahamas" }
        //BT { "Bhutan" }
        BV { "Bouvet\u00F8ya" }
        //BW { "Botswana" }
        BY { "Hviterussland" }
        //BZ { "Belize" }
        //CA { "Canada" }
        CC { "Kokos\u00F8yene (Keeling\u00F8yene)" }
        CD { "Kongo, Den demokratiske republikken" }
        CF { "Den sentralafrikanske republikk" }
        CG { "Kongo" }
        CH { "Sveits" }
        CI { "Elfenbenskysten" }
        CK { "Cook\u00F8yene" }
        //CL { "Chile" }
        CM { "Kamerun" }
        CN { "Kina" }
        //CO { "Colombia" }
        //CR { "Costa Rica" }
        //CU { "Cuba" }
        CV { "Kapp Verde" }
        CX { "Christmas\u00F8ya" }
        CY { "Kypros" }
        CZ { "Tsjekkia" }
        DE { "Tyskland" }
        //DJ { "Djibouti" }
        DK { "Danmark" }
        //DM { "Dominica" }
        DO { "Den dominikanske republikk" }
        DZ { "Algerie" }
        //EC { "Ecuador" }
        EE { "Estland" }
        //EG { "Egypt" }
        EH { "Vest-Sahara" }
        //ER { "Eritrea" }
        ES { "Spania" }
        ET { "Etiopia" }
        //FI { "Finland" }
        //FJ { "Fiji" }
        FK { "Falklands\u00F8yene (Malvinas)" }    // alternate name { "Falklands\u00F8yene" }
        FM { "Mikronesiaf\u00F8derasjonen" }
        FO { "F\u00E6r\u00F8yene" }
        FR { "Frankrike" }
        //GA { "Gabon" }
        GB { "Storbritannia" }
        //GD { "Grenada" }
        //GE { "Georgia" }
        GF { "Fransk Guyana" }
        //GH { "Ghana" }
        //GI { "Gibraltar" }
        GL { "Gr\u00F8nland" }
        //GM { "Gambia" }
        //GN { "Guinea" }
        //GP { "Guadeloupe" }
        GQ { "Ekvatorial-Guinea" }
        GR { "Hellas" }
        GS { "S\u00F8r-Georgia og S\u00F8r-Sandwich-\u00F8yene" }
        //GT { "Guatemala" }
        //GU { "Guam" }
        //GW { "Guinea-Bissau" }
        //GY { "Guyana" }
        HK { "Hong Kong S.A.R. (Kina)" }
        HM { "Heard- og McDonalds\u00F8yene" }
        //HN { "Honduras" }
        HR { "Kroatia" }
        //HT { "Haiti" }
        HU { "Ungarn" }
        //ID { "Indonesia" }
        IE { "Irland" }
        //IL { "Israel" }
        //IN { "India" }
        IO { "Britiske omr\u00E5der i det indiske hav" }
        IQ { "Irak" }
        //IR { "Iran" }
        IS { "Island" }
        IT { "Italia" }
        //JM { "Jamaica" }
        //JO { "Jordan" }
        //JP { "Japan" }
        //KE { "Kenya" }
        KG { "Kirgisistan" }
        KH { "Kambodsja" }
        //KI { "Kiribati" }
        KM { "Komorene" }
        KN { "St. Christopher og Nevis" }
        KP { "Korea (Nord)" }    // alternate name { "Korea, Den demokratiske republikken" }
        KR { "Korea (S\u00F8r)" }    // alternate name { "Korea, Republikken" }
        //KW { "Kuwait" }
        KY { "Cayman\u00F8yene" }
        KZ { "Kasakhstan" }
        LA { "Laos, Den folkedemokratiske republikken" }
        LB { "Libanon" }
        LC { "St. Lucia" }
        //LI { "Liechtenstein" }
        //LK { "Sri Lanka" }
        //LR { "Liberia" }
        //LS { "Lesotho" }
        LT { "Litauen" }
        //LU { "Luxembourg" }
        //LV { "Latvia" }
        //LY { "Libya, Den arabiske republikken" }
        MA { "Marokko" }
        //MC { "Monaco" }
        //MD { "Moldova" }
        MG { "Madagaskar" }
        MH { "Marshall\u00F8yene" }
        MK { "Makedonia, Republikken" }
        //ML { "Mali" }
        //MM { "Myanmar" }
        //MN { "Mongolia" }
        MO { "Macao S.A.R. (Kina)" }
        MP { "Nord-Marianene" }
        //MQ { "Martinique" }
        //MR { "Mauritania" }
        //MS { "Montserrat" }
        //MT { "Malta" }
        //MU { "Mauritius" }
        MV { "Maldivene" }
        //MW { "Malawi" }
        //MX { "Mexico" }
        //MY { "Malaysia" }
        MZ { "Mosambik" }
        //NA { "Namibia" }
        NC { "Ny-Caledonia" }
        //NE { "Niger" }
        NF { "Norfolk\u00F8yene" }
        //NG { "Nigeria" }
        //NI { "Nicaragua" }
        NL { "Nederland" }
        NO { "Norge" }
        //NP { "Nepal" }
        //NR { "Nauru" }
        //NU { "Niue" }
        //NZ { "New Zealand" }
        //OM { "Oman" }
        //PA { "Panama" }
        //PE { "Peru" }
        PF { "Fransk Polynesia" }
        PG { "Papua Ny-Guinea" }
        PH { "Filippinene" }
        //PK { "Pakistan" }
        PL { "Polen" }
        PM { "St. Pierre og Miquelon" }
        //PN { "Pitcairn" }
        //PR { "Puerto Rico" }
        PS { "Palestinsk territorium" }
        //PT { "Portugal" }
        //PW { "Palau" }
        //PY { "Paraguay" }
        //QA { "Qatar" }
        RE { "Reunion" }
        //RO { "Romania" }
        RU { "Den russiske f\u00F8derasjon" }
        //RW { "Rwanda" }
        //SA { "Saudi Arabia" }
        SB { "Salomon\u00F8yene" }
        SC { "Seychellene" }
        //SD { "Sudan" }
        SE { "Sverige" }
        //SG { "Singapore" }
        //SH { "St. Helena" }
        //SI { "Slovenia" }
        SJ { "Svalbard og Jan Mayen" }
        //SK { "Slovakia" }
        //SL { "Sierra Leone" }
        //SM { "San Marino" }
        //SN { "Senegal" }
        //SO { "Somalia" }
        SR { "Surinam" }
        ST { "Sao Tome og Principe" }
        //SV { "El Salvador" }
        //SY { "Syria" }    // alternate name { "Syria, Den arabiske republikken" }
        //SZ { "Swaziland" }
        TC { "Turks- og Caicos\u00F8yene" }
        TD { "Tchad" }
        TF { "Franske s\u00F8romr\u00E5der" }
        //TG { "Togo" }
        //TH { "Thailand" }
        TJ { "Tadsjikistan" }
        //TK { "Tokelau" }
        TL { "\u00D8st-Timor" }
        //TM { "Turkmenistan" }
        //TN { "Tunisia" }
        //TO { "Tonga" }
        TR { "Tyrkia" }
        TT { "Trinidad og Tobago" }
        //TV { "Tuvalu" }
        //TW { "Taiwan" }
        //TZ { "Tanzania" }
        UA { "Ukraina" }
        //UG { "Uganda" }
        UM { "USAs mindre \u00F8yer" }
        US { "Sambandsstatane" }
        //UY { "Uruguay" }
        UZ { "Usbekistan" }
        VA { "Vatikanstaten" }
        VC { "St. Vincent og Grenadinene" }
        //VE { "Venezuela" }
        VG { "Jomfru\u00F8yene (britisk)" }
        //VI { "Jomfru\u00F8yene (amerikansk)" } // Poor translation. amerikansk -> United States
        //VN { "Vietnam" }
        //VU { "Vanuatu" }
        WF { "Wallis og Futuna" }
        //WS { "Samoa" }
        //YE { "Yemen" }
        //YT { "Mayotte" }
        YU { "Jugoslavia" }
        ZA { "S\u00F8r-Afrika" }
        //ZM { "Zambia" }
        //ZW { "Zimbabwe" }
    }
    // 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 {
        "s\u00F8",
        "ma",
        "ti",
        "on",
        "to",
        "fr",
        "l\u00F8",
    }
    DayNames {
        "s\u00F8ndag",
        "mandag",
        "tirsdag",
        "onsdag",
        "torsdag",
        "fredag",
        "l\u00F8rdag",
    }
    Eras {
        "f.Kr.",
        "e.Kr.",
    }
    Languages {
        af { "afrikaans" }
        am { "amharisk" }
        ar { "arabisk" }
        be { "hviterussisk" }
        bg { "bulgarsk" }
        bn { "bengali" }
        ca { "katalansk" }
        cs { "tsjekkisk" }
        da { "dansk" }
        de { "tysk" }
        el { "gresk" }
        en { "engelsk" }
        eo { "esperanto" }
        es { "spansk" }
        et { "estisk" }
        eu { "baskisk" }
        fa { "persisk" }
        fi { "finsk" }
        fo { "f\u00e6r\u00F8ysk" }
        fr { "fransk" }
        ga { "irsk" }
        gl { "galicisk" }
        gu { "gujarati" }
        gv { "manx" }
        haw { "hawaiisk" }
        he { "hebraisk" }
        hi { "hindi" }
        hr { "kroatisk" }
        hu { "ungarsk" }
        hy { "armensk" }
        id { "indonesisk" }
        is { "islandsk" }
        it { "italiensk" }
        iu { "inuktitut" }
        ja { "japansk" }
        kl { "kalaallisut" }
        kn { "kannada" }
        ko { "koreansk" }
        kw { "kornisk" }
        lt { "litauisk" }
        lv { "latvisk" }
        mk { "makedonsk" }
        mr { "marathi" }
        mt { "maltesisk" }
        nb { "norsk bokm\u00E5l" }
        nl { "nederlandsk" }
        nn { "norsk nynorsk" }
        no { "norsk" }
        om { "oromo" }
        pl { "polsk" }
        pt { "portugisisk" }
        ro { "rumensk" }
        ru { "russisk" }
        sh { "serbokroatisk" }
        sk { "slovakisk" }
        sl { "slovensk" }
        so { "somalisk" }
        sq { "albansk" }
        sr { "serbisk" }
        sv { "svensk" }
        sw { "swahili" }
        ta { "tamil" }
        th { "thai" }
        ti { "tigrinya" }
        tr { "tyrkisk" }
        uk { "ukrainsk" }
        vi { "vietnamesisk" }
        zh { "kinesisk" }
        //zh_cn { "kinesisk (forenklet)" }
        //zh_tw { "kinesisk (tradisjonell)" }
    }
    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",
        ",",
        "+",
    }
    Keys{
	calendar    { "Kalendar" }
	//collation {""}
	currency    { "Valuta" }
    }

    Types{
        collation{
            traditional { "Tradisjonell" }
        }
        calendar{
            traditional { "Tradisjonell Kalender" }
        }
    }
    Variants{
        // EURO    { "Europeisk" }
        //PREEURO { "F\u00f8r-eruropeisk" }
        REVISED { "Revidert" }
    }

}