﻿// ***************************************************************************
// *
// * 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>/common/main/ne.xml
 */
ne{
    AuxExemplarCharacters{"[\u200C\u200D]"}
    ExemplarCharacters{
        "[\u093C \u0901 \u0902 ः ॐ अ आ इ ई उ ऊ ऋ ऌ ऍ ए ऐ ऑ ओ औ क ख ग घ ङ च छ ज झ ञ ट "
        "ठ ड ढ ण त थ द ध न प फ ब भ म य र ल ळ व श ष स ह ऽ ा ि ी \u0941 \u0942 \u0943 "
        "\u0944 \u0945 \u0947 \u0948 ॉ ो ौ \u094D]"
    }
    LocaleScript{
        "Deva",
    }
    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{
                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.92.87"}
    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} बर्ग माईल"}
            }
        }
        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} लिटर"}
            }
        }
    }
    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} बर्ग माईल"}
            }
        }
        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} लि."}
            }
        }
    }
}
