﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fo.xml
// *
// ***************************************************************************
fo{
    AuxExemplarCharacters{"[c q w z]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{"[a á b d ð e f g h i í j k l m n o ó p r s t u ú v x y ý æ ø]"}
    ExemplarCharactersIndex{"[A Á B C D Ð E F G H I Í J K L M N O Ó P Q R S T U Ú V W X Y Ý Z Æ Ø]"}
    MoreInformation{"?"}
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;¤-#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 tusind"}
                        other{"0 tusind"}
                    }
                    10000{
                        one{"00 tusind"}
                        other{"00 tusind"}
                    }
                    100000{
                        one{"000 tusind"}
                        other{"000 tusind"}
                    }
                    1000000{
                        one{"0 million"}
                        other{"0 millioner"}
                    }
                    10000000{
                        one{"00 million"}
                        other{"00 millioner"}
                    }
                    100000000{
                        one{"000 million"}
                        other{"000 millioner"}
                    }
                    1000000000{
                        one{"0 milliard"}
                        other{"0 milliarder"}
                    }
                    10000000000{
                        one{"00 milliard"}
                        other{"00 milliarder"}
                    }
                    100000000000{
                        one{"000 milliard"}
                        other{"000 milliarder"}
                    }
                    1000000000000{
                        one{"0 billion"}
                        other{"0 billioner"}
                    }
                    10000000000000{
                        one{"00 billion"}
                        other{"00 billioner"}
                    }
                    100000000000000{
                        one{"000 billion"}
                        other{"000 billioner"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 td"}
                        other{"0 td"}
                    }
                    10000{
                        one{"00 td"}
                        other{"00 td"}
                    }
                    100000{
                        one{"000 td"}
                        other{"000 td"}
                    }
                    1000000{
                        one{"0 mn"}
                        other{"0 mn"}
                    }
                    10000000{
                        one{"00 mn"}
                        other{"00 mn"}
                    }
                    100000000{
                        one{"000 mn"}
                        other{"000 mn"}
                    }
                    1000000000{
                        one{"0 md"}
                        other{"0 md"}
                    }
                    10000000000{
                        one{"00 md"}
                        other{"00 md"}
                    }
                    100000000000{
                        one{"000 md"}
                        other{"000 md"}
                    }
                    1000000000000{
                        one{"0 bn"}
                        other{"0 bn"}
                    }
                    10000000000000{
                        one{"00 bn"}
                        other{"00 bn"}
                    }
                    100000000000000{
                        one{"000 bn"}
                        other{"000 bn"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"×10^"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"−"}
                nan{"¤¤¤"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.1.12.27"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE dd MMMM y G",
                "d. MMM y G",
                "dd-MM-y G",
                "dd-MM-yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M-d"}
                MMM{"LLL"}
                MMMEd{"E MMM d"}
                MMMd{"MMM d"}
                Md{"M-d"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-MM"}
                yMEd{"E, y-MM-dd"}
                yMMM{"y MMM"}
                yMMMEd{"E, y MMM d"}
                yMMMd{"y MMM d"}
                yMd{"y-MM-dd"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, MM-dd – E, MM-dd"}
                    d{"E, MM-dd – E, MM-dd"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"E, MM-d – E, MM-d"}
                    d{"E, MM-d – E, MM-d"}
                }
                MMMd{
                    M{"MM-d – MM-d"}
                    d{"MM-d – d"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – dd"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMEd{
                    M{"E, y-MM-dd – E, y-MM-dd"}
                    d{"E, y-MM-dd – E, y-MM-dd"}
                    y{"E, y-MM-dd – E, y-MM-dd"}
                }
                yMMM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMMMEd{
                    M{"E, y-MM-dd – E, y-MM-dd"}
                    d{"E, y-MM-dd – E, y-MM-dd"}
                    y{"E, y-MM-dd – E, y-MM-dd"}
                }
                yMMMM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMMMd{
                    M{"y-MM-dd – MM-d"}
                    d{"y-MM-d – d"}
                    y{"y-MM-dd – y-MM-dd"}
                }
                yMd{
                    M{"y-MM-dd – MM-dd"}
                    d{"y-MM-dd – dd"}
                    y{"y-MM-dd – y-MM-dd"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "um fyrrapartur",
                "um seinnapartur",
            }
            AmPmMarkersAbbr{
                "f.p.",
                "s.p.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE dd MMMM y",
                "d. MMM y",
                "dd-MM-y",
                "dd-MM-yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M-d"}
                MMM{"LLL"}
                MMMEd{"E MMM d"}
                MMMd{"MMM d"}
                Md{"M-d"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-MM"}
                yMEd{"E, y-MM-dd"}
                yMMM{"y MMM"}
                yMMMEd{"E, y MMM d"}
                yMMMd{"y MMM d"}
                yMd{"y-MM-dd"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "sun",
                        "mán",
                        "týs",
                        "mik",
                        "hós",
                        "frí",
                        "ley",
                    }
                    short{
                        "su",
                        "má",
                        "tý",
                        "mi",
                        "hó",
                        "fr",
                        "le",
                    }
                    wide{
                        "sunnudagur",
                        "mánadagur",
                        "týsdagur",
                        "mikudagur",
                        "hósdagur",
                        "fríggjadagur",
                        "leygardagur",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "M",
                        "H",
                        "F",
                        "L",
                    }
                    short{
                        "su",
                        "má",
                        "tý",
                        "mi",
                        "hó",
                        "fr",
                        "le",
                    }
                }
            }
            eras{
                abbreviated{
                    "f.Kr.",
                    "e.Kr.",
                }
                abbreviated%variant{
                    "f.l.t.",
                    "l.t.",
                }
                narrow{
                    "fKr",
                    "eKr",
                }
                narrow%variant{
                    "flt",
                    "lt",
                }
                wide{
                    "fyrir Krist",
                    "eftir Krist",
                }
                wide%variant{
                    "fyrir látlaus tímatal",
                    "látlaus tímatal",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, MM-dd – E, MM-dd"}
                    d{"E, MM-dd – E, MM-dd"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"E, MM-d – E, MM-d"}
                    d{"E, MM-d – E, MM-d"}
                }
                MMMd{
                    M{"MM-d – MM-d"}
                    d{"MM-d – d"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – dd"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMEd{
                    M{"E, y-MM-dd – E, y-MM-dd"}
                    d{"E, y-MM-dd – E, y-MM-dd"}
                    y{"E, y-MM-dd – E, y-MM-dd"}
                }
                yMMM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMMMEd{
                    M{"E, y-MM-dd – E, y-MM-dd"}
                    d{"E, y-MM-dd – E, y-MM-dd"}
                    y{"E, y-MM-dd – E, y-MM-dd"}
                }
                yMMMM{
                    M{"y-MM – MM"}
                    y{"y-MM – y-MM"}
                }
                yMMMd{
                    M{"y-MM-dd – MM-d"}
                    d{"y-MM-d – d"}
                    y{"y-MM-dd – y-MM-dd"}
                }
                yMd{
                    M{"y-MM-dd – MM-dd"}
                    d{"y-MM-dd – dd"}
                    y{"y-MM-dd – y-MM-dd"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "mai",
                        "jun",
                        "jul",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "des",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "januar",
                        "februar",
                        "mars",
                        "apríl",
                        "mai",
                        "juni",
                        "juli",
                        "august",
                        "september",
                        "oktober",
                        "november",
                        "desember",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
    fields{
        day{
            dn{"dagur"}
            relative{
                "-1"{"í gjár"}
                "-2"{"fyrradagin"}
                "0"{"í dag"}
                "1"{"í morgin"}
                "2"{"í ovurmorgin"}
            }
        }
        dayperiod{
            dn{"AM/PM"}
        }
        era{
            dn{"tíðarrokning"}
        }
        fri{
            relative{
                "-1"{"seinasta fríggjadag"}
                "0"{"næsta fríggjadag"}
                "1"{"fríggjadagin í næstu viku"}
            }
        }
        hour{
            dn{"tími"}
        }
        minute{
            dn{"minuttur"}
        }
        mon{
            relative{
                "-1"{"seinasta mánadag"}
                "0"{"næsta mánadag"}
                "1"{"mánadagin í næstu viku"}
            }
        }
        month{
            dn{"mánaður"}
            relative{
                "-1"{"seinasta mánað"}
                "0"{"henda mánaðin"}
                "1"{"næsta mánað"}
            }
        }
        sat{
            relative{
                "-1"{"seinasta leygardag"}
                "0"{"næsta leygardag"}
                "1"{"leygardagin í næstu viku"}
            }
        }
        second{
            dn{"sekund"}
        }
        sun{
            relative{
                "-1"{"seinasta sunnudag"}
                "0"{"næsta sunnudag"}
                "1"{"sunnudagin í næstu viku"}
            }
        }
        thu{
            relative{
                "-1"{"seinasta hósdag"}
                "0"{"næsta hósdag"}
                "1"{"hósdagin í næstu viku"}
            }
        }
        tue{
            relative{
                "-1"{"seinasta týsdag"}
                "0"{"næsta týsdag"}
                "1"{"týsdagin í næstu viku"}
            }
        }
        wed{
            relative{
                "-1"{"seinasta mikudag"}
                "0"{"næsta mikudag"}
                "1"{"mikudagin í næstu viku"}
            }
        }
        week{
            dn{"vika"}
            relative{
                "-1"{"seinastu viku"}
                "0"{"hesu viku"}
                "1"{"næstu viku"}
            }
        }
        weekday{
            dn{"gerandisdagur"}
        }
        year{
            dn{"ár"}
            relative{
                "-1"{"í fjør"}
                "0"{"í ár"}
                "1"{"næsta ár"}
            }
        }
        zone{
            dn{"tíðarøki"}
        }
    }
    listPattern{
        standard{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"GB-einingar"}
        US{"USA-einingar"}
        metric{"SI-einingar"}
    }
}
