﻿// ***************************************************************************
// *
// * Copyright (C) 2015 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.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"}
    }
}
