﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ne.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ne.xml
 */
ne{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    ExemplarCharacters{
        "[\u093C \u0901 \u0902 ः ॐ अ आ इ ई उ ऊ ऋ ऌ ऍ ए ऐ ऑ ओ औ क ख ग घ ङ च छ ज झ ञ ट "
        "ठ ड ढ ण त थ द ध न प फ ब भ म य र ल ळ व श ष स ह ऽ ा ि ी \u0941 \u0942 \u0943 "
        "\u0944 \u0945 \u0947 \u0948 ॉ ो ौ \u094D]"
    }
    LocaleScript{
        "Deva",
    }
    NumberElements{
        default{"deva"}
        latn{
            symbols{
                decimal{"."}
                group{","}
                list{";"}
                minusSign{"-"}
            }
        }
        native{"deva"}
    }
    Version{"2.0.82.45"}
    calendar{
        gregorian{
            AmPmMarkers{
                "पूर्व मध्यान्ह",
                "उत्तर मध्यान्ह",
            }
            dayNames{
                format{
                    abbreviated{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                        "५",
                        "६",
                        "७",
                    }
                    short{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    wide{
                        "आइतबार",
                        "सोमबार",
                        "मङ्गलबार",
                        "बुधबार",
                        "बिहीबार",
                        "शुक्रबार",
                        "शनिबार",
                    }
                }
                stand-alone{
                    abbreviated{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                        "५",
                        "६",
                        "७",
                    }
                    short{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    wide{
                        "आइतबार",
                        "सोमबार",
                        "मङ्गलबार",
                        "बुधबार",
                        "बिहीबार",
                        "शुक्रबार",
                        "शनिबार",
                    }
                }
            }
            eras{
                abbreviated{
                    "ईसा पूर्व",
                    "सन्",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "जन",
                        "फेब",
                        "मार्च",
                        "अप्रि",
                        "मे",
                        "जुन",
                        "जुला",
                        "अग",
                        "सेप्ट",
                        "अक्टो",
                        "नोभे",
                        "डिसे",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                        "५",
                        "६",
                        "७",
                        "८",
                        "९",
                        "१०",
                        "११",
                        "१२",
                    }
                    wide{
                        "जनवरी",
                        "फेब्रुअरी",
                        "मार्च",
                        "अप्रिल",
                        "मे",
                        "जुन",
                        "जुलाई",
                        "अगस्ट",
                        "सेप्टेम्बर",
                        "अक्टोबर",
                        "नोभेम्बर",
                        "डिसेम्बर",
                    }
                }
                stand-alone{
                    abbreviated{
                        "जन",
                        "फेब",
                        "मार्च",
                        "अप्रि",
                        "मे",
                        "जुन",
                        "जुला",
                        "अग",
                        "सेप्ट",
                        "अक्टो",
                        "नोभे",
                        "डिसे",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                        "५",
                        "६",
                        "७",
                        "८",
                        "९",
                        "१०",
                        "११",
                        "१२",
                    }
                    wide{
                        "जनवरी",
                        "फेब्रुअरी",
                        "मार्च",
                        "अप्रिल",
                        "मे",
                        "जुन",
                        "जुलाई",
                        "अगस्ट",
                        "सेप्टेम्बर",
                        "अक्टोबर",
                        "नोभेम्बर",
                        "डिसेम्बर",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "पहिलो सत्र",
                        "दोस्रो सत्र",
                        "तेस्रो सत्र",
                        "चौथो सत्र",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                    }
                    wide{
                        "पहिलो सत्र",
                        "दोस्रो सत्र",
                        "तेस्रो सत्र",
                        "चौथो सत्र",
                    }
                }
                stand-alone{
                    abbreviated{
                        "पहिलो सत्र",
                        "दोस्रो सत्र",
                        "तेस्रो सत्र",
                        "चौथो सत्र",
                    }
                    narrow{
                        "१",
                        "२",
                        "३",
                        "४",
                    }
                    wide{
                        "पहिलो सत्र",
                        "दोस्रो सत्र",
                        "तेस्रो सत्र",
                        "चौथो सत्र",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"बार"}
            relative{
                "-1"{"हिजो"}
                "-2"{"अस्ति"}
                "0"{"आज"}
                "1"{"भोलि"}
            }
        }
        dayperiod{
            dn{"पूर्व मध्यान्ह/उत्तर मध्यान्ह"}
        }
        era{
            dn{"काल"}
        }
        hour{
            dn{"घण्टा"}
        }
        minute{
            dn{"मिनेट"}
        }
        month{
            dn{"महिना"}
        }
        second{
            dn{"दोस्रो"}
        }
        week{
            dn{"हप्ता"}
        }
        weekday{
            dn{"हप्ताको बार"}
        }
        year{
            dn{"बर्ष"}
        }
        zone{
            dn{"क्षेत्र"}
        }
    }
    measurementSystemNames{
        UK{"युके"}
        US{"युएस्"}
        metric{"मेट्रिक"}
    }
    units{
        day{
            one{"{0} दिन"}
            other{"{0} दिन"}
        }
        hour{
            one{"{0} घण्टा"}
            other{"{0} घण्टा"}
        }
        minute{
            one{"{0} मिनेट"}
            other{"{0} मिनेट"}
        }
        month{
            one{"{0} महिना"}
            other{"{0} महिना"}
        }
        second{
            one{"{0} सेकेण्ड"}
            other{"{0} सेकेण्ड"}
        }
        week{
            one{"{0} हप्ता"}
            other{"{0} हप्ता"}
        }
        year{
            one{"{0} बर्ष"}
            other{"{0} बर्ष"}
        }
    }
}
