// ****************************************************************************
// *                                                                          *
// * COPYRIGHT:                                                               *
// * (C) Copyright Taligent, Inc.,  1997                                      *
// * (C) Copyright International Business Machines Corporation,  1997-99      *
// * Licensed Material - Program-Property of IBM - All Rights Reserved.       *
// * US Government Users Restricted Rights - Use, duplication, or disclosure  *
// * restricted by GSA ADP Schedule Contract with IBM Corp.                   *
// *                                                                          *
// ****************************************************************************

is {
    CollationElements { "@& A < a\u0301, A\u0301 & D < \u00F0, \u00D0& E < e\u0301"
        ", E\u0301 & I < i\u0301, I\u0301 & O < o\u0301, O\u0301 & U < u\u0301, U\u0301 "
        "& Y < y\u0301, Y\u0301 & Z < \u00fe, \u00DE < \u00E6, \u00C6< o\u0308, O\u0308"
        " ; \u00F8, \u00D8" }
    Countries { 
        IS { "\u00CDsland" }
    }
    DateTimePatterns { 
            "HH:mm:ss z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "d. MMMM yyyy",
            "d. MMMM yyyy",
            "d.M.yyyy",
            "d.M.yyyy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "sun.",
            "m\u00E1n.",
            "\u00FEri.",
            "mi\u00F0.",
            "fim.",
            "f\u00F6s.",
            "lau.",
    }
    DayNames { 
            "sunnudagur",
            "m\u00E1nudagur",
            "\u00FEri\u00F0judagur",
            "mi\u00F0vikudagur",
            "fimmtudagur",
            "f\u00F6studagur",
            "laugardagur",
    }
    Languages { 
        is { "\u00EDslenska" }
    }
    LocaleID { "040f" }
    LocaleString { "is" }
    MonthAbbreviations { 
            "jan.",
            "feb.",
            "mar.",
            "apr.",
            "ma\u00ED",
            "j\u00FAn.",
            "j\u00FAl.",
            "\u00E1g\u00FA.",
            "sep.",
            "okt.",
            "n\u00F3v.",
            "des.",
            "",
    }
    MonthNames { 
            "jan\u00FAar",
            "febr\u00FAar",
            "mars",
            "apr\u00EDl",
            "ma\u00ED",
            "j\u00FAn\u00ED",
            "j\u00FAl\u00ED",
            "\u00E1g\u00FAst",
            "september",
            "okt\u00F3ber",
            "n\u00F3vember",
            "desember",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "isl" }
    localPatternChars { "GyMdkHmsSEDFwWahKz" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
