﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/uz_Arab.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/uz_Arab.xml
 */
uz_Arab{
    %%Parent{"root"}
    AuxExemplarCharacters{"[\u200C\u200D\u200E\u200F ټ ځ څ ډ ړ ږ ښ ګ ڼ ي ۍ ې]"}
    ExemplarCharacters{
        "[\u064B \u064C \u064D \u064E \u064F \u0650 \u0651 \u0652 \u0654 \u0670 ء آ أ"
        " ؤ ئ ا ب پ ة ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن ه و ۇ ۉ ی]"
    }
    LocaleScript{
        "Arab",
    }
    NumberElements{
        arabext{
            symbols{
                decimal{"٫"}
                exponential{"×۱۰^"}
                group{"٬"}
                percentSign{"٪"}
            }
        }
        default{"arabext"}
        latn{
            symbols{
                decimal{","}
                group{"."}
                minusSign{"‎−"}
                plusSign{"‎+"}
            }
        }
        native{"arabext"}
    }
    Version{"2.0.99.14"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "ی.",
                        "د.",
                        "س.",
                        "چ.",
                        "پ.",
                        "ج.",
                        "ش.",
                    }
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "جنو",
                        "فبر",
                        "مار",
                        "اپر",
                        "مـی",
                        "جون",
                        "جول",
                        "اگس",
                        "سپت",
                        "اکت",
                        "نوم",
                        "دسم",
                    }
                    wide{
                        "جنوری",
                        "فبروری",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اگست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
    }
    layout{
        characters{"right-to-left"}
    }
}
