﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
fo{
    Countries{
        001{"heimur"}
        002{"Afrika"}
        003{"Norðuramerika"}
        005{"Suðuramerika"}
        009{"Osiania"}
        011{"Vesturafrika"}
        013{"Miðamerika"}
        014{"Eysturafrika"}
        015{"Norðurafrika"}
        017{"Miðafrika"}
        018{"sunnari partur av Afrika"}
        019{"Amerika"}
        021{"Amerika norðanfyri Meksiko"}
        029{"Karibia"}
        030{"Eysturasia"}
        034{"Suðurasia"}
        035{"Útsynningsasia"}
        039{"Suðurevropa"}
        053{"Avstralasia"}
        054{"Melanesia"}
        057{"Mikronesi øki"}
        061{"Polynesia"}
        142{"Asia"}
        143{"Miðasia"}
        145{"Vesturasia"}
        150{"Evropa"}
        151{"Eysturevropa"}
        154{"Norðurevropa"}
        155{"Vesturevropa"}
        202{"Afrika sunnanfyri Sahara"}
        419{"Latínamerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Sameindu Emirríkini"}
        AF{"Afganistan"}
        AG{"Antigua & Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Amerikanska Samoa"}
        AT{"Eysturríki"}
        AU{"Avstralia"}
        AW{"Aruba"}
        AX{"Áland"}
        AZ{"Aserbadjan"}
        BA{"Bosnia-Hersegovina"}
        BB{"Barbados"}
        BD{"Bangladesj"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Barein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Niðurlonds Karibia"}
        BR{"Brasil"}
        BS{"Bahamaoyggjar"}
        BT{"Butan"}
        BV{"Bouvetoyggj"}
        BW{"Botsvana"}
        BY{"Hvítarussland"}
        BZ{"Belis"}
        CA{"Kanada"}
        CC{"Kokosoyggjar"}
        CD{"Kongo, Dem. Lýðveldið"}
        CF{"Miðafrikalýðveldið"}
        CG{"Kongo"}
        CH{"Sveis"}
        CI{"Fílabeinsstrondin"}
        CK{"Cooksoyggjar"}
        CL{"Kili"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolombia"}
        CP{"Clipperton"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Grønhøvdaoyggjar"}
        CW{"Curaçao"}
        CX{"Jólaoyggjin"}
        CY{"Kýpros"}
        CZ{"Kekkia"}
        DE{"Týskland"}
        DG{"Diego Garcia"}
        DJ{"Djibuti"}
        DK{"Danmark"}
        DM{"Dominika"}
        DO{"Dominikalýðveldið"}
        DZ{"Algeria"}
        EA{"Ceuta & Melilla"}
        EC{"Ekvador"}
        EE{"Estland"}
        EG{"Egyptaland"}
        EH{"Vestursahara"}
        ER{"Eritrea"}
        ES{"Spania"}
        ET{"Etiopia"}
        EU{"Evropasamveldið"}
        EZ{"Evrasona"}
        FI{"Finnland"}
        FJ{"Fiji"}
        FK{"Falklandsoyggjar"}
        FM{"Mikronesiasamveldið"}
        FO{"Føroyar"}
        FR{"Frakland"}
        GA{"Gabon"}
        GB{"Stórabretland"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Franska Gujana"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grønland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ekvatorguinea"}
        GR{"Grikkaland"}
        GS{"Suðurgeorgia og Suðursandwichoyggjar"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Gujana"}
        HK{"Hong Kong SAR Kina"}
        HM{"Heard og McDonaldoyggjar"}
        HN{"Honduras"}
        HR{"Kroatia"}
        HT{"Haiti"}
        HU{"Ungarn"}
        IC{"Kanariuoyggjar"}
        ID{"Indonesia"}
        IE{"Írland"}
        IL{"Ísrael"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"Stóra Bretlands Indiahavoyggjar"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Ísland"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenja"}
        KG{"Kirgisia"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Komoroyggjar"}
        KN{"St. Kitts & Nevis"}
        KP{"Norðurkorea"}
        KR{"Suðurkorea"}
        KW{"Kuvait"}
        KY{"Caymanoyggjar"}
        KZ{"Kasakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lusia"}
        LI{"Liktinstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesoto"}
        LT{"Litava"}
        LU{"Luksemborg"}
        LV{"Lettland"}
        LY{"Libya"}
        MA{"Marokko"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"St-Martin"}
        MG{"Madagaskar"}
        MH{"Marshalloyggjar"}
        MK{"Norður Makedónia"}
        ML{"Mali"}
        MM{"Myanmar (Burma)"}
        MN{"Mongolia"}
        MO{"Makao SAR Kina"}
        MP{"Norðaru Mariuoyggjar"}
        MQ{"Martinique"}
        MR{"Móritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Móritius"}
        MV{"Maldivoyggjar"}
        MW{"Malavi"}
        MX{"Meksiko"}
        MY{"Malaisia"}
        MZ{"Mosambik"}
        NA{"Namibia"}
        NC{"Nýkaledónia"}
        NE{"Niger"}
        NF{"Norfolksoyggj"}
        NG{"Nigeria"}
        NI{"Nikaragua"}
        NL{"Niðurlond"}
        NO{"Noreg"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nýsæland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Franska Polynesia"}
        PG{"Papua Nýguinea"}
        PH{"Filipsoyggjar"}
        PK{"Pakistan"}
        PL{"Pólland"}
        PM{"Saint Pierre & Miquelon"}
        PN{"Pitcairnoyggjar"}
        PR{"Puerto Riko"}
        PS{"Palestinskt landøki"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Katar"}
        QO{"fjarskoti Osiania"}
        RE{"Réunion"}
        RO{"Rumenia"}
        RS{"Serbia"}
        RU{"Russland"}
        RW{"Ruanda"}
        SA{"Saudiarabia"}
        SB{"Salomonoyggjar"}
        SC{"Seyskelloyggjar"}
        SD{"Sudan"}
        SE{"Svøríki"}
        SG{"Singapor"}
        SH{"St. Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard & Jan Mayen"}
        SK{"Slovakia"}
        SL{"Sierra Leona"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Suðursudan"}
        ST{"Sao Tome & Prinsipi"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Sýria"}
        SZ{"Esvatini"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicosoyggjar"}
        TD{"Kjad"}
        TF{"Fronsku sunnaru landaøki"}
        TG{"Togo"}
        TH{"Tailand"}
        TJ{"Tadsjikistan"}
        TK{"Tokelau"}
        TL{"Eysturtimor"}
        TM{"Turkmenistan"}
        TN{"Tunesia"}
        TO{"Tonga"}
        TR{"Turkaland"}
        TT{"Trinidad & Tobago"}
        TV{"Tuvalu"}
        TW{"Taivan"}
        TZ{"Tansania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Sambandsríki Amerikas fjarskotnu oyggjar"}
        UN{"Sameindu Tjóðir"}
        US{"Sambandsríki Amerika"}
        UY{"Uruguai"}
        UZ{"Usbekistan"}
        VA{"Vatikanbýur"}
        VC{"St. Vinsent & Grenadinoyggjar"}
        VE{"Venesuela"}
        VG{"Stóra Bretlands Jomfrúoyggjar"}
        VI{"Sambandsríki Amerikas Jomfrúoyggjar"}
        VN{"Vjetnam"}
        VU{"Vanuatu"}
        WF{"Wallis- og Futunaoyggjar"}
        WS{"Samoa"}
        XA{"óekta tónalag"}
        XB{"óektaður BIDI tekstur"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Suðurafrika"}
        ZM{"Sambia"}
        ZW{"Simbabvi"}
        ZZ{"ókent øki"}
    }
    Countries%short{
        GB{"UK"}
        HK{"Hong Kong"}
        MO{"Makao"}
        PS{"Palestina"}
        US{"USA"}
    }
    Countries%variant{
        FK{"Falklandsoyggjar (Islas Malvinas)"}
        SZ{"Svasiland"}
    }
}
