﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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>/common/main/ps.xml
 */
ps{
    AuxExemplarCharacters{"[\u200C \u200D \u200E\u200F]"}
    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{"%"}
                plusSign{"‎+"}
            }
        }
        native{"arabext"}
    }
    Version{"2.1.6.69"}
    calendar{
        default{"persian"}
        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}",
            }
            appendItems{
                Timezone{"{0} ({1})"}
            }
            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"}
    }
}
