﻿// ***************************************************************************
// *
// * 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{
        "[\u064E \u0650 \u064F \u064B \u064D \u064C \u0651 \u0652 \u0654 \u0670 آ ا أ"
        " ء ب پ ت ټ ث ج ځ چ څ ح-د ډ ذ ر ړ ز ژ ږ س ش ښ ص-غ ف ق ک ګ ل-ن ڼ ه ة و ؤ ی ي ې"
        " ۍ ئ]"
    }
    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{"2.0.42.82"}
    calendar{
        gregorian{
            AmPmMarkers{
                "غ.م.",
                "غ.و.",
            }
            DateTimePatterns{
                "H:mm:ss (zzzz)",
                "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}",
                "{1} {0}",
            }
            dayNames{
                format{
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            eras{
                abbreviated{
                    "ق.م.",
                    "م.",
                }
            }
            monthNames{
                format{
                    wide{
                        "جنوري",
                        "فبروري",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اګست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
        persian{
            monthNames{
                format{
                    wide{
                        "وری",
                        "غویی",
                        "غبرګولی",
                        "چنګاښ",
                        "زمری",
                        "وږی",
                        "تله",
                        "لړم",
                        "لیندۍ",
                        "مرغومی",
                        "سلواغه",
                        "کب",
                    }
                }
            }
        }
    }
    defaultNumberingSystem{"arabext"}
    layout{
        characters{"right-to-left"}
        lines{"top-to-bottom"}
    }
    zoneStrings{
        "Asia:Kabul"{
            ec{"کابل"}
        }
        regionFormat{"د {0} په وخت"}
    }
}
