﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
/**
 * ICU <specials> source: <path>/common/main/root.xml
 */
root{
    Version{"2.1.44.91"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units:alias{"/LOCALE/unitsShort"}
    unitsNarrow:alias{"/LOCALE/unitsShort"}
    unitsShort{
        acceleration{
            g-force{
                dnam{"g-force"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcmin"}
                other{"{0}′"}
            }
            arc-second{
                dnam{"arcsec"}
                other{"{0}″"}
            }
            degree{
                dnam{"deg"}
                other{"{0}°"}
            }
            radian{
                dnam{"rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"rev"}
                other{"{0} rev"}
            }
        }
        area{
            acre{
                dnam{"acre"}
                other{"{0} ac"}
            }
            hectare{
                dnam{"hectare"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                other{"{0} cm²"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"ft²"}
                other{"{0} ft²"}
            }
            square-inch{
                dnam{"in²"}
                other{"{0} in²"}
                per{"{0}/in²"}
            }
            square-kilometer{
                dnam{"km²"}
                other{"{0} km²"}
                per{"{0}/km²"}
            }
            square-meter{
                dnam{"m²"}
                other{"{0} m²"}
                per{"{0}/m²"}
            }
            square-mile{
                dnam{"mi²"}
                other{"{0} mi²"}
                per{"{0}/mi²"}
            }
            square-yard{
                dnam{"yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"kt"}
                other{"{0} kt"}
            }
            milligram-per-deciliter{
                dnam{"mg/dL"}
                other{"{0} mg/dL"}
            }
            millimole-per-liter{
                dnam{"mmol/L"}
                other{"{0} mmol/L"}
            }
            part-per-million{
                dnam{"ppm"}
                other{"{0} ppm"}
            }
            percent{
                dnam{"%"}
                other{"{0}%"}
            }
            permille{
                dnam{"‰"}
                other{"{0}‰"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"L/100km"}
                other{"{0} L/100km"}
            }
            liter-per-kilometer{
                dnam{"L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"mpg US"}
                other{"{0} mpg US"}
            }
            mile-per-gallon-imperial{
                dnam{"mpg Imp."}
                other{"{0} mpg Imp."}
            }
        }
        coordinate{
            dnam{"direction"}
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"byte"}
                other{"{0} byte"}
            }
            gigabit{
                dnam{"Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                other{"{0} MB"}
            }
            petabyte{
                dnam{"PB"}
                other{"{0} PB"}
            }
            terabit{
                dnam{"Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"c"}
                other{"{0} c"}
            }
            day{
                dnam{"day"}
                other{"{0} d"}
                per{"{0}/d"}
            }
            hour{
                dnam{"hr"}
                other{"{0} h"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"min"}
                other{"{0} min"}
                per{"{0}/min"}
            }
            month{
                dnam{"mon"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            nanosecond{
                dnam{"ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"sec"}
                other{"{0} s"}
                per{"{0}/s"}
            }
            week{
                dnam{"wk"}
                other{"{0} w"}
                per{"{0}/w"}
            }
            year{
                dnam{"yr"}
                other{"{0} y"}
                per{"{0}/y"}
            }
        }
        electric{
            ampere{
                dnam{"amp"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohm"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"volt"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"Cal"}
                other{"{0} Cal"}
            }
            joule{
                dnam{"joule"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kcal"}
                other{"{0} kcal"}
            }
            kilojoule{
                dnam{"kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kWh"}
                other{"{0} kWh"}
            }
        }
        frequency{
            gigahertz{
                dnam{"GHz"}
                other{"{0} GHz"}
            }
            hertz{
                dnam{"Hz"}
                other{"{0} Hz"}
            }
            kilohertz{
                dnam{"kHz"}
                other{"{0} kHz"}
            }
            megahertz{
                dnam{"MHz"}
                other{"{0} MHz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"au"}
                other{"{0} au"}
            }
            centimeter{
                dnam{"cm"}
                other{"{0} cm"}
                per{"{0}/cm"}
            }
            decimeter{
                dnam{"dm"}
                other{"{0} dm"}
            }
            fathom{
                dnam{"fm"}
                other{"{0} fth"}
            }
            foot{
                dnam{"ft"}
                other{"{0} ft"}
                per{"{0}/ft"}
            }
            furlong{
                dnam{"fur"}
                other{"{0} fur"}
            }
            inch{
                dnam{"in"}
                other{"{0} in"}
                per{"{0}/in"}
            }
            kilometer{
                dnam{"km"}
                other{"{0} km"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"ly"}
                other{"{0} ly"}
            }
            meter{
                dnam{"meter"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"mi"}
                other{"{0} mi"}
            }
            mile-scandinavian{
                dnam{"smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"mm"}
                other{"{0} mm"}
            }
            nanometer{
                dnam{"nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                other{"{0} pm"}
            }
            point{
                dnam{"pt"}
                other{"{0} pt"}
            }
            yard{
                dnam{"yd"}
                other{"{0} yd"}
            }
        }
        light{
            lux{
                dnam{"lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"CD"}
                other{"{0} CD"}
            }
            gram{
                dnam{"gram"}
                other{"{0} g"}
                per{"{0}/g"}
            }
            kilogram{
                dnam{"kg"}
                other{"{0} kg"}
                per{"{0}/kg"}
            }
            metric-ton{
                dnam{"t"}
                other{"{0} t"}
            }
            microgram{
                dnam{"µg"}
                other{"{0} µg"}
            }
            milligram{
                dnam{"mg"}
                other{"{0} mg"}
            }
            ounce{
                dnam{"oz"}
                other{"{0} oz"}
                per{"{0}/oz"}
            }
            ounce-troy{
                dnam{"oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"lb"}
                other{"{0} lb"}
                per{"{0}/lb"}
            }
            stone{
                dnam{"st"}
                other{"{0} st"}
            }
            ton{
                dnam{"tn"}
                other{"{0} tn"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"hp"}
                other{"{0} hp"}
            }
            kilowatt{
                dnam{"kW"}
                other{"{0} kW"}
            }
            megawatt{
                dnam{"MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"watt"}
                other{"{0} W"}
            }
        }
        pressure{
            atmosphere{
                dnam{"atm"}
                other{"{0} atm"}
            }
            hectopascal{
                dnam{"hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"mbar"}
                other{"{0} mbar"}
            }
            millimeter-of-mercury{
                dnam{"mm Hg"}
                other{"{0} mm Hg"}
            }
            pound-per-square-inch{
                dnam{"psi"}
                other{"{0} psi"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                other{"{0} km/h"}
            }
            knot{
                dnam{"kn"}
                other{"{0} kn"}
            }
            meter-per-second{
                dnam{"m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                dnam{"°F"}
                other{"{0}°F"}
            }
            generic{
                dnam{"°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"ac ft"}
                other{"{0} ac ft"}
            }
            bushel{
                dnam{"bu"}
                other{"{0} bu"}
            }
            centiliter{
                dnam{"cL"}
                other{"{0} cL"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                other{"{0} cm³"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"in³"}
                other{"{0} in³"}
            }
            cubic-kilometer{
                dnam{"km³"}
                other{"{0} km³"}
            }
            cubic-meter{
                dnam{"m³"}
                other{"{0} m³"}
                per{"{0}/m³"}
            }
            cubic-mile{
                dnam{"mi³"}
                other{"{0} mi³"}
            }
            cubic-yard{
                dnam{"yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"cup"}
                other{"{0} c"}
            }
            cup-metric{
                dnam{"mcup"}
                other{"{0} mc"}
            }
            deciliter{
                dnam{"dL"}
                other{"{0} dL"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                other{"{0} fl oz"}
            }
            gallon{
                dnam{"US gal"}
                other{"{0} gal US"}
                per{"{0}/gal US"}
            }
            gallon-imperial{
                dnam{"Imp. gal"}
                other{"{0} gal Imp."}
                per{"{0}/gal Imp."}
            }
            hectoliter{
                dnam{"hL"}
                other{"{0} hL"}
            }
            liter{
                dnam{"liter"}
                other{"{0} l"}
                per{"{0}/l"}
            }
            megaliter{
                dnam{"ML"}
                other{"{0} ML"}
            }
            milliliter{
                dnam{"mL"}
                other{"{0} mL"}
            }
            pint{
                dnam{"pt"}
                other{"{0} pt"}
            }
            pint-metric{
                dnam{"mpt"}
                other{"{0} mpt"}
            }
            quart{
                dnam{"qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                other{"{0} tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                other{"{0} tsp"}
            }
        }
    }
}
