﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ks.xml
// *
// ***************************************************************************
ks{
    AuxExemplarCharacters{"[\u200E\u200F]"}
    ExemplarCharacters{
        "[\u06EA\u06ED \u064E \u064F \u0650 \u0654 \u0655 \u0656 \u0657 \u065A \u065B"
        " ء آ أ ٲ ؤ ا ٮ ب پ ت ث ٹ ج چ ح خ د ذ ڈ ر ز ڑ ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن"
        " ں ھ ہ و ۄ ی ۍ ے]"
    }
    NumberElements{
        default{"arabext"}
        latn{
            patterns{
                currencyFormat{"¤ #,##,##0.00"}
                decimalFormat{"#,##,##0.###"}
                percentFormat{"#,##,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"?"}
                list{";"}
                minusSign{"‎-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"‎+"}
            }
        }
        native{"arabext"}
    }
    Version{"2.1.15.45"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, Gy",
                "MMMM d, Gy",
                "MMM d, Gy",
                "M/d/Gy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GGGGyMMMMEEEEdd{"EEEE,dd MMMM GGGGy"}
                Gy{"Gy"}
                GyMMM{"MMM Gy"}
                GyMMMEd{"EEE, MMM d, Gy"}
                GyMMMd{"MMM d, Gy"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"d-MMM"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"Gy"}
                yyyy{"Gy"}
                yyyyM{"M/Gy"}
                yyyyMEd{"EEE, M/d/Gy"}
                yyyyMMM{"MMM Gy"}
                yyyyMMMEd{"EEE, MMM d, Gy"}
                yyyyMMMM{"MMMM Gy"}
                yyyyMMMd{"MMM d, Gy"}
                yyyyQQQ{"QQQ Gy"}
                yyyyQQQQ{"QQQQ Gy"}
            }
        }
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y",
                "MMMM d, y",
                "MMM d, y",
                "M/d/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GGGGyMMMMEEEEdd{"EEEE,dd MMMM GGGGy"}
                Gy{"Gy"}
                GyMMM{"MMM Gy"}
                GyMMMEd{"EEE, MMM d, Gy"}
                GyMMMd{"MMM d, Gy"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"d-MMM"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"EEE, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, MMM d, y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "آتھوار",
                        "ژٔنٛدٕروار",
                        "بوٚموار",
                        "بودوار",
                        "برٛٮ۪سوار",
                        "جُمہ",
                        "بٹوار",
                    }
                    wide{
                        "اَتھوار",
                        "ژٔنٛدرٕروار",
                        "بوٚموار",
                        "بودوار",
                        "برٛٮ۪سوار",
                        "جُمہ",
                        "بٹوار",
                    }
                }
                stand-alone{
                    narrow{
                        "ا",
                        "ژ",
                        "ب",
                        "ب",
                        "ب",
                        "ج",
                        "ب",
                    }
                }
            }
            eras{
                abbreviated{
                    "بی سی",
                    "اے ڈی",
                }
                wide{
                    "قبٕل مسیٖح",
                    "عیٖسوی سنہٕ",
                }
            }
            monthNames{
                format{
                    wide{
                        "جنؤری",
                        "فرؤری",
                        "مارٕچ",
                        "اپریل",
                        "میٔ",
                        "جوٗن",
                        "جوٗلایی",
                        "اگست",
                        "ستمبر",
                        "اکتوٗبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
                stand-alone{
                    narrow{
                        "ج",
                        "ف",
                        "م",
                        "ا",
                        "م",
                        "ج",
                        "ج",
                        "ا",
                        "س",
                        "س",
                        "ا",
                        "ن",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ژۄباگ",
                        "دوٚیِم ژۄباگ",
                        "ترٛیِم ژۄباگ",
                        "ژوٗرِم ژۄباگ",
                    }
                    wide{
                        "گۄڑنیُک ژۄباگ",
                        "دوٚیِم ژۄباگ",
                        "ترٛیِم ژۄباگ",
                        "ژوٗرِم ژۄباگ",
                    }
                }
            }
        }
        indian{
            monthNames{
                format{
                    wide{
                        "محرم",
                        "صفر",
                        "ربیٖع الاول",
                        "ربیٖع الثانی",
                        "جمادی الاول",
                        "جمادی الثانی",
                        "رجب",
                        "شعبان",
                        "رمضان",
                        "شوال",
                        "ذِی القد",
                        "ذِی الحج",
                    }
                }
            }
        }
    }
    fields{
        day{
            dn{"دۄہ"}
            relative{
                "-1"{"راتھ"}
                "0"{"اَز"}
                "1"{"پگاہ"}
            }
        }
        dayperiod{
            dn{"صبح/رات"}
        }
        era{
            dn{"دور"}
        }
        hour{
            dn{"گٲنٛٹہٕ"}
        }
        minute{
            dn{"مِنَٹ"}
        }
        month{
            dn{"رٮ۪تھ"}
        }
        second{
            dn{"سٮ۪کَنڑ"}
        }
        week{
            dn{"ہفتہٕ"}
        }
        weekday{
            dn{"ہفتُک دۄہ"}
        }
        year{
            dn{"ؤری"}
        }
        zone{
            dn{"زون"}
        }
    }
    layout{
        characters{"right-to-left"}
    }
    measurementSystemNames{
        US{"یوٗ ایس"}
        metric{"میٖٹرِک"}
    }
}
