﻿// ***************************************************************************
// *
// * 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/pa.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/pa.xml
 */
pa{
    AuxExemplarCharacters{"[\u200C \u200D ਁ-ਃ {ਲ਼}]"}
    Countries{
        IN{"ਭਾਰਤ"}
    }
    Currencies{
        INR{
            "ਰੁ.",
            "ਰੁਪਿਯ",
        }
    }
    ExemplarCharacters{
        "[਼ ੰ ੱ ੦-੯ ੴ ੳ ਉ ਊ ਓ ਅ ਆ ਐ ਔ ੲ ਇ ਈ ਏ ਸ {ਸ਼} ਹ ਕ ਖ {ਖ਼} ਗ {ਗ਼} ਘ-ਜ {ਜ਼} ਝ-ਨ ਪ"
        " ਫ {ਫ਼} ਬ-ਰ ਲ ਵ ੜ ਾ-ੂ ੇ ੈ ੋ-੍]"
    }
    Languages{
        af{"ਅਫ਼ਰੀਕੀ"}
        ar{"ਅਰਬੀ"}
        az{"ਅਜ਼ੇਰਬੈਜਨਿ"}
        bn{"ਬੰਗਾਲੀ"}
        da{"ਡੈਨਿਸ਼"}
        de{"ਜਰਮਨ"}
        en{"ਅੰਗਰੇਜ਼ੀ"}
        eo{"ਏਸਪਰੇਂਟੋ"}
        es{"ਸਪੇਨਿਸ਼"}
        fi{"ਫਿਨਿਸ਼"}
        fr{"ਫਰੈਂਚ"}
        hi{"ਹਿੰਦੀ"}
        id{"ਇੰਡੋਨੇਸ਼ੀਆਈ"}
        it{"ਇਤਾਲਵੀ"}
        mk{"ਮੈਕੇਡੋਨੀਅਨ"}
        nl{"ਡੱਚ"}
        no{"ਨਾਰਵੇਜੀਅਨ"}
        pa{"ਪੰਜਾਬੀ"}
        pt{"ਪੋਰਤੂਗੂਈਸ"}
        sv{"ਸਵੈਡਿਸ਼"}
        ta{"ਤਾਮਿਲ"}
        te{"ਤੇਲਗੂ"}
        th{"ਥਾਈ"}
        tw{"ਤ੍ਵਿ"}
        ug{"ਉਇਘੁਰ"}
    }
    LocaleScript{
        "Guru",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "੦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##,##0.###",
        "¤ #,##,##0.00",
        "#,##,##0%",
        "#E0",
    }
    Version{"1.56"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ਸਵੇਰੇ",
                "ਸ਼ਾਮ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ਐਤ.",
                        "ਸੋਮ.",
                        "ਮੰਗਲ.",
                        "ਬੁਧ.",
                        "ਵੀਰ.",
                        "ਸ਼ੁਕਰ.",
                        "ਸ਼ਨੀ.",
                    }
                    wide{
                        "ਐਤਵਾਰ",
                        "ਸੋਮਵਾਰ",
                        "ਮੰਗਲਵਾਰ",
                        "ਬੁਧਵਾਰ",
                        "ਵੀਰਵਾਰ",
                        "ਸ਼ੁੱਕਰਵਾਰ",
                        "ਸ਼ਨੀਚਰਵਾਰ",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                    wide{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                }
            }
        }
    }
}
