﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mr.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/mr.xml
 */
mr{
    Version{"2.1.8.9"}
    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} रेडियन"}
            }
        }
        area{
            acre{
                dnam{"एकर"}
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                dnam{"हेक्टर"}
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-centimeter{
                dnam{"चौरस सेंटीमीटर"}
                one{"{0} चौरस सेंटीमीटर"}
                other{"{0} चौरस सेंटीमीटर"}
            }
            square-foot{
                dnam{"चौरस फूट"}
                one{"{0} चौरस फूट"}
                other{"{0} चौरस फूट"}
            }
            square-inch{
                dnam{"चौरस इंच"}
                one{"{0} चौरस इंच"}
                other{"{0} चौरस इंच"}
            }
            square-kilometer{
                dnam{"चौरस किलोमीटर"}
                one{"{0} चौरस किलोमीटर"}
                other{"{0} चौरस किलोमीटर"}
            }
            square-meter{
                dnam{"चौरस मीटर"}
                one{"{0} चौरस मीटर"}
                other{"{0} चौरस मीटर"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौरस मैल"}
                other{"{0} चौरस मैल"}
            }
            square-yard{
                dnam{"वर्ग यार्ड"}
                one{"{0} वर्ग यार्ड"}
                other{"{0} वर्ग यार्ड"}
            }
        }
        compound{
            per{"{0} प्रति {1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"लीटर प्रति किलोमीटर"}
                one{"{0} लीटर प्रति किलोमीटर"}
                other{"{0} लीटर प्रति किलोमीटर"}
            }
            mile-per-gallon{
                dnam{"मैल प्रति गॅलन"}
                one{"{0} मैल प्रति गॅलन"}
                other{"{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{
            day{
                dnam{"दिवस"}
                one{"{0} दिवस"}
                other{"{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} मिनिटे"}
            }
            month{
                dnam{"महिने"}
                one{"{0} महिना"}
                other{"{0} महिने"}
            }
            nanosecond{
                dnam{"नॅनोसेकंद"}
                one{"{0} नॅनोसेकंद"}
                other{"{0} नॅनोसेकंद"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0} सेकंद"}
                other{"{0} सेकंद"}
                per{"{0} प्रति सेकंद"}
            }
            week{
                dnam{"आठवडे"}
                one{"{0} आठवडा"}
                other{"{0} आठवडे"}
            }
            year{
                dnam{"वर्षे"}
                one{"{0} वर्ष"}
                other{"{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} सेंटीमीटर"}
            }
            decimeter{
                dnam{"डेसीमीटर"}
                one{"{0} डेसीमीटर"}
                other{"{0} डेसीमीटर"}
            }
            foot{
                dnam{"फूट"}
                one{"{0} फूट"}
                other{"{0} फूट"}
            }
            inch{
                dnam{"इंच"}
                one{"{0} इंच"}
                other{"{0} इंच"}
            }
            kilometer{
                dnam{"किलोमीटर"}
                one{"{0} किलोमीटर"}
                other{"{0} किलोमीटर"}
            }
            light-year{
                dnam{"प्रकाश वर्षे"}
                one{"{0} प्रकाश वर्ष"}
                other{"{0} प्रकाश वर्षे"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0} मीटर"}
                other{"{0} मीटर"}
            }
            micrometer{
                dnam{"मायक्रोमीटर"}
                one{"{0} मायक्रोमीटर"}
                other{"{0} मायक्रोमीटर"}
            }
            mile{
                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} ग्रॅम"}
            }
            kilogram{
                dnam{"किलोग्रॅम"}
                one{"{0} किलोग्रॅम"}
                other{"{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} औंस"}
            }
            ounce-troy{
                dnam{"ट्रॉय औंस"}
                one{"{0} ट्रॉय औंस"}
                other{"{0} ट्रॉय औंस"}
            }
            pound{
                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} प्रति चौरस इंच पाउंड"}
            }
        }
        proportion{
            karat{
                dnam{"कॅरेट्स"}
                one{"{0} कॅरेट"}
                other{"{0} कॅरेट्स"}
            }
        }
        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} अंश फॅरनहाईट"}
            }
            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} घन सेंटीमीटर"}
            }
            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} घन मीटर"}
            }
            cubic-mile{
                dnam{"घन मैल"}
                one{"{0} घन मैल"}
                other{"{0} घन मैल"}
            }
            cubic-yard{
                dnam{"घन यार्ड"}
                one{"{0} घन यार्ड"}
                other{"{0} घन यार्ड"}
            }
            cup{
                dnam{"कप"}
                one{"{0} कप"}
                other{"{0} कप"}
            }
            deciliter{
                dnam{"डेसीलीटर"}
                one{"{0} डेसीलीटर"}
                other{"{0} डेसीलीटर"}
            }
            fluid-ounce{
                dnam{"फ्लूइड औंस"}
                one{"{0} फ्लूइड औंस"}
                other{"{0} फ्लूइड औंस"}
            }
            gallon{
                dnam{"गॅलन"}
                one{"{0} गॅलन"}
                other{"{0} गॅलन"}
            }
            hectoliter{
                dnam{"हेक्टोलीटर"}
                one{"{0} हेक्टोलीटर"}
                other{"{0} हेक्टोलीटर"}
            }
            liter{
                dnam{"लीटर"}
                one{"{0} लीटर"}
                other{"{0} लीटर"}
            }
            megaliter{
                dnam{"मेगालीटर"}
                one{"{0} मेगालीटर"}
                other{"{0} मेगालीटर"}
            }
            milliliter{
                dnam{"मिलीलीटर"}
                one{"{0} मिलीलीटर"}
                other{"{0} मिलीलीटर"}
            }
            pint{
                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}"}
        }
        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"}
            }
        }
        area{
            acre{
                dnam{"एकर"}
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                dnam{"हेक्टर"}
                one{"{0} हेक्टर"}
                other{"{0} हेक्टर"}
            }
            square-centimeter{
                dnam{"सेंमी²"}
                one{"{0} सेंमी²"}
                other{"{0} सेंमी²"}
            }
            square-foot{
                dnam{"चौरस फूट"}
                one{"{0} चौ फूट"}
                other{"{0} चौ फूट"}
            }
            square-inch{
                dnam{"इंच²"}
                one{"{0} इंच²"}
                other{"{0} इंच²"}
            }
            square-kilometer{
                dnam{"किमी²"}
                one{"{0} किमी²"}
                other{"{0} किमी²"}
            }
            square-meter{
                dnam{"मीटर²"}
                one{"{0} मी²"}
                other{"{0} मी²"}
            }
            square-mile{
                dnam{"चौरस मैल"}
                one{"{0} चौ मै"}
                other{"{0} चौ मै"}
            }
            square-yard{
                dnam{"यार्ड²"}
                one{"{0} यार्ड²"}
                other{"{0} यार्ड²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"लीटर/किमी"}
                one{"{0} ली/किमी"}
                other{"{0} ली/किमी"}
            }
            mile-per-gallon{
                dnam{"मैल/गॅलन"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
        }
        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{
            day{
                dnam{"दिवस"}
                one{"{0} दिवस"}
                other{"{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} मिनि"}
            }
            month{
                dnam{"महिने"}
                one{"{0} महिना"}
                other{"{0} महिने"}
            }
            nanosecond{
                dnam{"नॅनोसेक"}
                one{"{0} नॅसे"}
                other{"{0} नॅसे"}
            }
            second{
                dnam{"सेकंद"}
                one{"{0} से"}
                other{"{0} से"}
                per{"{0}प्रसे"}
            }
            week{
                dnam{"आठवडे"}
                one{"{0} आ"}
                other{"{0} आ"}
            }
            year{
                dnam{"वर्षे"}
                one{"{0} वर्ष"}
                other{"{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} सेंमी"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"फूट"}
                one{"{0} फूट"}
                other{"{0} फूट"}
            }
            inch{
                dnam{"इंच"}
                one{"{0} इंच"}
                other{"{0} इंच"}
            }
            kilometer{
                dnam{"किमी"}
                one{"{0} किमी"}
                other{"{0} किमी"}
            }
            light-year{
                dnam{"प्रकाश वर्षे"}
                one{"{0} प्रव"}
                other{"{0} प्रव"}
            }
            meter{
                dnam{"मीटर"}
                one{"{0} मी"}
                other{"{0} मी"}
            }
            micrometer{
                dnam{"µmeters"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"मैल"}
                one{"{0} मैल"}
                other{"{0} मैल"}
            }
            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} ग्रॅ"}
            }
            kilogram{
                dnam{"किग्रॅ"}
                one{"{0} किग्रॅ"}
                other{"{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} औंस"}
            }
            ounce-troy{
                dnam{"oz ट्रॉय"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                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{"kW"}
                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} किप्रता"}
            }
            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}°फॅ"}
            }
            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} सेंमी³"}
            }
            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} मी³"}
            }
            cubic-mile{
                dnam{"मै³"}
                one{"{0} मै³"}
                other{"{0} मै³"}
            }
            cubic-yard{
                dnam{"यार्ड³"}
                one{"{0} यार्ड³"}
                other{"{0} यार्ड³"}
            }
            cup{
                dnam{"कप"}
                one{"{0} c"}
                other{"{0} c"}
            }
            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"}
            }
            hectoliter{
                dnam{"hL"}
                one{"{0} hL"}
                other{"{0} hL"}
            }
            liter{
                dnam{"लीटर"}
                one{"{0} ली"}
                other{"{0} ली"}
            }
            megaliter{
                dnam{"ML"}
                one{"{0} ML"}
                other{"{0} ML"}
            }
            milliliter{
                dnam{"मिली"}
                one{"{0} मिली"}
                other{"{0} मिली"}
            }
            pint{
                dnam{"पिंट"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            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"}
            }
        }
    }
}
