﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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>/common/main/ne.xml
 */
ne{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{
        "[\u093C \u0901 \u0902 ः ॐ अ आ इ ई उ ऊ ऋ ऌ ऍ ए ऐ ऑ ओ औ क ख ग घ ङ च छ ज झ ञ ट "
        "ठ ड ढ ण त थ द ध न प फ ब भ म य र ल ळ व श ष स ह ऽ ा ि ी \u0941 \u0942 \u0943 "
        "\u0944 \u0945 \u0947 \u0948 ॉ ो ौ \u094D]"
    }
    LocaleScript{
        "Deva",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"deva"}
        deva{
            patterns{
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
        latn{
            miscPatterns{
                atLeast{"{0}+"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤ #,##0.00"}
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 हजार"}
                        other{"0 हजार"}
                    }
                    10000{
                        one{"00 हजार"}
                        other{"00 हजार"}
                    }
                    100000{
                        one{"0 लाख"}
                        other{"0 लाख"}
                    }
                    1000000{
                        one{"0 करोड"}
                        other{"0 करोड"}
                    }
                    10000000{
                        one{"00 करोड"}
                        other{"00 करोड"}
                    }
                    100000000{
                        one{"000 करोड"}
                        other{"000 करोड"}
                    }
                    1000000000{
                        one{"0 अर्ब"}
                        other{"0 अर्ब"}
                    }
                    10000000000{
                        one{"00 अर्ब"}
                        other{"00 अर्ब"}
                    }
                    100000000000{
                        one{"0 खरब"}
                        other{"0 खरब"}
                    }
                    1000000000000{
                        one{"0T"}
                        other{"0T"}
                    }
                    10000000000000{
                        one{"0 शंख"}
                        other{"0 शंख"}
                    }
                    100000000000000{
                        one{"00 शंख"}
                        other{"00 शंख"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 हजार"}
                        other{"0 हजार"}
                    }
                    10000{
                        one{"00 हजार"}
                        other{"00 हजार"}
                    }
                    100000{
                        one{"0 लाख"}
                        other{"0 लाख"}
                    }
                    1000000{
                        one{"00 लाख"}
                        other{"00 लाख"}
                    }
                    10000000{
                        one{"0 करोड"}
                        other{"0 करोड"}
                    }
                    100000000{
                        one{"00 करोड"}
                        other{"00 करोड"}
                    }
                    1000000000{
                        one{"0 अरब"}
                        other{"0 अरब"}
                    }
                    10000000000{
                        one{"00 अरब"}
                        other{"00 अरब"}
                    }
                    100000000000{
                        one{"0 खरब"}
                        other{"0 खरब"}
                    }
                    1000000000000{
                        one{"00 खरब"}
                        other{"00 खरब"}
                    }
                    10000000000000{
                        one{"0 शंख"}
                        other{"0 शंख"}
                    }
                    100000000000000{
                        one{"00 शंख"}
                        other{"00 शंख"}
                    }
                }
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
        native{"deva"}
    }
    Version{"2.0.98.76"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "G y MMMM d, EEEE",
                "G y MMMM d",
                "G y MMM d",
                "GGGGG y-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d, E"}
                Gy{"G y"}
                GyMMM{"G y MMM"}
                GyMMMEd{"G y MMM d, E"}
                GyMMMd{"G y MMM d"}
                M{"L"}
                MEd{"MM/dd, E"}
                MMM{"LLL"}
                MMMEd{"MMM d, E"}
                MMMd{"MMM d"}
                Md{"MM-dd"}
                d{"d"}
                y{"G y"}
                yyyy{"G y"}
                yyyyM{"GGGGG y-MM"}
                yyyyMEd{"GGGGG y-MM-dd, E"}
                yyyyMMM{"G y MMM"}
                yyyyMMMEd{"G y MMM d, E"}
                yyyyMMMd{"G y MMM d"}
                yyyyMd{"GGGGG y-MM-dd"}
                yyyyQQQ{"G y QQQ"}
                yyyyQQQQ{"G y QQQQ"}
            }
            intervalFormats{
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"MM/dd, E – MM/dd, E"}
                    d{"MM/dd, E – MM/dd, E"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"MMM d, E – MMM d, E"}
                    d{"MMM d, E – MMM d, E"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – MM-dd"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                y{
                    y{"G y–y"}
                }
                yM{
                    M{"GGGGG y-MM – y-MM"}
                    y{"GGGGG y-MM – y-MM"}
                }
                yMEd{
                    M{"GGGGG y-MM-dd, E – y-MM-dd, E"}
                    d{"GGGGG y-MM-dd, E – y-MM-dd, E"}
                    y{"GGGGG y-MM-dd, E – y-MM-dd, E"}
                }
                yMMM{
                    M{"G y MMM–MMM"}
                    y{"G y MMM – y MMM"}
                }
                yMMMEd{
                    M{"G y MMM d, E – MMM d, E"}
                    d{"G y MMM d, E – MMM d, E"}
                    y{"G y MMM d, E – y MMM d, E"}
                }
                yMMMM{
                    M{"G y MMMM–MMMM"}
                    y{"G y MMMM – y MMMM"}
                }
                yMMMd{
                    M{"G y MMM d – MMM d"}
                    d{"G y MMM d–d"}
                    y{"G y MMM d – y MMM d"}
                }
                yMd{
                    M{"GGGGG y-MM-dd – y-MM-dd"}
                    d{"GGGGG y-MM-dd – y-MM-dd"}
                    y{"GGGGG y-MM-dd – y-MM-dd"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "पूर्व मध्यान्ह",
                "उत्तर मध्यान्ह",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "y MMMM d, EEEE",
                "y MMMM d",
                "y MMM d",
                "y-MM-dd",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"G y"}
                GyMMM{"G y MMM"}
                GyMMMEd{"G y MMM d, E"}
                GyMMMd{"G y MMM d"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"MM-dd, E"}
                MMM{"LLL"}
                MMMEd{"MMM d, E"}
                MMMd{"MMM d"}
                Md{"MM-dd"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-MM"}
                yMEd{"y-MM-dd, E"}
                yMMM{"y MMM"}
                yMMMEd{"y MMM d, E"}
                yMMMd{"y MMM d"}
                yMd{"y-MM-dd"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "आ",
                        "सो",
                        "म",
                        "बु",
                        "बि",
                        "शु",
                        "श",
                    }
                    short{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    wide{
                        "आइतबार",
                        "सोमबार",
                        "मङ्गलबार",
                        "बुधबार",
                        "बिहीबार",
                        "शुक्रबार",
                        "शनिबार",
                    }
                }
                stand-alone{
                    abbreviated{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    narrow{
                        "आ",
                        "सो",
                        "म",
                        "बु",
                        "बि",
                        "शु",
                        "श",
                    }
                    short{
                        "आइत",
                        "सोम",
                        "मङ्गल",
                        "बुध",
                        "बिही",
                        "शुक्र",
                        "शनि",
                    }
                    wide{
                        "आइतबार",
                        "सोमबार",
                        "मङ्गलबार",
                        "बुधबार",
                        "बिहीबार",
                        "शुक्रबार",
                        "शनिबार",
                    }
                }
            }
            eras{
                abbreviated{
                    "ईसा पूर्व",
                    "सन्",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"MM-dd, E – MM-dd, E"}
                    d{"MM-dd, E – MM-dd, E"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"MMM d, E – MMM d, E"}
                    d{"MMM d, E – MMM d, E"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – MM-dd"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"y-MM – y-MM"}
                    y{"y-MM – y-MM"}
                }
                yMEd{
                    M{"y-MM-dd, E – y-MM-dd, E"}
                    d{"y-MM-dd, E – y-MM-dd, E"}
                    y{"y-MM-dd, E – y-MM-dd, E"}
                }
                yMMM{
                    M{"y MMM–MMM"}
                    y{"y MMM – y MMM"}
                }
                yMMMEd{
                    M{"y MMM d, E – MMM d, E"}
                    d{"y MMM d, E – MMM d, E"}
                    y{"y MMM d, E – y MMM d, E"}
                }
                yMMMM{
                    M{"y MMMM–MMMM"}
                    y{"y MMMM – y MMMM"}
                }
                yMMMd{
                    M{"y MMM d – MMM d"}
                    d{"y MMM d–d"}
                    y{"y MMM d – y MMM d"}
                }
                yMd{
                    M{"y-MM-dd – y-MM-dd"}
                    d{"y-MM-dd – y-MM-dd"}
                    y{"y-MM-dd – y-MM-dd"}
                }
            }
            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{"“"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"बार"}
            relative{
                "-1"{"हिजो"}
                "-2"{"अस्ति"}
                "0"{"आज"}
                "1"{"भोली"}
            }
            relativeTime{
                future{
                    one{"{0} दिनमा"}
                    other{"{0} दिनमा"}
                }
                past{
                    one{"{0} दिन पहिले"}
                    other{"{0} दिन पहिले"}
                }
            }
        }
        dayperiod{
            dn{"पूर्व मध्यान्ह/उत्तर मध्यान्ह"}
        }
        era{
            dn{"काल"}
        }
        fri{
            relative{
                "-1"{"गत शुक्रबार"}
                "0"{"यो शुक्रबार"}
                "1"{"अर्को शुक्रबार"}
            }
        }
        hour{
            dn{"घण्टा"}
            relativeTime{
                future{
                    one{"{0} घण्टामा"}
                    other{"{0} घण्टामा"}
                }
                past{
                    one{"{0} घण्टा पहिले"}
                    other{"{0} घण्टा पहिले"}
                }
            }
        }
        minute{
            dn{"मिनेट"}
            relativeTime{
                future{
                    one{"{0} मिनेटमा"}
                    other{"{0} मिनेटमा"}
                }
                past{
                    one{"{0} मिनेट पहिले"}
                    other{"{0} मिनेट पहिले"}
                }
            }
        }
        mon{
            relative{
                "-1"{"गत सोमबार"}
                "0"{"यो सोमबार"}
                "1"{"अर्को सोमबार"}
            }
        }
        month{
            dn{"महिना"}
            relative{
                "-1"{"गएको महिना"}
                "0"{"यो महिना"}
                "1"{"अर्को महिना"}
            }
            relativeTime{
                future{
                    one{"{0} महिनामा"}
                    other{"{0} महिनामा"}
                }
                past{
                    one{"{0} महिना पहिले"}
                    other{"{0} महिना पहिले"}
                }
            }
        }
        sat{
            relative{
                "-1"{"गत शनिबार"}
                "0"{"यो शनिबार"}
                "1"{"अर्को शनिबार"}
            }
        }
        second{
            dn{"दोस्रो"}
            relative{
                "0"{"अब"}
            }
            relativeTime{
                future{
                    one{"{0} सेकेण्डमा"}
                    other{"{0} सेकेण्डमा"}
                }
                past{
                    one{"{0} सेकेण्ड पहिले"}
                    other{"{0} सेकेण्ड पहिले"}
                }
            }
        }
        sun{
            relative{
                "-1"{"गत आईतबार"}
                "0"{"यो आईतबार"}
                "1"{"अर्को आईतबार"}
            }
        }
        thu{
            relative{
                "-1"{"गत बिहिबार"}
                "0"{"यो बिहिबार"}
                "1"{"अर्को बिहिबार"}
            }
        }
        tue{
            relative{
                "-1"{"गत मंगलबार"}
                "0"{"यो मंगलबार"}
                "1"{"अर्को मंगलबार"}
            }
        }
        wed{
            relative{
                "-1"{"गत बुधबार"}
                "0"{"यो बुधबार"}
                "1"{"अर्को बुधबार"}
            }
        }
        week{
            dn{"हप्ता"}
            relative{
                "-1"{"गएको हप्ता"}
                "0"{"यो हप्ता"}
                "1"{"आउने हप्ता"}
            }
            relativeTime{
                future{
                    one{"{0} हप्तामा"}
                    other{"{0} हप्तामा"}
                }
                past{
                    one{"{0} हप्ता पहिले"}
                    other{"{0} हप्ता पहिले"}
                }
            }
        }
        weekday{
            dn{"हप्ताको बार"}
        }
        year{
            dn{"बर्ष"}
            relative{
                "-1"{"पहिलो वर्ष"}
                "0"{"यो वर्ष"}
                "1"{"अर्को वर्ष"}
            }
            relativeTime{
                future{
                    one{"{0} वर्षमा"}
                    other{"{0} वर्षमा"}
                }
                past{
                    one{"{0} वर्ष अघि"}
                    other{"{0} वर्ष अघि"}
                }
            }
        }
        zone{
            dn{"क्षेत्र"}
        }
    }
    listPattern{
        standard{
            2{"{0} र {1}"}
            end{"{0} र {1}"}
            middle{"{0}, {1}"}
            start{"{0} र {1}"}
        }
        unit{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0}, {1}"}
            start{"{0} {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0}, {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0}, {1}"}
            start{"{0} {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"US"}
        metric{"मेट्रिक"}
    }
    units{
        acceleration{
            g-force{
                one{"{0} गुरूत्वाकर्षण शक्ति"}
                other{"{0} गुरूत्वाकर्षण शक्ति"}
            }
        }
        angle{
            arc-minute{
                one{"{0} मिनेट"}
                other{"{0} मिनेट"}
            }
            arc-second{
                one{"{0} सेकेण्ड"}
                other{"{0} सेकेण्ड"}
            }
            degree{
                one{"{0} डिग्री"}
                other{"{0} डिग्री"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-foot{
                one{"{0} बर्ग फुट"}
                other{"{0} बर्ग फुट"}
            }
            square-kilometer{
                one{"{0} बर्ग किलोमिटर"}
                other{"{0} बर्ग किलोमिटर"}
            }
            square-meter{
                one{"{0} बर्ग मिटर"}
                other{"{0} बर्ग मिटर"}
            }
            square-mile{
                one{"{0} बर्ग माईल"}
                other{"{0} बर्ग माईल"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} दिन"}
                other{"{0} दिन"}
            }
            hour{
                one{"{0} घण्टा"}
                other{"{0} घण्टा"}
            }
            millisecond{
                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} वर्ष"}
            }
        }
        length{
            centimeter{
                one{"{0} सेन्टिमिटर"}
                other{"{0} सेन्टिमिटर"}
            }
            foot{
                one{"{0} फुट"}
                other{"{0} फुट"}
            }
            inch{
                one{"{0} ईञ्‍च"}
                other{"{0} ईञ्‍च"}
            }
            kilometer{
                one{"{0} किलो मिटर"}
                other{"{0} किलो मिटर"}
            }
            light-year{
                one{"{0} प्रकाश वर्ष"}
                other{"{0} प्रकाश वर्ष"}
            }
            meter{
                one{"{0} मिटर"}
                other{"{0} मिटर"}
            }
            mile{
                one{"{0} माईल"}
                other{"{0} माईल"}
            }
            millimeter{
                one{"{0} मिलि मिटर"}
                other{"{0} मिलि मिटर"}
            }
            picometer{
                one{"{0} पिको मिटर"}
                other{"{0} पिको मिटर"}
            }
            yard{
                one{"{0} गज"}
                other{"{0} गज"}
            }
        }
        mass{
            gram{
                one{"{0} ग्राम"}
                other{"{0} ग्राम"}
            }
            kilogram{
                one{"{0} किलोग्राम"}
                other{"{0} किलोग्राम"}
            }
            ounce{
                one{"{0} आऊन्स"}
                other{"{0} आऊन्स"}
            }
            pound{
                one{"{0} पाउण्ड"}
                other{"{0} पाउण्ड"}
            }
        }
        power{
            horsepower{
                one{"{0} घोडा शक्ति"}
                other{"{0} घोडा शक्ति"}
            }
            kilowatt{
                one{"{0} किलो वाट"}
                other{"{0} किलो वाट"}
            }
            watt{
                one{"{0} वाट"}
                other{"{0} वाट"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} हेक्टो पास्कल"}
                other{"{0} हेक्टो पास्कल"}
            }
            inch-hg{
                one{"{0} ईञ्‍च पारो"}
                other{"{0} ईञ्‍च पारो"}
            }
            millibar{
                one{"{0} मिलीबार"}
                other{"{0} मिलीबार"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} किलोमिटर प्रति घण्टा"}
                other{"{0} किलोमिटर प्रति घण्टा"}
            }
            meter-per-second{
                one{"{0} मिटर प्रति सेकेण्ड"}
                other{"{0} मिटर प्रति सेकेण्ड"}
            }
            mile-per-hour{
                one{"{0} माईल प्रति घण्टा"}
                other{"{0} माईल प्रति घण्टा"}
            }
        }
        temperature{
            celsius{
                one{"{0} डिग्री सेल्सियस्"}
                other{"{0} डिग्री सेल्सियस्"}
            }
            fahrenheit{
                one{"{0}डिग्री फरेनहाइट"}
                other{"{0}डिग्री फरेनहाइट"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} घन किलोमिटर"}
                other{"{0} घन किलोमिटर"}
            }
            cubic-mile{
                one{"{0} घन माईल"}
                other{"{0} घन माईल"}
            }
            liter{
                one{"{0} लिटर"}
                other{"{0} लिटर"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हे."}
                other{"{0} हे."}
            }
            square-foot{
                one{"{0} ब.फु."}
                other{"{0} ब.फु."}
            }
            square-kilometer{
                one{"{0} ब.कि.मि."}
                other{"{0} ब.कि.मि."}
            }
            square-meter{
                one{"{0} ब.मि."}
                other{"{0} ब.मि."}
            }
            square-mile{
                one{"{0} बर्ग माईल"}
                other{"{0} बर्ग माईल"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} दिन"}
                other{"{0} दिन"}
            }
            hour{
                one{"{0} घण्टा"}
                other{"{0} घण्टा"}
            }
            millisecond{
                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} वर्ष"}
            }
        }
        length{
            centimeter{
                one{"{0} से.मी."}
                other{"{0} से.मी."}
            }
            foot{
                one{"{0}′"}
                other{"{0}′"}
            }
            inch{
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                one{"{0} कि.मी."}
                other{"{0} कि.मी."}
            }
            light-year{
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                one{"{0} मि."}
                other{"{0} मि."}
            }
            mile{
                one{"{0} माईल"}
                other{"{0} माईल"}
            }
            millimeter{
                one{"{0} मिमि."}
                other{"{0} मिमि."}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                one{"{0} गज"}
                other{"{0} गज"}
            }
        }
        mass{
            gram{
                one{"{0} ग्राम"}
                other{"{0} ग्राम"}
            }
            kilogram{
                one{"{0} किलो"}
                other{"{0} किलो"}
            }
            ounce{
                one{"{0} आऊन्स"}
                other{"{0} आऊन्स"}
            }
            pound{
                one{"{0} पाउण्ड"}
                other{"{0} पाउण्ड"}
            }
        }
        power{
            horsepower{
                one{"{0} घोडा"}
                other{"{0} घोडा"}
            }
            kilowatt{
                one{"किलो वाट"}
                other{"{0} किलो वाट"}
            }
            watt{
                one{"{0} वाट"}
                other{"{0} वाट"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                one{"{0} ईञ्‍च पारो"}
                other{"{0} ईञ्‍च पारो"}
            }
            millibar{
                one{"{0} मिलीबार"}
                other{"{0} मिलीबार"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°"}
                other{"{0}°"}
            }
            fahrenheit{
                one{"{0}°फ"}
                other{"{0}°फ"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                one{"{0} घन माईल"}
                other{"{0} घन माईल"}
            }
            liter{
                one{"{0} लि."}
                other{"{0} लि."}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"{0} गुरूत्वाकर्षण शक्त"}
                other{"{0} गुरूत्वाकर्षण शक्ति"}
            }
        }
        angle{
            arc-minute{
                one{"{0} मिनेट"}
                other{"{0} मिनेट"}
            }
            arc-second{
                one{"{0} सेकेण्ड"}
                other{"{0} सेकेण्ड"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हे."}
                other{"{0} हे."}
            }
            square-foot{
                one{"{0} ब.फु."}
                other{"{0} ब.फु."}
            }
            square-kilometer{
                one{"{0} ब.कि.मि."}
                other{"{0} ब.कि.मि."}
            }
            square-meter{
                one{"{0} ब.मि."}
                other{"{0} ब.मि."}
            }
            square-mile{
                one{"{0} बर्ग माईल"}
                other{"{0} बर्ग माईल"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0} दिन"}
                other{"{0} दिन"}
            }
            hour{
                one{"{0} घण्टा"}
                other{"{0} घण्टा"}
            }
            millisecond{
                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} वर्ष"}
            }
        }
        length{
            centimeter{
                one{"{0} से.मी."}
                other{"{0} से.मी."}
            }
            foot{
                one{"{0} फुट"}
                other{"{0} फुट"}
            }
            inch{
                one{"{0} ईञ्‍च"}
                other{"{0} ईञ्‍च"}
            }
            kilometer{
                one{"{0} कि.मी."}
                other{"{0} कि.मी."}
            }
            light-year{
                one{"{0} प्रकाश वर्ष"}
                other{"{0} प्रकाश वर्ष"}
            }
            meter{
                one{"{0} मि."}
                other{"{0} मि."}
            }
            mile{
                one{"{0} माईल"}
                other{"{0} माईल"}
            }
            millimeter{
                one{"{0} मिमि."}
                other{"{0} मिमि."}
            }
            picometer{
                one{"{0} पिको मिटर"}
                other{"{0} पिको मिटर"}
            }
            yard{
                one{"{0} गज"}
                other{"{0} गज"}
            }
        }
        mass{
            gram{
                one{"{0} ग्राम"}
                other{"{0} ग्राम"}
            }
            kilogram{
                one{"{0} किलो"}
                other{"{0} किलो"}
            }
            ounce{
                one{"{0} आऊन्स"}
                other{"{0} आऊन्स"}
            }
            pound{
                one{"{0} पाउण्ड"}
                other{"{0} पाउण्ड"}
            }
        }
        power{
            horsepower{
                one{"{0} घोडा"}
                other{"{0} घोडा"}
            }
            kilowatt{
                one{"{0} किलो वाट"}
                other{"{0} किलो वाट"}
            }
            watt{
                one{"{0} वाट"}
                other{"{0} वाट"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} हेक्टो पास्कल"}
                other{"{0} हेक्टो पास्कल"}
            }
            inch-hg{
                one{"{0} ईञ्‍च पारो"}
                other{"{0} ईञ्‍च पारो"}
            }
            millibar{
                one{"{0} मिलीबार"}
                other{"{0} मिलीबार"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0} कि.मि. प्रति घण्टा"}
                other{"{0} कि.मि. प्रति घण्टा"}
            }
            meter-per-second{
                one{"{0} मि. प्रति सेकेण्ड"}
                other{"{0} मि. प्रति सेकेण्ड"}
            }
            mile-per-hour{
                one{"{0} माईल प्रति घण्टा"}
                other{"{0} माईल प्रति घण्टा"}
            }
        }
        temperature{
            celsius{
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                one{"{0}°फ"}
                other{"{0}°फ"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} घन किलोमिटर³"}
                other{"{0} घन किलोमिटर³"}
            }
            cubic-mile{
                one{"{0} घन माईल"}
                other{"{0} घन माईल"}
            }
            liter{
                one{"{0} लि."}
                other{"{0} लि."}
            }
        }
    }
}
