﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/is.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/is.xml
 */
is{
    AuxExemplarCharacters{"[c q w x z]"}
    ExemplarCharacters{"[a á b d ð e é f g h i í j k l m n o ó p r s t u ú v y ý þ æ ö]"}
    ExemplarCharactersCurrency{"[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]"}
    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 Þ Æ Ö]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"×10^"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"−"}
                nan{"EiTa"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.58.79"}
    calendar{
        gregorian{
            AmPmMarkers{
                "f.h.",
                "e.h.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "d.M.yyyy",
                "d.M.yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                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"}
                hm{"H:mm"}
                hms{"H:mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M. yyyy"}
                yMEd{"EEE d.M.yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"EEE d. MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM, y"}
                yMd{"d/M/y"}
                yQ{"Q. yyyy"}
                yQQQ{"QQQ y"}
                yyQ{"Q yy"}
                yyyyM{"M.yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "sun",
                        "mán",
                        "þri",
                        "mið",
                        "fim",
                        "fös",
                        "lau",
                    }
                    narrow{
                        "S",
                        "M",
                        "Þ",
                        "M",
                        "F",
                        "F",
                        "L",
                    }
                    wide{
                        "sunnudagur",
                        "mánudagur",
                        "þriðjudagur",
                        "miðvikudagur",
                        "fimmtudagur",
                        "föstudagur",
                        "laugardagur",
                    }
                }
                stand-alone{
                    narrow{
                        "s",
                        "m",
                        "þ",
                        "m",
                        "f",
                        "f",
                        "l",
                    }
                }
            }
            eras{
                abbreviated{
                    "fyrir Krist",
                    "eftir Krist",
                }
                narrow{
                    "f.k.",
                    "e.k.",
                }
            }
            fields{
                day{
                    dn{"dagur"}
                    relative{
                        "-1"{"í gær"}
                        "-2"{"fyrir tveimur dögum"}
                        "-3"{"fyrir þremur dögum"}
                        "0"{"í dag"}
                        "1"{"á morgun"}
                        "2"{"eftir tvo daga"}
                        "3"{"eftir þrjá daga"}
                    }
                }
                dayperiod{
                    dn{"f.h./e.h."}
                }
                era{
                    dn{"tímabil"}
                }
                hour{
                    dn{"klukkustund"}
                }
                minute{
                    dn{"mínúta"}
                }
                month{
                    dn{"mánuður"}
                    relative{
                        "-1"{"Í síðasta mánuði"}
                        "0"{"Í þessum mánuði"}
                        "1"{"Í næsta mánuði"}
                    }
                }
                second{
                    dn{"sekúnda"}
                }
                week{
                    dn{"vika"}
                    relative{
                        "-1"{"Í síðustu viku"}
                        "0"{"Í þessari viku"}
                        "1"{"Í næstu viku"}
                    }
                }
                weekday{
                    dn{"vikudagur"}
                }
                year{
                    dn{"ár"}
                    relative{
                        "-1"{"Á síðasta ári"}
                        "0"{"Á þessu ári"}
                        "1"{"Á næsta ári"}
                    }
                }
                zone{
                    dn{"svæði"}
                }
            }
            intervalFormats{
                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"}
                }
                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 – H"}
                    h{"H–H"}
                }
                hm{
                    a{"H:mm – H:mm"}
                    h{"h:mm-h:mm a"}
                    m{"h:mm-h:mm a"}
                }
                hmv{
                    a{"H:mm – H:mm v"}
                    h{"h:mm-h:mm a v"}
                    m{"h:mm-h:mm a v"}
                }
                hv{
                    a{"H – H v"}
                    h{"h-h a v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"M.yyyy - M.yyyy"}
                    y{"M.yyyy - M.yyyy"}
                }
                yMEd{
                    M{"E, d.M.yyyy - E, d.M.yyyy"}
                    d{"E, d.M.yyyy - E, d.M.yyyy"}
                    y{"E, d.M.yyyy - E, d.M.yyyy"}
                }
                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.yyyy - d.M.yyyy"}
                    d{"d.M.yyyy - d.M.yyyy"}
                    y{"d.M.yyyy - d.M.yyyy"}
                }
            }
            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",
                        "Á",
                        "L",
                        "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{
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "á",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "F1",
                        "F2",
                        "F3",
                        "F4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1st fjórðungur",
                        "2nd fjórðungur",
                        "3rd fjórðungur",
                        "4th fjórðungur",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1F",
                        "2F",
                        "3F",
                        "4F",
                    }
                    wide{
                        "1. fjórðungur",
                        "2. fjórðungur",
                        "3. fjórðungur",
                        "4. fjórðungur",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    listPattern{
        standard{
            2{"{0} og {1}"}
            end{"{0} og {1}"}
        }
    }
    measurementSystemNames{
        UK{"Bretland"}
        US{"bandarískt"}
        metric{"metrakerfi"}
    }
    units{
        day{
            one{"{0} dagur"}
            other{"{0} dagar"}
        }
        day-future{
            0{"Eftir 0 daga"}
            1{"Eftir einn dag"}
            other{"Eftir {0} daga"}
        }
        day-past{
            0{"Fyrir 0 dögum síðan"}
            1{"Fyrir einum degi síðan"}
            other{"Fyrir {0} dögum síðan"}
        }
        hour{
            one{"{0} klukkustund"}
            other{"{0} klukkustundir"}
        }
        hour-future{
            0{"Eftir 0 klukkustundir"}
            1{"Eftir eina klukkustund"}
            other{"Eftir {0} klukkustundir"}
        }
        hour-past{
            0{"Fyrir 0 klukkustundum síðan"}
            1{"Fyrir einni klukkustund síðan"}
            other{"Fyrir {0} klukkustundum síðan"}
        }
        minute{
            one{"{0} mínúta"}
            other{"{0} mínútur"}
        }
        minute-future{
            0{"Eftir 0 mínútur"}
            1{"Eftir eina mínútu"}
            other{"Eftir {0} mínútur"}
        }
        minute-past{
            0{"Fyrir 0 mínútum síðan"}
            1{"Fyrir einni mínútu síðan"}
            other{"Fyrir {0} mínútum síðan"}
        }
        month{
            one{"{0} mánuður"}
            other{"{0} mánuðir"}
        }
        month-future{
            0{"Eftir 0 mánuði"}
            1{"Eftir einn mánuð"}
            other{"Eftir {0} mánuði"}
        }
        month-past{
            0{"Fyrir 0 mánuðum síðan"}
            1{"Fyrir einum mánuði síðan"}
            other{"Fyrir {0} mánuðum síðan"}
        }
        second{
            one{"{0} sekúnda"}
            other{"{0} sekúndur"}
        }
        second-future{
            0{"Eftir 0 sekúndur"}
            1{"Eftir eina sekúndu"}
            other{"Eftir {0} sekúndur"}
        }
        second-past{
            0{"Fyrir 0 sekúndum síðan"}
            1{"Fyrir einni sekúndu síðan"}
            other{"Fyrir {0} sekúndum síðan"}
        }
        week{
            one{"{0} vika"}
            other{"{0} vikur"}
        }
        week-future{
            0{"Eftir 0 vikur"}
            1{"Eftir eina viku"}
            other{"Eftir {0} vikur"}
        }
        week-past{
            0{"Fyrir 0 vikum síðan"}
            1{"Fyrir einni viku síðan"}
            other{"Fyrir {0} vikum síðan"}
        }
        year{
            one{"{0} ár"}
            other{"{0} ár"}
        }
        year-future{
            0{"Eftir 0 ár"}
            1{"Eftir eitt ár"}
            other{"Eftir {0} ár"}
        }
        year-past{
            0{"Fyrir 0 árum síðan"}
            1{"Fyrir einu ári síðan"}
            other{"Fyrir {0} árum síðan"}
        }
    }
    unitsShort{
        day{
            0{"0 dagar"}
            1{"Einn dagur"}
            other{"{0} dagar"}
        }
        hour{
            0{"0 klst."}
            1{"1 klst."}
            other{"{0} klst."}
        }
        minute{
            0{"0 mín."}
            1{"1 mín."}
            other{"{0} mín."}
        }
        month{
            0{"0 mán."}
            1{"1 mán."}
            other{"{0} mán."}
        }
        second{
            0{"0 sek."}
            1{"1 sek."}
            other{"{0} sek."}
        }
        week{
            0{"0 vikur"}
            1{"1 vika"}
            other{"{0} vikur"}
        }
        year{
            0{"0 ár"}
            1{"1 ár"}
            other{"{0} ár"}
        }
    }
}
