﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
es_US{
    %%Parent{"es_419"}
    Version{"2.1.27.99"}
    units{
        concentr{
            milligram-per-deciliter{
                one{"{0} mg/dL"}
                other{"{0} mg/dL"}
            }
        }
        consumption{
            mile-per-gallon-imperial{
                dnam{"mpg Imp."}
            }
        }
        electric{
            ohm{
                dnam{"ohmios"}
                one{"{0} ohmio"}
                other{"{0} ohmios"}
            }
            volt{
                dnam{"voltios"}
                one{"{0} voltio"}
                other{"{0} voltios"}
            }
        }
        energy{
            kilowatt-hour{
                dnam{"kilovatios hora"}
                one{"{0} kilovatio hora"}
                other{"{0} kilovatios hora"}
            }
        }
        frequency{
            gigahertz{
                one{"{0} gigahercio"}
                other{"{0} gigahercios"}
            }
            hertz{
                dnam{"hercios"}
                one{"{0} hercio"}
                other{"{0} hercios"}
            }
            kilohertz{
                dnam{"kilohercios"}
                one{"{0} kilohercio"}
                other{"{0} kilohercios"}
            }
            megahertz{
                dnam{"megahercios"}
                one{"{0} megahercio"}
                other{"{0} megahercios"}
            }
        }
        power{
            gigawatt{
                dnam{"gigavatios"}
                one{"{0} gigavatio"}
                other{"{0} gigavatios"}
            }
            horsepower{
                one{"{0} caballo de vapor"}
                other{"{0} caballos de vapor"}
            }
            kilowatt{
                dnam{"kilovatios"}
                one{"{0} kilovatio"}
                other{"{0} kilovatios"}
            }
            megawatt{
                dnam{"megavatios"}
                one{"{0} megavatio"}
                other{"{0} megavatios"}
            }
            milliwatt{
                dnam{"milivatios"}
                one{"{0} milivatio"}
                other{"{0} milivatios"}
            }
            watt{
                dnam{"vatios"}
                one{"{0} vatio"}
                other{"{0} vatios"}
            }
        }
        volume{
            gallon-imperial{
                dnam{"Imp. gal"}
                one{"{0} gal Imp."}
                other{"{0} gal Imp."}
                per{"{0}/gal Imp."}
            }
        }
    }
    unitsNarrow{
        temperature{
            fahrenheit{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
    }
    unitsShort{
        consumption{
            mile-per-gallon-imperial{
                dnam{"mpg Imp."}
            }
        }
        length{
            astronomical-unit{
                dnam{"au"}
                one{"{0} au"}
                other{"{0} au"}
            }
            light-year{
                one{"{0} a. l."}
                other{"{0} a. l."}
            }
        }
        power{
            horsepower{
                dnam{"CV"}
                one{"{0} CV"}
                other{"{0} CV"}
            }
        }
        volume{
            gallon-imperial{
                dnam{"Imp. gal"}
                one{"{0} gal Imp."}
                other{"{0} gal Imp."}
            }
        }
    }
}
