﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/nb.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nb.xml
 */
nb{
    Countries{
        001{"verden"}
        002{"Afrika"}
        003{"Nord-Amerika"}
        005{"Sør-Amerika"}
        009{"Oseania"}
        011{"Vest-Afrika"}
        013{"Sentral-Amerika"}
        014{"Øst-Afrika"}
        015{"Nord-Afrika"}
        017{"Sentral-Afrika"}
        018{"Sørlige Afrika"}
        019{"Amerika"}
        021{"Nordlige Amerika"}
        029{"Karibia"}
        030{"Øst-Asia"}
        034{"Sør-Asia"}
        035{"Sørøst-Asia"}
        039{"Sør-Europa"}
        053{"Australia og New Zealand"}
        054{"Melanesia"}
        057{"Mikronesia"}
        061{"Polynesia"}
        142{"Asia"}
        143{"Sentral-Asia"}
        145{"Vest-Asia"}
        150{"Europa"}
        151{"Øst-Europa"}
        154{"Nord-Europa"}
        155{"Vest-Europa"}
        419{"Latin-Amerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"De forente arabiske emirater"}
        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{"Østerrike"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Åland"}
        AZ{"Aserbajdsjan"}
        BA{"Bosnia-Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei Darussalam"}
        BO{"Bolivia"}
        BR{"Brasil"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetøya"}
        BW{"Botswana"}
        BY{"Hviterussland"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Kokosøyene"}
        CD{"Kongo-Kinshasa"}
        CF{"Den sentralafrikanske republikk"}
        CG{"Kongo-Brazzaville"}
        CH{"Sveits"}
        CI{"Elfenbenskysten"}
        CK{"Cookøyene"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Colombia"}
        CP{"Clippertonøya"}
        CR{"Costa Rica"}
        CS{"Serbia og Montenegro"}
        CU{"Cuba"}
        CV{"Kapp Verde"}
        CX{"Christmasøya"}
        CY{"Kypros"}
        CZ{"Tsjekkia"}
        DE{"Tyskland"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danmark"}
        DM{"Dominica"}
        DO{"Den dominikanske republikk"}
        DZ{"Algerie"}
        EA{"Ceuta og Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egypt"}
        EH{"Vest-Sahara"}
        ER{"Eritrea"}
        ES{"Spania"}
        ET{"Etiopia"}
        EU{"Den europeiske union"}
        FI{"Finland"}
        FJ{"Fiji"}
        FK{"Falklandsøyene"}
        FM{"Mikronesiaføderasjonen"}
        FO{"Færøyene"}
        FR{"Frankrike"}
        GA{"Gabon"}
        GB{"Storbritannia"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Fransk Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grønland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ekvatorial-Guinea"}
        GR{"Hellas"}
        GS{"Sør-Georgia og de sørlige Sandwich-øyene"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong S.A.R. Kina"}
        HM{"Heardøya og McDonaldøyene"}
        HN{"Honduras"}
        HR{"Kroatia"}
        HT{"Haiti"}
        HU{"Ungarn"}
        IC{"Kanariøyene"}
        ID{"Indonesia"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Man"}
        IN{"India"}
        IO{"Britiske territorier i Indiahavet"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kirgisistan"}
        KH{"Kambodsja"}
        KI{"Kiribati"}
        KM{"Komorene"}
        KN{"St. Kitts og Nevis"}
        KP{"Nord-Korea"}
        KR{"Sør-Korea"}
        KW{"Kuwait"}
        KY{"Caymanøyene"}
        KZ{"Kasakhstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litauen"}
        LU{"Luxembourg"}
        LV{"Latvia"}
        LY{"Libya"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalløyene"}
        MK{"Makedonia"}
        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øya"}
        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"}
        QO{"avsidesliggende Oceania"}
        RE{"Reunion"}
        RO{"Romania"}
        RS{"Serbia"}
        RU{"Russland"}
        RW{"Rwanda"}
        SA{"Saudi-Arabia"}
        SB{"Salomonøyene"}
        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{"São Tomé og Príncipe"}
        SV{"El Salvador"}
        SY{"Syria"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicosøyene"}
        TD{"Tsjad"}
        TF{"De franske sørterritorier"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadsjikistan"}
        TK{"Tokelau"}
        TL{"Øst-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 ytre småøyer"}
        US{"USA"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikanstaten"}
        VC{"St. Vincent og Grenadinene"}
        VE{"Venezuela"}
        VG{"De britiske jomfruøyene"}
        VI{"De amerikanske jomfruøyene"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis og Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Sør-Afrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"ukjent område"}
    }
    Version{"2.0.65.46"}
}
