﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/en.xml
// *
// ***************************************************************************
en{
    Version{"2.1.13.48"}
    units{
        acceleration{
            g-force{
                dnam{"g-force"}
                one{"{0} g-force"}
                other{"{0} g-force"}
            }
            meter-per-second-squared{
                dnam{"meters per second squared"}
                one{"{0} meter per second squared"}
                other{"{0} meters per second squared"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcminutes"}
                one{"{0} arcminute"}
                other{"{0} arcminutes"}
            }
            arc-second{
                dnam{"arcseconds"}
                one{"{0} arcsecond"}
                other{"{0} arcseconds"}
            }
            degree{
                dnam{"degrees"}
                one{"{0} degree"}
                other{"{0} degrees"}
            }
            radian{
                dnam{"radians"}
                one{"{0} radian"}
                other{"{0} radians"}
            }
        }
        area{
            acre{
                dnam{"acres"}
                one{"{0} acre"}
                other{"{0} acres"}
            }
            hectare{
                dnam{"hectares"}
                one{"{0} hectare"}
                other{"{0} hectares"}
            }
            square-centimeter{
                dnam{"square centimeters"}
                one{"{0} square centimeter"}
                other{"{0} square centimeters"}
            }
            square-foot{
                dnam{"square feet"}
                one{"{0} square foot"}
                other{"{0} square feet"}
            }
            square-inch{
                dnam{"square inches"}
                one{"{0} square inch"}
                other{"{0} square inches"}
            }
            square-kilometer{
                dnam{"square kilometers"}
                one{"{0} square kilometer"}
                other{"{0} square kilometers"}
            }
            square-meter{
                dnam{"square meters"}
                one{"{0} square meter"}
                other{"{0} square meters"}
            }
            square-mile{
                dnam{"square miles"}
                one{"{0} square mile"}
                other{"{0} square miles"}
            }
            square-yard{
                dnam{"square yards"}
                one{"{0} square yard"}
                other{"{0} square yards"}
            }
        }
        compound{
            per{"{0} per {1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"liters per kilometer"}
                one{"{0} liter per kilometer"}
                other{"{0} liters per kilometer"}
            }
            mile-per-gallon{
                dnam{"miles per gallon"}
                one{"{0} mile per gallon"}
                other{"{0} miles per gallon"}
            }
        }
        digital{
            bit{
                dnam{"bits"}
                one{"{0} bit"}
                other{"{0} bits"}
            }
            byte{
                dnam{"bytes"}
                one{"{0} byte"}
                other{"{0} bytes"}
            }
            gigabit{
                dnam{"gigabits"}
                one{"{0} gigabit"}
                other{"{0} gigabits"}
            }
            gigabyte{
                dnam{"gigabytes"}
                one{"{0} gigabyte"}
                other{"{0} gigabytes"}
            }
            kilobit{
                dnam{"kilobits"}
                one{"{0} kilobit"}
                other{"{0} kilobits"}
            }
            kilobyte{
                dnam{"kilobytes"}
                one{"{0} kilobyte"}
                other{"{0} kilobytes"}
            }
            megabit{
                dnam{"megabits"}
                one{"{0} megabit"}
                other{"{0} megabits"}
            }
            megabyte{
                dnam{"megabytes"}
                one{"{0} megabyte"}
                other{"{0} megabytes"}
            }
            terabit{
                dnam{"terabits"}
                one{"{0} terabit"}
                other{"{0} terabits"}
            }
            terabyte{
                dnam{"terabytes"}
                one{"{0} terabyte"}
                other{"{0} terabytes"}
            }
        }
        duration{
            day{
                dnam{"days"}
                one{"{0} day"}
                other{"{0} days"}
            }
            hour{
                dnam{"hours"}
                one{"{0} hour"}
                other{"{0} hours"}
                per{"{0} per hour"}
            }
            microsecond{
                dnam{"microseconds"}
                one{"{0} microsecond"}
                other{"{0} microseconds"}
            }
            millisecond{
                dnam{"milliseconds"}
                one{"{0} millisecond"}
                other{"{0} milliseconds"}
            }
            minute{
                dnam{"minutes"}
                one{"{0} minute"}
                other{"{0} minutes"}
            }
            month{
                dnam{"months"}
                one{"{0} month"}
                other{"{0} months"}
            }
            nanosecond{
                dnam{"nanoseconds"}
                one{"{0} nanosecond"}
                other{"{0} nanoseconds"}
            }
            second{
                dnam{"seconds"}
                one{"{0} second"}
                other{"{0} seconds"}
                per{"{0} per second"}
            }
            week{
                dnam{"weeks"}
                one{"{0} week"}
                other{"{0} weeks"}
            }
            year{
                dnam{"years"}
                one{"{0} year"}
                other{"{0} years"}
            }
        }
        electric{
            ampere{
                dnam{"amperes"}
                one{"{0} ampere"}
                other{"{0} amperes"}
            }
            milliampere{
                dnam{"milliamperes"}
                one{"{0} milliampere"}
                other{"{0} milliamperes"}
            }
            ohm{
                dnam{"ohms"}
                one{"{0} ohm"}
                other{"{0} ohms"}
            }
            volt{
                dnam{"volts"}
                one{"{0} volt"}
                other{"{0} volts"}
            }
        }
        energy{
            calorie{
                dnam{"calories"}
                one{"{0} calorie"}
                other{"{0} calories"}
            }
            foodcalorie{
                dnam{"Calories"}
                one{"{0} Calorie"}
                other{"{0} Calories"}
            }
            joule{
                dnam{"joules"}
                one{"{0} joule"}
                other{"{0} joules"}
            }
            kilocalorie{
                dnam{"kilocalories"}
                one{"{0} kilocalorie"}
                other{"{0} kilocalories"}
            }
            kilojoule{
                dnam{"kilojoules"}
                one{"{0} kilojoule"}
                other{"{0} kilojoules"}
            }
            kilowatt-hour{
                dnam{"kilowatt-hours"}
                one{"{0} kilowatt hour"}
                other{"{0} kilowatt-hours"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahertz"}
                one{"{0} gigahertz"}
                other{"{0} gigahertz"}
            }
            hertz{
                dnam{"hertz"}
                one{"{0} hertz"}
                other{"{0} hertz"}
            }
            kilohertz{
                dnam{"kilohertz"}
                one{"{0} kilohertz"}
                other{"{0} kilohertz"}
            }
            megahertz{
                dnam{"megahertz"}
                one{"{0} megahertz"}
                other{"{0} megahertz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"astronomical units"}
                one{"{0} astronomical unit"}
                other{"{0} astronomical units"}
            }
            centimeter{
                dnam{"centimeters"}
                one{"{0} centimeter"}
                other{"{0} centimeters"}
            }
            decimeter{
                dnam{"decimeters"}
                one{"{0} decimeter"}
                other{"{0} decimeters"}
            }
            fathom{
                dnam{"fathoms"}
                one{"{0} fathom"}
                other{"{0} fathoms"}
            }
            foot{
                dnam{"feet"}
                one{"{0} foot"}
                other{"{0} feet"}
            }
            furlong{
                dnam{"furlongs"}
                one{"{0} furlong"}
                other{"{0} furlongs"}
            }
            inch{
                dnam{"inches"}
                one{"{0} inch"}
                other{"{0} inches"}
            }
            kilometer{
                dnam{"kilometers"}
                one{"{0} kilometer"}
                other{"{0} kilometers"}
            }
            light-year{
                dnam{"light years"}
                one{"{0} light year"}
                other{"{0} light years"}
            }
            meter{
                dnam{"meters"}
                one{"{0} meter"}
                other{"{0} meters"}
            }
            micrometer{
                dnam{"micrometers"}
                one{"{0} micrometer"}
                other{"{0} micrometers"}
            }
            mile{
                dnam{"miles"}
                one{"{0} mile"}
                other{"{0} miles"}
            }
            millimeter{
                dnam{"millimeters"}
                one{"{0} millimeter"}
                other{"{0} millimeters"}
            }
            nanometer{
                dnam{"nanometers"}
                one{"{0} nanometer"}
                other{"{0} nanometers"}
            }
            nautical-mile{
                dnam{"nautical miles"}
                one{"{0} nautical mile"}
                other{"{0} nautical miles"}
            }
            parsec{
                dnam{"parsecs"}
                one{"{0} parsec"}
                other{"{0} parsecs"}
            }
            picometer{
                dnam{"picometers"}
                one{"{0} picometer"}
                other{"{0} picometers"}
            }
            yard{
                dnam{"yards"}
                one{"{0} yard"}
                other{"{0} yards"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lux"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"carats"}
                one{"{0} carat"}
                other{"{0} carats"}
            }
            gram{
                dnam{"grams"}
                one{"{0} gram"}
                other{"{0} grams"}
            }
            kilogram{
                dnam{"kilograms"}
                one{"{0} kilogram"}
                other{"{0} kilograms"}
            }
            metric-ton{
                dnam{"metric tons"}
                one{"{0} metric ton"}
                other{"{0} metric tons"}
            }
            microgram{
                dnam{"micrograms"}
                one{"{0} microgram"}
                other{"{0} micrograms"}
            }
            milligram{
                dnam{"milligrams"}
                one{"{0} milligram"}
                other{"{0} milligrams"}
            }
            ounce{
                dnam{"ounces"}
                one{"{0} ounce"}
                other{"{0} ounces"}
            }
            ounce-troy{
                dnam{"troy ounces"}
                one{"{0} troy ounce"}
                other{"{0} troy ounces"}
            }
            pound{
                dnam{"pounds"}
                one{"{0} pound"}
                other{"{0} pounds"}
            }
            stone{
                dnam{"stones"}
                one{"{0} stone"}
                other{"{0} stones"}
            }
            ton{
                dnam{"tons"}
                one{"{0} ton"}
                other{"{0} tons"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawatts"}
                one{"{0} gigawatt"}
                other{"{0} gigawatts"}
            }
            horsepower{
                dnam{"horsepower"}
                one{"{0} horsepower"}
                other{"{0} horsepower"}
            }
            kilowatt{
                dnam{"kilowatts"}
                one{"{0} kilowatt"}
                other{"{0} kilowatts"}
            }
            megawatt{
                dnam{"megawatts"}
                one{"{0} megawatt"}
                other{"{0} megawatts"}
            }
            milliwatt{
                dnam{"milliwatts"}
                one{"{0} milliwatt"}
                other{"{0} milliwatts"}
            }
            watt{
                dnam{"watts"}
                one{"{0} watt"}
                other{"{0} watts"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hectopascals"}
                one{"{0} hectopascal"}
                other{"{0} hectopascals"}
            }
            inch-hg{
                dnam{"inches of mercury"}
                one{"{0} inch of mercury"}
                other{"{0} inches of mercury"}
            }
            millibar{
                dnam{"millibars"}
                one{"{0} millibar"}
                other{"{0} millibars"}
            }
            millimeter-of-mercury{
                dnam{"millimeters of mercury"}
                one{"{0} millimeter of mercury"}
                other{"{0} millimeters of mercury"}
            }
            pound-per-square-inch{
                dnam{"pounds per square inch"}
                one{"{0} pound per square inch"}
                other{"{0} pounds per square inch"}
            }
        }
        proportion{
            karat{
                dnam{"karats"}
                one{"{0} karat"}
                other{"{0} karats"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilometers per hour"}
                one{"{0} kilometer per hour"}
                other{"{0} kilometers per hour"}
            }
            meter-per-second{
                dnam{"meters per second"}
                one{"{0} meter per second"}
                other{"{0} meters per second"}
            }
            mile-per-hour{
                dnam{"miles per hour"}
                one{"{0} mile per hour"}
                other{"{0} miles per hour"}
            }
        }
        temperature{
            celsius{
                dnam{"degrees Celsius"}
                one{"{0} degree Celsius"}
                other{"{0} degrees Celsius"}
            }
            fahrenheit{
                dnam{"degrees Fahrenheit"}
                one{"{0} degree Fahrenheit"}
                other{"{0} degrees Fahrenheit"}
            }
            kelvin{
                dnam{"kelvins"}
                one{"{0} kelvin"}
                other{"{0} kelvins"}
            }
        }
        volume{
            acre-foot{
                dnam{"acre-feet"}
                one{"{0} acre-foot"}
                other{"{0} acre-feet"}
            }
            bushel{
                dnam{"bushels"}
                one{"{0} bushel"}
                other{"{0} bushels"}
            }
            centiliter{
                dnam{"centiliters"}
                one{"{0} centiliter"}
                other{"{0} centiliters"}
            }
            cubic-centimeter{
                dnam{"cubic centimeters"}
                one{"{0} cubic centimeter"}
                other{"{0} cubic centimeters"}
            }
            cubic-foot{
                dnam{"cubic feet"}
                one{"{0} cubic foot"}
                other{"{0} cubic feet"}
            }
            cubic-inch{
                dnam{"cubic inches"}
                one{"{0} cubic inch"}
                other{"{0} cubic inches"}
            }
            cubic-kilometer{
                dnam{"cubic kilometers"}
                one{"{0} cubic kilometer"}
                other{"{0} cubic kilometers"}
            }
            cubic-meter{
                dnam{"cubic meters"}
                one{"{0} cubic meter"}
                other{"{0} cubic meters"}
            }
            cubic-mile{
                dnam{"cubic miles"}
                one{"{0} cubic mile"}
                other{"{0} cubic miles"}
            }
            cubic-yard{
                dnam{"cubic yards"}
                one{"{0} cubic yard"}
                other{"{0} cubic yards"}
            }
            cup{
                dnam{"cups"}
                one{"{0} cup"}
                other{"{0} cups"}
            }
            deciliter{
                dnam{"deciliters"}
                one{"{0} deciliter"}
                other{"{0} deciliters"}
            }
            fluid-ounce{
                dnam{"fluid ounces"}
                one{"{0} fluid ounce"}
                other{"{0} fluid ounces"}
            }
            gallon{
                dnam{"gallons"}
                one{"{0} gallon"}
                other{"{0} gallons"}
            }
            hectoliter{
                dnam{"hectoliters"}
                one{"{0} hectoliter"}
                other{"{0} hectoliters"}
            }
            liter{
                dnam{"liters"}
                one{"{0} liter"}
                other{"{0} liters"}
            }
            megaliter{
                dnam{"megaliters"}
                one{"{0} megaliter"}
                other{"{0} megaliters"}
            }
            milliliter{
                dnam{"milliliters"}
                one{"{0} milliliter"}
                other{"{0} milliliters"}
            }
            pint{
                dnam{"pints"}
                one{"{0} pint"}
                other{"{0} pints"}
            }
            quart{
                dnam{"quarts"}
                one{"{0} quart"}
                other{"{0} quarts"}
            }
            tablespoon{
                dnam{"tablespoons"}
                one{"{0} tablespoon"}
                other{"{0} tablespoons"}
            }
            teaspoon{
                dnam{"teaspoons"}
                one{"{0} teaspoon"}
                other{"{0} teaspoons"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                dnam{"g-force"}
                one{"{0}G"}
                other{"{0}Gs"}
            }
            meter-per-second-squared{
                dnam{"m/s²"}
                one{"{0}m/s²"}
                other{"{0}m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcmin"}
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                dnam{"arcsec"}
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                dnam{"deg"}
                one{"{0}°"}
                other{"{0}°"}
            }
            radian{
                dnam{"rad"}
                one{"{0}rad"}
                other{"{0}rad"}
            }
        }
        area{
            acre{
                dnam{"acre"}
                one{"{0}ac"}
                other{"{0}ac"}
            }
            hectare{
                dnam{"hectare"}
                one{"{0}ha"}
                other{"{0}ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0}cm²"}
                other{"{0}cm²"}
            }
            square-foot{
                dnam{"ft²"}
                one{"{0}ft²"}
                other{"{0}ft²"}
            }
            square-inch{
                dnam{"in²"}
                one{"{0}in²"}
                other{"{0}in²"}
            }
            square-mile{
                dnam{"mi²"}
                one{"{0}mi²"}
                other{"{0}mi²"}
            }
            square-yard{
                dnam{"yd²"}
                one{"{0}yd²"}
                other{"{0}yd²"}
            }
        }
        consumption{
            liter-per-kilometer{
                dnam{"L/km"}
                one{"{0}L/km"}
                other{"{0}L/km"}
            }
            mile-per-gallon{
                dnam{"mpg"}
                one{"{0}mpg"}
                other{"{0}mpg"}
            }
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0}bit"}
                other{"{0}bit"}
            }
            byte{
                dnam{"byte"}
                one{"{0}byte"}
                other{"{0}byte"}
            }
            gigabit{
                dnam{"Gbit"}
                one{"{0}Gb"}
                other{"{0}Gb"}
            }
            gigabyte{
                dnam{"GByte"}
                one{"{0}GB"}
                other{"{0}GB"}
            }
            kilobit{
                dnam{"kbit"}
                one{"{0}kb"}
                other{"{0}kb"}
            }
            kilobyte{
                dnam{"kByte"}
                one{"{0}kB"}
                other{"{0}kB"}
            }
            megabit{
                dnam{"Mbit"}
                one{"{0}Mb"}
                other{"{0}Mb"}
            }
            megabyte{
                dnam{"MByte"}
                one{"{0}MB"}
                other{"{0}MB"}
            }
            terabit{
                dnam{"Tbit"}
                one{"{0}Tb"}
                other{"{0}Tb"}
            }
            terabyte{
                dnam{"TByte"}
                one{"{0}TB"}
                other{"{0}TB"}
            }
        }
        duration{
            day{
                dnam{"day"}
                one{"{0}d"}
                other{"{0}d"}
            }
            hour{
                dnam{"hour"}
                one{"{0}h"}
                other{"{0}h"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μsec"}
                one{"{0}μs"}
                other{"{0}μs"}
            }
            millisecond{
                dnam{"msec"}
                one{"{0}ms"}
                other{"{0}ms"}
            }
            minute{
                dnam{"min"}
                one{"{0}m"}
                other{"{0}m"}
            }
            month{
                dnam{"month"}
                one{"{0}m"}
                other{"{0}m"}
            }
            nanosecond{
                dnam{"ns"}
                one{"{0}ns"}
                other{"{0}ns"}
            }
            second{
                dnam{"sec"}
                one{"{0}s"}
                other{"{0}s"}
                per{"{0}/s"}
            }
            week{
                dnam{"wk"}
                one{"{0}w"}
                other{"{0}w"}
            }
            year{
                dnam{"yr"}
                one{"{0}y"}
                other{"{0}y"}
            }
        }
        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{"volt"}
                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{"joule"}
                one{"{0}J"}
                other{"{0}J"}
            }
            kilocalorie{
                dnam{"kcal"}
                one{"{0}kcal"}
                other{"{0}kcal"}
            }
            kilojoule{
                dnam{"kJ"}
                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{"au"}
                one{"{0}au"}
                other{"{0}au"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0}cm"}
                other{"{0}cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0}dm"}
                other{"{0}dm"}
            }
            fathom{
                dnam{"fathom"}
                one{"{0}fm"}
                other{"{0}fm"}
            }
            foot{
                dnam{"ft"}
                one{"{0}′"}
                other{"{0}′"}
            }
            furlong{
                dnam{"furlong"}
                one{"{0}fur"}
                other{"{0}fur"}
            }
            inch{
                dnam{"in"}
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                dnam{"km"}
                one{"{0}km"}
                other{"{0}km"}
            }
            light-year{
                dnam{"ly"}
                one{"{0}ly"}
                other{"{0}ly"}
            }
            meter{
                dnam{"meter"}
                one{"{0}m"}
                other{"{0}m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0}µm"}
                other{"{0}µm"}
            }
            mile{
                dnam{"mi"}
                one{"{0}mi"}
                other{"{0}mi"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0}mm"}
                other{"{0}mm"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0}nm"}
                other{"{0}nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0}nmi"}
                other{"{0}nmi"}
            }
            parsec{
                dnam{"parsec"}
                one{"{0}pc"}
                other{"{0}pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0}pm"}
                other{"{0}pm"}
            }
            yard{
                dnam{"yd"}
                one{"{0}yd"}
                other{"{0}yd"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0}lx"}
                other{"{0}lx"}
            }
        }
        mass{
            carat{
                dnam{"carat"}
                one{"{0}CD"}
                other{"{0}CD"}
            }
            gram{
                dnam{"gram"}
                one{"{0}g"}
                other{"{0}g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0}kg"}
                other{"{0}kg"}
            }
            metric-ton{
                dnam{"t"}
                one{"{0}t"}
                other{"{0}t"}
            }
            microgram{
                dnam{"µg"}
                one{"{0}µg"}
                other{"{0}µg"}
            }
            milligram{
                dnam{"mg"}
                one{"{0}mg"}
                other{"{0}mg"}
            }
            ounce{
                dnam{"oz"}
                one{"{0}oz"}
                other{"{0}oz"}
            }
            ounce-troy{
                dnam{"oz t"}
                one{"{0}oz t"}
                other{"{0}oz t"}
            }
            pound{
                dnam{"lb"}
                one{"{0}#"}
                other{"{0}#"}
            }
            stone{
                dnam{"stone"}
                one{"{0}st"}
                other{"{0}st"}
            }
            ton{
                dnam{"ton"}
                one{"{0}tn"}
                other{"{0}tn"}
            }
        }
        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{"watt"}
                one{"{0}W"}
                other{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0}hPa"}
                other{"{0}hPa"}
            }
            inch-hg{
                dnam{"″ Hg"}
                one{"{0}″ Hg"}
                other{"{0}″ Hg"}
            }
            millibar{
                dnam{"mbar"}
                one{"{0}mb"}
                other{"{0}mb"}
            }
            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{"karat"}
                one{"{0}kt"}
                other{"{0}kt"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/hr"}
                one{"{0}kph"}
                other{"{0}kph"}
            }
            meter-per-second{
                dnam{"m/s"}
                one{"{0}m/s"}
                other{"{0}m/s"}
            }
            mile-per-hour{
                dnam{"mi/hr"}
                one{"{0}mph"}
                other{"{0}mph"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                dnam{"°F"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                one{"{0}K"}
                other{"{0}K"}
            }
        }
        volume{
            acre-foot{
                dnam{"acre ft"}
                one{"{0}ac ft"}
                other{"{0}ac ft"}
            }
            bushel{
                dnam{"bushel"}
                one{"{0}bu"}
                other{"{0}bu"}
            }
            centiliter{
                dnam{"cL"}
                one{"{0}cL"}
                other{"{0}cL"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0}cm³"}
                other{"{0}cm³"}
            }
            cubic-foot{
                dnam{"ft³"}
                one{"{0}ft³"}
                other{"{0}ft³"}
            }
            cubic-inch{
                dnam{"in³"}
                one{"{0}in³"}
                other{"{0}in³"}
            }
            cubic-kilometer{
                dnam{"km³"}
                one{"{0}km³"}
                other{"{0}km³"}
            }
            cubic-meter{
                dnam{"m³"}
                one{"{0}m³"}
                other{"{0}m³"}
            }
            cubic-mile{
                dnam{"mi³"}
                one{"{0}mi³"}
                other{"{0}mi³"}
            }
            cubic-yard{
                dnam{"yd³"}
                one{"{0}yd³"}
                other{"{0}yd³"}
            }
            cup{
                dnam{"cup"}
                one{"{0}c"}
                other{"{0}c"}
            }
            deciliter{
                dnam{"dL"}
                one{"{0}dL"}
                other{"{0}dL"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0}fl oz"}
                other{"{0}fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0}gal"}
                other{"{0}gal"}
            }
            hectoliter{
                dnam{"hL"}
                one{"{0}hL"}
                other{"{0}hL"}
            }
            liter{
                dnam{"liter"}
                one{"{0}l"}
                other{"{0}l"}
            }
            megaliter{
                dnam{"ML"}
                one{"{0}ML"}
                other{"{0}ML"}
            }
            milliliter{
                dnam{"mL"}
                one{"{0}mL"}
                other{"{0}mL"}
            }
            pint{
                dnam{"pt"}
                one{"{0}pt"}
                other{"{0}pt"}
            }
            quart{
                dnam{"qt"}
                one{"{0}qt"}
                other{"{0}qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                one{"{0}tbsp"}
                other{"{0}tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                one{"{0}tsp"}
                other{"{0}tsp"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"g-force"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"meters/sec²"}
                one{"{0} m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcmins"}
                one{"{0} arcmin"}
                other{"{0} arcmins"}
            }
            arc-second{
                dnam{"arcsecs"}
                one{"{0} arcsec"}
                other{"{0} arcsecs"}
            }
            degree{
                dnam{"degrees"}
                one{"{0} deg"}
                other{"{0} deg"}
            }
            radian{
                dnam{"radians"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
        }
        area{
            acre{
                dnam{"acres"}
                one{"{0} ac"}
                other{"{0} ac"}
            }
            hectare{
                dnam{"hectares"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
            }
            square-foot{
                dnam{"sq feet"}
                one{"{0} sq ft"}
                other{"{0} sq ft"}
            }
            square-inch{
                dnam{"inches²"}
                one{"{0} in²"}
                other{"{0} in²"}
            }
            square-kilometer{
                dnam{"km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                dnam{"meters²"}
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                dnam{"sq miles"}
                one{"{0} sq mi"}
                other{"{0} sq mi"}
            }
            square-yard{
                dnam{"yards²"}
                one{"{0} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"liters/km"}
                one{"{0} L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"miles/gal"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"byte"}
                one{"{0} byte"}
                other{"{0} byte"}
            }
            gigabit{
                dnam{"Gbit"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GByte"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kbit"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kByte"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mbit"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MByte"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tbit"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TByte"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            day{
                dnam{"days"}
                one{"{0} day"}
                other{"{0} days"}
            }
            hour{
                dnam{"hours"}
                one{"{0} hr"}
                other{"{0} hr"}
                per{"{0}ph"}
            }
            microsecond{
                dnam{"μsecs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"millisecs"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"mins"}
                one{"{0} min"}
                other{"{0} min"}
            }
            month{
                dnam{"months"}
                one{"{0} mth"}
                other{"{0} mths"}
            }
            nanosecond{
                dnam{"nanosecs"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"secs"}
                one{"{0} sec"}
                other{"{0} sec"}
                per{"{0}ps"}
            }
            week{
                dnam{"weeks"}
                one{"{0} wk"}
                other{"{0} wks"}
            }
            year{
                dnam{"years"}
                one{"{0} yr"}
                other{"{0} yrs"}
            }
        }
        electric{
            ampere{
                dnam{"amps"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"milliamps"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohms"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"volts"}
                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{"joules"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            kilojoule{
                dnam{"kilojoule"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kW-hour"}
                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{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            fathom{
                dnam{"fathoms"}
                one{"{0} ftm"}
                other{"{0} ftm"}
            }
            foot{
                dnam{"feet"}
                one{"{0} ft"}
                other{"{0} ft"}
            }
            furlong{
                dnam{"furlongs"}
                one{"{0} fur"}
                other{"{0} fur"}
            }
            inch{
                dnam{"inches"}
                one{"{0} in"}
                other{"{0} in"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                dnam{"light yrs"}
                one{"{0} ly"}
                other{"{0} ly"}
            }
            meter{
                dnam{"meters"}
                one{"{0} m"}
                other{"{0} m"}
            }
            micrometer{
                dnam{"µmeters"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"miles"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"parsecs"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"yards"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"carats"}
                one{"{0} CD"}
                other{"{0} CD"}
            }
            gram{
                dnam{"grams"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0} kg"}
            }
            metric-ton{
                dnam{"t"}
                one{"{0} t"}
                other{"{0} t"}
            }
            microgram{
                dnam{"µg"}
                one{"{0} µg"}
                other{"{0} µg"}
            }
            milligram{
                dnam{"mg"}
                one{"{0} mg"}
                other{"{0} mg"}
            }
            ounce{
                dnam{"oz"}
                one{"{0} oz"}
                other{"{0} oz"}
            }
            ounce-troy{
                dnam{"oz troy"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"pounds"}
                one{"{0} lb"}
                other{"{0} lb"}
            }
            stone{
                dnam{"stones"}
                one{"{0} st"}
                other{"{0} st"}
            }
            ton{
                dnam{"tons"}
                one{"{0} tn"}
                other{"{0} tn"}
            }
        }
        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{"watts"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"in Hg"}
                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{"karats"}
                one{"{0} kt"}
                other{"{0} kt"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/hour"}
                one{"{0} kph"}
                other{"{0} kph"}
            }
            meter-per-second{
                dnam{"meters/sec"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"miles/hour"}
                one{"{0} mph"}
                other{"{0} mph"}
            }
        }
        temperature{
            celsius{
                dnam{"deg. C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                dnam{"deg. F"}
                one{"{0}°F"}
                other{"{0}°F"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"acre ft"}
                one{"{0} ac ft"}
                other{"{0} ac ft"}
            }
            bushel{
                dnam{"bushels"}
                one{"{0} bu"}
                other{"{0} bu"}
            }
            centiliter{
                dnam{"cL"}
                one{"{0} cL"}
                other{"{0} cL"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
            }
            cubic-foot{
                dnam{"feet³"}
                one{"{0} ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"inches³"}
                one{"{0} in³"}
                other{"{0} in³"}
            }
            cubic-kilometer{
                dnam{"km³"}
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-meter{
                dnam{"m³"}
                one{"{0} m³"}
                other{"{0} m³"}
            }
            cubic-mile{
                dnam{"mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            cubic-yard{
                dnam{"yards³"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"cups"}
                one{"{0} c"}
                other{"{0} c"}
            }
            deciliter{
                dnam{"dL"}
                one{"{0} dL"}
                other{"{0} dL"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0} fl oz"}
                other{"{0} fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
            }
            hectoliter{
                dnam{"hL"}
                one{"{0} hL"}
                other{"{0} hL"}
            }
            liter{
                dnam{"liters"}
                one{"{0} L"}
                other{"{0} L"}
            }
            megaliter{
                dnam{"ML"}
                one{"{0} ML"}
                other{"{0} ML"}
            }
            milliliter{
                dnam{"mL"}
                one{"{0} mL"}
                other{"{0} mL"}
            }
            pint{
                dnam{"pints"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            quart{
                dnam{"qts"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                one{"{0} tbsp"}
                other{"{0} tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                one{"{0} tsp"}
                other{"{0} tsp"}
            }
        }
    }
}
