﻿// ***************************************************************************
// *
// * Copyright (C) 2005 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../locale/common/main/fo.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ./xml/main/fo.xml
 */
fo{
    Countries{
        AE{"Sameindu Emirríkini"}
        AF{"Afganistan"}
        AG{"Antigua og Barbuda"}
        AQ{"Antarktis"}
        AT{"Eysturríki"}
        AU{"Avstralia"}
        AZ{"Aserbajdsjan"}
        BA{"Bosnia-Hersegovina"}
        BD{"Bangladesj"}
        BE{"Belgia"}
        BR{"Brasilia"}
        BT{"Butan"}
        BW{"Botsvana"}
        BY{"Hvítarussland"}
        BZ{"Belis"}
        CA{"Kanada"}
        CF{"Miðafrikalýðveldið"}
        CG{"Kongo"}
        CH{"Sveis"}
        CI{"Fílabeinsstrondin"}
        CL{"Kili"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolombia"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Grønhøvdaoyggjarnar"}
        CY{"Kýpros"}
        CZ{"Kekkia"}
        DE{"Týskland"}
        DK{"Danmørk"}
        DM{"Dominika"}
        DO{"Domingo lýðveldið"}
        EC{"Ekvador"}
        EE{"Estland"}
        EG{"Egyptaland"}
        ES{"Spania"}
        ET{"Etiopia"}
        FI{"Finnland"}
        FM{"Mikronesia"}
        FO{"Føroyar"}
        FR{"Frakland"}
        GQ{"Ekvator Guinea"}
        GR{"Grikkaland"}
        GW{"Guinea Bissau"}
        GY{"Gujana"}
        HR{"Kroatia"}
        HU{"Ungarn"}
        IE{"Írland"}
        IL{"Ísrael"}
        IQ{"Irak"}
        IS{"Ísland"}
        IT{"Italia"}
        JM{"Jameika"}
        KE{"Kenja"}
        KG{"Kirgisia"}
        KH{"Kambodja"}
        KM{"Komorooyggjarnar"}
        KN{"Saint Kitts og Nevis"}
        KP{"Norður-Korea"}
        KR{"Suður-Korea"}
        KW{"Kuvait"}
        KZ{"Kasakstan"}
        LB{"Libanon"}
        LC{"Saint Lusia"}
        LI{"Liktenstein"}
        LS{"Lesoto"}
        LT{"Litava"}
        LU{"Luksemborg"}
        LV{"Lettland"}
        MA{"Marokko"}
        MC{"Monako"}
        MG{"Madagaskar"}
        MH{"Marshalloyggjarnar"}
        MK{"Makedónia"}
        MR{"Móritania"}
        MU{"Móritius"}
        MV{"Maldivuoyggjarnar"}
        MW{"Malavi"}
        MX{"Meksiko"}
        MY{"Maleisia"}
        MZ{"Mosambik"}
        NI{"Nikaragua"}
        NL{"Niðurlond"}
        NO{"Noreg"}
        NZ{"Ný Sæland"}
        PE{"Perú"}
        PG{"Papua Nýguinea"}
        PH{"Filipsoyggjar"}
        PL{"Pólland"}
        PY{"Paraguei"}
        QA{"Katar"}
        RO{"Rumenia"}
        RU{"Russland"}
        RW{"Ruanda"}
        SA{"Saudi-Arábia"}
        SB{"Sálomonoyggjarnar"}
        SC{"Seyskelloyggjarnar"}
        SE{"Svøríki"}
        SG{"Singapor"}
        SR{"Surinam"}
        ST{"Sao Tome og Prinsipi"}
        SZ{"Svasiland"}
        TD{"Kjad"}
        TJ{"Tadsjikistan"}
        TN{"Tunesia"}
        TR{"Turkaland"}
        TT{"Trinidad og Tobago"}
        TW{"Teivan"}
        TZ{"Tansania"}
        UA{"Ukreina"}
        US{"Sambandsríki Amerika"}
        UY{"Uruguei"}
        UZ{"Usbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vinsent og Grenadinoyggjar"}
        VE{"Venesuela"}
        WS{"Sámoa"}
        YE{"Jemen"}
        ZA{"Suðurafrika"}
        ZM{"Sambia"}
        ZW{"Simbabvi"}
    }
    Currencies{
        DKK{
            "kr",
            "DKK",
        }
    }
    ExemplarCharacters{"[a-záæíðóøúý]"}
    Languages{
        fo{"føroyskt"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    Version{"1.26"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH:mm:ss z",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE dd MMMM yyyy",
                "d. MMM yyyy",
                "dd-MM-yyyy",
                "dd-MM-yy",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "sun",
                        "mán",
                        "týs",
                        "mik",
                        "hós",
                        "frí",
                        "ley",
                    }
                    wide{
                        "sunnudagur",
                        "mánadagur",
                        "týsdagur",
                        "mikudagur",
                        "hósdagur",
                        "fríggjadagur",
                        "leygardagur",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "mai",
                        "jun",
                        "jul",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "des",
                    }
                    wide{
                        "januar",
                        "februar",
                        "mars",
                        "apríl",
                        "mai",
                        "juni",
                        "juli",
                        "august",
                        "september",
                        "oktober",
                        "november",
                        "desember",
                    }
                }
            }
        }
    }
}
