﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
mr{
    Version{"2.1.37.22"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"जी-फोर्स"}
                one{"{0} जी-फोर्स"}
                other{"{0} जी-फोर्स"}
            }
            meter-per-second-squared{
                dnam{"मीटर प्रति सेकंद चौरस"}
                one{"{0} मीटर प्रति सेकंद चौरस"}
                other{"{0} मीटर प्रति सेकंद चौरस"}
            }
        }
        angle{
            arc-minute{
                dnam{"आर्कमिनिटे"}
                one{"{0} आर्कमिनिट"}
                other{"{0} आर्कमिनिटे"}
            }
            arc-second{
                dnam{"आर्कसेकंद"}
                one{"{0} आर्कसेकंद"}
                other{"{0} आर्कसेकंद"}
            }
            degree{
                dnam{"अंश"}
                one{"{0} अंश"}
                other{"{0} अंश"}
            }
            radian{
                dnam{"रेडियन"}
                one{"{0} रेडियन"}
                other{"{0} रेडियन"}
            }
            revolution{
                dnam{"परिभ्रमण"}
                one{"{0} परिभ्रमण"}
                other{"{0} परिभ्रमणे"}
            }
        }
        area{
            acre{
                dnam{"एकर"}
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                dnam{"हेक्टर"}
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-centimeter{
                dnam{"चौरस सेंटीमीटर"}
                one{"{0} चौरस सेंटीमीटर"}
                other{"{0} चौरस सेंटीमीटर"}
                per{"{0} दर चौरस सेंटीमीटर"}
            }
            square-foot{
                dnam{"चौरस फूट"}
                one{"{0} चौरस फूट"}
                other{"{0} चौरस फूट"}
            }
            square-inch{
                dnam{"चौरस इंच"}
                one{"{0} चौरस इंच"}
                other{"{0} चौरस इंच"}
                per{"{0} दर चौरस इंच"}
            }
            square-kilometer{
                dnam{"चौरस किलोमीटर"}
                one{"{0} चौरस किलोमीटर"}
                other{"{0} चौरस किलोमीटर"}
                per{"{0} पर चौरस किलोमीटर"}
            }
            square-meter{
                dnam{"चौरस मीटर"}
                one{"{0} चौरस मीटर"}
                other{"{0} चौरस मीटर"}
                per{"{0} दर चौरस मीटर"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौरस मैल"}
                other{"{0} चौरस मैल"}
                per{"{0} पर चौरस मैल"}
            }
            square-yard{
                dnam{"वर्ग यार्ड"}
                one{"{0} वर्ग यार्ड"}
                other{"{0} वर्ग यार्ड"}
            }
        }
        compound{
            per{"{0} प्रति {1}"}
        }
        concentr{
            karat{
                dnam{"कॅरेट्स"}
                one{"{0} कॅरेट"}
                other{"{0} कॅरेट्स"}
            }
            milligram-per-deciliter{
                dnam{"मिलीग्रामस् पर डेसीलिटर"}
                one{"{0} मिलीग्राम पर डेसीलिटर"}
                other{"{0} मिलीग्रामस् पर डेसीलिटर"}
            }
            millimole-per-liter{
                dnam{"मिलीमोलस् पर लिटर"}
                one{"{0} मिलीमोल पर लिटर"}
                other{"{0} मिलीमोलस् पर लिटर"}
            }
            part-per-million{
                dnam{"भाग प्रति दशलक्ष"}
                one{"{0} भाग प्रति दशलक्ष"}
                other{"{0} भाग प्रति दशलक्ष"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"लीटर प्रति 100 किलोमीटर"}
                one{"{0} लीटर प्रति 100 किलोमीटर"}
                other{"{0} लीटर प्रति 100 किलोमीटर"}
            }
            liter-per-kilometer{
                dnam{"लीटर प्रति किलोमीटर"}
                one{"{0} लीटर प्रति किलोमीटर"}
                other{"{0} लीटर प्रति किलोमीटर"}
            }
            mile-per-gallon{
                dnam{"मैल प्रति गॅलन"}
                one{"{0} मैल प्रति गॅलन"}
                other{"{0} मैल प्रति गॅलन"}
            }
            mile-per-gallon-imperial{
                dnam{"मैल प्रति इम्पिरिअल गॅलन"}
                one{"{0} मैल प्रति इम्पि गॅलन"}
                other{"{0} मैल प्रति इम्पि गॅलन"}
            }
        }
        coordinate{
            east{"{0} पूर्व"}
            north{"{0} उत्तर"}
            south{"{0} दक्षिण"}
            west{"{0} पश्चिम"}
        }
        digital{
            bit{
                dnam{"बिट"}
                one{"{0} बिट"}
                other{"{0} बिट"}
            }
            byte{
                dnam{"बाइट"}
                one{"{0} बाइट"}
                other{"{0} बाइट"}
            }
            gigabit{
                dnam{"गिगाबिट"}
                one{"{0} गिगाबिट"}
                other{"{0} गिगाबिट"}
            }
            gigabyte{
                dnam{"गिगाबाइट"}
                one{"{0} गिगाबाइट"}
                other{"{0} गिगाबाइट"}
            }
            kilobit{
                dnam{"किलोबिट"}
                one{"{0} किलोबिट"}
                other{"{0} किलोबिट"}
            }
            kilobyte{
                dnam{"किलोबाइट"}
                one{"{0} किलोबाइट"}
                other{"{0} किलोबाइट"}
            }
            megabit{
                dnam{"मेगाबिट"}
                one{"{0} मेगाबिट"}
                other{"{0} मेगाबिट"}
            }
            megabyte{
                dnam{"मेगाबाइट"}
                one{"{0} मेगाबाइट"}
                other{"{0} मेगाबाइट"}
            }
            terabit{
                dnam{"टेराबिट"}
                one{"{0} टेराबिट"}
                other{"{0} टेराबिट"}
            }
            terabyte{
                dnam{"टेराबाइट"}
                one{"{0} टेराबाइट"}
                other{"{0} टेराबाइट"}
            }
        }
        duration{
            century{
                dnam{"शतके"}
                one{"{0} शतक"}
                other{"{0} शतके"}
            }
            day{
                dnam{"दिवस"}
                one{"{0} दिवस"}
                other{"{0} दिवस"}
                per{"{0} दर दिवशी"}
            }
            hour{
                dnam{"तास"}
                one{"{0} तास"}
                other{"{0} तास"}
                per{"{0} प्रति तास"}
            }
            microsecond{
                dnam{"मायक्रोसेकंद"}
                one{"{0} मायक्रोसेकंद"}
                other{"{0} मायक्रोसेकंद"}
            }
            millisecond{
                dnam{"मिलिसेकंद"}
                one{"{0} मिलिसेकंद"}
                other{"{0} मिलिसेकंद"}
            }
            minute{
                dnam{"मिनिटे"}
                one{"{0} मिनिट"}
                other{"{0} मिनिटे"}
                per{"{0} दर मिनिट"}
            }
            month{
                dnam{"महिने"}
                one{"{0} महिना"}
                other{"{0} महिने"}
                per{"{0} दर महिना"}
            }
            nanosecond{
                dnam{"नॅनोसेकंद"}
                one{"{0} नॅनोसेकंद"}
                other{"{0} नॅनोसेकंद"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0} सेकंद"}
                other{"{0} सेकंद"}
                per{"{0} प्रति सेकंद"}
            }
            week{
                dnam{"आठवडे"}
                one{"{0} आठवडा"}
                other{"{0} आठवडे"}
                per{"{0} दर आठवडा"}
            }
            year{
                dnam{"वर्षे"}
                one{"{0} वर्ष"}
                other{"{0} वर्षे"}
                per{"{0} दर वर्षी"}
            }
        }
        electric{
            ampere{
                dnam{"अँपियर"}
                one{"{0} अँपियर"}
                other{"{0} अँपियर"}
            }
            milliampere{
                dnam{"मिलिअँपियर"}
                one{"{0} मिलिअँपियर"}
                other{"{0} मिलिअँपियर"}
            }
            ohm{
                dnam{"ओहम"}
                one{"{0} ओहम"}
                other{"{0} ओहम"}
            }
            volt{
                dnam{"व्होल्ट"}
                one{"{0} व्होल्ट"}
                other{"{0} व्होल्ट"}
            }
        }
        energy{
            calorie{
                dnam{"कॅलरीज"}
                one{"{0} कॅलरी"}
                other{"{0} कॅलरीज"}
            }
            foodcalorie{
                dnam{"कॅलरीज"}
                one{"{0} कॅलरी"}
                other{"{0} कॅलरीज"}
            }
            joule{
                dnam{"ज्यूल"}
                one{"{0} ज्यूल"}
                other{"{0} ज्यूल"}
            }
            kilocalorie{
                dnam{"किलोकॅलोरी"}
                one{"{0} किलोकॅलोरी"}
                other{"{0} किलोकॅलोरी"}
            }
            kilojoule{
                dnam{"किलोज्यूल"}
                one{"{0} किलोज्यूल"}
                other{"{0} किलोज्यूल"}
            }
            kilowatt-hour{
                dnam{"किलोवॉट-तास"}
                one{"{0} किलोवॉट तास"}
                other{"{0} किलोवॉट-तास"}
            }
        }
        frequency{
            gigahertz{
                dnam{"गिगाहर्ट्झ"}
                one{"{0} गिगाहर्ट्झ"}
                other{"{0} गिगाहर्ट्झ"}
            }
            hertz{
                dnam{"हर्ट्झ"}
                one{"{0} हर्ट्झ"}
                other{"{0} हर्ट्झ"}
            }
            kilohertz{
                dnam{"किलोहर्ट्झ"}
                one{"{0} किलोहर्ट्झ"}
                other{"{0} किलोहर्ट्झ"}
            }
            megahertz{
                dnam{"मेगाहर्ट्झ"}
                one{"{0} मेगाहर्ट्झ"}
                other{"{0} मेगाहर्ट्झ"}
            }
        }
        length{
            astronomical-unit{
                dnam{"खगोलीय एकके"}
                one{"{0} खगोलीय एकक"}
                other{"{0} खगोलीय एकके"}
            }
            centimeter{
                dnam{"सेंटीमीटर"}
                one{"{0} सेंटीमीटर"}
                other{"{0} सेंटीमीटर"}
                per{"{0} दर सेंटीमीटर"}
            }
            decimeter{
                dnam{"डेसीमीटर"}
                one{"{0} डेसीमीटर"}
                other{"{0} डेसीमीटर"}
            }
            foot{
                dnam{"फूट"}
                one{"{0} फूट"}
                other{"{0} फूट"}
                per{"{0} दर फूट"}
            }
            inch{
                dnam{"इंच"}
                one{"{0} इंच"}
                other{"{0} इंच"}
                per{"{0} दर इंच"}
            }
            kilometer{
                dnam{"किलोमीटर"}
                one{"{0} किलोमीटर"}
                other{"{0} किलोमीटर"}
                per{"{0} दर किलोमीटर"}
            }
            light-year{
                dnam{"प्रकाश वर्षे"}
                one{"{0} प्रकाश वर्ष"}
                other{"{0} प्रकाश वर्षे"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0} मीटर"}
                other{"{0} मीटर"}
                per{"{0} दर मीटर"}
            }
            micrometer{
                dnam{"मायक्रोमीटर"}
                one{"{0} मायक्रोमीटर"}
                other{"{0} मायक्रोमीटर"}
            }
            mile{
                dnam{"मैल"}
                one{"{0} मैल"}
                other{"{0} मैल"}
            }
            mile-scandinavian{
                dnam{"मैल-स्कॅन्डीनेव्हियन"}
                one{"{0} मैल-स्कॅन्डीनेव्हियन"}
                other{"{0} मैल-स्कॅन्डीनेव्हियन"}
            }
            millimeter{
                dnam{"मिलिमीटर"}
                one{"{0} मिलिमीटर"}
                other{"{0} मिलिमीटर"}
            }
            nanometer{
                dnam{"नॅनोमीटर"}
                one{"{0} नॅनोमीटर"}
                other{"{0} नॅनोमीटर"}
            }
            nautical-mile{
                dnam{"नॉटिकल मैल"}
                one{"{0} नॉटिकल मैल"}
                other{"{0} नॉटिकल मैल"}
            }
            parsec{
                dnam{"पार्सेक"}
                one{"{0} पार्सेक"}
                other{"{0} पार्सेक"}
            }
            picometer{
                dnam{"पिकोमीटर"}
                one{"{0} पिकोमीटर"}
                other{"{0} पिकोमीटर"}
            }
            point{
                dnam{"बिंदु"}
                one{"{0} बिंदु"}
                other{"{0} बिंदु"}
            }
            yard{
                dnam{"यार्ड"}
                one{"{0} यार्ड"}
                other{"{0} यार्ड"}
            }
        }
        light{
            lux{
                dnam{"लक्स"}
                one{"{0} लक्स"}
                other{"{0} लक्स"}
            }
        }
        mass{
            carat{
                dnam{"कॅरेट्स"}
                one{"{0} कॅरेट"}
                other{"{0} कॅरेट्स"}
            }
            gram{
                dnam{"ग्रॅम"}
                one{"{0} ग्रॅम"}
                other{"{0} ग्रॅम"}
                per{"{0} दर ग्रॅम"}
            }
            kilogram{
                dnam{"किलोग्रॅम"}
                one{"{0} किलोग्रॅम"}
                other{"{0} किलोग्रॅम"}
                per{"{0} दर किलोग्रॅम"}
            }
            metric-ton{
                dnam{"मेट्रिक टन"}
                one{"{0} मेट्रिक टन"}
                other{"{0} मेट्रिक टन"}
            }
            microgram{
                dnam{"मायक्रोग्रॅम"}
                one{"{0} मायक्रोग्रॅम"}
                other{"{0} मायक्रोग्रॅम"}
            }
            milligram{
                dnam{"मिलिग्रॅम"}
                one{"{0} मिलिग्रॅम"}
                other{"{0} मिलिग्रॅम"}
            }
            ounce{
                dnam{"औंस"}
                one{"{0} औंस"}
                other{"{0} औंस"}
                per{"{0} दर औंस"}
            }
            ounce-troy{
                dnam{"ट्रॉय औंस"}
                one{"{0} ट्रॉय औंस"}
                other{"{0} ट्रॉय औंस"}
            }
            pound{
                dnam{"पाउंड"}
                one{"{0} पाउंड"}
                other{"{0} पाउंड"}
                per{"{0} दर पाउंड"}
            }
            stone{
                dnam{"स्टोन"}
                one{"{0} स्टोन"}
                other{"{0} स्टोन"}
            }
            ton{
                dnam{"टन"}
                one{"{0} टन"}
                other{"{0} टन"}
            }
        }
        power{
            gigawatt{
                dnam{"गिगावॉट"}
                one{"{0} गिगावॉट"}
                other{"{0} गिगावॉट"}
            }
            horsepower{
                dnam{"हॉर्सपॉवर"}
                one{"{0} हॉर्सपॉवर"}
                other{"{0} हॉर्सपॉवर"}
            }
            kilowatt{
                dnam{"किलोवॉट"}
                one{"{0} किलोवॉट"}
                other{"{0} किलोवॉट"}
            }
            megawatt{
                dnam{"मेगावॉट"}
                one{"{0} मेगावॉट"}
                other{"{0} मेगावॉट"}
            }
            milliwatt{
                dnam{"मिलिवॉट"}
                one{"{0} मिलिवॉट"}
                other{"{0} मिलिवॉट"}
            }
            watt{
                dnam{"वॉट"}
                one{"{0} वॉट"}
                other{"{0} वॉट"}
            }
        }
        pressure{
            hectopascal{
                dnam{"हेक्टोपास्कल"}
                one{"{0} हेक्टोपास्कल"}
                other{"{0} हेक्टोपास्कल"}
            }
            inch-hg{
                dnam{"मर्क्यूरी इंच"}
                one{"{0} मर्क्यूरी इंच"}
                other{"{0} मर्क्यूरी इंच"}
            }
            millibar{
                dnam{"मिलिबार"}
                one{"{0} मिलिबार"}
                other{"{0} मिलिबार"}
            }
            millimeter-of-mercury{
                dnam{"मर्क्यूरी मिलिमीटर"}
                one{"{0} मर्क्यूरी मिलिमीटर"}
                other{"{0} मर्क्यूरी मिलिमीटर"}
            }
            pound-per-square-inch{
                dnam{"प्रति चौरस इंच पाउंड"}
                one{"{0} प्रति चौरस इंच पाउंड"}
                other{"{0} प्रति चौरस इंच पाउंड"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"किलोमीटर प्रति तास"}
                one{"{0} किलोमीटर प्रति तास"}
                other{"{0} किलोमीटर प्रति तास"}
            }
            knot{
                dnam{"नॉट"}
                one{"{0} नॉट"}
                other{"{0} नॉट"}
            }
            meter-per-second{
                dnam{"मीटर प्रति सेकंद"}
                one{"{0} मीटर प्रति सेकंद"}
                other{"{0} मीटर प्रति सेकंद"}
            }
            mile-per-hour{
                dnam{"मैल प्रति तास"}
                one{"{0} मैल प्रति तास"}
                other{"{0} मैल प्रति तास"}
            }
        }
        temperature{
            celsius{
                dnam{"अंश सेल्सिअस"}
                one{"{0} अंश सेल्सिअस"}
                other{"{0} अंश सेल्सिअस"}
            }
            fahrenheit{
                dnam{"अंश फॅरनहाईट"}
                one{"{0} अंश फॅरनहाईट"}
                other{"{0} अंश फॅरनहाईट"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"केल्व्हिन"}
                one{"{0} केल्व्हिन"}
                other{"{0} केल्व्हिन"}
            }
        }
        volume{
            acre-foot{
                dnam{"एकर-फूट"}
                one{"{0} एकर-फूट"}
                other{"{0} एकर-फूट"}
            }
            centiliter{
                dnam{"सेंटीलीटर"}
                one{"{0} सेंटीलीटर"}
                other{"{0} सेंटीलीटर"}
            }
            cubic-centimeter{
                dnam{"घन सेंटीमीटर"}
                one{"{0} घन सेंटीमीटर"}
                other{"{0} घन सेंटीमीटर"}
                per{"{0} प्रति घन सेंटिमीटर"}
            }
            cubic-foot{
                dnam{"घन फूट"}
                one{"{0} घन फूट"}
                other{"{0} घन फूट"}
            }
            cubic-inch{
                dnam{"घन इंच"}
                one{"{0} घन इंच"}
                other{"{0} घन इंच"}
            }
            cubic-kilometer{
                dnam{"घन किलोमीटर"}
                one{"{0} घन किलोमीटर"}
                other{"{0} घन किलोमीटर"}
            }
            cubic-meter{
                dnam{"घन मीटर"}
                one{"{0} घन मीटर"}
                other{"{0} घन मीटर"}
                per{"{0} दर घन मीटर"}
            }
            cubic-mile{
                dnam{"घन मैल"}
                one{"{0} घन मैल"}
                other{"{0} घन मैल"}
            }
            cubic-yard{
                dnam{"घन यार्ड"}
                one{"{0} घन यार्ड"}
                other{"{0} घन यार्ड"}
            }
            cup{
                dnam{"कप"}
                one{"{0} कप"}
                other{"{0} कप"}
            }
            cup-metric{
                dnam{"मेट्रिक कप"}
                one{"{0} मेट्रिक कप"}
                other{"{0} मेट्रिक कप"}
            }
            deciliter{
                dnam{"डेसीलीटर"}
                one{"{0} डेसीलीटर"}
                other{"{0} डेसीलीटर"}
            }
            fluid-ounce{
                dnam{"फ्लूइड औंस"}
                one{"{0} फ्लूइड औंस"}
                other{"{0} फ्लूइड औंस"}
            }
            gallon{
                dnam{"गॅलन"}
                one{"{0} गॅलन"}
                other{"{0} गॅलन"}
                per{"{0} दर गॅलन"}
            }
            gallon-imperial{
                dnam{"इम्पिरीयल गॅलन"}
                one{"{0} इम्पिरीयल गॅलन"}
                other{"{0} इम्पिरीयल गॅलन"}
                per{"{0} पर इम्पिरीयल गॅलन"}
            }
            hectoliter{
                dnam{"हेक्टोलीटर"}
                one{"{0} हेक्टोलीटर"}
                other{"{0} हेक्टोलीटर"}
            }
            liter{
                dnam{"लीटर"}
                one{"{0} लीटर"}
                other{"{0} लीटर"}
                per{"{0} दर लीटर"}
            }
            megaliter{
                dnam{"मेगालीटर"}
                one{"{0} मेगालीटर"}
                other{"{0} मेगालीटर"}
            }
            milliliter{
                dnam{"मिलीलीटर"}
                one{"{0} मिलीलीटर"}
                other{"{0} मिलीलीटर"}
            }
            pint{
                dnam{"पिंट"}
                one{"{0} पिंट"}
                other{"{0} पिंट"}
            }
            pint-metric{
                dnam{"मेट्रिक पिंट"}
                one{"{0} मेट्रिक पिंट"}
                other{"{0} मेट्रिक पिंट"}
            }
            quart{
                dnam{"क्वार्ट"}
                one{"{0} क्वार्ट"}
                other{"{0} क्वार्ट"}
            }
            tablespoon{
                dnam{"टेबलस्पून"}
                one{"{0} टेबलस्पून"}
                other{"{0} टेबलस्पून"}
            }
            teaspoon{
                dnam{"टीस्पून"}
                one{"{0} टीस्पून"}
                other{"{0} टीस्पून"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}जी"}
                other{"{0}जी"}
            }
            meter-per-second-squared{
                dnam{"मीटर/सेक²"}
                one{"{0} मी/से²"}
                other{"{0} मी/से²"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}'"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}\u0022"}
            }
            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}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"ली/100किमी"}
                one{"{0} ली/100किमी"}
                other{"{0} ली/100किमी"}
            }
        }
        coordinate{
            east{"{0}पू"}
            north{"{0}उ"}
            south{"{0}द"}
            west{"{0}प"}
        }
        duration{
            century{
                dnam{"श"}
                one{"{0} श"}
                other{"{0} श"}
            }
            day{
                dnam{"दिवस"}
                one{"{0}दि"}
                other{"{0}दि"}
                per{"{0}/दि"}
            }
            hour{
                dnam{"तास"}
                one{"{0}ता"}
                other{"{0}ता"}
                per{"{0}प्रता"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"मिलिसेकंद"}
                one{"{0} मिलिसे"}
                other{"{0} मिलिसे"}
            }
            minute{
                dnam{"मिनिटे"}
                one{"{0}मि"}
                other{"{0}मि"}
                per{"{0}/मिनि"}
            }
            month{
                dnam{"महिना"}
                one{"{0}म"}
                other{"{0}म"}
                per{"{0}/म"}
            }
            nanosecond{
                dnam{"नॅनोसेक"}
                one{"{0} नॅसे"}
                other{"{0} नॅसे"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0}से"}
                other{"{0}से"}
                per{"{0}प्रसे"}
            }
            week{
                dnam{"आ"}
                one{"{0}आ"}
                other{"{0}आ"}
                per{"{0}/आ"}
            }
            year{
                dnam{"वर्ष"}
                one{"{0}व"}
                other{"{0}व"}
                per{"{0}/वर्षी"}
            }
        }
        length{
            centimeter{
                dnam{"सेंमी"}
                one{"{0}सेंमी"}
                other{"{0}सेंमी"}
                per{"{0}/सेंमी"}
            }
            decimeter{
                dnam{"डेमी"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"फूट"}
                one{"{0}'"}
                other{"{0}'"}
                per{"{0}/फूट"}
            }
            inch{
                dnam{"इंच"}
                one{"{0}″"}
                other{"{0}″"}
                per{"{0}/इंच"}
            }
            kilometer{
                dnam{"किमी"}
                one{"{0}किमी"}
                other{"{0}किमी"}
                per{"{0}/किमी"}
            }
            light-year{
                dnam{"प्रकाश वर्षे"}
                one{"{0}प्रव"}
                other{"{0}प्रव"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0}मी"}
                other{"{0}मी"}
                per{"{0}/मी"}
            }
            micrometer{
                dnam{"मायक्रोमीटर"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"मैल"}
                one{"{0}मैल"}
                other{"{0}मैल"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"मिमी"}
                one{"{0}मिमी"}
                other{"{0}मिमी"}
            }
            nanometer{
                dnam{"नॅमी"}
                one{"{0} नॅमी"}
                other{"{0} नॅमी"}
            }
            parsec{
                dnam{"पार्सेक"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"पिमी"}
                one{"{0}पिमी"}
                other{"{0}पिमी"}
            }
            yard{
                dnam{"यार्ड"}
                one{"{0}यार्ड"}
                other{"{0}यार्ड"}
            }
        }
        mass{
            gram{
                dnam{"ग्रॅम"}
                one{"{0}ग्रॅ"}
                other{"{0}ग्रॅ"}
                per{"{0}/ग्रॅ"}
            }
            kilogram{
                dnam{"किग्रॅ"}
                one{"{0}किग्रॅ"}
                other{"{0}किग्रॅ"}
                per{"{0}/किग्रॅ"}
            }
            milligram{
                dnam{"मिग्रॅ"}
                one{"{0} मिग्रॅ"}
                other{"{0} मिग्रॅ"}
            }
            ounce{
                dnam{"औंस"}
                one{"{0}औंस"}
                other{"{0}औंस"}
                per{"{0}/oz"}
            }
            pound{
                dnam{"पाउंड"}
                one{"{0}#"}
                other{"{0}#"}
                per{"{0}/lb"}
            }
            stone{
                dnam{"स्टोन"}
                one{"{0}स्टोन"}
                other{"{0}स्टोन"}
            }
            ton{
                dnam{"टन"}
                one{"{0} टन"}
                other{"{0} टन"}
            }
        }
        power{
            horsepower{
                one{"{0} हॉपॉ"}
                other{"{0}हॉपॉ"}
            }
            kilowatt{
                one{"{0}किवॉ"}
                other{"{0}किवॉ"}
            }
            watt{
                one{"{0}वॉ"}
                other{"{0}वॉ"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0}हेक्टोपा"}
                other{"{0}हेक्टोपा"}
            }
            inch-hg{
                dnam{"″ Hg"}
                one{"{0}\u0022 हेग्रॅ"}
                other{"{0}\u0022 हेग्रॅ"}
            }
            millibar{
                dnam{"मिलिबार"}
                one{"{0}मिबा"}
                other{"{0}मिबा"}
            }
            millimeter-of-mercury{
                dnam{"mm Hg"}
                one{"{0}mmHg"}
                other{"{0}mmHg"}
            }
            pound-per-square-inch{
                dnam{"psi"}
                one{"{0}psi"}
                other{"{0}psi"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"किमी/तास"}
                one{"{0}किप्रता"}
                other{"{0}किप्रता"}
            }
            meter-per-second{
                dnam{"मीटर/सेक"}
                one{"{0}मी/से"}
                other{"{0}मी/से"}
            }
            mile-per-hour{
                dnam{"मैल/तास"}
                one{"{0}मैप्रता"}
                other{"{0}मैप्रता"}
            }
        }
        temperature{
            celsius{
                dnam{"°से"}
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                dnam{"अंश फॅरनहाईट"}
                one{"{0}°फॅ"}
                other{"{0}°फॅ"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"केल्व्हिन"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}किमी³"}
                other{"{0}किमी³"}
            }
            cubic-mile{
                one{"{0}मै³"}
                other{"{0}मै³"}
            }
            liter{
                dnam{"लीटर"}
                one{"{0}ली"}
                other{"{0}ली"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"जी-फोर्स"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"मीटर/सेक²"}
                one{"{0} मी/से²"}
                other{"{0} मी/से²"}
            }
        }
        angle{
            arc-minute{
                dnam{"आर्कमिनि"}
                one{"{0} आर्कमिनि"}
                other{"{0} आर्कमिनि"}
            }
            arc-second{
                dnam{"आर्कसेक"}
                one{"{0} आर्कसेक"}
                other{"{0} आर्कसेक"}
            }
            degree{
                dnam{"अंश"}
                one{"{0} अंश"}
                other{"{0} अंश"}
            }
            radian{
                dnam{"रेडियन"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"परिभ्र."}
                one{"{0} परिभ्र."}
                other{"{0} परिभ्र."}
            }
        }
        area{
            acre{
                dnam{"एकर"}
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                dnam{"हेक्टर"}
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-centimeter{
                dnam{"सेंमी²"}
                one{"{0} सेंमी²"}
                other{"{0} सेंमी²"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"चौरस फूट"}
                one{"{0} चौ फूट"}
                other{"{0} चौ फूट"}
            }
            square-inch{
                dnam{"इंच²"}
                one{"{0} इंच²"}
                other{"{0} इंच²"}
                per{"{0}/इंच²"}
            }
            square-kilometer{
                dnam{"किमी²"}
                one{"{0} किमी²"}
                other{"{0} किमी²"}
                per{"{0}/km²"}
            }
            square-meter{
                dnam{"मीटर²"}
                one{"{0} मी²"}
                other{"{0} मी²"}
                per{"{0}/मी²"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौ मै"}
                other{"{0} चौ मै"}
                per{"{0}/mi²"}
            }
            square-yard{
                dnam{"यार्ड²"}
                one{"{0} यार्ड²"}
                other{"{0} यार्ड²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"कॅरेट्स"}
                one{"{0} kt"}
                other{"{0} kt"}
            }
            milligram-per-deciliter{
                dnam{"mg/dL"}
                one{"{0} mg/dL"}
                other{"{0} mg/dL"}
            }
            millimole-per-liter{
                dnam{"मिलीमोल/लिटर"}
                one{"{0} मिलीमो. /लि."}
                other{"{0} मिलीमो. /लि."}
            }
            part-per-million{
                dnam{"ppm"}
                one{"{0} ppm"}
                other{"{0} ppm"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"ली/100किमी"}
                one{"{0} ली/100किमी"}
                other{"{0} ली/100किमी"}
            }
            liter-per-kilometer{
                dnam{"लीटर/किमी"}
                one{"{0} ली/किमी"}
                other{"{0} ली/किमी"}
            }
            mile-per-gallon{
                dnam{"मैल/गॅलन"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
            mile-per-gallon-imperial{
                dnam{"mpg Imp."}
                one{"{0} mpg Imp."}
                other{"{0} mpg Imp."}
            }
        }
        coordinate{
            east{"{0}पू"}
            north{"{0}उ"}
            south{"{0}द"}
            west{"{0}प"}
        }
        digital{
            bit{
                dnam{"बिट"}
                one{"{0} बिट"}
                other{"{0} बिट"}
            }
            byte{
                dnam{"बाइट"}
                one{"{0} बाइट"}
                other{"{0} बाइट"}
            }
            gigabit{
                dnam{"Gbit"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GByte"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kbit"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kByte"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mbit"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MByte"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tbit"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TByte"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"श"}
                one{"{0} श"}
                other{"{0} श"}
            }
            day{
                dnam{"दिवस"}
                one{"{0} दिवस"}
                other{"{0} दिवस"}
                per{"{0}/दि"}
            }
            hour{
                dnam{"तास"}
                one{"{0} ता"}
                other{"{0} ता"}
                per{"{0}प्रता"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"मिलिसेकंद"}
                one{"{0} मिलिसे"}
                other{"{0} मिलिसे"}
            }
            minute{
                dnam{"मिनिटे"}
                one{"{0} मिनि"}
                other{"{0} मिनि"}
                per{"{0}/मिनि"}
            }
            month{
                dnam{"महिने"}
                one{"{0} महिना"}
                other{"{0} महिने"}
                per{"{0}/म"}
            }
            nanosecond{
                dnam{"नॅनोसेक"}
                one{"{0} नॅसे"}
                other{"{0} नॅसे"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0} से"}
                other{"{0} से"}
                per{"{0}प्रसे"}
            }
            week{
                dnam{"आठवडे"}
                one{"{0} आ"}
                other{"{0} आ"}
                per{"{0}/आ"}
            }
            year{
                dnam{"वर्षे"}
                one{"{0} वर्ष"}
                other{"{0} वर्षे"}
                per{"{0}/वर्षी"}
            }
        }
        electric{
            ampere{
                dnam{"अँप्स"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"मिलिअँप्स"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ओहम"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"व्होल्ट"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"{0} cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"Cal"}
                one{"{0} Cal"}
                other{"{0} Cal"}
            }
            joule{
                dnam{"ज्यूल"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            kilojoule{
                dnam{"किलोज्यूल"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kW-तास"}
                one{"{0} kWh"}
                other{"{0} kWh"}
            }
        }
        frequency{
            gigahertz{
                dnam{"GHz"}
                one{"{0} GHz"}
                other{"{0} GHz"}
            }
            hertz{
                dnam{"Hz"}
                one{"{0} Hz"}
                other{"{0} Hz"}
            }
            kilohertz{
                dnam{"kHz"}
                one{"{0} kHz"}
                other{"{0} kHz"}
            }
            megahertz{
                dnam{"MHz"}
                one{"{0} MHz"}
                other{"{0} MHz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"au"}
                one{"{0} au"}
                other{"{0} au"}
            }
            centimeter{
                dnam{"सेंमी"}
                one{"{0} सेंमी"}
                other{"{0} सेंमी"}
                per{"{0}/सेंमी"}
            }
            decimeter{
                dnam{"डेमी"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"फूट"}
                one{"{0} फूट"}
                other{"{0} फूट"}
                per{"{0}/फूट"}
            }
            inch{
                dnam{"इंच"}
                one{"{0} इंच"}
                other{"{0} इंच"}
                per{"{0}/इंच"}
            }
            kilometer{
                dnam{"किमी"}
                one{"{0} किमी"}
                other{"{0} किमी"}
                per{"{0}/किमी"}
            }
            light-year{
                dnam{"प्रकाश वर्षे"}
                one{"{0} प्रव"}
                other{"{0} प्रव"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0} मी"}
                other{"{0} मी"}
                per{"{0}/मी"}
            }
            micrometer{
                dnam{"मायक्रोमीटर"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"मैल"}
                one{"{0} मैल"}
                other{"{0} मैल"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"मिमी"}
                one{"{0} मिमी"}
                other{"{0} मिमी"}
            }
            nanometer{
                dnam{"नॅमी"}
                one{"{0} नॅमी"}
                other{"{0} नॅमी"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"पार्सेक"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"पिमी"}
                one{"{0} पिमी"}
                other{"{0} पिमी"}
            }
            point{
                dnam{"बिंदु"}
                one{"{0} बिंदु"}
                other{"{0} बिंदु"}
            }
            yard{
                dnam{"यार्ड"}
                one{"{0} यार्ड"}
                other{"{0} यार्ड"}
            }
        }
        light{
            lux{
                dnam{"लक्स"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"कॅरेट्स"}
                one{"{0} CD"}
                other{"{0} CD"}
            }
            gram{
                dnam{"ग्रॅम"}
                one{"{0} ग्रॅ"}
                other{"{0} ग्रॅ"}
                per{"{0}/ग्रॅ"}
            }
            kilogram{
                dnam{"किग्रॅ"}
                one{"{0} किग्रॅ"}
                other{"{0} किग्रॅ"}
                per{"{0}/किग्रॅ"}
            }
            metric-ton{
                dnam{"t"}
                one{"{0} t"}
                other{"{0} t"}
            }
            microgram{
                dnam{"µg"}
                one{"{0} µg"}
                other{"{0} µg"}
            }
            milligram{
                dnam{"मिग्रॅ"}
                one{"{0} मिग्रॅ"}
                other{"{0} मिग्रॅ"}
            }
            ounce{
                dnam{"औंस"}
                one{"{0} औंस"}
                other{"{0} औंस"}
                per{"{0}/oz"}
            }
            ounce-troy{
                dnam{"oz ट्रॉय"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"पाउंड"}
                one{"{0} पाउंड"}
                other{"{0} पाउंड"}
                per{"{0}/lb"}
            }
            stone{
                dnam{"स्टोन"}
                one{"{0} स्टोन"}
                other{"{0} स्टोन"}
            }
            ton{
                dnam{"टन"}
                one{"{0} टन"}
                other{"{0} टन"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"hp"}
                one{"{0} hp"}
                other{"{0} hp"}
            }
            kilowatt{
                dnam{"किवॉ"}
                one{"{0} किवॉ"}
                other{"{0} किवॉ"}
            }
            megawatt{
                dnam{"MW"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"वॉट"}
                one{"{0} वॉ"}
                other{"{0} वॉ"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"in Hg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"मिलिबार"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
            millimeter-of-mercury{
                dnam{"mm Hg"}
                one{"{0} mm Hg"}
                other{"{0} mm Hg"}
            }
            pound-per-square-inch{
                dnam{"psi"}
                one{"{0} psi"}
                other{"{0} psi"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"किमी/तास"}
                one{"{0} किप्रता"}
                other{"{0} किप्रता"}
            }
            knot{
                dnam{"kn"}
                one{"{0} kn"}
                other{"{0} kn"}
            }
            meter-per-second{
                dnam{"मीटर/सेक"}
                one{"{0} मी/से"}
                other{"{0} मी/से"}
            }
            mile-per-hour{
                dnam{"मैल/तास"}
                one{"{0} मैप्रता"}
                other{"{0} मैप्रता"}
            }
        }
        temperature{
            celsius{
                dnam{"अंश सेल्सिअस"}
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                dnam{"अंश फॅरनहाईट"}
                one{"{0}°फॅ"}
                other{"{0}°फॅ"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"केल्व्हिन"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"ac ft"}
                one{"{0} ac ft"}
                other{"{0} ac ft"}
            }
            centiliter{
                dnam{"cL"}
                one{"{0} cL"}
                other{"{0} cL"}
            }
            cubic-centimeter{
                dnam{"सेंमी³"}
                one{"{0} सेंमी³"}
                other{"{0} सेंमी³"}
                per{"{0}/सेंमी³"}
            }
            cubic-foot{
                dnam{"फूट³"}
                one{"{0} फूट³"}
                other{"{0} फूट³"}
            }
            cubic-inch{
                dnam{"इंच³"}
                one{"{0} इंच³"}
                other{"{0} इंच³"}
            }
            cubic-kilometer{
                dnam{"किमी³"}
                one{"{0} किमी³"}
                other{"{0} किमी³"}
            }
            cubic-meter{
                dnam{"मी³"}
                one{"{0} मी³"}
                other{"{0} मी³"}
                per{"{0}/मी³"}
            }
            cubic-mile{
                dnam{"मै³"}
                one{"{0} मै³"}
                other{"{0} मै³"}
            }
            cubic-yard{
                dnam{"यार्ड³"}
                one{"{0} यार्ड³"}
                other{"{0} यार्ड³"}
            }
            cup{
                dnam{"कप"}
                one{"{0} c"}
                other{"{0} c"}
            }
            cup-metric{
                dnam{"mcup"}
                one{"{0} mc"}
                other{"{0} mc"}
            }
            deciliter{
                dnam{"dL"}
                one{"{0} dL"}
                other{"{0} dL"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0} fl oz"}
                other{"{0} fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
                per{"{0}/गॅ"}
            }
            gallon-imperial{
                dnam{"इम्पि. गॅ."}
                one{"{0} गॅ इम्पि"}
                other{"{0} गॅ इम्पि"}
                per{"{0}/गॅ इम्पि"}
            }
            hectoliter{
                dnam{"hL"}
                one{"{0} hL"}
                other{"{0} hL"}
            }
            liter{
                dnam{"लीटर"}
                one{"{0} ली"}
                other{"{0} ली"}
                per{"{0}/ली"}
            }
            megaliter{
                dnam{"ML"}
                one{"{0} ML"}
                other{"{0} ML"}
            }
            milliliter{
                dnam{"मिली"}
                one{"{0} मिली"}
                other{"{0} मिली"}
            }
            pint{
                dnam{"पिंट"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            pint-metric{
                dnam{"mpt"}
                one{"{0} mpt"}
                other{"{0} mpt"}
            }
            quart{
                dnam{"qt"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                one{"{0} tbsp"}
                other{"{0} tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                one{"{0} tsp"}
                other{"{0} tsp"}
            }
        }
    }
}
