﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gl.xml
// *
// ***************************************************************************
gl{
    Version{"2.1.19.94"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"forza G"}
                one{"{0} forza G"}
                other{"{0} forzas G"}
            }
            meter-per-second-squared{
                dnam{"metros por segundo cadrado"}
                one{"{0} metro por segundo cadrado"}
                other{"{0} metros por segundo cadrado"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcominutos"}
                one{"{0} arcominuto"}
                other{"{0} arcominutos"}
            }
            arc-second{
                dnam{"arcosegundos"}
                one{"{0} arcosegundo"}
                other{"{0} arcosegundos"}
            }
            degree{
                dnam{"graos"}
                one{"{0} grao"}
                other{"{0} graos"}
            }
            radian{
                dnam{"radiáns"}
                one{"{0} radián"}
                other{"{0} radiáns"}
            }
            revolution{
                dnam{"revolución"}
                one{"{0} revolución"}
                other{"{0} revolucións"}
            }
        }
        area{
            acre{
                dnam{"acres"}
                one{"{0} acre"}
                other{"{0} acres"}
            }
            hectare{
                dnam{"hectáreas"}
                one{"{0} hectárea"}
                other{"{0} hectáreas"}
            }
            square-centimeter{
                dnam{"centímetros cadrados"}
                one{"{0} centímetro cadrado"}
                other{"{0} centímetros cadrados"}
                per{"{0} por centímetro cadrado"}
            }
            square-foot{
                dnam{"pés cadrados"}
                one{"{0} pé carado"}
                other{"{0} pés cadrados"}
            }
            square-inch{
                dnam{"polgadas cadradas"}
                one{"{0} polgada cadrada"}
                other{"{0} polgadas cadradas"}
                per{"{0} por polgada cadrada"}
            }
            square-kilometer{
                dnam{"quilómetros cadrados"}
                one{"{0} quilómetro cadrado"}
                other{"{0} quilómetros cadrados"}
            }
            square-meter{
                dnam{"metros cadrados"}
                one{"{0} metro cadrado"}
                other{"{0} metros cadrados"}
                per{"{0} por metro cadrado"}
            }
            square-mile{
                dnam{"millas cadradas"}
                one{"{0} milla cadrada"}
                other{"{0} millas cadradas"}
            }
            square-yard{
                dnam{"iardas cadradas"}
                one{"{0} iarda cadrada"}
                other{"{0} iardas cadradas"}
            }
        }
        compound{
            per{"{0} por {1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"litros por 100 quilómetros"}
                one{"{0} litro por 100 quilómetros"}
                other{"{0} litros por 100 quilómetros"}
            }
            liter-per-kilometer{
                dnam{"litros por quilómetro"}
                one{"{0} litro por quilómetro"}
                other{"{0} litros por quilómetro"}
            }
            mile-per-gallon{
                dnam{"millas por galón"}
                one{"{0} milla por galón"}
                other{"{0} millas por galón"}
            }
        }
        coordinate{
            east{"{0} L"}
            north{"{0} N"}
            south{"{0} S"}
            west{"{0} O"}
        }
        digital{
            bit{
                dnam{"bits"}
                one{"{0} bit"}
                other{"{0} bits"}
            }
            byte{
                dnam{"bytes"}
                one{"{0} byte"}
                other{"{0} bytes"}
            }
            gigabit{
                dnam{"xigabits"}
                one{"{0} xigabit"}
                other{"{0} xigabits"}
            }
            gigabyte{
                dnam{"xigabytes"}
                one{"{0} xigabyte"}
                other{"{0} xigabytes"}
            }
            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{"terabyte"}
                one{"{0} terabyte"}
                other{"{0} terabytes"}
            }
        }
        duration{
            century{
                dnam{"séculos"}
                one{"{0} século"}
                other{"{0} séculos"}
            }
            day{
                dnam{"días"}
                one{"{0} día"}
                other{"{0} días"}
                per{"{0} por día"}
            }
            hour{
                dnam{"horas"}
                one{"{0} hora"}
                other{"{0} horas"}
                per{"{0} por hora"}
            }
            microsecond{
                dnam{"microsegundos"}
                one{"{0} microsegundo"}
                other{"{0} microsegundos"}
            }
            millisecond{
                dnam{"milisegundos"}
                one{"{0} milisegundo"}
                other{"{0} milisegundos"}
            }
            minute{
                dnam{"minutos"}
                one{"{0} minuto"}
                other{"{0} minutos"}
                per{"{0} por minuto"}
            }
            month{
                dnam{"meses"}
                one{"{0} mes"}
                other{"{0} meses"}
                per{"{0} por mes"}
            }
            nanosecond{
                dnam{"nanosegundos"}
                one{"{0} nanosegundo"}
                other{"{0} nanosegundos"}
            }
            second{
                dnam{"segundos"}
                one{"{0} segundo"}
                other{"{0} segundos"}
                per{"{0} por segundo"}
            }
            week{
                dnam{"semanas"}
                one{"{0} semana"}
                other{"{0} semanas"}
                per{"{0} por semana"}
            }
            year{
                dnam{"anos"}
                one{"{0} ano"}
                other{"{0} anos"}
                per{"{0} por ano"}
            }
        }
        electric{
            ampere{
                dnam{"amperios"}
                one{"{0} amperio"}
                other{"{0} amperios"}
            }
            milliampere{
                dnam{"miliamperios"}
                one{"{0} miliamperio"}
                other{"{0} miliamperios"}
            }
            ohm{
                dnam{"ohms"}
                one{"{0} ohm"}
                other{"{0} ohms"}
            }
            volt{
                dnam{"volts"}
                one{"{0} volt"}
                other{"{0} volts"}
            }
        }
        energy{
            calorie{
                dnam{"calorías"}
                one{"{0} caloría"}
                other{"{0} calorías"}
            }
            foodcalorie{
                dnam{"Calorías"}
                one{"{0} Caloría"}
                other{"{0} Calorías"}
            }
            joule{
                dnam{"joules"}
                one{"{0} joule"}
                other{"{0} joules"}
            }
            kilocalorie{
                dnam{"quilocalorías"}
                one{"{0} quilocaloría"}
                other{"{0} quilocalorías"}
            }
            kilojoule{
                dnam{"quilojoules"}
                one{"{0} quilojoule"}
                other{"{0} quilojoules"}
            }
            kilowatt-hour{
                dnam{"quilowatts/hora"}
                one{"{0} quilowatt/hora"}
                other{"{0} quilowatts/hora"}
            }
        }
        frequency{
            gigahertz{
                dnam{"xigahertz"}
                one{"{0} xigahertz"}
                other{"{0} xigahertz"}
            }
            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{"unidades astronómicas"}
                one{"{0} unidad astronómica"}
                other{"{0} unidades astronómicas"}
            }
            centimeter{
                dnam{"centímetros"}
                one{"{0} centímetro"}
                other{"{0} centímetros"}
                per{"{0} por centímetro"}
            }
            decimeter{
                dnam{"decímetros"}
                one{"{0} decímetro"}
                other{"{0} decímetros"}
            }
            foot{
                dnam{"pé"}
                one{"{0} pé"}
                other{"{0} pés"}
                per{"{0} por pé"}
            }
            inch{
                dnam{"polgada"}
                one{"{0} polgada"}
                other{"{0} polgadas"}
                per{"{0} por polgada"}
            }
            kilometer{
                dnam{"quilómetros"}
                one{"{0} quilómetro"}
                other{"{0} quilómetros"}
                per{"{0} por quilómetro"}
            }
            light-year{
                dnam{"anos luz"}
                one{"{0} ano luz"}
                other{"{0} anos luz"}
            }
            meter{
                dnam{"metros"}
                one{"{0} metro"}
                other{"{0} metros"}
                per{"{0} por metro"}
            }
            micrometer{
                dnam{"micrómetros"}
                one{"{0} micrómetro"}
                other{"{0} micrómetros"}
            }
            mile{
                dnam{"millas"}
                one{"{0} milla"}
                other{"{0} millas"}
            }
            mile-scandinavian{
                dnam{"milla escandinava"}
                one{"{0} milla escandinava"}
                other{"{0} millas escandinavas"}
            }
            millimeter{
                dnam{"milímetros"}
                one{"{0} milímetro"}
                other{"{0} milímetros"}
            }
            nanometer{
                dnam{"nanómetros"}
                one{"{0} nanómetro"}
                other{"{0} nanómetros"}
            }
            nautical-mile{
                dnam{"millas náuticas"}
                one{"{0} milla náutica"}
                other{"{0} millas náuticas"}
            }
            parsec{
                dnam{"pársecs"}
                one{"{0} pársec"}
                other{"{0} pársecs"}
            }
            picometer{
                dnam{"picómetros"}
                one{"{0} picómetro"}
                other{"{0} picómetros"}
            }
            yard{
                dnam{"iardas"}
                one{"{0} iarda"}
                other{"{0} iardas"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lux"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"quilates"}
                one{"{0} quilate"}
                other{"{0} quilates"}
            }
            gram{
                dnam{"gramos"}
                one{"{0} gramo"}
                other{"{0} gramos"}
                per{"{0} por gramo"}
            }
            kilogram{
                dnam{"quilogramos"}
                one{"{0} quilogramo"}
                other{"{0} quilogramos"}
                per{"{0} por quilogramo"}
            }
            metric-ton{
                dnam{"toneladas métricas"}
                one{"{0} tonelada métrica"}
                other{"{0} toneladas métricas"}
            }
            microgram{
                dnam{"microgramos"}
                one{"{0} microgramo"}
                other{"{0} microgramos"}
            }
            milligram{
                dnam{"miligramos"}
                one{"{0} miligramo"}
                other{"{0} miligramos"}
            }
            ounce{
                dnam{"onzas"}
                one{"{0} onza"}
                other{"{0} onzas"}
                per{"{0} por onza"}
            }
            ounce-troy{
                dnam{"onzas troy"}
                one{"{0} onza troy"}
                other{"{0} onzas troy"}
            }
            pound{
                dnam{"libras"}
                one{"{0} libra"}
                other{"{0} libras"}
                per{"{0} por libra"}
            }
            ton{
                dnam{"toneladas"}
                one{"{0} tonelada"}
                other{"{0} toneladas"}
            }
        }
        power{
            gigawatt{
                dnam{"xigawatts"}
                one{"{0} xigawatt"}
                other{"{0} xigawatts"}
            }
            horsepower{
                dnam{"cabalo de potencia"}
                one{"{0} cabalo de potencia"}
                other{"{0} cabalos de potencia"}
            }
            kilowatt{
                dnam{"quilowatts"}
                one{"{0} quilowatt"}
                other{"{0} quilowatts"}
            }
            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{"hectopascais"}
                one{"{0} hectopascal"}
                other{"{0} hectopascais"}
            }
            inch-hg{
                dnam{"polgadas de mercurio"}
                one{"{0} polgada de mercurio"}
                other{"{0} polgadas de mercurio"}
            }
            millibar{
                dnam{"milibares"}
                one{"{0} milibar"}
                other{"{0} milibares"}
            }
            millimeter-of-mercury{
                dnam{"milímetros de mercurio"}
                one{"{0} milímetro de mercurio"}
                other{"{0} milímetros de mercurio"}
            }
            pound-per-square-inch{
                dnam{"libras por polgada cadrada"}
                one{"{0} libra por polgada cadrada"}
                other{"{0} libras por polgada cadrada"}
            }
        }
        proportion{
            karat{
                dnam{"quilates"}
                one{"{0} quilate"}
                other{"{0} quilates"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"quilómetros por hora"}
                one{"{0} quilómetro por hora"}
                other{"{0} quilómetros por hora"}
            }
            knot{
                dnam{"nó"}
                one{"{0} nó"}
                other{"{0} nós"}
            }
            meter-per-second{
                dnam{"metros por segundo"}
                one{"{0} metro por segundo"}
                other{"{0} metros por segundo"}
            }
            mile-per-hour{
                dnam{"millas por hora"}
                one{"{0} milla por hora"}
                other{"{0} millas por hora"}
            }
        }
        temperature{
            celsius{
                dnam{"graos Celsius"}
                one{"{0} grao Celsius"}
                other{"{0} graos Celsius"}
            }
            fahrenheit{
                dnam{"graos Fahrenheit"}
                one{"{0} grao Fahrenheit"}
                other{"{0} graos Fahrenheit"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"graos Kelvin"}
                one{"{0} grao Kelvin"}
                other{"{0} graos Kelvin"}
            }
        }
        volume{
            acre-foot{
                dnam{"acres pés"}
                one{"{0} acre pé"}
                other{"{0} acres pés"}
            }
            centiliter{
                dnam{"centilitros"}
                one{"{0} centilitro"}
                other{"{0} centilitros"}
            }
            cubic-centimeter{
                dnam{"centímetros cúbicos"}
                one{"{0} centímetro cúbico"}
                other{"{0} centímetros cúbicos"}
                per{"{0} por centímetro cúbico"}
            }
            cubic-foot{
                dnam{"pés cúbicos"}
                one{"{0} pé cúbico"}
                other{"{0} pés cúbicos"}
            }
            cubic-inch{
                dnam{"polgadas cúbicas"}
                one{"{0} polgada cúbica"}
                other{"{0} polgadas cúbicas"}
            }
            cubic-kilometer{
                dnam{"quilómetros cúbicos"}
                one{"{0} quilómetro cúbico"}
                other{"{0} quilómetros cúbicos"}
            }
            cubic-meter{
                dnam{"metros cúbicos"}
                one{"{0} metro cúbico"}
                other{"{0} metros cúbicos"}
                per{"{0} por metro cúbico"}
            }
            cubic-mile{
                dnam{"millas cúbicas"}
                one{"{0} milla cúbica"}
                other{"{0} millas cúbicas"}
            }
            cubic-yard{
                dnam{"iardas cúbicas"}
                one{"{0} iarda cúbica"}
                other{"{0} iardas cúbicas"}
            }
            cup{
                dnam{"cuncas"}
                one{"{0} cunca"}
                other{"{0} cuncas"}
            }
            cup-metric{
                dnam{"cuncas métricas"}
                one{"{0} cunca métrica"}
                other{"{0} cuncas métricas"}
            }
            deciliter{
                dnam{"decilitros"}
                one{"{0} decilitro"}
                other{"{0} decilitros"}
            }
            fluid-ounce{
                dnam{"onzas líquidas"}
                one{"{0} onza líquida"}
                other{"{0} onzas líquidas"}
            }
            gallon{
                dnam{"galóns"}
                one{"{0} galón"}
                other{"{0} galóns"}
                per{"{0} por galón"}
            }
            hectoliter{
                dnam{"hectolitros"}
                one{"{0} hectolitro"}
                other{"{0} hectolitros"}
            }
            liter{
                dnam{"litros"}
                one{"{0} litro"}
                other{"{0} litros"}
                per{"{0} por litro"}
            }
            megaliter{
                dnam{"megalitros"}
                one{"{0} megalitro"}
                other{"{0} megalitros"}
            }
            milliliter{
                dnam{"mililitros"}
                one{"{0} mililitro"}
                other{"{0} mililitros"}
            }
            pint{
                dnam{"pintas"}
                one{"{0} pinta"}
                other{"{0} pintas"}
            }
            pint-metric{
                dnam{"pintas métricas"}
                one{"{0} pinta métrica"}
                other{"{0} pintas métricas"}
            }
            quart{
                dnam{"cuartos"}
                one{"{0} cuarto"}
                other{"{0} cuartos"}
            }
            tablespoon{
                dnam{"culleradas"}
                one{"{0} cullerada"}
                other{"{0} culleradas"}
            }
            teaspoon{
                dnam{"culleriñas"}
                one{"{0} culleriña"}
                other{"{0} culleriñas"}
            }
        }
    }
    unitsNarrow{
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"L/100 km"}
                one{"{0} L/100 km"}
                other{"{0} L/100 km"}
            }
        }
        coordinate{
            east{"{0} L"}
            north{"{0} N"}
            south{"{0} S"}
            west{"{0} O"}
        }
        duration{
            day{
                dnam{"días"}
                one{"{0} d"}
                other{"{0} d"}
            }
            hour{
                dnam{"hora"}
                one{"{0} h"}
                other{"{0} h"}
            }
            millisecond{
                dnam{"miliseg"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} m"}
                other{"{0} m"}
            }
            month{
                dnam{"mes"}
                one{"{0} m"}
                other{"{0} m"}
            }
            second{
                dnam{"seg"}
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                dnam{"sem"}
                one{"{0} s"}
                other{"{0} s"}
            }
            year{
                dnam{"anos"}
                one{"{0} a"}
                other{"{0} a"}
            }
        }
        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"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            liter{
                dnam{"l"}
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"forzas G"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"metros/seg²"}
                one{"{0} m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcomin"}
                one{"{0} arcomin"}
                other{"{0} arcomin"}
            }
            arc-second{
                dnam{"arcoseg"}
                one{"{0} arcoseg"}
                other{"{0} arcoseg"}
            }
            degree{
                dnam{"º"}
                one{"{0}°"}
                other{"{0}°"}
            }
            radian{
                dnam{"radiáns"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"rev"}
                one{"{0} rev"}
                other{"{0} rev"}
            }
        }
        area{
            acre{
                dnam{"acres"}
                one{"{0} ac"}
                other{"{0} ac"}
            }
            hectare{
                dnam{"hectáreas"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
                per{"{0} por cm²"}
            }
            square-foot{
                dnam{"pé²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-inch{
                dnam{"polgadas²"}
                one{"{0} in²"}
                other{"{0} in²"}
                per{"{0} por in²"}
            }
            square-kilometer{
                dnam{"km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                dnam{"metros²"}
                one{"{0} m²"}
                other{"{0} m²"}
                per{"{0} por m²"}
            }
            square-mile{
                dnam{"millas²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
            square-yard{
                dnam{"iardas²"}
                one{"{0} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"L/100 km"}
                one{"{0} L/100 km"}
                other{"{0} L/100 km"}
            }
            liter-per-kilometer{
                dnam{"litros/km"}
                one{"{0} l/km"}
                other{"{0} l/km"}
            }
            mile-per-gallon{
                dnam{"millas/galón"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
        }
        coordinate{
            east{"{0} L"}
            north{"{0} N"}
            south{"{0} S"}
            west{"{0} O"}
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"byte"}
                one{"{0} byte"}
                other{"{0} byte"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"séc."}
                one{"{0} séc."}
                other{"{0} séc."}
            }
            day{
                dnam{"días"}
                one{"{0} día"}
                other{"{0} días"}
                per{"{0}/d"}
            }
            hour{
                dnam{"horas"}
                one{"{0} hora"}
                other{"{0} horas"}
                per{"{0} ph"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"miliseg"}
                one{"{0} miliseg"}
                other{"{0} miliseg"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0} min"}
                per{"{0}/min"}
            }
            month{
                dnam{"meses"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            nanosecond{
                dnam{"nanoseg."}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"seg"}
                one{"{0} seg"}
                other{"{0} seg"}
                per{"{0} ps"}
            }
            week{
                dnam{"semanas"}
                one{"{0} sem"}
                other{"{0} sem"}
                per{"{0}/sem."}
            }
            year{
                dnam{"anos"}
                one{"{0} ano"}
                other{"{0} anos"}
                per{"{0}/ano"}
            }
        }
        electric{
            ampere{
                dnam{"amp"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"miliamp"}
                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{"quilojoule"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kW/h"}
                one{"{0} kW/h"}
                other{"{0} kW/h"}
            }
        }
        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{"cent"}
                one{"{0} cent"}
                other{"{0} cent"}
                per{"{0}/cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"pé"}
                one{"{0} ft"}
                other{"{0} ft"}
                per{"{0}/ft"}
            }
            inch{
                dnam{"polgadas"}
                one{"{0} in"}
                other{"{0} in"}
                per{"{0}/in"}
            }
            kilometer{
                dnam{"quilóm"}
                one{"{0} quilóm"}
                other{"{0} quilóm"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"anos luz"}
                one{"{0} al"}
                other{"{0} al"}
            }
            meter{
                dnam{"met"}
                one{"{0} met"}
                other{"{0} met"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"millas"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"milím"}
                one{"{0} milím"}
                other{"{0} milím"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"pársecs"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"iardas"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"quilate"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
            gram{
                dnam{"gramos"}
                one{"{0} gram"}
                other{"{0} gram"}
                per{"{0}/g"}
            }
            kilogram{
                dnam{"quilog"}
                one{"{0} quilog"}
                other{"{0} quilog"}
                per{"{0}/kg"}
            }
            metric-ton{
                dnam{"tm"}
                one{"{0} tm"}
                other{"{0} tm"}
            }
            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{"onza troy"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"libras"}
                one{"{0} lb"}
                other{"{0} lb"}
                per{"{0}/lb"}
            }
            ton{
                dnam{"toneladas"}
                one{"{0} t"}
                other{"{0} t"}
            }
        }
        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{"quilates"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/hora"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            knot{
                dnam{"kn"}
                one{"{0} kn"}
                other{"{0} kn"}
            }
            meter-per-second{
                dnam{"metros/seg"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"millas/hora"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"g. Celsius"}
                one{"{0} g Celsius"}
                other{"{0} g Celsius"}
            }
            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{"acres pés"}
                one{"{0} ac ft"}
                other{"{0} ac ft"}
            }
            centiliter{
                dnam{"cl"}
                one{"{0} cl"}
                other{"{0} cl"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"pés³"}
                one{"{0} ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"polgadas³"}
                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{"iardas³"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"cuncas"}
                one{"{0} c"}
                other{"{0} c"}
            }
            cup-metric{
                dnam{"mcup"}
                one{"{0} mc"}
                other{"{0} mc"}
            }
            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"}
                per{"{0}/gal"}
            }
            hectoliter{
                dnam{"hl"}
                one{"{0} hl"}
                other{"{0} hl"}
            }
            liter{
                dnam{"lit"}
                one{"{0} lit"}
                other{"{0} lit"}
                per{"{0}/l"}
            }
            megaliter{
                dnam{"Ml"}
                one{"{0} Ml"}
                other{"{0} Ml"}
            }
            milliliter{
                dnam{"ml"}
                one{"{0} ml"}
                other{"{0} ml"}
            }
            pint{
                dnam{"pintas"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            pint-metric{
                dnam{"mpt"}
                one{"{0} mpt"}
                other{"{0} mpt"}
            }
            quart{
                dnam{"cuartos"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"tbsp"}
                one{"{0} tbsp"}
                other{"{0} tbsp"}
            }
            teaspoon{
                dnam{"tsp"}
                one{"{0} tsp"}
                other{"{0} tsp"}
            }
        }
    }
}
