﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ps.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ps.xml
 */
ps{
    AuxExemplarCharacters{"[\u200C \u200D]"}
    Countries{
        AF{"افغانستان"}
        AL{"البانیه"}
        AO{"انګولا"}
        AQ{"انتارکتیکا"}
        AT{"اتریش"}
        BD{"بنګله‌دیش"}
        BG{"بلغاریه"}
        CA{"کاناډا"}
        CH{"سویس"}
        CN{"چین"}
        CO{"کولمبیا"}
        CU{"کیوبا"}
        DE{"المان"}
        DK{"ډنمارک"}
        DZ{"الجزایر"}
        EG{"مصر"}
        ES{"هسپانیه"}
        ET{"حبشه"}
        FI{"فنلینډ"}
        FR{"فرانسه"}
        GB{"برتانیه"}
        GH{"ګانا"}
        GN{"ګیانا"}
        GR{"یونان"}
        GT{"ګواتیمالا"}
        HN{"هانډوراس"}
        HU{"مجارستان"}
        ID{"اندونیزیا"}
        IN{"هند"}
        IQ{"عراق"}
        IS{"آیسلینډ"}
        IT{"ایټالیه"}
        JM{"جمیکا"}
        JP{"جاپان"}
        KH{"کمبودیا"}
        KW{"کویټ"}
        LA{"لاوس"}
        LB{"لبنان"}
        LR{"لایبریا"}
        LY{"لیبیا"}
        MA{"مراکش"}
        MN{"مغولستان"}
        MY{"مالیزیا"}
        NG{"نایجیریا"}
        NI{"نکاراګوا"}
        NL{"هالېنډ"}
        NO{"ناروې"}
        NP{"نیپال"}
        NZ{"نیوزیلنډ"}
        PK{"پاکستان"}
        PL{"پولنډ"}
        PS{"فلسطین"}
        PT{"پورتګال"}
        RU{"روسیه"}
        RW{"روندا"}
        SA{"سعودی عربستان"}
        SE{"سویډن"}
        SV{"سالوېډور"}
        SY{"سوریه"}
        TJ{"تاجکستان"}
        TZ{"تنزانیا"}
        UY{"یوروګوای"}
        YE{"یمن"}
    }
    Currencies{
        AFN{
            "؋",
            "افغانۍ",
        }
    }
    ExemplarCharacters{
        "[َ ِ ُ ً ٍ ٌ ّ ْ ٔ ٰ آ ا أ ء ب پ ت ټ ث ج ځ چ څ ح-د ډ ذ ر ړ ز ژ ږ س ش ښ ص-غ ف"
        " ق ک ګ ل-ن ڼ ه ة و ؤ ی ي ې ۍ ئ]"
    }
    Languages{
        ar{"عربي"}
        bal{"بلوڅي"}
        de{"الماني"}
        el{"یوناني"}
        en{"انګلیسي"}
        et{"حبشي"}
        fa{"فارسي"}
        fi{"فینلنډي"}
        fr{"فرانسوي"}
        he{"عبري"}
        hi{"هندي"}
        hy{"ارمني"}
        ine{"هند و اروپایي"}
        it{"ایټالوي"}
        ja{"جاپانی"}
        ku{"کردي"}
        la{"لاتیني"}
        mg{"ملغاسي"}
        mk{"مقدوني"}
        mn{"مغولي"}
        ms{"ملایا"}
        pl{"پولنډي"}
        ps{"پښتو"}
        pt{"پورتګالي"}
        ru{"روسي"}
        sa{"سنسکریټ"}
        sv{"سویډنی"}
        tg{"تاجک"}
        tk{"ترکمني"}
        tt{"تاتار"}
        uz{"ازبکي"}
        zh{"چیني"}
    }
    LocaleScript{
        "Arab",
    }
    NumberElements{
        "٫",
        "٬",
        ";",
        "٪",
        "۰",
        "#",
        "−",
        "×۱۰^",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "#,##0.00 ¤",
        "#,##0%",
        "#E0",
    }
    Scripts{
        Arab{"عربي"}
    }
    Version{"1.139"}
    calendar{
        gregorian{
            AmPmMarkers{
                "غ.م.",
                "غ.و.",
            }
            DateTimePatterns{
                "H:mm:ss (v)",
                "H:mm:ss (z)",
                "H:mm:ss",
                "H:mm",
                "EEEE د y د MMMM d",
                "د y د MMMM d",
                "d MMM y",
                "yyyy/M/d",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            eras{
                abbreviated{
                    "ق.م.",
                    "م.",
                }
            }
            monthNames{
                format{
                    wide{
                        "جنوري",
                        "فبروري",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اګست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
        persian{
            monthNames{
                format{
                    abbreviated{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                    wide{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                }
            }
        }
    }
    defaultNumberingSystem{"persian"}
    layout{
        characters{"right-to-left"}
        lines{"top-to-bottom"}
    }
    zoneStrings{
        "Asia:Kabul"{
            ec{"کابل"}
        }
        regionFormat{"د {0} په وخت"}
    }
}
