﻿// ***************************************************************************
// *
// * 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"}
    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"}
            }
        }
    }
}
