﻿// ***************************************************************************
// *
// * 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/pa_Arab.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/pa_Arab.xml
 */
pa_Arab{
    AuxExemplarCharacters{"[أ ٻ ة ٺ ټ ٽ]"}
    Countries{
        PK{"پکستان"}
    }
    Currencies{
        EUR{
            "€",
            "يورو",
        }
        INR{
            "ر [INR]",
            "روپئیہ [INR]",
        }
        PKR{
            "ر",
            "روپئیہ",
        }
    }
    ExemplarCharacters{"[\u064F ء آ ؤ ئ-ب پ ت ث ٹ ج چ ح-ذ ڈ ر ز ڑ ژ س-غ ف ق ک گ ل-ن ں ه ھ ہ و ی ے]"}
    Languages{
        pa{"پنجاب"}
    }
    LocaleScript{
        "Arab",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "٠",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    Scripts{
        Arab{"العربية"}
        Guru{"گُرمُکھی"}
    }
    Version{"1.23"}
    calendar{
        gregorian{
            dayNames{
                format{
                    wide{
                        "اتوار",
                        "پیر",
                        "منگل",
                        "بُدھ",
                        "جمعرات",
                        "جمعہ",
                        "ہفتہ",
                    }
                }
            }
            eras{
                wide{
                    "ايساپورو",
                    "سں",
                }
            }
            fields{
                day{
                    dn{"دئن"}
                }
                hour{
                    dn{"گھنٹا"}
                }
                minute{
                    dn{"منٹ"}
                }
                month{
                    dn{"مہينا"}
                }
                week{
                    dn{"ہفتہ"}
                }
                weekday{
                    dn{"ہفتے دا دن"}
                }
                year{
                    dn{"ورھا"}
                }
                zone{
                    dn{"ٹپہ"}
                }
            }
            monthNames{
                format{
                    wide{
                        "جنوری",
                        "فروری",
                        "مارچ",
                        "اپریل",
                        "مئ",
                        "جون",
                        "جولائی",
                        "اگست",
                        "ستمبر",
                        "اکتوبر",
                        "نومبر",
                        "دسمبر",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "چوتھاي پہلاں",
                        "چوتھاي دوجا",
                        "چوتھاي تيجا",
                        "چوتھاي چوتھا",
                    }
                }
            }
        }
    }
    defaultNumberingSystem{"arab"}
    layout{
        characters{"right-to-left"}
        lines{"top-to-bottom"}
    }
}
