// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

is {
    Version{ "2.0" }
    CollationElements { 
        Version { "1.0" }
        Sequence { "@&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",
        "EEEE, 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" }
    }
    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",
        ",",
        "+",
    }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    LocaleScript{   
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-z\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00f6\u00e6\u00f0\u00fe]" }

    // Currency display names
    Currencies {
        ISK { "kr.", "ISK" }
    }
}