﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ne.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ne.xml
 */
ne{
    Version{"2.1.8.95"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"गुरूत्वाकर्षण शक्ति"}
                one{"{0} गुरूत्वाकर्षण शक्ति"}
                other{"{0} गुरूत्वाकर्षण शक्ति"}
            }
            meter-per-second-squared{
                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{"ohm"}
                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{"माइल"}
                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{"माइल प्रति घण्टा"}
                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{"एकर-फिट"}
                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} g"}
                other{"{0} g"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} एकर"}
                other{"{0} एकर"}
            }
            hectare{
                one{"{0} हे."}
                other{"{0} हे."}
            }
            square-foot{
                one{"{0} ब.फु."}
                other{"{0} ब.फु."}
            }
            square-kilometer{
                one{"{0} ब.कि.मि."}
                other{"{0} ब.कि.मि."}
            }
            square-meter{
                one{"{0} ब.मि."}
                other{"{0} ब.मि."}
            }
            square-mile{
                one{"{0} बर्ग माईल"}
                other{"{0} बर्ग माईल"}
            }
        }
        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{
                one{"{0} सेकेण्ड"}
                other{"{0} सेकेण्ड"}
            }
            week{
                dnam{"हप्ता"}
                one{"{0} हप्ता"}
                other{"{0} हप्ता"}
            }
            year{
                dnam{"वर्ष"}
                one{"{0} वर्ष"}
                other{"{0} वर्ष"}
            }
        }
        length{
            centimeter{
                one{"{0} से.मी."}
                other{"{0} से.मी."}
            }
            foot{
                one{"{0}′"}
                other{"{0}′"}
            }
            inch{
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                dnam{"कि.मी."}
                one{"{0} कि.मी."}
                other{"{0} कि.मी."}
            }
            light-year{
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                dnam{"मिटर"}
                one{"{0} मि."}
                other{"{0} मि."}
            }
            mile{
                one{"{0} माईल"}
                other{"{0} माईल"}
            }
            millimeter{
                dnam{"मि.मी."}
                one{"{0} मि.मी."}
                other{"{0}मि.मी."}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
            }
            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{
                dnam{"हर्सपावर"}
                one{"{0} हर्सपावर"}
                other{"{0} हर्सपावर"}
            }
            kilowatt{
                dnam{"किलोवाट"}
                one{"{0} किलोवाट"}
                other{"{0} किलोवाट"}
            }
            watt{
                one{"{0} वाट"}
                other{"{0} वाट"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                one{"{0} ईञ्‍च पारो"}
                other{"{0} ईञ्‍च पारो"}
            }
            millibar{
                one{"{0} मिलीबार"}
                other{"{0} मिलीबार"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"किलोमिटर प्रति घण्टा"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°से"}
                one{"{0}°"}
                other{"{0}°"}
            }
            fahrenheit{
                one{"{0}°फ"}
                other{"{0}°फ"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
            }
            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{"m/s²"}
                one{"{0} m/s²"}
                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} rad"}
                other{"{0} rad"}
            }
        }
        area{
            acre{
                dnam{"बर्ग गज"}
                one{"{0} बर्ग गज"}
                other{"{0} बर्ग गज"}
            }
            hectare{
                dnam{"हेक्टर"}
                one{"{0} हे."}
                other{"{0} हे."}
            }
            square-centimeter{
                dnam{"वर्ग सेन्टिमिटर"}
                one{"{0} cm²"}
                other{"{0} cm²"}
            }
            square-foot{
                dnam{"बर्ग फुट"}
                one{"{0} ब.फु."}
                other{"{0} ब.फु."}
            }
            square-inch{
                dnam{"वर्ग इन्च"}
                one{"{0} in²"}
                other{"{0} in²"}
            }
            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} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"लिटर/किलोमिटर"}
                one{"{0} L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"माइल/गाल"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"बाइट"}
                one{"{0} byte"}
                other{"{0} byte"}
            }
            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}/h"}
            }
            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{"ns"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"सेकेण्ड"}
                one{"{0} सेकेण्ड"}
                other{"{0} सेकेण्ड"}
                per{"{0}/s"}
            }
            week{
                dnam{"हप्ता"}
                one{"{0} हप्ता"}
                other{"{0} हप्ता"}
            }
            year{
                dnam{"वर्ष"}
                one{"{0} वर्ष"}
                other{"{0} वर्ष"}
            }
        }
        electric{
            ampere{
                dnam{"amp"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohm"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"भोल्ट"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"{0} cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"क्याल"}
                one{"{0}क्याल"}
                other{"{0} क्याल"}
            }
            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{"किलोवाट-घण्टा"}
                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{"इन्च"}
                other{"{0} ईञ्‍च"}
            }
            kilometer{
                dnam{"कि.मि."}
                one{"{0} कि.मी."}
                other{"{0} कि.मी."}
            }
            light-year{
                dnam{"प्रकाश वर्ष"}
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                dnam{"मिटर"}
                one{"{0} मि."}
                other{"{0} मि."}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"माइल"}
                one{"{0} माइल"}
                other{"{0} माइल"}
            }
            millimeter{
                dnam{"मि.मी."}
                one{"मि.मी."}
                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} mg"}
                other{"{0} mg"}
            }
            ounce{
                dnam{"आउन्स"}
                one{"{0} आउन्स"}
                other{"{0} आउन्स"}
            }
            ounce-troy{
                dnam{"ओज ट्रोय"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"पाउण्ड"}
                one{"{0} पाउण्ड"}
                other{"{0} पाउण्ड"}
            }
            ton{
                dnam{"टन"}
                one{"{0} tn"}
                other{"{0} tn"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"हर्सपावर"}
                one{"{0} हर्सपावर"}
                other{"{0} हर्सपावर"}
            }
            kilowatt{
                dnam{"किलोवाट"}
                one{"{0} किलोवाट"}
                other{"{0} किलोवाट"}
            }
            megawatt{
                dnam{"मेगावाट"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"मिलिवाट"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"वाट"}
                one{"{0} वाट"}
                other{"{0} वाट"}
            }
        }
        pressure{
            hectopascal{
                dnam{"हेक्टो पास्कल"}
                one{"{0}hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"इन्च पारो"}
                one{"{0} इन्च पारो"}
                other{"{0} इन्च पारो"}
            }
            millibar{
                dnam{"मिलिबार"}
                one{"{0} मिलिबार"}
                other{"{0} मिलिबार"}
            }
            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} kph"}
                other{"{0} kph"}
            }
            meter-per-second{
                dnam{"मिटर प्रति सेकेण्ड"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"माइल प्रति घण्टा"}
                one{"{0} mph"}
                other{"{0} mph"}
            }
        }
        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} ac ft"}
                other{"{0} ac ft"}
            }
            centiliter{
                dnam{"cL"}
                one{"{0} cL"}
                other{"{0} cL"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
            }
            cubic-foot{
                dnam{"घन फिट"}
                one{"{0} ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"घन इन्च"}
                one{"{0} in³"}
                other{"{0} in³"}
            }
            cubic-kilometer{
                dnam{"घन किलोमिटर"}
                one{"{0}km³"}
                other{"{0} km³"}
            }
            cubic-meter{
                dnam{"घन मिटर"}
                one{"{0} m³"}
                other{"{0} m³"}
            }
            cubic-mile{
                dnam{"घन माइल"}
                one{"{0} घन माइल"}
                other{"{0} घन माइल"}
            }
            cubic-yard{
                dnam{"घन यार्ड"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            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{"गाल"}
                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{"mL"}
                one{"{0} mL"}
                other{"{0} mL"}
            }
            pint{
                dnam{"पिन्ट"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            quart{
                dnam{"क्वार्ट्स"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                one{"{0} tbsp"}
                other{"{0} tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                one{"{0} tsp"}
                other{"{0} tsp"}
            }
        }
    }
}
