﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ps.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ps.xml
 */
ps{
    AuxExemplarCharacters{"[\u200C \u200D]"}
    ExemplarCharacters{
        "[\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 آ ا أ"
        " ء ب پ ت ټ ث ج ځ چ څ ح خ د ډ ذ ر ړ ز ژ ږ س ش ښ ص ض ط ظ ع غ ف ق ک ګ ل م ن ڼ ه"
        " ة و ؤ ی ي ې ۍ ئ]"
    }
    LocaleScript{
        "Arab",
    }
    NumberElements{
        arabext{
            symbols{
                decimal{"٫"}
                exponential{"×۱۰^"}
                group{"٬"}
                percentSign{"٪"}
            }
        }
        default{"arabext"}
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                minusSign{"−"}
                percentSign{"%"}
            }
        }
        native{"arabext"}
    }
    Version{"2.0.82.45"}
    calendar{
        default{"gregorian"} // android-changed
        generic{
            DateTimePatterns{
                "H:mm:ss (zzzz)",
                "H:mm:ss (z)",
                "H:mm:ss",
                "H:mm",
                "EEEE د G y د MMMM d",
                "د G y د MMMM d",
                "d MMM y G",
                "GGGGG y/M/d",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                H{"H"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
            }
        }
        gregorian{
            AmPmMarkers{
                "غ.م.",
                "غ.و.",
            }
            DateTimePatterns{
                "H:mm:ss (zzzz)",
                "H:mm:ss (z)",
                "H:mm:ss",
                "H:mm",
                "EEEE د y د MMMM d",
                "د y د MMMM d",
                "d MMM y",
                "y/M/d",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                H{"H"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
            }
            dayNames{
                format{
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            eras{
                abbreviated{
                    "ق.م.",
                    "م.",
                }
            }
            monthNames{
                format{
                    wide{
                        "جنوري",
                        "فبروري",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اګست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
        persian{
            monthNames{
                format{
                    wide{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                }
            }
        }
    }
    layout{
        characters{"right-to-left"}
    }
}
