﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/hi.xml
// *
// ***************************************************************************
hi{
    Version{"2.1.15.60"}
    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{
                dnam{"गु–बल"}
                one{"{0}गु."}
                other{"{0}गु."}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0}एकड़"}
                other{"{0}एकड़"}
            }
            hectare{
                one{"{0}हे."}
                other{"{0}हे."}
            }
            square-foot{
                one{"{0}ft²"}
                other{"{0}ft²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
            }
            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}hPa"}
                other{"{0}hPa"}
            }
            inch-hg{
                one{"{0}\u0022 Hg"}
                other{"{0}\u0022 Hg"}
            }
            millibar{
                one{"{0}mb"}
                other{"{0}mb"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"कि.मी./घं."}
                one{"{0}कि॰/घं॰"}
                other{"{0}कि॰/घं॰"}
            }
            meter-per-second{
                one{"{0}मी./से."}
                other{"{0}मी./से."}
            }
            mile-per-hour{
                one{"{0}mph"}
                other{"{0}mph"}
            }
        }
        temperature{
            celsius{
                dnam{"°से."}
                one{"{0}°से."}
                other{"{0}°से."}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        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} गु."}
                other{"{0} गु."}
            }
            meter-per-second-squared{
                dnam{"मीटर/से²"}
                one{"{0} मीटर/से²"}
                other{"{0} m/s²"}
            }
        }
        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} mpg"}
                other{"{0} mpg"}
            }
        }
        digital{
            bit{
                dnam{"बिट"}
                one{"{0} बिट"}
                other{"{0} बिट"}
            }
            byte{
                dnam{"बाइट"}
                one{"{0} बाइट"}
                other{"{0} बाइट"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        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} 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{"kWh"}
                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{"खगो. इका."}
                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} lx"}
                other{"{0} lx"}
            }
        }
        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{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"hp"}
                one{"{0} hp"}
                other{"{0} hp"}
            }
            kilowatt{
                dnam{"kW"}
                one{"{0} kW"}
                other{"{0} kW"}
            }
            megawatt{
                dnam{"MW"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"वॉट"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"mbar"}
                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{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        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} टी स्पून"}
            }
        }
    }
}
