﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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"}
        062{"Sørsentral-Asia"}
        142{"Asia"}
        143{"Sentral-Asia"}
        145{"Vest-Asia"}
        150{"Europa"}
        151{"Øst-Europa"}
        154{"Nord-Europa"}
        155{"Vest-Europa"}
        172{"Samveldet av uavhengige stater"}
        419{"Latin-Amerika og Karibia"}
        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 eller ugyldig område"}
    }
    Version{"2.0.50.96"}
}
