﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ps.xml
// *
// ***************************************************************************
ps{
    AuxExemplarCharacters{"[\u200C \u200D \u200E\u200F]"}
    ExemplarCharacters{
        "[\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 آ ا أ"
        " ء ب پ ت ټ ث ج ځ چ څ ح خ د ډ ذ ر ړ ز ژ ږ س ش ښ ص ض ط ظ ع غ ف ق ک ګ گ ل م ن ڼ"
        " ه ة و ؤ ی ي ې ۍ ئ]"
    }
    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.23.7"}
    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{
                "غ.م.",
                "غ.و.",
            }
            AmPmMarkersAbbr{
                "غ.م.",
                "غ.و.",
            }
            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"}
    }
}
