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

ar {
    Version{"2.0"}
    AmPmMarkers { 
        "\u0635",
        "\u0645",
    }
    CollationElements { 
        Version { "2.0" }
        Sequence { "[normalization on]&  Z <  \u0621<< \u0622<< \u0623<< \u0624<< \u0625<< \u0626< \u0627< \u0628< "
        "\u067E< \u0629= \u062A< \u062B< \u062C< \u0686< \u062D< \u062E< \u062F< \u0630<"
        " \u0631< \u0632< \u0698< \u0633< \u0634< \u0635< \u0636< \u0637< \u0638< \u0639"
        "< \u063A< \u0641< \u0642< \u0643< \u06AF< \u0644< \u0645< \u0646< \u0647< \u0648"
        "< \u0649<< \u064A< \u0670< \u0671< \u0672< \u0673< \u0674< \u0675< \u0676< \u0677"
        "< \u0678< \u0679< \u067A< \u067B< \u067C< \u067D< \u067F< \u0680< \u0681< \u0682"
        "< \u0683< \u0684< \u0685< \u0687< \u0688< \u0689< \u068A< \u068B< \u068C< \u068D"
        "< \u068E< \u068F< \u0690< \u0691< \u0692< \u0693< \u0694< \u0695< \u0696< \u0697"
        "< \u0699< \u069A< \u069B< \u069C< \u069D< \u069E< \u069F< \u06A0< \u06A1< \u06A2"
        "< \u06A3< \u06A4< \u06A5< \u06A6< \u06A7< \u06A8< \u06A9< \u06AA< \u06AB< \u06AC"
        "< \u06AD< \u06AE< \u06B0< \u06B1< \u06B2< \u06B3< \u06B4< \u06B5< \u06B6< \u06B7"
        "< \u06BA< \u06BB< \u06BC< \u06BD< \u06BE< \u06C0< \u06C1< \u06C2< \u06C3< \u06C4"
        "< \u06C5< \u06C6< \u06C7< \u06C8< \u06C9< \u06CA< \u06CB< \u06CC< \u06CD< \u06CE"
        "< \u06D0< \u06D1< \u06D2< \u06D3< \u06D5< \u0651"}
    }
    Countries { 
        AE { "\u0627\u0644\u0625\u0645\u0627\u0631\u0627\u062A" }
        BH { "\u0627\u0644\u0628\u062D\u0631\u064A\u0646" }
        DZ { "\u0627\u0644\u062C\u0632\u0627\u0626\u0631" }
        EG { "\u0645\u0635\u0631" }
        IQ { "\u0627\u0644\u0639\u0631\u0627\u0642" }
        IN { "\u0627\u0644\u0647\u0646\u062F" }
        JO { "\u0627\u0644\u0623\u0631\u062F\u0646" }
        KW { "\u0627\u0644\u0643\u0648\u064A\u062A" }
        LB { "\u0644\u0628\u0646\u0627\u0646" }
        LY { "\u0644\u064A\u0628\u064A\u0627" }
        MA { "\u0627\u0644\u0645\u063A\u0631\u0628" }
        OM { "\u0633\u0644\u0637\u0646\u0629 \u0639\u0645\u0627\u0646" }
        QA { "\u0642\u0637\u0631" }
        SA { "\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629" }
        SD { "\u0627\u0644\u0633\u0648\u062F\u0627\u0646" }
        SY { "\u0633\u0648\u0631\u064A\u0627" }
        TN { "\u062A\u0648\u0646\u0633" }
        YE { "\u0627\u0644\u064A\u0645\u0646" }
    }
    DateTimeElements:intvector { 
        7,
        1,
    }
    DateTimePatterns { 
        "z h:mm:ss a",
        "h:mm:ss a",
        "h:mm:ss a",
        "h:mm a",
        "EEEE, d MMMM, yyyy",
        "d MMMM, yyyy",
        "dd/MM/yyyy",
        "d/M/yyyy",
        "{1} {0}",
    }
    DayAbbreviations { 
        "\u0627\u0644\u0623\u062D\u062F",
        "\u0627\u0644\u0627\u062B\u0646\u064A\u0646",
        "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621",
        "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
        "\u0627\u0644\u062E\u0645\u064A\u0633",
        "\u0627\u0644\u062C\u0645\u0639\u0629",
        "\u0627\u0644\u0633\u0628\u062A",
    }
    DayNames { 
        "\u0627\u0644\u0623\u062D\u062F",
        "\u0627\u0644\u0627\u062B\u0646\u064A\u0646",
        "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621",
        "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
        "\u0627\u0644\u062E\u0645\u064A\u0633",
        "\u0627\u0644\u062C\u0645\u0639\u0629",
        "\u0627\u0644\u0633\u0628\u062A",
    }
    Eras { 
        "\u0642.\u0645",
        "\u0645",
    }
    Languages { 
        ar { "\u0627\u0644\u0639\u0631\u0628\u064A\u0629" }
    }
    LocaleID:int { 0x01 }
//    LocaleString { "ar" }
   MonthAbbreviations { 
        "\u064A\u0646\u0627\u064A\u0631",
        "\u0641\u0628\u0631\u0627\u064A\u0631",
        "\u0645\u0627\u0631\u0633",
        "\u0623\u0628\u0631\u064A\u0644",
        "\u0645\u0627\u064A\u0648",
        "\u064A\u0648\u0646\u064A\u0648",
        "\u064A\u0648\u0644\u064A\u0648",
        "\u0623\u063A\u0633\u0637\u0633",
        "\u0633\u0628\u062A\u0645\u0628\u0631",
        "\u0623\u0643\u062A\u0648\u0628\u0631",
        "\u0646\u0648\u0641\u0645\u0628\u0631",
        "\u062F\u064A\u0633\u0645\u0628\u0631",
    }
    MonthNames { 
        "\u064A\u0646\u0627\u064A\u0631",
        "\u0641\u0628\u0631\u0627\u064A\u0631",
        "\u0645\u0627\u0631\u0633",
        "\u0623\u0628\u0631\u064A\u0644",
        "\u0645\u0627\u064A\u0648",
        "\u064A\u0648\u0646\u064A\u0648",
        "\u064A\u0648\u0644\u064A\u0648",
        "\u0623\u063A\u0633\u0637\u0633",
        "\u0633\u0628\u062A\u0645\u0628\u0631",
        "\u0623\u0643\u062A\u0648\u0628\u0631",
        "\u0646\u0648\u0641\u0645\u0628\u0631",
        "\u062F\u064A\u0633\u0645\u0628\u0631",
    }
    NumberPatterns { 
        "#,##0.###;#,##0.###-",
        "\u00A4 #,##0.00;\u00A4 #,##0.00-",
        "#,##0%",
        "#E0",
    }
//    ShortLanguage { "ara" }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Africa/Casablanca",
            "GMT",
            "GMT",
            "GMT",
            "GMT",
        }
    }
    LocaleScript:array {
        "Arab"
    }
    ExemplarCharacters{
//        "[\u0621 \u0627-\u063A \u0641-\u064A\u0651 \u0653-\u0655 \u0670-\u06B7 \u06BA-\u06BE \u06C1 \u06C3-\u06CE \u06D0-\u06D2]"
        "[\u0621-\u063A\u0640-\u0655\u0660-\u066C\u200c\u200d\u200f\u200e]"
    }

    // Currency display names
    Currencies {
        AED { "\u062F.\u0625.\u200F", "AED" }
        BHD { "\u062F.\u0628.\u200F", "BHD" }
        DZD { "\u062F.\u062C.\u200F", "DZD" }
        EGP { "\u062C.\u0645.\u200F", "EGP" }
        IQD { "\u062F.\u0639.\u200F", "IQD" }
        JOD { "\u062F.\u0623.\u200F", "JOD" }
        KWD { "\u062F.\u0643.\u200F", "KWD" }
        LBP { "\u0644.\u0644.\u200F", "LBP" }
        LYD { "\u062F.\u0644.\u200F", "LYD" }
        MAD { "\u062F.\u0645.\u200F", "MAD" }
        OMR { "\u0631.\u0639.\u200F", "OMR" }
        QAR { "\u0631.\u0642.\u200F", "QAR" }
        SAR { "\u0631.\u0633.\u200F", "SAR" }
        SDP { "\u062C.\u0633.\u200F", "SDP" }
        SYP { "\u0644.\u0633.\u200F", "SYP" }
        TND { "\u062F.\u062A.\u200F", "TND" }
        YER { "\u0631.\u064A.\u200F", "YER" }
    }

    // (ICU 2.6) International Calendar Data.  Note, THE FORMAT OF THIS DATA WILL CHANGE IN FUTURE RELEASES.
    Eras_buddhist:array{ "\u0627\u0644\u062A\u0642\u0648\u064A\u0645 \u0627\u0644\u0628\u0648\u0630\u064A" }
}
