﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/is.xml
// *
// ***************************************************************************
is{
    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 Þ Æ Ö]"}
    ExemplarCharactersPunctuation{
        "[\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \u0022 “ „ ( ) \\[ \\] § @ * / \\& # † ‡ ′ "
        "″]"
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"#,##0.00 ¤"}
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 þúsund"}
                        other{"0 þúsund"}
                    }
                    10000{
                        one{"00 þúsund"}
                        other{"00 þúsund"}
                    }
                    100000{
                        one{"000 þúsund"}
                        other{"000 þúsund"}
                    }
                    1000000{
                        one{"0 milljón"}
                        other{"0 milljónir"}
                    }
                    10000000{
                        one{"00 milljón"}
                        other{"00 milljónir"}
                    }
                    100000000{
                        one{"000 milljón"}
                        other{"000 milljónir"}
                    }
                    1000000000{
                        one{"0 milljarður"}
                        other{"0 milljarðar"}
                    }
                    10000000000{
                        one{"00 milljarður"}
                        other{"00 milljarðar"}
                    }
                    100000000000{
                        one{"000 milljarður"}
                        other{"000 milljarðar"}
                    }
                    1000000000000{
                        one{"0 billjón"}
                        other{"0 billjónir"}
                    }
                    10000000000000{
                        one{"00 billjón"}
                        other{"00 billjónir"}
                    }
                    100000000000000{
                        one{"000 billjón"}
                        other{"000 billjónir"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 þ'.'"}
                        other{"0 þ'.'"}
                    }
                    10000{
                        one{"00 þ'.'"}
                        other{"00 þ'.'"}
                    }
                    100000{
                        one{"000 þ'.'"}
                        other{"000 þ'.'"}
                    }
                    1000000{
                        one{"0 m'.'"}
                        other{"0 m'.'"}
                    }
                    10000000{
                        one{"00 m'.'"}
                        other{"00 m'.'"}
                    }
                    100000000{
                        one{"000 m'.'"}
                        other{"000 m'.'"}
                    }
                    1000000000{
                        one{"0 ma'.'"}
                        other{"0 ma'.'"}
                    }
                    10000000000{
                        one{"00 ma'.'"}
                        other{"00 ma'.'"}
                    }
                    100000000000{
                        one{"000 ma'.'"}
                        other{"000 ma'.'"}
                    }
                    1000000000000{
                        one{"0 bn"}
                        other{"0 bn"}
                    }
                    10000000000000{
                        one{"00 bn"}
                        other{"00 bn"}
                    }
                    100000000000000{
                        one{"000 bn"}
                        other{"000 bn"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.12.94"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y GGGGG",
                "{1}, {0}",
                "{1} 'kl.' {0}",
                "{1} 'kl.' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E d."}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"E, d.M.y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d. MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d.M.y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            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, d.M. – E, d.M."}
                    d{"E, d. – E, d.M."}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d. MMM – E, d. MMM"}
                    d{"E, d. – E, d. MMM"}
                }
                MMMM{
                    M{"MMMM–MMMM"}
                }
                MMMd{
                    M{"d. MMM – d. MMM"}
                    d{"d.–d. MMM"}
                }
                Md{
                    M{"d.M.–d.M."}
                    d{"d.–d.M."}
                }
                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 G"}
                }
                yM{
                    M{"M.–M.y G"}
                    y{"M.y–M.y G"}
                }
                yMEd{
                    M{"E, d.M. – E, d.M.y G"}
                    d{"E, d. – E, d.M.y G"}
                    y{"E, d.M.y – E, d.M.y G"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y G"}
                    d{"E, d. – E, d. MMM y G"}
                    y{"E, d. MMM y – E, d. MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y G"}
                    d{"d.–d. MMM y G"}
                    y{"d. MMM y – d. MMM y G"}
                }
                yMd{
                    M{"d.M.–d.M.y G"}
                    d{"d.–d.M.y G"}
                    y{"d.M.y–d.M.y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "f.h.",
                "e.h.",
            }
            AmPmMarkersNarrow{
                "f.",
                "e.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "d. MMM y",
                "d.M.y",
                "{1}, {0}",
                "{1} 'kl.' {0}",
                "{1} 'kl.' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            NoonMarker{"hádegi"}
            NoonMarkerNarrow{"h."}
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E, HH:mm"}
                EHms{"E, HH:mm:ss"}
                Ed{"E d."}
                Ehm{"E, h:mm a"}
                Ehms{"E, h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMd{"d. MMM"}
                Md{"d.M."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M. y"}
                yMEd{"E, d.M.y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "sun.",
                        "mán.",
                        "þri.",
                        "mið.",
                        "fim.",
                        "fös.",
                        "lau.",
                    }
                    narrow{
                        "S",
                        "M",
                        "Þ",
                        "M",
                        "F",
                        "F",
                        "L",
                    }
                    short{
                        "su.",
                        "má.",
                        "þr.",
                        "mi.",
                        "fi.",
                        "fö.",
                        "la.",
                    }
                    wide{
                        "sunnudagur",
                        "mánudagur",
                        "þriðjudagur",
                        "miðvikudagur",
                        "fimmtudagur",
                        "föstudagur",
                        "laugardagur",
                    }
                }
                stand-alone{
                    abbreviated{
                        "sun.",
                        "mán.",
                        "þri.",
                        "mið.",
                        "fim.",
                        "fös.",
                        "lau.",
                    }
                    narrow{
                        "S",
                        "M",
                        "Þ",
                        "M",
                        "F",
                        "F",
                        "L",
                    }
                    short{
                        "su.",
                        "má.",
                        "þr.",
                        "mi.",
                        "fi.",
                        "fö.",
                        "la.",
                    }
                    wide{
                        "sunnudagur",
                        "mánudagur",
                        "þriðjudagur",
                        "miðvikudagur",
                        "fimmtudagur",
                        "föstudagur",
                        "laugardagur",
                    }
                }
            }
            eras{
                abbreviated{
                    "f.Kr.",
                    "e.Kr.",
                }
                abbreviated%variant{
                    "f.l.t.",
                    "l.t.",
                }
                narrow{
                    "f.k.",
                    "e.k.",
                }
                wide{
                    "fyrir Krist",
                    "eftir Krist",
                }
                wide%variant{
                    "fyrir kristið tímatal",
                    "kristið 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, d.M. – E, d.M."}
                    d{"E, d.M. – E, d.M."}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d. MMM – E, d. MMM"}
                    d{"E, d. – E, d. MMM"}
                }
                MMMM{
                    M{"LLLL–LLLL"}
                }
                MMMd{
                    M{"d. MMM – d. MMM"}
                    d{"d.–d. MMM"}
                }
                Md{
                    M{"d.M.–d.M."}
                    d{"d.M.–d.M."}
                }
                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{"M.y – M.y"}
                    y{"M.y – M.y"}
                }
                yMEd{
                    M{"E, d.M.y – E, d.M.y"}
                    d{"E, d.M.y – E, d.M.y"}
                    y{"E, d.M.y – E, d.M.y"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y"}
                    d{"E, d. – E, d. MMM y"}
                    y{"E, d. MMM y – E, d. MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y"}
                    d{"d.–d. MMM y"}
                    y{"d. MMM y – d. MMM y"}
                }
                yMd{
                    M{"d.M.y – d.M.y"}
                    d{"d.M.y – d.M.y"}
                    y{"d.M.y – d.M.y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan.",
                        "feb.",
                        "mar.",
                        "apr.",
                        "maí",
                        "jún.",
                        "júl.",
                        "ágú.",
                        "sep.",
                        "okt.",
                        "nóv.",
                        "des.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "Á",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "janúar",
                        "febrúar",
                        "mars",
                        "apríl",
                        "maí",
                        "júní",
                        "júlí",
                        "ágúst",
                        "september",
                        "október",
                        "nóvember",
                        "desember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "jan.",
                        "feb.",
                        "mar.",
                        "apr.",
                        "maí",
                        "jún.",
                        "júl.",
                        "ágú.",
                        "sep.",
                        "okt.",
                        "nóv.",
                        "des.",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "Á",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "janúar",
                        "febrúar",
                        "mars",
                        "apríl",
                        "maí",
                        "júní",
                        "júlí",
                        "ágúst",
                        "september",
                        "október",
                        "nóvember",
                        "desember",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "F1",
                        "F2",
                        "F3",
                        "F4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. fjórðungur",
                        "2. fjórðungur",
                        "3. fjórðungur",
                        "4. fjórðungur",
                    }
                }
                stand-alone{
                    abbreviated{
                        "F1",
                        "F2",
                        "F3",
                        "F4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. fjórðungur",
                        "2. fjórðungur",
                        "3. fjórðungur",
                        "4. fjórðungur",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    fields{
        day{
            dn{"dagur"}
            relative{
                "-1"{"í gær"}
                "-2"{"í fyrradag"}
                "0"{"í dag"}
                "1"{"á morgun"}
                "2"{"eftir tvo daga"}
            }
            relativeTime{
                future{
                    one{"eftir {0} dag"}
                    other{"eftir {0} daga"}
                }
                past{
                    one{"fyrir {0} degi"}
                    other{"fyrir {0} dögum"}
                }
            }
        }
        day-narrow{
            dn{"dagur"}
            relativeTime{
                future{
                    one{"+{0} dag"}
                    other{"+{0} daga"}
                }
                past{
                    one{"-{0} degi"}
                    other{"-{0} dögum"}
                }
            }
        }
        day-short{
            dn{"dagur"}
            relativeTime{
                future{
                    one{"eftir {0} dag"}
                    other{"eftir {0} daga"}
                }
                past{
                    one{"fyrir {0} dögum"}
                    other{"fyrir {0} dögum"}
                }
            }
        }
        dayperiod{
            dn{"f.h./e.h."}
        }
        era{
            dn{"tímabil"}
        }
        fri{
            relative{
                "-1"{"föstudagur í síðustu viku"}
                "0"{"föstudagur í þessari viku"}
                "1"{"föstudagur í næstu viku"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"síðasti fös."}
                "0"{"þessi fös."}
                "1"{"nk. fös."}
            }
        }
        fri-short{
            relative{
                "-1"{"síðasti fös."}
                "0"{"þessi fös."}
                "1"{"næstkomandi fös."}
            }
        }
        hour{
            dn{"klukkustund"}
            relativeTime{
                future{
                    one{"eftir {0} klukkustund"}
                    other{"eftir {0} klukkustundir"}
                }
                past{
                    one{"fyrir {0} klukkustund"}
                    other{"fyrir {0} klukkustundum"}
                }
            }
        }
        hour-narrow{
            dn{"klst."}
            relativeTime{
                future{
                    one{"+{0} klst."}
                    other{"+{0} klst."}
                }
                past{
                    one{"-{0} klst."}
                    other{"-{0} klst."}
                }
            }
        }
        hour-short{
            dn{"klst."}
            relativeTime{
                future{
                    one{"eftir {0} klst."}
                    other{"eftir {0} klst."}
                }
                past{
                    one{"fyrir {0} klst."}
                    other{"fyrir {0} klst."}
                }
            }
        }
        minute{
            dn{"mínúta"}
            relativeTime{
                future{
                    one{"eftir {0} mínútu"}
                    other{"eftir {0} mínútur"}
                }
                past{
                    one{"fyrir {0} mínútu"}
                    other{"fyrir {0} mínútum"}
                }
            }
        }
        minute-narrow{
            dn{"mín."}
            relativeTime{
                future{
                    one{"+{0} mín."}
                    other{"+{0} mín."}
                }
                past{
                    one{"-{0} mín."}
                    other{"-{0} mín."}
                }
            }
        }
        minute-short{
            dn{"mín."}
            relativeTime{
                future{
                    one{"eftir {0} mín."}
                    other{"eftir {0} mín."}
                }
                past{
                    one{"fyrir {0} mín."}
                    other{"fyrir {0} mín."}
                }
            }
        }
        mon{
            relative{
                "-1"{"mánudagur í síðustu viku"}
                "0"{"mánudagur í þessari viku"}
                "1"{"mánudagur í næstu viku"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"síðasti mán."}
                "0"{"þessi mán."}
                "1"{"nk. mán."}
            }
        }
        mon-short{
            relative{
                "-1"{"síðasti mán."}
                "0"{"þessi mán."}
                "1"{"næstkomandi mán."}
            }
        }
        month{
            dn{"mánuður"}
            relative{
                "-1"{"í síðasta mánuði"}
                "0"{"í þessum mánuði"}
                "1"{"í næsta mánuði"}
            }
            relativeTime{
                future{
                    one{"eftir {0} mánuð"}
                    other{"eftir {0} mánuði"}
                }
                past{
                    one{"fyrir {0} mánuði"}
                    other{"fyrir {0} mánuðum"}
                }
            }
        }
        month-narrow{
            dn{"mán."}
            relativeTime{
                future{
                    one{"eftir {0} mán."}
                    other{"eftir {0} mán."}
                }
                past{
                    one{"fyrir {0} mán."}
                    other{"fyrir {0} mán."}
                }
            }
        }
        month-short{
            dn{"mán."}
            relativeTime{
                future{
                    one{"eftir {0} mán."}
                    other{"eftir {0} mán."}
                }
                past{
                    one{"fyrir {0} mán."}
                    other{"fyrir {0} mán."}
                }
            }
        }
        quarter{
            dn{"ársfjórðungur"}
            relativeTime{
                future{
                    one{"eftir {0} ársfjórðung"}
                    other{"eftir {0} ársfjórðunga"}
                }
                past{
                    one{"fyrir {0} ársfjórðungi"}
                    other{"fyrir {0} ársfjórðungum"}
                }
            }
        }
        quarter-narrow{
            dn{"ársfjórðungur"}
            relativeTime{
                future{
                    one{"eftir {0} ársfj."}
                    other{"eftir {0} ársfj."}
                }
                past{
                    one{"fyrir {0} ársfj."}
                    other{"fyrir {0} ársfj."}
                }
            }
        }
        quarter-short{
            dn{"ársfjórðungur"}
            relativeTime{
                future{
                    one{"eftir {0} ársfj."}
                    other{"eftir {0} ársfj."}
                }
                past{
                    one{"fyrir {0} ársfj."}
                    other{"fyrir {0} ársfj."}
                }
            }
        }
        sat{
            relative{
                "-1"{"laugardagur í síðustu viku"}
                "0"{"laugardagur í þessari viku"}
                "1"{"laugardagur í næstu viku"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"síðasti lau."}
                "0"{"þessi lau."}
                "1"{"nk. lau."}
            }
        }
        sat-short{
            relative{
                "-1"{"síðasti lau."}
                "0"{"þessi lau."}
                "1"{"næstkomandi lau."}
            }
        }
        second{
            dn{"sekúnda"}
            relative{
                "0"{"núna"}
            }
            relativeTime{
                future{
                    one{"eftir {0} sekúndu"}
                    other{"eftir {0} sekúndur"}
                }
                past{
                    one{"fyrir {0} sekúndu"}
                    other{"fyrir {0} sekúndum"}
                }
            }
        }
        second-narrow{
            dn{"sek."}
            relativeTime{
                future{
                    one{"+{0} sek."}
                    other{"+{0} sek."}
                }
                past{
                    one{"-{0} sek."}
                    other{"-{0} sek."}
                }
            }
        }
        second-short{
            dn{"sek."}
            relativeTime{
                future{
                    one{"eftir {0} sek."}
                    other{"eftir {0} sek."}
                }
                past{
                    one{"fyrir {0} sek."}
                    other{"fyrir {0} sek."}
                }
            }
        }
        sun{
            relative{
                "-1"{"sunnudagur í síðustu viku"}
                "0"{"sunnudagur í þessari viku"}
                "1"{"sunnudagur í næstu viku"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"síðasti sun."}
                "0"{"þessi sun."}
                "1"{"nk. sun."}
            }
        }
        sun-short{
            relative{
                "-1"{"síðasti sun."}
                "0"{"þessi sun."}
                "1"{"næstkomandi sun."}
            }
        }
        thu{
            relative{
                "-1"{"fimmtudagur í síðustu viku"}
                "0"{"fimmtudagur í þessari viku"}
                "1"{"fimmtudagur í næstu viku"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"síðasti fim."}
                "0"{"þessi fim."}
                "1"{"nk. fim."}
            }
        }
        thu-short{
            relative{
                "-1"{"síðasti fim."}
                "0"{"þessi fim."}
                "1"{"næstkomandi fim."}
            }
        }
        tue{
            relative{
                "-1"{"þriðjudagur í síðustu viku"}
                "0"{"þriðjudagur í þessari viku"}
                "1"{"þriðjudagur í næstu viku"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"síðasti þri."}
                "0"{"þessi þri."}
                "1"{"nk. þri."}
            }
        }
        tue-short{
            relative{
                "-1"{"síðasti þri."}
                "0"{"þessi þri."}
                "1"{"næstkomandi þri."}
            }
        }
        wed{
            relative{
                "-1"{"miðvikudagur í síðustu viku"}
                "0"{"miðvikudagur í þessari viku"}
                "1"{"miðvikudagur í næstu viku"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"síðasti mið."}
                "0"{"þessi mið."}
                "1"{"nk. mið."}
            }
        }
        wed-short{
            relative{
                "-1"{"síðasti mið."}
                "0"{"þessi mið."}
                "1"{"næstkomandi mið."}
            }
        }
        week{
            dn{"vika"}
            relative{
                "-1"{"í síðustu viku"}
                "0"{"í þessari viku"}
                "1"{"í næstu viku"}
            }
            relativeTime{
                future{
                    one{"eftir {0} viku"}
                    other{"eftir {0} vikur"}
                }
                past{
                    one{"fyrir {0} viku"}
                    other{"fyrir {0} vikum"}
                }
            }
        }
        week-narrow{
            dn{"vika"}
            relativeTime{
                future{
                    one{"+{0} viku"}
                    other{"+{0} vikur"}
                }
                past{
                    one{"-{0} viku"}
                    other{"-{0} vikur"}
                }
            }
        }
        week-short{
            dn{"vika"}
            relativeTime{
                future{
                    one{"eftir {0} vikur"}
                    other{"eftir {0} vikur"}
                }
                past{
                    one{"fyrir {0} viku"}
                    other{"fyrir {0} vikum"}
                }
            }
        }
        weekday{
            dn{"vikudagur"}
        }
        year{
            dn{"ár"}
            relative{
                "-1"{"á síðasta ári"}
                "0"{"á þessu ári"}
                "1"{"á næsta ári"}
            }
            relativeTime{
                future{
                    one{"eftir {0} ár"}
                    other{"eftir {0} ár"}
                }
                past{
                    one{"fyrir {0} ári"}
                    other{"fyrir {0} árum"}
                }
            }
        }
        year-narrow{
            dn{"ár"}
            relativeTime{
                future{
                    one{"eftir {0} ár"}
                    other{"eftir {0} ár"}
                }
                past{
                    one{"fyrir {0} árum"}
                    other{"fyrir {0} árum"}
                }
            }
        }
        year-short{
            dn{"ár"}
            relativeTime{
                future{
                    one{"eftir {0} ár"}
                    other{"eftir {0} ár"}
                }
                past{
                    one{"fyrir {0} ári"}
                    other{"fyrir {0} árum"}
                }
            }
        }
        zone{
            dn{"tímabelti"}
        }
    }
    listPattern{
        standard{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"breskt"}
        US{"bandarískt"}
        metric{"metrakerfi"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Tölulegur"}
        Tone{"Tónn"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Áherslur"}
        x-Fullwidth{"Full breidd"}
        x-Halfwidth{"Hálf breidd"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Birting"}
    }
}
