﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fo.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/fo.xml
 */
fo{
    Countries{
        001{"heimur"}
        002{"Africa"}
        003{"Norðuramerika"}
        005{"Suðuramerika"}
        009{"Kyrrahavsoyggjarnar"}
        011{"Vesturafrika"}
        013{"Sentralamerika"}
        014{"Eysturafrika"}
        015{"Norðurafrika"}
        017{"Miðafrika"}
        018{"Suður Afrika"}
        019{"Amerika"}
        021{"Amerika norður Meksiko"}
        029{"Karibia"}
        030{"Eysturasia"}
        034{"Suðurasia"}
        035{"Suðureysturasia"}
        039{"Suðurevropa"}
        053{"Avstralia og Nýsæland"}
        054{"Melanesia"}
        057{"Mikronesiske regionen"}
        061{"Polynesia"}
        142{"Asia"}
        143{"Sentralasia"}
        145{"Vesturasia"}
        150{"Evropa"}
        151{"Eysturevropa"}
        154{"Norðurevropa"}
        155{"Vesturevropa"}
        419{"Latínamerika"}
        AC{"Ascensionoyggjin"}
        AD{"Andorra"}
        AE{"Sameindu Emirríkini"}
        AF{"Afganistan"}
        AG{"Antigua og Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Niðurlendsku Antilloyggjarnar"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Amerikanska Sámoa"}
        AT{"Eysturríki"}
        AU{"Avstralia"}
        AW{"Aruba"}
        AX{"Áland"}
        AZ{"Aserbajdsjan"}
        BA{"Bosnia-Hersegovina"}
        BB{"Barbados"}
        BD{"Bangladesj"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Niðurlonds Karibia"}
        BR{"Brasilia"}
        BS{"Bahamas"}
        BT{"Butan"}
        BV{"Bouvetoyggjin"}
        BW{"Botsvana"}
        BY{"Hvítarussland"}
        BZ{"Belis"}
        CA{"Kanada"}
        CC{"Kokosoyggjarnar"}
        CD{"Kongo-Kinshasa"}
        CF{"Miðafrikalýðveldið"}
        CG{"Kongo"}
        CH{"Sveis"}
        CI{"Fílabeinsstrondin"}
        CK{"Cooksoyggjarnar"}
        CL{"Kili"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolombia"}
        CP{"Clippertonoyggjin"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Grønhøvdaoyggjarnar"}
        CW{"Curaçao"}
        CX{"Jólaoyggjin"}
        CY{"Kýpros"}
        CZ{"Kekkia"}
        DE{"Týskland"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danmørk"}
        DM{"Dominika"}
        DO{"Domingo lýð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{"Falklandsoyggjarnar"}
        FM{"Mikronesia"}
        FO{"Føroyar"}
        FR{"Frakland"}
        GA{"Gabon"}
        GB{"Stóra Bretland"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Fransk Gujana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grønland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ekvator Guinea"}
        GR{"Grikkaland"}
        GS{"Suðurgeorgia"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea Bissau"}
        GY{"Gujana"}
        HK{"Hongkong"}
        HM{"Heard- og McDonald-oyggjarnar"}
        HN{"Honduras"}
        HR{"Kroatia"}
        HT{"Haiti"}
        HU{"Ungarn"}
        IC{"Kanaríoyggjarnar"}
        ID{"Indonesia"}
        IE{"Írland"}
        IL{"Ísrael"}
        IM{"Mann"}
        IN{"India"}
        IO{"Bretsku Indiahavsoyggjarnar"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Ísland"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jameika"}
        JO{"Jordania"}
        JP{"Japan"}
        KE{"Kenja"}
        KG{"Kirgisia"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Komorooyggjarnar"}
        KN{"Saint Kitts og Nevis"}
        KP{"Norður-Korea"}
        KR{"Suður-Korea"}
        KW{"Kuvait"}
        KY{"Caymanoyggjarnar"}
        KZ{"Kasakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lusia"}
        LI{"Liktenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesoto"}
        LT{"Litava"}
        LU{"Luksemborg"}
        LV{"Lettland"}
        LY{"Libya"}
        MA{"Marokko"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Fransk Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalloyggjarnar"}
        MK{"Makedónia"}
        ML{"Mali"}
        MM{"Burma"}
        MN{"Mongolia"}
        MO{"Makao"}
        MP{"Norðurmarianoyggjarnar"}
        MQ{"Martinique"}
        MR{"Móritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Móritius"}
        MV{"Maldivuoyggjarnar"}
        MW{"Malavi"}
        MX{"Meksiko"}
        MY{"Maleisia"}
        MZ{"Mosambik"}
        NA{"Namibia"}
        NC{"Ný-Kaledonia"}
        NE{"Niger"}
        NF{"Norfolkoyggjin"}
        NG{"Nigeria"}
        NI{"Nikaragua"}
        NL{"Niðurlond"}
        NO{"Noreg"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Ný Sæland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Perú"}
        PF{"Franska Polynesia"}
        PG{"Papua Nýguinea"}
        PH{"Filipsoyggjar"}
        PK{"Pakistan"}
        PL{"Pólland"}
        PM{"Saint Pierre og Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestinskt territorium"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguei"}
        QA{"Katar"}
        RE{"Réunion"}
        RO{"Rumenia"}
        RS{"Serbia"}
        RU{"Russland"}
        RW{"Ruanda"}
        SA{"Saudi-Arábia"}
        SB{"Sálomonoyggjarnar"}
        SC{"Seyskelloyggjarnar"}
        SD{"Norðursudan"}
        SE{"Svøríki"}
        SG{"Singapor"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard og Jan Mayen"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Suðursudan"}
        ST{"Sao Tome og Prinsipi"}
        SV{"El Salvador"}
        SX{"Niðurlonds Saint Martin"}
        SY{"Syria"}
        SZ{"Svasiland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicosoyggjarnar"}
        TD{"Kjad"}
        TG{"Togo"}
        TH{"Teiland"}
        TJ{"Tadsjikistan"}
        TK{"Tokelau"}
        TL{"Eystur-Timor"}
        TM{"Turkmenistan"}
        TN{"Tunesia"}
        TO{"Tonga"}
        TR{"Turkaland"}
        TT{"Trinidad og Tobago"}
        TV{"Tuvalu"}
        TW{"Teivan"}
        TZ{"Tansania"}
        UA{"Ukreina"}
        UG{"Uganda"}
        US{"Sambandsríki Amerika"}
        UY{"Uruguei"}
        UZ{"Usbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vinsent og Grenadinoyggjar"}
        VE{"Venesuela"}
        VG{"Stóra Bretlands Jómfrúoyggjarnar"}
        VI{"Sambandsríki Amerikas Jómfrúoyggjarnar"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis og Futuna"}
        WS{"Sámoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Suðurafrikalýðveldið"}
        ZM{"Sambia"}
        ZW{"Simbabvi"}
        ZZ{"(ukendt område)"}
    }
    Countries%variant{
        CG{"Kongo-Brazzaville"}
    }
    CountriesShort{
        GB{"Stóra Bretland"}
        HK{"Hongkong"}
        MO{"Makao"}
        PS{"Palestina"}
        US{"USA"}
    }
    Version{"2.1.7.53"}
}
