﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mr.xml
// *
// ***************************************************************************
mr{
    Version{"2.1.19.53"}
    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} चौरस किलोमीटर"}
            }
            square-meter{
                dnam{"चौरस मीटर"}
                one{"{0} चौरस मीटर"}
                other{"{0} चौरस मीटर"}
                per{"{0} दर चौरस मीटर"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौरस मैल"}
                other{"{0} चौरस मैल"}
            }
            square-yard{
                dnam{"वर्ग यार्ड"}
                one{"{0} वर्ग यार्ड"}
                other{"{0} वर्ग यार्ड"}
            }
        }
        compound{
            per{"{0} प्रति {1}"}
        }
        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} मैल प्रति गॅलन"}
            }
        }
        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} पिकोमीटर"}
            }
            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} दर पाउंड"}
            }
            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} प्रति चौरस इंच पाउंड"}
            }
        }
        proportion{
            karat{
                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} दर गॅलन"}
            }
            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}जी"}
            }
        }
        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{
            day{
                dnam{"दिवस"}
                one{"{0}दि"}
                other{"{0}दि"}
            }
            hour{
                dnam{"तास"}
                one{"{0}ता"}
                other{"{0}ता"}
            }
            millisecond{
                dnam{"मिलिसेकंद"}
                one{"{0} मिलिसे"}
                other{"{0} मिलिसे"}
            }
            minute{
                dnam{"मिनिटे"}
                one{"{0}मि"}
                other{"{0}मि"}
            }
            month{
                dnam{"महिना"}
                one{"{0}म"}
                other{"{0}म"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0}से"}
                other{"{0}से"}
            }
            week{
                dnam{"आ"}
                one{"{0}आ"}
                other{"{0}आ"}
            }
            year{
                dnam{"वर्ष"}
                one{"{0}व"}
                other{"{0}व"}
            }
        }
        length{
            centimeter{
                dnam{"सेंमी"}
                one{"{0}सेंमी"}
                other{"{0}सेंमी"}
            }
            foot{
                one{"{0}'"}
                other{"{0}'"}
            }
            inch{
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                dnam{"किमी"}
                one{"{0}किमी"}
                other{"{0}किमी"}
            }
            light-year{
                one{"{0}प्रव"}
                other{"{0}प्रव"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0}मी"}
                other{"{0}मी"}
            }
            mile{
                one{"{0}मैल"}
                other{"{0}मैल"}
            }
            millimeter{
                dnam{"मिमी"}
                one{"{0}मिमी"}
                other{"{0}मिमी"}
            }
            picometer{
                one{"{0}पिमी"}
                other{"{0}पिमी"}
            }
            yard{
                one{"{0}यार्ड"}
                other{"{0}यार्ड"}
            }
        }
        mass{
            gram{
                dnam{"ग्रॅम"}
                one{"{0}ग्रॅ"}
                other{"{0}ग्रॅ"}
            }
            kilogram{
                dnam{"किग्रॅ"}
                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}\u0022 हेग्रॅ"}
                other{"{0}\u0022 हेग्रॅ"}
            }
            millibar{
                one{"{0}मिबा"}
                other{"{0}मिबा"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"किमी/तास"}
                one{"{0}किप्रता"}
                other{"{0}किप्रता"}
            }
            meter-per-second{
                one{"{0}मी/से"}
                other{"{0}मी/से"}
            }
            mile-per-hour{
                one{"{0}मैप्रता"}
                other{"{0}मैप्रता"}
            }
        }
        temperature{
            celsius{
                dnam{"°से"}
                one{"{0}°से"}
                other{"{0}°से"}
            }
            fahrenheit{
                one{"{0}°फॅ"}
                other{"{0}°फॅ"}
            }
        }
        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} किमी²"}
            }
            square-meter{
                dnam{"मीटर²"}
                one{"{0} मी²"}
                other{"{0} मी²"}
                per{"{0}/मी²"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौ मै"}
                other{"{0} चौ मै"}
            }
            square-yard{
                dnam{"यार्ड²"}
                one{"{0} यार्ड²"}
                other{"{0} यार्ड²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        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"}
            }
        }
        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{"µmeters"}
                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{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"पार्सेक"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                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"}
            }
            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"}
            }
        }
        proportion{
            karat{
                dnam{"कॅरेट्स"}
                one{"{0} kt"}
                other{"{0} kt"}
            }
        }
        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}/गॅ"}
            }
            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"}
            }
        }
    }
}
