﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ks.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ks.xml
 */
ks{
    ExemplarCharacters{
        "[\u06EA\u06ED \u064E \u064F \u0650 \u0654 \u0655 \u0656 \u0657 \u065A \u065B"
        " ء آ أ ٲ ؤ ا ٮ ب پ ت ث ٹ ج چ ح خ د ذ ڈ ر ز ڑ ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن"
        " ں ھ ہ و ۄ ی ۍ ے]"
    }
    LocaleScript{
        "Arab",
    }
    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.0.78.55"}
    calendar{
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, yyyy",
                "MMMM d, yyyy",
                "MMM d, yyyy",
                "M/d/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                GGGGyMMMMEEEEdd{"EEEE,dd MMMM GGGGy"}
                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{"yyyy"}
                yM{"M/yyyy"}
                yMEd{"EEE, M/d/yyyy"}
                yMMM{"MMM yyyy"}
                yMMMEd{"EEE, MMM d, yyyy"}
                yMMMM{"MMMM yyyy"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "آتھوار",
                        "ژٔنٛدٕروار",
                        "بوٚموار",
                        "بودوار",
                        "برٛٮ۪سوار",
                        "جُمہ",
                        "بٹوار",
                    }
                    wide{
                        "اَتھوار",
                        "ژٔنٛدرٕروار",
                        "بوٚموار",
                        "بودوار",
                        "برٛٮ۪سوار",
                        "جُمہ",
                        "بٹوار",
                    }
                }
                stand-alone{
                    narrow{
                        "ا",
                        "ژ",
                        "ب",
                        "ب",
                        "ب",
                        "ج",
                        "ب",
                    }
                }
            }
            eras{
                abbreviated{
                    "بی سی",
                    "اے ڈی",
                }
                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{"زون"}
                }
            }
            monthNames{
                format{
                    wide{
                        "جنؤری",
                        "فرؤری",
                        "مارٕچ",
                        "اپریل",
                        "میٔ",
                        "جوٗن",
                        "جوٗلایی",
                        "اگست",
                        "ستمبر",
                        "اکتوٗبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
                stand-alone{
                    narrow{
                        "ج",
                        "ف",
                        "م",
                        "ا",
                        "م",
                        "ج",
                        "ج",
                        "ا",
                        "س",
                        "س",
                        "ا",
                        "ن",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ژۄباگ",
                        "دوٚیِم ژۄباگ",
                        "ترٛیِم ژۄباگ",
                        "ژوٗرِم ژۄباگ",
                    }
                    wide{
                        "گۄڑنیُک ژۄباگ",
                        "دوٚیِم ژۄباگ",
                        "ترٛیِم ژۄباگ",
                        "ژوٗرِم ژۄباگ",
                    }
                }
            }
        }
        indian{
            monthNames{
                format{
                    wide{
                        "محرم",
                        "صفر",
                        "ربیٖع الاول",
                        "ربیٖع الثانی",
                        "جمادی الاول",
                        "جمادی الثانی",
                        "رجب",
                        "شعبان",
                        "رمضان",
                        "شوال",
                        "ذِی القد",
                        "ذِی الحج",
                    }
                }
            }
        }
    }
    layout{
        characters{"right-to-left"}
        lines{"top-to-bottom"}
    }
    measurementSystemNames{
        US{"یوٗ ایس"}
        metric{"میٖٹرِک"}
    }
    units{
        day{
            one{"{0} دۄہ"}
            other{"{0} دۄہ"}
        }
        hour{
            one{"{0} گَنٹہٕ"}
            other{"{0} گٲنٛٹہٕ"}
        }
        minute{
            one{"{0} مِنَٹ"}
            other{"{0} مِنَٹ"}
        }
        month{
            one{"{0} ریٚتھ"}
            other{"{0} ریٚتھ"}
        }
        second{
            one{"{0} سیٚکَنٛڈ"}
            other{"{0} سیٚکَنٛڈ"}
        }
        week{
            one{"{0} ہَفتہٕ"}
            other{"{0} ہَفتہٕ"}
        }
        year{
            one{"{0} ؤری"}
            other{"{0} ؤری"}
        }
    }
}
