﻿// ***************************************************************************
// *
// * Copyright (C) 2004 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../locale/common/main/ps.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ../../../locale/icu/main/ps.xml
 */
ps{
    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{
        AFA{
            "افغانۍ",
            "افغانۍ",
        }
    }
    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",
    }
    Version{"1.2"}
    calendar{
        gregorian{
            AmPmMarkers{
                "غ.م.",
                "غ.و.",
            }
            DateTimePatterns{
                "H:mm:ss (z)",
                "H:mm:ss (z)",
                "H:mm:ss",
                "H:mm",
                "EEEE د yyyy د MMMM d",
                "د yyyy د MMMM d",
                "d MMMM yyyy",
                "yyyy/M/d",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "ی.",
                        "د.",
                        "س.",
                        "چ.",
                        "پ.",
                        "ج.",
                        "ش.",
                    }
                    wide{
                        "یکشنبه",
                        "دوشنبه",
                        "سه‌شنبه",
                        "چهارشنبه",
                        "پنجشنبه",
                        "جمعه",
                        "شنبه",
                    }
                }
            }
            eras{
                abbreviated{
                    "ق.م.",
                    "م.",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "جنو",
                        "فبر",
                        "مار",
                        "اپر",
                        "مـی",
                        "جون",
                        "جول",
                        "اګس",
                        "سپت",
                        "اکت",
                        "نوم",
                        "دسم",
                    }
                    wide{
                        "جنوري",
                        "فبروري",
                        "مارچ",
                        "اپریل",
                        "می",
                        "جون",
                        "جولای",
                        "اګست",
                        "سپتمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
        }
    }
    zoneStrings{
        {
            "Asia/Kabul",
            "د افغانستان په وخت",
            "AFT",
            "د افغانستان په وخت",
            "AFT",
            "کابل",
        }
    }
}
