﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
ia{
    durationUnits{
        hm{"hh:mm"}
        hms{"hh:mm:ss"}
        ms{"mm:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"fortia g"}
                one{"{0} G"}
                other{"{0} fortia g"}
            }
            meter-per-square-second{
                dnam{"metros per secunda quadrate"}
                one{"{0} m/s²"}
                other{"{0} metros per secunda quadrate"}
            }
        }
        angle{
            arc-minute{
                dnam{"minutas de arco"}
                one{"{0}′"}
                other{"{0} minutas de arco"}
            }
            arc-second{
                dnam{"secundas de arco"}
                one{"{0}″"}
                other{"{0} secundas de arco"}
            }
            degree{
                dnam{"grados"}
                one{"{0}°"}
                other{"{0} grados"}
            }
            radian{
                dnam{"radianos"}
                one{"{0} rad"}
                other{"{0} radianos"}
            }
            revolution{
                dnam{"revolutiones"}
                one{"{0} rev"}
                other{"{0} revolutiones"}
            }
        }
        area{
            acre{
                dnam{"acres"}
                one{"{0} ac"}
                other{"{0} acres"}
            }
            hectare{
                dnam{"hectares"}
                one{"{0} ha"}
                other{"{0} hectares"}
            }
            square-centimeter{
                dnam{"centimetros quadrate"}
                one{"{0} cm²"}
                other{"{0} centimetros quadrate"}
                per{"{0} per centimetro quadrate"}
            }
            square-foot{
                dnam{"pedes quadrate"}
                one{"{0} ft²"}
                other{"{0} pedes quadrate"}
            }
            square-inch{
                dnam{"pollices quadrate"}
                one{"{0} in²"}
                other{"{0} pollices quadrate"}
                per{"{0} per pollice quadrate"}
            }
            square-kilometer{
                dnam{"kilometros quadrate"}
                one{"{0} km²"}
                other{"{0} kilometros quadrate"}
                per{"{0} per kilometro quadrate"}
            }
            square-meter{
                dnam{"metros quadrate"}
                one{"{0} m²"}
                other{"{0} metros quadrate"}
                per{"{0} per metro quadrate"}
            }
            square-mile{
                dnam{"millias quadrate"}
                one{"{0} mi²"}
                other{"{0} millias quadrate"}
                per{"{0} per millia quadrate"}
            }
            square-yard{
                dnam{"yards quadrate"}
                one{"{0} yd²"}
                other{"{0} yards quadrate"}
            }
        }
        compound{
            per{"{0} per {1}"}
        }
        concentr{
            karat{
                dnam{"carates"}
                one{"{0} kt"}
                other{"{0} carates"}
            }
            milligram-per-deciliter{
                dnam{"milligrammas per decilitro"}
                one{"{0} mg/dL"}
                other{"{0} milligrammas per decilitro"}
            }
            millimole-per-liter{
                dnam{"millimoles per litro"}
                one{"{0} mmol/L"}
                other{"{0} millimoles per litro"}
            }
            percent{
                dnam{"per cento"}
                one{"{0}%"}
                other{"{0} per cento"}
            }
            permille{
                dnam{"per mille"}
                one{"{0}‰"}
                other{"{0} per mille"}
            }
            permillion{
                dnam{"partes per million"}
                one{"{0} ppm"}
                other{"{0} partes per million"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                dnam{"litros per 100 kilometros"}
                one{"{0} L/100km"}
                other{"{0} litros per 100 kilometros"}
            }
            liter-per-kilometer{
                dnam{"litros per kilometro"}
                one{"{0} L/km"}
                other{"{0} litros per kilometro"}
            }
            mile-per-gallon{
                dnam{"millias per gallon"}
                one{"{0} mi/gal"}
                other{"{0} millias per gallon"}
            }
            mile-per-gallon-imperial{
                dnam{"millias per gallon imperial"}
                one{"{0} mi/gal imp."}
                other{"{0} millias per gallon imperial"}
            }
        }
        coordinate{
            dnam{"direction cardinal"}
            east{"{0} est"}
            north{"{0} nord"}
            south{"{0} sud"}
            west{"{0} west"}
        }
        digital{
            bit{
                dnam{"bits"}
                one{"{0} b"}
                other{"{0} bits"}
            }
            byte{
                dnam{"bytes"}
                one{"{0} B"}
                other{"{0} bytes"}
            }
            gigabit{
                dnam{"gigabits"}
                one{"{0} Gb"}
                other{"{0} gigabits"}
            }
            gigabyte{
                dnam{"gigabytes"}
                one{"{0} GB"}
                other{"{0} gigabytes"}
            }
            kilobit{
                dnam{"kilobits"}
                one{"{0} kb"}
                other{"{0} kilobits"}
            }
            kilobyte{
                dnam{"kilobytes"}
                one{"{0} kB"}
                other{"{0} kilobytes"}
            }
            megabit{
                dnam{"megabits"}
                one{"{0} Mb"}
                other{"{0} megabits"}
            }
            megabyte{
                dnam{"megabytes"}
                one{"{0} MB"}
                other{"{0} megabytes"}
            }
            petabyte{
                dnam{"petabytes"}
                one{"{0} PB"}
                other{"{0} petabytes"}
            }
            terabit{
                dnam{"terabits"}
                one{"{0} Tb"}
                other{"{0} terabits"}
            }
            terabyte{
                dnam{"terabytes"}
                one{"{0} TB"}
                other{"{0} terabytes"}
            }
        }
        duration{
            century{
                dnam{"seculos"}
                one{"{0} scl"}
                other{"{0} seculos"}
            }
            day{
                dnam{"dies"}
                one{"{0} dies"}
                other{"{0} dies"}
                per{"{0} per die"}
            }
            hour{
                dnam{"horas"}
                one{"{0} hr"}
                other{"{0} horas"}
                per{"{0} per hora"}
            }
            microsecond{
                dnam{"microsecundas"}
                one{"{0}μs"}
                other{"{0} microsecundas"}
            }
            millisecond{
                dnam{"millisecundas"}
                one{"{0} ms"}
                other{"{0} millisecundas"}
            }
            minute{
                dnam{"minutas"}
                one{"{0} min"}
                other{"{0} minutas"}
                per{"{0} per minuta"}
            }
            month{
                dnam{"menses"}
                one{"{0} menses"}
                other{"{0} menses"}
                per{"{0} per mense"}
            }
            nanosecond{
                dnam{"nanosecundas"}
                one{"{0}ns"}
                other{"{0} nanosecundas"}
            }
            second{
                dnam{"secundas"}
                one{"{0} sec"}
                other{"{0} secundas"}
                per{"{0} per secunda"}
            }
            week{
                dnam{"septimanas"}
                one{"{0} sept"}
                other{"{0} septimanas"}
                per{"{0} per septimana"}
            }
            year{
                dnam{"annos"}
                one{"{0} an"}
                other{"{0} annos"}
                per{"{0} per anno"}
            }
        }
        electric{
            ampere{
                dnam{"amperes"}
                one{"{0} A"}
                other{"{0} amperes"}
            }
            milliampere{
                dnam{"milliamperes"}
                one{"{0} mA"}
                other{"{0} milliamperes"}
            }
            ohm{
                dnam{"ohms"}
                one{"{0} Ω"}
                other{"{0} ohms"}
            }
            volt{
                dnam{"volts"}
                one{"{0} V"}
                other{"{0} volts"}
            }
        }
        energy{
            calorie{
                dnam{"calorias"}
                one{"{0} cal"}
                other{"{0} calorias"}
            }
            foodcalorie{
                dnam{"kilocalorias"}
                one{"{0} kcal"}
                other{"{0} kilocalorias"}
            }
            joule{
                dnam{"joules"}
                one{"{0} J"}
                other{"{0} joules"}
            }
            kilocalorie{
                dnam{"kilocalorias"}
                one{"{0} kcal"}
                other{"{0} kilocalorias"}
            }
            kilojoule{
                dnam{"kilojoules"}
                one{"{0} kJ"}
                other{"{0} kilojoules"}
            }
            kilowatt-hour{
                dnam{"kilowatthoras"}
                one{"{0} kWh"}
                other{"{0} kilowatthoras"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahertz"}
                one{"{0} GHz"}
                other{"{0} gigahertz"}
            }
            hertz{
                dnam{"hertz"}
                one{"{0} Hz"}
                other{"{0} hertz"}
            }
            kilohertz{
                dnam{"kilohertz"}
                one{"{0} kHz"}
                other{"{0} kilohertz"}
            }
            megahertz{
                dnam{"megahertz"}
                one{"{0} MHz"}
                other{"{0} megahertz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"unitates astronomic"}
                one{"{0} ua"}
                other{"{0} unitates astronomic"}
            }
            centimeter{
                dnam{"centimetros"}
                one{"{0} cm"}
                other{"{0} centimetros"}
                per{"{0} per centimetro"}
            }
            decimeter{
                dnam{"decimetros"}
                one{"{0} dm"}
                other{"{0} decimetros"}
            }
            foot{
                dnam{"pedes"}
                one{"{0} ft"}
                other{"{0} pedes"}
                per{"{0} per pede"}
            }
            inch{
                dnam{"pollices"}
                one{"{0} in"}
                other{"{0} pollices"}
                per{"{0} per pollice"}
            }
            kilometer{
                dnam{"kilometros"}
                one{"{0} km"}
                other{"{0} kilometros"}
                per{"{0} per kilometro"}
            }
            light-year{
                dnam{"annos lumine"}
                one{"{0} al"}
                other{"{0} annos lumine"}
            }
            meter{
                dnam{"metros"}
                one{"{0} m"}
                other{"{0} metros"}
                per{"{0} per metro"}
            }
            micrometer{
                dnam{"micrometros"}
                one{"{0} µm"}
                other{"{0} micrometros"}
            }
            mile{
                dnam{"millias"}
                one{"{0} mi"}
                other{"{0} millias"}
            }
            mile-scandinavian{
                dnam{"millias scandinave"}
                one{"{0} smi"}
                other{"{0} millias scandinave"}
            }
            millimeter{
                dnam{"millimetros"}
                one{"{0} mm"}
                other{"{0} millimetros"}
            }
            nanometer{
                dnam{"nanometros"}
                one{"{0} nm"}
                other{"{0} nanometros"}
            }
            nautical-mile{
                dnam{"millias nautic"}
                one{"{0} nmi"}
                other{"{0} millias nautic"}
            }
            parsec{
                dnam{"parsecs"}
                one{"{0} pc"}
                other{"{0} parsecs"}
            }
            picometer{
                dnam{"picometros"}
                one{"{0} pm"}
                other{"{0} picometros"}
            }
            point{
                dnam{"punctos"}
                one{"{0} pt"}
                other{"{0} punctos"}
            }
            yard{
                dnam{"yards"}
                one{"{0} yd"}
                other{"{0} yards"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lx"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"carates"}
                one{"{0} ct"}
                other{"{0} carates"}
            }
            gram{
                dnam{"grammas"}
                one{"{0} g"}
                other{"{0} grammas"}
                per{"{0} per gramma"}
            }
            kilogram{
                dnam{"kilogrammas"}
                one{"{0} kg"}
                other{"{0} kilogrammas"}
                per{"{0} per kilogramma"}
            }
            metric-ton{
                dnam{"tonnas"}
                one{"{0}t"}
                other{"{0} tonnas"}
            }
            microgram{
                dnam{"microgrammas"}
                one{"{0} µg"}
                other{"{0} microgrammas"}
            }
            milligram{
                dnam{"milligrammas"}
                one{"{0} mg"}
                other{"{0} milligrammas"}
            }
            ounce{
                dnam{"uncias"}
                one{"{0} oz"}
                other{"{0} uncias"}
                per{"{0} per uncia"}
            }
            ounce-troy{
                dnam{"uncias troy"}
                one{"{0} oz t"}
                other{"{0} uncias troy"}
            }
            pound{
                dnam{"libras"}
                one{"{0} lb"}
                other{"{0} libras"}
                per{"{0} per libra"}
            }
            ton{
                dnam{"tonnas curte"}
                one{"{0} tn"}
                other{"{0} tonnas curte"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawatts"}
                one{"{0} GW"}
                other{"{0} gigawatts"}
            }
            horsepower{
                dnam{"cavallos-vapor"}
                one{"{0} cv"}
                other{"{0} cavallos-vapor"}
            }
            kilowatt{
                dnam{"kilowatts"}
                one{"{0} kW"}
                other{"{0} kilowatts"}
            }
            megawatt{
                dnam{"megawatts"}
                one{"{0} MW"}
                other{"{0} megawatts"}
            }
            milliwatt{
                dnam{"milliwatts"}
                one{"{0} mW"}
                other{"{0} milliwatts"}
            }
            watt{
                dnam{"watts"}
                one{"{0} W"}
                other{"{0} watts"}
            }
        }
        pressure{
            atmosphere{
                dnam{"atmospheras"}
                one{"{0} atm"}
                other{"{0} atmospheras"}
            }
            hectopascal{
                dnam{"hectopascales"}
                one{"{0} hPa"}
                other{"{0} hectopascales"}
            }
            inch-ofhg{
                dnam{"pollices de mercurio"}
                one{"{0} inHg"}
                other{"{0} pollices de mercurio"}
            }
            millibar{
                dnam{"millibares"}
                one{"{0} mbar"}
                other{"{0} millibares"}
            }
            millimeter-ofhg{
                dnam{"milimetros de mercurio"}
                one{"{0} mm Hg"}
                other{"{0} milimetros de mercurio"}
            }
            pound-force-per-square-inch{
                dnam{"libras per pollice quadrate"}
                one{"{0} lb/in²"}
                other{"{0} libras per pollice quadrate"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilometros per hora"}
                one{"{0} km/h"}
                other{"{0} kilometros per hora"}
            }
            knot{
                dnam{"nodos"}
                one{"{0} kn"}
                other{"{0} nodos"}
            }
            meter-per-second{
                dnam{"metros per secunda"}
                one{"{0} m/s"}
                other{"{0} metros per secunda"}
            }
            mile-per-hour{
                dnam{"millias per hora"}
                one{"{0} mi/h"}
                other{"{0} millias per hora"}
            }
        }
        temperature{
            celsius{
                dnam{"grados Celcius"}
                one{"{0} °C"}
                other{"{0} grados Celcius"}
            }
            fahrenheit{
                dnam{"grados Fahrenheit"}
                one{"{0} °F"}
                other{"{0} grados Fahrenheit"}
            }
            generic{
                dnam{"grados"}
                one{"{0}°"}
                other{"{0} grados"}
            }
            kelvin{
                dnam{"kelvin"}
                one{"{0} K"}
                other{"{0} kelvin"}
            }
        }
        volume{
            acre-foot{
                dnam{"acre-pedes"}
                one{"{0} ac pd"}
                other{"{0} acre-pedes"}
            }
            centiliter{
                dnam{"centilitros"}
                one{"{0} cL"}
                other{"{0} centilitros"}
            }
            cubic-centimeter{
                dnam{"centimetros cubic"}
                one{"{0} cm³"}
                other{"{0} centimetros cubic"}
                per{"{0} per centimetro cubic"}
            }
            cubic-foot{
                dnam{"pedes cubic"}
                one{"{0} pd³"}
                other{"{0} pedes cubic"}
            }
            cubic-inch{
                dnam{"inches cubic"}
                one{"{0} in³"}
                other{"{0} inches cubic"}
            }
            cubic-kilometer{
                dnam{"kilometros cubic"}
                one{"{0} km³"}
                other{"{0} kilometros cubic"}
            }
            cubic-meter{
                dnam{"metros cubic"}
                one{"{0} m³"}
                other{"{0} metros cubic"}
                per{"{0} per metro cubic"}
            }
            cubic-mile{
                dnam{"millias cubic"}
                one{"{0} mi³"}
                other{"{0} millias cubic"}
            }
            cubic-yard{
                dnam{"yards cubic"}
                one{"{0} yd³"}
                other{"{0} yards cubic"}
            }
            cup{
                dnam{"tassas"}
                one{"{0} tas"}
                other{"{0} tassas"}
            }
            cup-metric{
                dnam{"tassas metric"}
                one{"{0} tasm"}
                other{"{0} tassas metric"}
            }
            deciliter{
                dnam{"decilitros"}
                one{"{0} dL"}
                other{"{0} decilitros"}
            }
            fluid-ounce{
                dnam{"uncias liquide"}
                one{"{0} oz liq"}
                other{"{0} uncias liquide"}
            }
            gallon{
                dnam{"gallones"}
                one{"{0} gal"}
                other{"{0} gallones"}
                per{"{0} per gallon"}
            }
            gallon-imperial{
                dnam{"gallones imp."}
                one{"{0} gal imp"}
                other{"{0} gallones imp."}
                per{"{0} per gallon imp."}
            }
            hectoliter{
                dnam{"hectolitros"}
                one{"{0} hL"}
                other{"{0} hectolitros"}
            }
            liter{
                dnam{"litros"}
                one{"{0} L"}
                other{"{0} litros"}
                per{"{0} per litro"}
            }
            megaliter{
                dnam{"megalitros"}
                one{"{0} ML"}
                other{"{0} megalitros"}
            }
            milliliter{
                dnam{"millilitros"}
                one{"{0} mL"}
                other{"{0} millilitros"}
            }
            pint{
                dnam{"pintas"}
                one{"{0} pt"}
                other{"{0} pintas"}
            }
            pint-metric{
                dnam{"pintas metric"}
                one{"{0} ptm"}
                other{"{0} pintas metric"}
            }
            quart{
                dnam{"quartos"}
                one{"{0} qt"}
                other{"{0} quartos"}
            }
            tablespoon{
                dnam{"coclearatas a suppa"}
                one{"{0} cocl. a suppa"}
                other{"{0} coclearatas a suppa"}
            }
            teaspoon{
                dnam{"coclearatas a the"}
                one{"{0} cocl. a the"}
                other{"{0} coclearatas a the"}
            }
        }
    }
    unitsNarrow{
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            percent{
                dnam{"%"}
                one{"{0}%"}
                other{"{0}%"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                dnam{"L/100km"}
                one{"{0} L/100km"}
                other{"{0} L/100km"}
            }
        }
        coordinate{
            dnam{"dir."}
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        duration{
            day{
                dnam{"die"}
                one{"{0} dies"}
                other{"{0}d"}
            }
            hour{
                dnam{"hora"}
                one{"{0} hr"}
                other{"{0}h"}
            }
            millisecond{
                dnam{"millisec"}
                one{"{0} ms"}
                other{"{0}ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0}m"}
            }
            month{
                dnam{"mense"}
                one{"{0} menses"}
                other{"{0}m"}
            }
            second{
                dnam{"s"}
                one{"{0} sec"}
                other{"{0}s"}
            }
            week{
                dnam{"sept."}
                one{"{0} sept"}
                other{"{0}sept"}
            }
            year{
                dnam{"an"}
                one{"{0} an"}
                other{"{0}an"}
            }
        }
        length{
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0}cm"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0}km"}
            }
            meter{
                dnam{"m"}
                one{"{0} m"}
                other{"{0}m"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0}mm"}
            }
        }
        mass{
            gram{
                dnam{"g"}
                one{"{0} g"}
                other{"{0}g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0}kg"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0} °C"}
                other{"{0}°C"}
            }
        }
        volume{
            liter{
                dnam{"L"}
                one{"{0} L"}
                other{"{0}L"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"fortia g"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-square-second{
                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{"rad"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"rev"}
                one{"{0} rev"}
                other{"{0} rev"}
            }
        }
        area{
            acre{
                dnam{"ac"}
                one{"{0} ac"}
                other{"{0} ac"}
            }
            hectare{
                dnam{"ha"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-inch{
                dnam{"in²"}
                one{"{0} in²"}
                other{"{0} in²"}
                per{"{0}/in²"}
            }
            square-kilometer{
                dnam{"km²"}
                one{"{0} km²"}
                other{"{0} km²"}
                per{"{0}/km²"}
            }
            square-meter{
                dnam{"m²"}
                one{"{0} m²"}
                other{"{0} m²"}
                per{"{0}/m²"}
            }
            square-mile{
                dnam{"mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                per{"{0}/mi²"}
            }
            square-yard{
                dnam{"yd²"}
                one{"{0} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"kt"}
                one{"{0} kt"}
                other{"{0} kt"}
            }
            milligram-per-deciliter{
                dnam{"mg/dL"}
                one{"{0} mg/dL"}
                other{"{0} mg/dL"}
            }
            millimole-per-liter{
                dnam{"mmol/L"}
                one{"{0} mmol/L"}
                other{"{0} mmol/L"}
            }
            percent{
                dnam{"%"}
                one{"{0}%"}
                other{"{0}%"}
            }
            permille{
                dnam{"‰"}
                one{"{0}‰"}
                other{"{0}‰"}
            }
            permillion{
                dnam{"ppm"}
                one{"{0} ppm"}
                other{"{0} ppm"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                dnam{"L/100km"}
                one{"{0} L/100km"}
                other{"{0} L/100km"}
            }
            liter-per-kilometer{
                dnam{"L/km"}
                one{"{0} L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"mi/gal"}
                one{"{0} mi/gal"}
                other{"{0} mi/gal"}
            }
            mile-per-gallon-imperial{
                dnam{"mi/gal imp."}
                one{"{0} mi/gal imp."}
                other{"{0} mi/gal imp."}
            }
        }
        coordinate{
            dnam{"direction"}
            east{"{0} E"}
            north{"{0} N"}
            south{"{0} S"}
            west{"{0} W"}
        }
        digital{
            bit{
                dnam{"b"}
                one{"{0} b"}
                other{"{0} b"}
            }
            byte{
                dnam{"B"}
                one{"{0} B"}
                other{"{0} B"}
            }
            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"}
            }
            petabyte{
                dnam{"PB"}
                one{"{0} PB"}
                other{"{0} PB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"scl"}
                one{"{0} scl"}
                other{"{0} scl"}
            }
            day{
                dnam{"dies"}
                one{"{0} dies"}
                other{"{0} dies"}
                per{"{0}/d"}
            }
            hour{
                dnam{"horas"}
                one{"{0} hr"}
                other{"{0} hr"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0}μs"}
                other{"{0}μs"}
            }
            millisecond{
                dnam{"millisec"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0} min"}
                per{"{0}/min"}
            }
            month{
                dnam{"menses"}
                one{"{0} menses"}
                other{"{0} menses"}
                per{"{0}/m"}
            }
            nanosecond{
                dnam{"ns"}
                one{"{0}ns"}
                other{"{0}ns"}
            }
            second{
                dnam{"sec"}
                one{"{0} sec"}
                other{"{0} sec"}
                per{"{0}/s"}
            }
            week{
                dnam{"septimanas"}
                one{"{0} sept"}
                other{"{0} sept"}
                per{"{0}/sept"}
            }
            year{
                dnam{"annos"}
                one{"{0} an"}
                other{"{0} an"}
                per{"{0}/an"}
            }
        }
        electric{
            ampere{
                dnam{"A"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"Ω"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"V"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"{0} cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            joule{
                dnam{"J"}
                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{"ua"}
                one{"{0} ua"}
                other{"{0} ua"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                per{"{0}/cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"ft"}
                one{"{0} ft"}
                other{"{0} ft"}
                per{"{0}/ft"}
            }
            inch{
                dnam{"in"}
                one{"{0} in"}
                other{"{0} in"}
                per{"{0}/in"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"al"}
                one{"{0} al"}
                other{"{0} al"}
            }
            meter{
                dnam{"m"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"mi"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            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{"pc"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            point{
                dnam{"pt"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            yard{
                dnam{"yd"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        light{
            lux{
                dnam{"lx"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"ct"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
            gram{
                dnam{"g"}
                one{"{0} g"}
                other{"{0} g"}
                per{"{0}/g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0} kg"}
                per{"{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"}
                per{"{0}/oz"}
            }
            ounce-troy{
                dnam{"oz t"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"lb"}
                one{"{0} lb"}
                other{"{0} lb"}
                per{"{0}/lb"}
            }
            ton{
                dnam{"tn"}
                one{"{0} tn"}
                other{"{0} tn"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"cv"}
                one{"{0} cv"}
                other{"{0} cv"}
            }
            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{"W"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            atmosphere{
                dnam{"atm"}
                one{"{0} atm"}
                other{"{0} atm"}
            }
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-ofhg{
                dnam{"inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
            millimeter-ofhg{
                dnam{"mm Hg"}
                one{"{0} mm Hg"}
                other{"{0} mm Hg"}
            }
            pound-force-per-square-inch{
                dnam{"lb/in²"}
                one{"{0} lb/in²"}
                other{"{0} lb/in²"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            knot{
                dnam{"kn"}
                one{"{0} kn"}
                other{"{0} kn"}
            }
            meter-per-second{
                dnam{"m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0} °C"}
                other{"{0} °C"}
            }
            fahrenheit{
                dnam{"°F"}
                one{"{0} °F"}
                other{"{0} °F"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"ac pd"}
                one{"{0} ac pd"}
                other{"{0} ac pd"}
            }
            centiliter{
                dnam{"cL"}
                one{"{0} cL"}
                other{"{0} cL"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"pd³"}
                one{"{0} pd³"}
                other{"{0} pd³"}
            }
            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³"}
                per{"{0}/m³"}
            }
            cubic-mile{
                dnam{"mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            cubic-yard{
                dnam{"yd³"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"tas"}
                one{"{0} tas"}
                other{"{0} tas"}
            }
            cup-metric{
                dnam{"tasm"}
                one{"{0} tasm"}
                other{"{0} tasm"}
            }
            deciliter{
                dnam{"dL"}
                one{"{0} dL"}
                other{"{0} dL"}
            }
            fluid-ounce{
                dnam{"oz liq"}
                one{"{0} oz liq"}
                other{"{0} oz liq"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
                per{"{0}/gal"}
            }
            gallon-imperial{
                dnam{"gal imp"}
                one{"{0} gal imp"}
                other{"{0} gal imp"}
                per{"{0}/gal imp"}
            }
            hectoliter{
                dnam{"hL"}
                one{"{0} hL"}
                other{"{0} hL"}
            }
            liter{
                dnam{"L"}
                one{"{0} L"}
                other{"{0} L"}
                per{"{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"}
            }
            pint-metric{
                dnam{"ptm"}
                one{"{0} ptm"}
                other{"{0} ptm"}
            }
            quart{
                dnam{"qt"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"cocl. a suppa"}
                one{"{0} cocl. a suppa"}
                other{"{0} cocl. a suppa"}
            }
            teaspoon{
                dnam{"cocl. a the"}
                one{"{0} cocl. a the"}
                other{"{0} cocl. a the"}
            }
        }
    }
}
