﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fo.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"}
        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 og Melilla"}
        EC{"Ekvador"}
        EE{"Estland"}
        EG{"Egyptaland"}
        EH{"Vestursahara"}
        ER{"Eritrea"}
        ES{"Spania"}
        ET{"Etiopia"}
        EU{"Evropasamveldið"}
        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{"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 og 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{"Svasiland"}
        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"}
        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"}
        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{
        MK{"Makedónia (FJM)"}
    }
    Version{"2.1.22.93"}
}
