// ***************************************************************************
// *
// *   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",
        "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:int { 0x0f }
//    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" }
    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" }
    }
}
