﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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.65.46"}
    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{
                Ed{"E 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 a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M. yyyy"}
                yMEd{"E d.M.yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"E 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"}
                        "0"{"í dag"}
                        "1"{"á morgun"}
                        "2"{"eftir tvo 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 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.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"}
        }
    }
}
