﻿// ***************************************************************************
// *
// * 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.xml
// *
// ***************************************************************************
/**
 *  ICU <specials > source: <path>/xml/main/pa.xml
 */
pa{
    AuxExemplarCharacters{"[\u200C \u200D \u0A01-\u0A03 {ਲ\u0A3C}]"}
    Countries{
        IN{"ਭਾਰਤ"}
    }
    Currencies{
        INR{
            "ਰੁ.",
            "ਰੁਪਿਯ",
        }
    }
    ExemplarCharacters{
        "[਼ ੰ ੱ ੦-੯ ੴ ੳ ਉ ਊ ਓ ਅ ਆ ਐ ਔ ੲ ਇ ਈ ਏ ਸ {ਸ\u0A3C} ਹ ਕ ਖ {ਖ\u0A3C} ਗ {ਗ\u0A3C}"
        " ਘ-ਜ {ਜ\u0A3C} ਝ-ਨ ਪ ਫ {ਫ\u0A3C} ਬ-ਰ ਲ ਵ ੜ ਾ-ੂ ੇ ੈ ੋ-੍]"
    }
    Languages{
        ab{"ਅਬਖਾਜ਼ੀਅਨ"}
        ace{"ਅਚੀਨੀ"}
        ach{"ਅਕੋਲੀ"}
        af{"ਅਫ਼ਰੀਕੀ"}
        apa{"ਅਪਾਚੇ ਭਾਸ਼ਾ"}
        ar{"ਅਰਬੀ"}
        as{"ਅਸਾਮੀ"}
        aus{"ਆਸਟਰੇਲੀਅਨ ਭਾਸ਼ਾ"}
        az{"ਅਜ਼ੇਰਬੈਜਨਿ"}
        bat{"ਬੈਲਟਿਕ ਭਾਸ਼ਾ"}
        be{"ਬੇਲਾਰੂਸੀਅਨ"}
        bn{"ਬੰਗਾਲੀ"}
        da{"ਡੈਨਿਸ਼"}
        de{"ਜਰਮਨ"}
        en{"ਅੰਗਰੇਜ਼ੀ"}
        eo{"ਏਸਪਰੇਂਟੋ"}
        es{"ਸਪੇਨਿਸ਼"}
        fi{"ਫਿਨਿਸ਼"}
        fr{"ਫਰੈਂਚ"}
        gu{"ਗੁਜਰਾਤੀ"}
        hi{"ਹਿੰਦੀ"}
        id{"ਇੰਡੋਨੇਸ਼ੀਆਈ"}
        it{"ਇਤਾਲਵੀ"}
        mk{"ਮੈਕੇਡੋਨੀਅਨ"}
        nl{"ਡੱਚ"}
        no{"ਨਾਰਵੇਜੀਅਨ"}
        pa{"ਪੰਜਾਬੀ"}
        pt{"ਪੋਰਤੂਗੂਈਸ"}
        sv{"ਸਵੈਡਿਸ਼"}
        ta{"ਤਾਮਿਲ"}
        te{"ਤੇਲਗੂ"}
        th{"ਥਾਈ"}
        tw{"ਤ੍ਵਿ"}
        ug{"ਉਇਘੁਰ"}
        und{"und"}
    }
    LocaleScript{
        "Guru",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "੦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##,##0.###",
        "¤ #,##,##0.00",
        "#,##,##0%",
        "#E0",
    }
    Version{"2.0.42.82"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ਸਵੇਰੇ",
                "ਸ਼ਾਮ",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, dd MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                HHmmss{"HH:mm:ss"}
                Md{"d/M"}
                mmss{"mm:ss"}
                yyMMM{"MMM yy"}
                yyQ{"Q yy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ਐਤ.",
                        "ਸੋਮ.",
                        "ਮੰਗਲ.",
                        "ਬੁਧ.",
                        "ਵੀਰ.",
                        "ਸ਼ੁਕਰ.",
                        "ਸ਼ਨੀ.",
                    }
                    wide{
                        "ਐਤਵਾਰ",
                        "ਸੋਮਵਾਰ",
                        "ਮੰਗਲਵਾਰ",
                        "ਬੁਧਵਾਰ",
                        "ਵੀਰਵਾਰ",
                        "ਸ਼ੁੱਕਰਵਾਰ",
                        "ਸ਼ਨੀਚਰਵਾਰ",
                    }
                }
                stand-alone{
                    narrow{
                        "ਐ",
                        "ਸੋ",
                        "ਮੰ",
                        "ਬੁੱ",
                        "ਵੀ",
                        "ਸ਼ੁੱ",
                        "ਸ਼",
                    }
                }
            }
            eras{
                wide{
                    "ਈਸਾਪੂਰਵ",
                    "ਸੰਨ",
                }
            }
            fields{
                day{
                    dn{"ਦਿਨ"}
                    relative{
                        "-2"{"ਪਰਸੋਂ"}
                        "-3"{"ਤਿੰਨ ਦਿਨ ਪਹਿਲਾਂ"}
                        "0"{"ਅੱਜ"}
                        "1"{"ਭਲਕ"}
                        "2"{"ਭਲਕ"}
                        "3"{"ਤਿੰਨ ਦਿਨ ਬਾਅਦ"}
                    }
                }
                hour{
                    dn{"ਘੰਟਾ"}
                }
                minute{
                    dn{"ਮਿੰਟ"}
                }
                month{
                    dn{"ਮਹੀਨਾ"}
                }
                week{
                    dn{"ਹਫ਼ਤਾ"}
                }
                weekday{
                    dn{"ਹਫ਼ਤੇ ਦਾ ਦਿਨ"}
                }
                year{
                    dn{"ਸਾਲ"}
                }
                zone{
                    dn{"ਖੇਤਰ"}
                }
            }
            monthNames{
                format{
                    wide{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                }
                stand-alone{
                    narrow{
                        "ਜ",
                        "ਫ",
                        "ਮਾ",
                        "ਅ",
                        "ਮ",
                        "ਜੂ",
                        "ਜੁ",
                        "ਅ",
                        "ਸ",
                        "ਅ",
                        "ਨ",
                        "ਦ",
                    }
                }
            }
            quarters{
                format{
                    wide{
                        "ਪਹਿਲਾਂ ਚੌਥਾਈ",
                        "ਦੂਜਾ ਚੌਥਾਈ",
                        "ਤੀਜਾ ਚੌਥਾਈ",
                        "ਚੌਥਾ ਚੌਥਾਈ",
                    }
                }
            }
        }
    }
    defaultNumberingSystem{"guru"}
}
