﻿// ***************************************************************************
// *
// * 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{
        ar{"ਅਰਬੀ"}
        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.92"}
    calendar{
        gregorian{
            AmPmMarkers{
                "ਸਵੇਰੇ",
                "ਸ਼ਾਮ",
            }
            dayNames{
                format{
                    abbreviated{
                        "ਐਤ.",
                        "ਸੋਮ.",
                        "ਮੰਗਲ.",
                        "ਬੁਧ.",
                        "ਵੀਰ.",
                        "ਸ਼ੁਕਰ.",
                        "ਸ਼ਨੀ.",
                    }
                    wide{
                        "ਐਤਵਾਰ",
                        "ਸੋਮਵਾਰ",
                        "ਮੰਗਲਵਾਰ",
                        "ਬੁਧਵਾਰ",
                        "ਵੀਰਵਾਰ",
                        "ਸ਼ੁੱਕਰਵਾਰ",
                        "ਸ਼ਨੀਚਰਵਾਰ",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                    }
                }
            }
            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{
                    abbreviated{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                    wide{
                        "ਜਨਵਰੀ",
                        "ਫ਼ਰਵਰੀ",
                        "ਮਾਰਚ",
                        "ਅਪ੍ਰੈਲ",
                        "ਮਈ",
                        "ਜੂਨ",
                        "ਜੁਲਾਈ",
                        "ਅਗਸਤ",
                        "ਸਤੰਬਰ",
                        "ਅਕਤੂਬਰ",
                        "ਨਵੰਬਰ",
                        "ਦਸੰਬਰ",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                }
            }
        }
    }
}
