﻿// ***************************************************************************
// *
// * 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{
        "[\u06ED \u064E \u064F \u0650 \u0654 \u0655 \u0656 \u0657 \u065A \u065B "
        "\u06EA ء آ أ ٲ ؤ ا ٮ ب پ ت ث ٹ ج چ ح خ د ذ ڈ ر ز ڑ ژ س ش ص ض ط ظ ع غ ف ق ک گ"
        " ل م ن ں ھ ہ و ۄ ی ۍ ے]"
    }
    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.76.49"}
    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"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ yyyy"}
            }
            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} ؤری"}
        }
    }
}
