﻿// ***************************************************************************
// *
// * 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/pa.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ../../../locale/icu/main/pa.xml
 */
pa{
    Countries{
        IN{"ਭਾਰਤ"}
    }
    Currencies{
        INR{
            "ਰੁ.",
            "ਰੁਪਿਯ",
        }
    }
    ExemplarCharacters{"[[:Guru:]‌‍]"}
    Languages{
        pa{"ਪੰਜਾਬੀ"}
    }
    LocaleScript{
        "Guru",
    }
    NumberElements{
        ".",
        ",",
        ";",
        "%",
        "੦",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    NumberPatterns{
        "##,##,##0.###;-##,##,##0.###",
        "¤ ##,##,##0.00;-¤ ##,##,##0.00",
        "##,##,##0%",
        "#E0",
    }
    Version{"1.2"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ਸਵੇਰੇ",
                "ਸ਼ਾਮ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ਐਤ.",
                        "ਸੋਮ.",
                        "ਮੰਗਲ.",
                        "ਬੁਧ.",
                        "ਵੀਰ.",
                        "ਸ਼ੁਕਰ.",
                        "ਸ਼ਨੀ.",
                    }
                    wide{
                        "ਐਤਵਾਰ",
                        "ਸੋਮਵਾਰ",
                        "ਮੰਗਲਵਾਰ",
                        "ਬੁਧਵਾਰ",
                        "ਵੀਰਵਾਰ",
                        "ਸ਼ੁੱਕਰਵਾਰ",
                        "ਸ਼ਨੀਚਰਵਾਰ",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                    wide{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                }
            }
        }
    }
}
