﻿// ***************************************************************************
// *
// * Copyright (C) 2007 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.50"}
    calendar{
        gregorian{
            AmPmMarkers{
                "غ.م.",
                "غ.و.",
            }
            DateTimePatterns{
                "H:mm:ss (v)",
                "H:mm:ss (z)",
                "H:mm:ss",
                "H:mm",
                "EEEE د yyyy د MMMM d",
                "د yyyy د MMMM d",
                "d MMM yyyy",
                "yyyy/M/d",
                "{1} {0}",
            }
            dayNames{
                format{
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            eras{
                abbreviated{
                    "ق.م.",
                    "م.",
                }
            }
            monthNames{
                format{
                    wide{
                        "جنوري",
                        "فبروري",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اګست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
        persian{
            monthNames{
                format{
                    abbreviated{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                    wide{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                }
            }
        }
    }
    layout{
        characters{"right-to-left"}
        lines{"top-to-bottom"}
    }
    zoneStrings{
        "Asia:Kabul"{
            ec{"کابل"}
        }
        regionFormat{"د {0} په وخت"}
    }
}
