﻿// © 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
ha{
    durationUnits{
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                one{"g-force {0}"}
                other{"g-force {0}"}
            }
            meter-per-square-second{
                dnam{"meters per second squared"}
                one{"meter per second squared {0}"}
                other{"meters per second squared {0}"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcminutes"}
                one{"arcminute {0}"}
                other{"arcminutes {0}"}
            }
            arc-second{
                dnam{"arcseconds"}
                one{"arcsecond {0}"}
                other{"arcseconds {0}"}
            }
            degree{
                dnam{"degrees"}
                one{"degree {0}"}
                other{"degrees {0}"}
            }
            radian{
                dnam{"radians"}
                one{"radian {0}"}
                other{"radians {0}"}
            }
            revolution{
                dnam{"revolution"}
                one{"revolution {0}"}
                other{"revolutions {0}"}
            }
        }
        area{
            acre{
                dnam{"eka"}
                one{"eka {0}"}
                other{"ekoki {0}"}
            }
            dunam{
                dnam{"dunams"}
                one{"dunam {0}"}
                other{"dunams {0}"}
            }
            hectare{
                dnam{"hektoci"}
                one{"hekta {0}"}
                other{"hektoci {0}"}
            }
            square-centimeter{
                dnam{"sikwaya sentimitoci"}
                one{"sikwaya sentimita {0}"}
                other{"sikwaya sentimitoci {0}"}
                per{"{0} a sikwaya sentimita"}
            }
            square-foot{
                dnam{"sikwaya ƙafafu"}
                one{"sikwaya ƙafa {0}"}
                other{"sikwaya ƙafafu {0}"}
            }
            square-inch{
                dnam{"sikwaya incis"}
                one{"sikwaya inci {0}"}
                other{"sikwaya incina {0}"}
                per{"{0} a sikwaya inci"}
            }
            square-kilometer{
                dnam{"sikwaya kilomitoci"}
                one{"sikwaya kilomita {0}"}
                other{"sikwaya kilomitoci {0}"}
                per{"{0} a sikwaya kilomita"}
            }
            square-meter{
                dnam{"sikwaya mitoci"}
                one{"sikwaya mita {0}"}
                other{"sikwaya mitoci {0}"}
                per{"{0} a sikwaya mita"}
            }
            square-mile{
                dnam{"sikwaya mil-mil"}
                one{"sikwaya mil {0}"}
                other{"sikwaya mil-mil {0}"}
                per{"{0} a sikwaya mil"}
            }
            square-yard{
                dnam{"sikwaya yadina"}
                one{"sikwaya yadi {0}"}
                other{"sikwaya yaduna {0}"}
            }
        }
        compound{
            per{"{0} a {1}"}
        }
        concentr{
            karat{
                dnam{"karats"}
                one{"karat {0}"}
                other{"karats {0}"}
            }
            milligram-per-deciliter{
                dnam{"milligrams per deciliter"}
                one{"milligram per deciliter {0}"}
                other{"milligrams per deciliter {0}"}
            }
            millimole-per-liter{
                dnam{"millimoles per liter"}
                one{"millimole per liter {0}"}
                other{"millimoles per liter {0}"}
            }
            mole{
                dnam{"moles"}
                one{"mole {0}"}
                other{"moles {0}"}
            }
            percent{
                dnam{"kaso"}
                one{"kaso {0}"}
                other{"Kaso {0}"}
            }
            permille{
                dnam{"permille"}
                one{"permille {0}"}
                other{"permille {0}"}
            }
            permillion{
                dnam{"parts per million"}
                one{"part per million {0}"}
                other{"parts per million {0}"}
            }
            permyriad{
                dnam{"permyriad"}
                one{"permyriad {0}"}
                other{"permyriad {0}"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                dnam{"litoci a kilomitoci 100"}
                one{"lita a kilomitoci 100 {0}"}
                other{"litoci a kilomitoci 100 {0}"}
            }
            liter-per-kilometer{
                dnam{"litoci a kilomita"}
                one{"lita a kilomita {0}"}
                other{"litoci a kilomita {0}"}
            }
            mile-per-gallon{
                dnam{"mil-mil a galan"}
                one{"mil a galan {0}"}
                other{"mil-mil a galan {0}"}
            }
            mile-per-gallon-imperial{
                dnam{"mil-mil a Imp. gallon"}
                one{"mil a Imp. gallon {0}"}
                other{"mil-mil a Imp. gallon {0}"}
            }
        }
        coordinate{
            dnam{"cardinal direction"}
            east{"Gabas {0}"}
            north{"arewa {0}"}
            south{"Kudu {0}"}
            west{"Yamma {0}"}
        }
        digital{
            bit{
                dnam{"bits"}
                one{"bit {0}"}
                other{"bits {0}"}
            }
            byte{
                dnam{"bytes"}
                one{"byte {0}"}
                other{"bytes {0}"}
            }
            gigabit{
                dnam{"gigabits"}
                one{"gigabit {0}"}
                other{"gigabits {0}"}
            }
            gigabyte{
                dnam{"gigabytes"}
                one{"gigabyte {0}"}
                other{"gigabytes {0}"}
            }
            kilobit{
                dnam{"kilobits"}
                one{"kilobit {0}"}
                other{"kilobits {0}"}
            }
            kilobyte{
                dnam{"kilobytes"}
                one{"kilobyte {0}"}
                other{"kilobytes {0}"}
            }
            megabit{
                dnam{"megabits"}
                one{"megabit {0}"}
                other{"megabits {0}"}
            }
            megabyte{
                dnam{"megabytes"}
                one{"megabyte {0}"}
                other{"megabytes {0}"}
            }
            petabyte{
                dnam{"petabytes"}
                one{"petabyte {0}"}
                other{"petabytes {0}"}
            }
            terabit{
                dnam{"terabits"}
                one{"terabit {0}"}
                other{"terabits {0}"}
            }
            terabyte{
                dnam{"terabytes"}
                one{"terabyte {0}"}
                other{"terabytes {0}"}
            }
        }
        duration{
            century{
                dnam{"ƙarnoni"}
                one{"ƙarni {0}"}
                other{"ƙarnoni {0}"}
            }
            day{
                dnam{"ranaku"}
                one{"rana {0}"}
                other{"ranaku {0}"}
                per{"{0} a rana"}
            }
            decade{
                dnam{"shekaru goma-goma"}
                one{"shekaru goma {0}"}
                other{"shekaru goma-goma {0}"}
            }
            hour{
                dnam{"saʼoʼi"}
                one{"sa'a {0}"}
                other{"sa'o'i {0}"}
                per{"{0} a saʼa"}
            }
            microsecond{
                dnam{"makirosekan"}
                one{"makirosekan {0}"}
                other{"makirosekans {0}"}
            }
            millisecond{
                dnam{"millisakan"}
                one{"millisakan {0}"}
                other{"millisakans {0}"}
            }
            minute{
                dnam{"mintoci"}
                one{"minti {0}"}
                other{"mintoci {0}"}
                per{"{0} a minti"}
            }
            month{
                dnam{"wat"}
                one{"wata {0}"}
                other{"watanni {0}"}
                per{"{0} a wata"}
            }
            nanosecond{
                dnam{"nanosekan"}
                one{"nanosekan {0}"}
                other{"nanosekans {0}"}
            }
            second{
                dnam{"daƙiƙoƙi"}
                one{"daƙiƙa {0}"}
                other{"daƙiƙoƙi {0}"}
                per{"{0} a daƙiƙa"}
            }
            week{
                dnam{"makonni"}
                one{"mako {0}"}
                other{"makonni {0}"}
                per{"{0} a mako"}
            }
            year{
                dnam{"shekaru"}
                one{"shekara {0}"}
                other{"shekaru {0}"}
                per{"{0} a shekara"}
            }
        }
        electric{
            ampere{
                dnam{"amperes"}
                one{"ampere {0}"}
                other{"amperes {0}"}
            }
            milliampere{
                dnam{"milliamperes"}
                one{"milliamperes {0}"}
                other{"milliamperes {0}"}
            }
            ohm{
                dnam{"ohms"}
                one{"ohm {0}"}
                other{"ohms {0}"}
            }
            volt{
                dnam{"volts"}
                one{"volt {0}"}
                other{"volts {0}"}
            }
        }
        energy{
            british-thermal-unit{
                dnam{"British thermal units"}
                one{"British thermal unit {0}"}
                other{"British thermal units {0}"}
            }
            calorie{
                dnam{"kaloris"}
                one{"kalori {0}"}
                other{"kaloris {0}"}
            }
            electronvolt{
                dnam{"electronvolts"}
                one{"electronvolt {0}"}
                other{"electronvolts {0}"}
            }
            foodcalorie{
                dnam{"Kaloris"}
                one{"Kalori {0}"}
                other{"Kaloris {0}"}
            }
            joule{
                dnam{"joules"}
                one{"joule {0}"}
                other{"joules {0}"}
            }
            kilocalorie{
                dnam{"kilokaloris"}
                one{"kilokalori {0}"}
                other{"kilokaloris {0}"}
            }
            kilojoule{
                dnam{"kilojoules"}
                one{"kilojoule {0}"}
                other{"kilojoules {0}"}
            }
            kilowatt-hour{
                dnam{"kilowatt-hours"}
                one{"kilowatt hour {0}"}
                other{"kilowatt-hours {0}"}
            }
            therm-us{
                one{"US therm {0}"}
                other{"US therms {0}"}
            }
        }
        force{
            newton{
                dnam{"newtons"}
                one{"newton {0}"}
                other{"newtons {0}"}
            }
            pound-force{
                dnam{"pounds of force"}
                one{"pound of force {0}"}
                other{"pounds of force {0}"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahertz"}
                one{"gigahertz {0}"}
                other{"gigahertz {0}"}
            }
            hertz{
                dnam{"hertz"}
                one{"hertz {0}"}
                other{"hertz {0}"}
            }
            kilohertz{
                dnam{"kilohertz"}
                one{"kilohertz {0}"}
                other{"kilohertz {0}"}
            }
            megahertz{
                dnam{"megahertz"}
                one{"megahertz {0}"}
                other{"megahertz {0}"}
            }
        }
        graphics{
            dot{
                dnam{"aya"}
                one{"aya {0}"}
                other{"aya {0}"}
            }
            dot-per-centimeter{
                dnam{"ayoyi a sentimita"}
                one{"{0} aya a sentimita"}
                other{"{0} ayoyi a sentimita"}
            }
            dot-per-inch{
                dnam{"ayoyi a inci"}
                one{"{0} aya a inci"}
                other{"{0} ayoyi a inci"}
            }
            em{
                dnam{"typographic em"}
                one{"em {0}"}
                other{"{0} ems"}
            }
            megapixel{
                dnam{"megafikzels"}
                one{"megafikzel {0}"}
                other{"megafikzels {0}"}
            }
            pixel{
                dnam{"fikzel"}
                one{"fikzel {0}"}
                other{"fikzels {0}"}
            }
            pixel-per-centimeter{
                dnam{"fikzels a sentimita"}
                one{"{0} fikzel a sentimita"}
                other{"{0} fikzels a sentimita"}
            }
            pixel-per-inch{
                dnam{"fikzel a inci"}
                one{"{0} fikzel a inci"}
                other{"{0} fikzels a inci"}
            }
        }
        length{
            astronomical-unit{
                dnam{"astronomical units"}
                one{"astronomical unit {0}"}
                other{"astronomical units {0}"}
            }
            centimeter{
                dnam{"sentimitoci"}
                one{"sentimita {0}"}
                other{"sentimitoci {0}"}
                per{"{0} a sentimita"}
            }
            decimeter{
                dnam{"disimitoci"}
                one{"disimita {0}"}
                other{"disimitoci {0}"}
            }
            earth-radius{
                dnam{"earth radius"}
                one{"earth radius {0}"}
                other{"earth radius {0}"}
            }
            foot{
                dnam{"ƙafafu"}
                one{"ƙafa {0}"}
                other{"ƙafafu {0}"}
                per{"{0} a ƙafa"}
            }
            inch{
                dnam{"incina"}
                one{"inci {0}"}
                other{"incina {0}"}
                per{"{0} a inci"}
            }
            kilometer{
                dnam{"kilomitoci"}
                one{"kilomita {0}"}
                other{"kilomitoci {0}"}
                per{"{0} a kilomita"}
            }
            light-year{
                dnam{"light years"}
                one{"light year {0}"}
                other{"light years {0}"}
            }
            meter{
                dnam{"mitoci"}
                one{"mita {0}"}
                other{"mitoci {0}"}
                per{"{0} a mita"}
            }
            micrometer{
                dnam{"makiromitoci"}
                one{"makiromita {0}"}
                other{"makiromitoci {0}"}
            }
            mile{
                dnam{"mil-mil"}
                one{"mil {0}"}
                other{"mil-mil {0}"}
            }
            mile-scandinavian{
                dnam{"mile-scandinavian"}
                one{"mile-scandinavian {0}"}
                other{"miles-scandinavian {0}"}
            }
            millimeter{
                dnam{"milimitoci"}
                one{"milimita {0}"}
                other{"milimitoci {0}"}
            }
            nanometer{
                dnam{"nanomitoci"}
                one{"nanomita {0}"}
                other{"nanomitoci {0}"}
            }
            nautical-mile{
                dnam{"nautical miles"}
                one{"nautical mile {0}"}
                other{"nautical miles {0}"}
            }
            parsec{
                dnam{"fasek"}
                one{"fasek {0}"}
                other{"fasekoki {0}"}
            }
            picometer{
                dnam{"fikomitoci"}
                one{"fikomita {0}"}
                other{"fikomitoci {0}"}
            }
            point{
                dnam{"makuna"}
                one{"maki {0}"}
                other{"makuna {0}"}
            }
            solar-radius{
                dnam{"solar radii"}
                one{"solar radius {0}"}
                other{"solar radii {0}"}
            }
            yard{
                dnam{"yaduka"}
                one{"yadi {0}"}
                other{"yaduka {0}"}
            }
        }
        light{
            candela{
                dnam{"candela"}
                one{"candela {0}"}
                other{"candela {0}"}
            }
            lumen{
                dnam{"lumen"}
                one{"lumen {0}"}
                other{"lumen {0}"}
            }
            lux{
                dnam{"lux"}
                one{"lux {0}"}
                other{"lux {0}"}
            }
            solar-luminosity{
                one{"solar luminosity {0}"}
                other{"solar luminosities {0}"}
            }
        }
        mass{
            carat{
                dnam{"carats"}
                one{"carat {0}"}
                other{"carats {0}"}
            }
            dalton{
                dnam{"daltons"}
                one{"dalton {0}"}
                other{"daltons {0}"}
            }
            earth-mass{
                dnam{"Earth masses"}
                one{"Earth mas {0}"}
                other{"Earth masses {0}"}
            }
            grain{
                dnam{"ƙwaya"}
                one{"ƙwaya {0}"}
                other{"ƙwaya {0}"}
            }
            gram{
                dnam{"giram-giram"}
                one{"giram {0}"}
                other{"giram-giram {0}"}
                per{"{0} a giram"}
            }
            kilogram{
                dnam{"kilogiramgiram"}
                one{"kilogiram {0}"}
                other{"kilogiramgiram {0}"}
                per{"{0} a kilogiram"}
            }
            metric-ton{
                dnam{"metric tons"}
                one{"metric ton {0}"}
                other{"metric tons {0}"}
            }
            microgram{
                dnam{"makirogiramgiram"}
                one{"makirogiram {0}"}
                other{"makirogiramgiram {0}"}
            }
            milligram{
                dnam{"milligiramgiram"}
                one{"milligiram {0}"}
                other{"milligiramgiram {0}"}
            }
            ounce{
                dnam{"oza-oza"}
                one{"oza {0}"}
                other{"oza-oza {0}"}
                per{"{0} a oza"}
            }
            ounce-troy{
                dnam{"oza-ozar troy"}
                one{"oza troy {0}"}
                other{"oza-ozar troy {0}"}
            }
            pound{
                one{"laba {0}"}
                other{"laba-laba {0}"}
            }
            solar-mass{
                dnam{"solar masses"}
                one{"solar mas {0}"}
                other{"solar masses {0}"}
            }
            ton{
                dnam{"tan-tan"}
                one{"tan {0}"}
                other{"tan-tan {0}"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawatwat"}
                one{"gigawat {0}"}
                other{"gigawatwat {0}"}
            }
            horsepower{
                dnam{"ƙarfin inji"}
                one{"ƙarfin inji {0}"}
                other{"ƙarfin inji {0}"}
            }
            kilowatt{
                dnam{"kilowatwat"}
                one{"kilowat {0}"}
                other{"kilowatwat {0}"}
            }
            megawatt{
                dnam{"megawatwat"}
                one{"megawat {0}"}
                other{"megawatwat {0}"}
            }
            milliwatt{
                dnam{"milliwatwat"}
                one{"milliwat {0}"}
                other{"milliwatwat {0}"}
            }
            watt{
                dnam{"wat-wat"}
                one{"wat {0}"}
                other{"wat-wat {0}"}
            }
        }
        pressure{
            atmosphere{
                dnam{"yanaye-yanaye"}
                one{"yanayi {0}"}
                other{"yanaye-yanaye {0}"}
            }
            bar{
                dnam{"sanduna"}
                one{"sanda {0}"}
                other{"anduna {0}"}
            }
            hectopascal{
                dnam{"hectopascals"}
                one{"hectopascal {0}"}
                other{"hectopascals {0}"}
            }
            inch-ofhg{
                dnam{"incinan zaiba"}
                one{"incin zaiba {0}"}
                other{"incinan zaiba {0}"}
            }
            kilopascal{
                dnam{"kilopascals"}
                one{"kilopascal {0}"}
                other{"kilopascals {0}"}
            }
            megapascal{
                dnam{"megapascals"}
                one{"megapascal {0}"}
                other{"megapascals {0}"}
            }
            millibar{
                dnam{"millibars"}
                one{"millibar {0}"}
                other{"millibars {0}"}
            }
            millimeter-ofhg{
                dnam{"millimitocin zaiba"}
                one{"millimitar zaiba {0}"}
                other{"millimitocin zaiba {0}"}
            }
            pascal{
                dnam{"pascals"}
                one{"pascal {0}"}
                other{"pascals {0}"}
            }
            pound-force-per-square-inch{
                dnam{"laba-laba a sikwaya inci"}
                one{"laba a sikwaya inci {0}"}
                other{"laba-laba a sikwaya inci {0}"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomitoci a saʼa"}
                one{"kilomita a sa'a {0}"}
                other{"kilomitoci a sa'a {0}"}
            }
            knot{
                dnam{"knots"}
                one{"knot {0}"}
                other{"knots {0}"}
            }
            meter-per-second{
                dnam{"mitoci a daƙiƙa"}
                one{"mita a daƙiƙa {0}"}
                other{"mitoci a daƙiƙa {0}"}
            }
            mile-per-hour{
                dnam{"mil-mil a saʼa"}
                one{"mil a sa'a {0}"}
                other{"mil-mil a sa'a {0}"}
            }
        }
        temperature{
            celsius{
                dnam{"digiri-digiri Selsiyas"}
                one{"digiri Selsiyas {0}"}
                other{"digiri-digiri Selsiyas {0}"}
            }
            fahrenheit{
                dnam{"digiri-digiri faranhit"}
                one{"digiri faranhit {0}"}
                other{"digiri-digiri faranhit {0}"}
            }
            generic{
                one{"digiri {0}"}
                other{"digiri-digiri {0}"}
            }
            kelvin{
                dnam{"kelvins"}
                one{"kelvin {0}"}
                other{"kelvins {0}"}
            }
        }
        torque{
            newton-meter{
                dnam{"newton-meters"}
                one{"newton-meter {0}"}
                other{"newton-meters {0}"}
            }
            pound-force-foot{
                dnam{"pound-feet"}
                one{"pound-force-foot {0}"}
                other{"pound-feet {0}"}
            }
        }
        volume{
            acre-foot{
                dnam{"eka-ƙafafu"}
                one{"eka-ƙafa {0}"}
                other{"eka-ƙafafu {0}"}
            }
            barrel{
                dnam{"ganguna"}
                one{"ganga {0}"}
                other{"ganguna {0}"}
            }
            centiliter{
                dnam{"sentilitoci"}
                one{"sentilita {0}"}
                other{"sentilitoci {0}"}
            }
            cubic-centimeter{
                dnam{"kubik sentimitoci"}
                one{"kubik sentimita {0}"}
                other{"kubik sentimitoci {0}"}
                per{"{0} a kubik sentimita"}
            }
            cubic-foot{
                dnam{"kubik ƙafafu"}
                one{"kubik ƙafa {0}"}
                other{"kubik ƙafafu {0}"}
            }
            cubic-inch{
                dnam{"kubic incina"}
                one{"kubik inci {0}"}
                other{"kubik incina {0}"}
            }
            cubic-kilometer{
                dnam{"kubik kilomitoci"}
                one{"kubik kilomita {0}"}
                other{"kubik kilomitoci {0}"}
            }
            cubic-meter{
                dnam{"kubic mitoci"}
                one{"kubic mita {0}"}
                other{"kubic mitoci {0}"}
                per{"{0} a kubic mita"}
            }
            cubic-mile{
                dnam{"kubik mil-mil"}
                one{"kubik mil {0}"}
                other{"kubik mil-mil {0}"}
            }
            cubic-yard{
                dnam{"kubik yaduka"}
                one{"kubik yadi {0}"}
                other{"kubik yaduka {0}"}
            }
            cup{
                dnam{"kofuna"}
                one{"kofi {0}"}
                other{"kofuna {0}"}
            }
            cup-metric{
                dnam{"metric cups"}
                one{"metric cup {0}"}
                other{"metric cups {0}"}
            }
            deciliter{
                dnam{"desilitoci"}
                one{"desilita {0}"}
                other{"desilitoci {0}"}
            }
            dessert-spoon{
                dnam{"dessert spoon"}
                one{"dessert spoon {0}"}
                other{"dessert spoon {0}"}
            }
            dessert-spoon-imperial{
                dnam{"Imp. dessert spoon"}
                one{"Imp. dessert spoon {0}"}
                other{"Imp. dessert spoon {0}"}
            }
            dram{
                dnam{"dram"}
                one{"dram {0}"}
                other{"{0} dram"}
            }
            drop{
                dnam{"ɗigo"}
                one{"ɗigo {0}"}
                other{"ɗigo {0}"}
            }
            fluid-ounce{
                dnam{"fluid ounces"}
                one{"fluid ounce {0}"}
                other{"fluid ounces {0}"}
            }
            fluid-ounce-imperial{
                dnam{"Imp. fluid ounces"}
                one{"Imp. fluid ounce {0}"}
                other{"Imp. fluid ounces {0}"}
            }
            gallon{
                dnam{"galan-galan"}
                one{"galan {0}"}
                other{"galan-galan {0}"}
                per{"{0} a galan"}
            }
            gallon-imperial{
                dnam{"Imp. gallons"}
                one{"Imp. gallon {0}"}
                other{"Imp. gallons {0}"}
                per{"{0} a Imp. gallons"}
            }
            hectoliter{
                dnam{"hektolitoci"}
                one{"hektolita {0}"}
                other{"hektolitoci {0}"}
            }
            liter{
                dnam{"litoci"}
                one{"lita {0}"}
                other{"litoci {0}"}
                per{"{0} a lita"}
            }
            megaliter{
                dnam{"megalitoci"}
                one{"megalita {0}"}
                other{"megalitoci {0}"}
            }
            milliliter{
                dnam{"millimitoci"}
                one{"millimita {0}"}
                other{"millimitoci {0}"}
            }
            pint{
                dnam{"pints"}
                one{"pint {0}"}
                other{"pints {0}"}
            }
            pint-metric{
                dnam{"metric pints"}
                one{"metric pint {0}"}
                other{"metric pints {0}"}
            }
            quart{
                dnam{"quarts"}
                one{"quart {0}"}
                other{"quarts {0}"}
            }
            quart-imperial{
                dnam{"Imp. quart"}
                one{"{0}"}
                other{"Imp. quart {0}"}
            }
            tablespoon{
                dnam{"manyan cokula"}
                one{"babban cokali {0}"}
                other{"manyan cokula {0}"}
            }
            teaspoon{
                dnam{"ƙananan cokula"}
                one{"ƙaramin cokali {0}"}
                other{"ƙananan cokula {0}"}
            }
        }
    }
    unitsNarrow{
        concentr{
            percent{
                one{"%{0}"}
                other{"%{0}"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                dnam{"L/100km"}
                one{"L/100km"}
                other{"L/100km {0}"}
            }
        }
        coordinate{
            east{"G{0}"}
            north{"A{0}"}
            south{"K{0}"}
            west{"Y{0}"}
        }
        duration{
            day{
                dnam{"rana"}
                one{"r{0}"}
                other{"r{0}"}
            }
            hour{
                dnam{"saʼa"}
                one{"s{0}"}
                other{"s{0}"}
            }
            millisecond{
                dnam{"msek"}
                one{"ms {0}"}
                other{"ms {0}"}
            }
            minute{
                dnam{"mnt"}
                one{"mtn"}
                other{"minti {0}"}
            }
            month{
                dnam{"wata"}
                one{"w{0}"}
                other{"w{0}"}
            }
            second{
                dnam{"daƙ"}
                one{"d {0}"}
                other{"d {0}"}
            }
            week{
                dnam{"mk"}
                one{"m{0}"}
                other{"m{0}"}
            }
            year{
                dnam{"shkr"}
                one{"shkr {0}"}
                other{"s{0}"}
            }
        }
        length{
            centimeter{
                one{"cm{0}"}
                other{"cm{0}"}
            }
            kilometer{
                one{"km{0}"}
                other{"km{0}"}
            }
            meter{
                dnam{"m"}
                one{"m{0}"}
                other{"m{0}"}
            }
            millimeter{
                one{"mm{0}"}
                other{"mm{0}"}
            }
        }
        mass{
            gram{
                dnam{"giram"}
                one{"g{0}"}
                other{"g{0}"}
            }
            kilogram{
                one{"kg{0}"}
                other{"kg{0}"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"km/s{0}"}
                other{"km/s{0}"}
            }
        }
        temperature{
            celsius{
                dnam{"°S"}
                one{"S°{0}"}
                other{"S°{0}"}
            }
        }
        volume{
            liter{
                dnam{"lita"}
                one{"L{0}"}
                other{"L{0}"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                one{"G {0}"}
                other{"G {0}"}
            }
            meter-per-square-second{
                dnam{"meters/sec²"}
                one{"m/s² {0}"}
                other{"m/s² {0}"}
            }
        }
        angle{
            arc-minute{
                dnam{"arcmins"}
                one{"arcmin {0}"}
                other{"arcmin {0}"}
            }
            arc-second{
                dnam{"arcsecs"}
                one{"arcsec {0}"}
                other{"arcsec {0}"}
            }
            degree{
                dnam{"degrees"}
                one{"deg {0}"}
                other{"deg {0}"}
            }
            radian{
                dnam{"radian"}
                one{"rad {0}"}
                other{"rad {0}"}
            }
            revolution{
                one{"rev {0}"}
                other{"rev {0}"}
            }
        }
        area{
            acre{
                dnam{"ekoki"}
                one{"ek {0}"}
                other{"ek {0}"}
            }
            dunam{
                dnam{"dunams"}
                one{"dunam {0}"}
                other{"dunam {0}"}
            }
            hectare{
                dnam{"hektoci"}
                one{"ha {0}"}
                other{"ha {0}"}
            }
            square-centimeter{
                one{"cm² {0}"}
                other{"cm² {0}"}
            }
            square-foot{
                dnam{"sk ƙafa"}
                one{"sk ƙf {0}"}
                other{"sk ƙf {0}"}
            }
            square-inch{
                dnam{"incina²"}
                one{"in² {0}"}
                other{"in² {0}"}
            }
            square-kilometer{
                one{"km² {0}"}
                other{"km² {0}"}
            }
            square-meter{
                dnam{"mitoci²"}
                one{"m² {0}"}
                other{"m² {0}"}
            }
            square-mile{
                dnam{"sk mil-mil"}
                one{"sq mi {0}"}
                other{"sq mi {0}"}
            }
            square-yard{
                dnam{"yaduna²"}
                one{"yd² {0}"}
                other{"yd² {0}"}
            }
        }
        concentr{
            karat{
                dnam{"karats"}
                one{"kt {0}"}
                other{"kt {0}"}
            }
            milligram-per-deciliter{
                one{"mg/dL {0}"}
                other{"mg/dL {0}"}
            }
            millimole-per-liter{
                dnam{"millimol/liter"}
                one{"mmol/L {0}"}
                other{"mmol/L {0}"}
            }
            mole{
                dnam{"mole"}
                one{"mol {0}"}
                other{"mol {0}"}
            }
            percent{
                dnam{"kaso"}
            }
            permille{
                dnam{"permille"}
                one{"‰{0}"}
                other{"‰{0}"}
            }
            permillion{
                dnam{"parts/million"}
                one{"ppm {0}"}
                other{"ppm {0}"}
            }
            permyriad{
                dnam{"permyriad"}
                one{"‱{0}"}
                other{"‱{0}"}
            }
        }
        consumption{
            liter-per-100-kilometer{
                one{"L/100km {0}"}
                other{"L/100km {0}"}
            }
            liter-per-kilometer{
                dnam{"litoci/km"}
                one{"L/km {0}"}
                other{"L/km {0}"}
            }
            mile-per-gallon{
                dnam{"mil-mil/gal"}
                one{"mag {0}"}
                other{"mag {0}"}
            }
            mile-per-gallon-imperial{
                dnam{"mil-mil/gal Imp."}
                one{"mag Imp. {0}"}
                other{"mag Imp. {0}"}
            }
        }
        coordinate{
            east{"G {0}"}
            north{"A {0}"}
            south{"K {0}"}
            west{"Y {0}"}
        }
        digital{
            bit{
                one{"bit {0}"}
                other{"bit {0}"}
            }
            byte{
                one{"byte {0}"}
                other{"byte {0}"}
            }
            gigabit{
                dnam{"Gbit"}
                one{"Gb {0}"}
                other{"Gb {0}"}
            }
            gigabyte{
                dnam{"GByte"}
                one{"GB {0}"}
                other{"GB {0}"}
            }
            kilobit{
                dnam{"kbit"}
                one{"kb {0}"}
                other{"kb {0}"}
            }
            kilobyte{
                dnam{"KByte"}
                one{"kB {0}"}
                other{"kB {0}"}
            }
            megabit{
                dnam{"Mbit"}
                one{"Mb {0}"}
                other{"Mb {0}"}
            }
            megabyte{
                dnam{"MByte"}
                one{"MB {0}"}
                other{"MB {0}"}
            }
            petabyte{
                dnam{"PByte"}
                one{"PB {0}"}
                other{"PB {0}"}
            }
            terabit{
                dnam{"Tbit"}
                one{"Tb {0}"}
                other{"Tb {0}"}
            }
            terabyte{
                dnam{"TByte"}
                one{"TB {0}"}
                other{"TB {0}"}
            }
        }
        duration{
            century{
                dnam{"ƙ"}
                one{"ƙ {0}"}
                other{"ƙ {0}"}
            }
            day{
                dnam{"ranaku"}
                one{"rana {0}"}
                other{"ranaku {0}"}
                per{"{0}/r"}
            }
            decade{
                dnam{"shkr gm"}
                one{"shkr gm {0}"}
                other{"shkr gm {0}"}
            }
            hour{
                dnam{"saʼoʼi"}
                one{"s {0}"}
                other{"s {0}"}
                per{"{0}/saʼa"}
            }
            microsecond{
                dnam{"µsecs"}
                one{"µs {0}"}
                other{"µs {0}"}
            }
            millisecond{
                dnam{"milseks"}
                one{"ms {0}"}
                other{"ms {0}"}
            }
            minute{
                dnam{"mintc"}
                one{"mnt {0}"}
                other{"mnt {0}"}
                per{"{0}/mnt"}
            }
            month{
                dnam{"watanni"}
                one{"wat {0}"}
                other{"wtnn {0}"}
                per{"{0}/w"}
            }
            nanosecond{
                dnam{"nanoseks"}
                one{"ns {0}"}
                other{"ns {0}"}
            }
            second{
                dnam{"daƙ"}
                one{"d {0}"}
                other{"d {0}"}
                per{"{0}/d"}
            }
            week{
                dnam{"makonni"}
                one{"mk {0}"}
                other{"mkn {0}"}
                per{"{0}/m"}
            }
            year{
                dnam{"shekaru"}
                one{"shkr {0}"}
                other{"shkru {0}"}
                per{"{0}/s"}
            }
        }
        electric{
            ampere{
                one{"A {0}"}
                other{"A {0}"}
            }
            milliampere{
                dnam{"milliamps"}
                one{"mA {0}"}
                other{"mA {0}"}
            }
            ohm{
                dnam{"ohm"}
                one{"Ω {0}"}
                other{"Ω {0}"}
            }
            volt{
                dnam{"volts"}
                one{"V {0}"}
                other{"V {0}"}
            }
        }
        energy{
            british-thermal-unit{
                dnam{"BTU"}
                one{"Btu {0}"}
                other{"Btu {0}"}
            }
            calorie{
                dnam{"kal"}
                one{"kal {0}"}
                other{"kal {0}"}
            }
            electronvolt{
                dnam{"electronvolt"}
                one{"eV {0}"}
                other{"eV {0}"}
            }
            foodcalorie{
                dnam{"Kal"}
                one{"Kal {0}"}
                other{"Kal {0}"}
            }
            joule{
                dnam{"joules"}
                one{"J {0}"}
                other{"J {0}"}
            }
            kilocalorie{
                one{"kcal {0}"}
                other{"kcal {0}"}
            }
            kilojoule{
                dnam{"kilojoule"}
                one{"kj {0}"}
                other{"kj {0}"}
            }
            kilowatt-hour{
                dnam{"kW-hour"}
                one{"kWh {0}"}
                other{"kWh {0}"}
            }
            therm-us{
                one{"US therm {0}"}
                other{"US therm {0}"}
            }
        }
        force{
            newton{
                dnam{"newton"}
                one{"N {0}"}
                other{"N {0}"}
            }
            pound-force{
                dnam{"pounds-force"}
                one{"lbf {0}"}
                other{"lbf {0}"}
            }
        }
        frequency{
            gigahertz{
                one{"GHz {0}"}
                other{"GHz {0}"}
            }
            hertz{
                one{"Hz {0}"}
                other{"Hz {0}"}
            }
            kilohertz{
                one{"kHz {0}"}
                other{"kHz {0}"}
            }
            megahertz{
                one{"MHz {0}"}
                other{"MHz {0}"}
            }
        }
        graphics{
            dot{
                dnam{"aya"}
                one{"aya {0}"}
                other{"aya {0}"}
            }
            dot-per-centimeter{
                one{"dpcm {0}"}
                other{"dpcm {0}"}
            }
            dot-per-inch{
                one{"dpi {0}"}
                other{"dpi {0}"}
            }
            em{
                one{"em {0}"}
                other{"em {0}"}
            }
            megapixel{
                dnam{"megafikzels"}
                one{"MP {0}"}
                other{"MP {0}"}
            }
            pixel{
                dnam{"fikzels"}
                one{"px {0}"}
                other{"px {0}"}
            }
            pixel-per-centimeter{
                dnam{"ppcm"}
                one{"{0} ppcm"}
                other{"{0} ppcm"}
            }
            pixel-per-inch{
                one{"ppi {0}"}
                other{"ppi {0}"}
            }
        }
        length{
            astronomical-unit{
                one{"au {0}"}
                other{"au {0}"}
            }
            centimeter{
                one{"cm {0}"}
                other{"cm {0}"}
            }
            decimeter{
                one{"dm {0}"}
                other{"dm {0}"}
            }
            earth-radius{
                one{"R⊕ {0}"}
                other{"R⊕ {0}"}
            }
            foot{
                dnam{"ƙafafu"}
                one{"ƙf {0}"}
                other{"ƙf {0}"}
                per{"{0}/ƙf"}
            }
            inch{
                dnam{"incina"}
                one{"in {0}"}
                other{"in {0}"}
            }
            kilometer{
                one{"km {0}"}
                other{"{0} km"}
            }
            light-year{
                dnam{"light yrs"}
                one{"ly {0}"}
                other{"ly {0}"}
            }
            meter{
                dnam{"m"}
                one{"m {0}"}
                other{"m {0}"}
            }
            micrometer{
                dnam{"µmeters"}
                one{"µm {0}"}
                other{"µm {0}"}
            }
            mile{
                dnam{"mil-mil"}
                one{"mi {0}"}
                other{"mi {0}"}
            }
            mile-scandinavian{
                one{"smi {0}"}
                other{"smi {0}"}
            }
            millimeter{
                one{"mm {0}"}
                other{"mm {0}"}
            }
            nanometer{
                one{"nm {0}"}
                other{"nm {0}"}
            }
            nautical-mile{
                one{"nmi {0}"}
                other{"nmi {0}"}
            }
            parsec{
                dnam{"fasekoki"}
                one{"pc {0}"}
                other{"pc {0}"}
            }
            picometer{
                one{"pm {0}"}
                other{"pm {0}"}
            }
            point{
                dnam{"makuna"}
                one{"mk {0}"}
                other{"mk {0}"}
            }
            solar-radius{
                dnam{"solar radii"}
                one{"R☉ {0}"}
                other{"R☉ {0}"}
            }
            yard{
                dnam{"yaduka"}
                one{"yd {0}"}
                other{"yd {0}"}
            }
        }
        light{
            candela{
                one{"cd {0}"}
                other{"cd {0}"}
            }
            lux{
                dnam{"lux"}
                one{"lx {0}"}
                other{"lx {0}"}
            }
            solar-luminosity{
                dnam{"solar luminosities"}
                one{"L☉ {0}"}
                other{"L☉ {0}"}
            }
        }
        mass{
            carat{
                dnam{"carats"}
                one{"CD {0}"}
                other{"CD {0}"}
            }
            dalton{
                dnam{"daltons"}
                one{"Da {0}"}
                other{"daltons {0}"}
            }
            earth-mass{
                dnam{"Earth masses"}
                one{"M⊕ {0}"}
                other{"M⊕ {0}"}
            }
            grain{
                dnam{"ƙwaya"}
                one{"ƙwaya {0}"}
                other{"ƙwaya {0}"}
            }
            gram{
                dnam{"giram"}
                one{"g {0}"}
                other{"g {0}"}
            }
            kilogram{
                one{"kg {0}"}
                other{"kg {0}"}
            }
            metric-ton{
                one{"t {0}"}
                other{"t {0}"}
            }
            microgram{
                one{"µg {0}"}
                other{"µg {0}"}
            }
            milligram{
                one{"mg {0}"}
                other{"mg {0}"}
            }
            ounce{
                one{"oz {0}"}
                other{"oz {0}"}
            }
            ounce-troy{
                dnam{"ozar troy"}
                one{"oz t {0}"}
                other{"oz t {0}"}
            }
            pound{
                dnam{"laba-laba"}
                one{"lb {0}"}
                other{"lb {0}"}
            }
            solar-mass{
                dnam{"solar masses"}
                one{"M☉ {0}"}
                other{"M☉ {0}"}
            }
            ton{
                dnam{"tan-tan"}
                one{"tn {0}"}
                other{"tn {0}"}
            }
        }
        power{
            gigawatt{
                one{"GW {0}"}
                other{"GW {0}"}
            }
            horsepower{
                dnam{"ƙi"}
                one{"ƙi {0}"}
                other{"ƙi {0}"}
            }
            kilowatt{
                one{"kW {0}"}
                other{"kW {0}"}
            }
            megawatt{
                one{"MW {0}"}
                other{"MW {0}"}
            }
            milliwatt{
                one{"mW {0}"}
                other{"mW {0}"}
            }
            watt{
                dnam{"wat-wat"}
                one{"W {0}"}
                other{"W {0}"}
            }
        }
        pressure{
            atmosphere{
                dnam{"yny"}
                one{"yny {0}"}
                other{"yny {0}"}
            }
            bar{
                dnam{"sanda"}
                one{"sanda {0}"}
                other{"sanda {0}"}
            }
            hectopascal{
                one{"hPa {0}"}
                other{"hPa {0}"}
            }
            inch-ofhg{
                one{"inHg {0}"}
                other{"inHg {0}"}
            }
            kilopascal{
                one{"kPa {0}"}
                other{"kPa {0}"}
            }
            megapascal{
                one{"MPa {0}"}
                other{"MPa {0}"}
            }
            millibar{
                one{"mbar {0}"}
                other{"mbar {0}"}
            }
            millimeter-ofhg{
                one{"mmHg {0}"}
                other{"mmHg {0}"}
            }
            pascal{
                one{"Pa {0}"}
                other{"Pa {0}"}
            }
            pound-force-per-square-inch{
                one{"psi {0}"}
                other{"psi {0}"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/saʼa"}
                one{"km/s {0}"}
                other{"km/s {0}"}
            }
            knot{
                one{"kn {0}"}
                other{"kn {0}"}
            }
            meter-per-second{
                dnam{"mitoci/daƙ"}
                one{"m/s {0}"}
                other{"m/s {0}"}
            }
            mile-per-hour{
                dnam{"mil-mil/saʼa"}
                one{"mas {0}"}
                other{"mas {0}"}
            }
        }
        temperature{
            celsius{
                dnam{"dig. S"}
                one{"°S{0}"}
                other{"°S{0}"}
            }
            fahrenheit{
                dnam{"dig. F"}
                one{"F°{0}"}
                other{"F°{0}"}
            }
            generic{
                one{"°{0}"}
                other{"°{0}"}
            }
            kelvin{
                one{"K {0}"}
                other{"K {0}"}
            }
        }
        torque{
            newton-meter{
                one{"N⋅m {0}"}
                other{"N⋅m {0}"}
            }
            pound-force-foot{
                one{"lbf⋅ft {0}"}
                other{"lbf⋅ft {0}"}
            }
        }
        volume{
            acre-foot{
                dnam{"eka ƙf"}
                one{"ek ƙf {0}"}
                other{"ek ƙf {0}"}
            }
            barrel{
                one{"gang {0}"}
                other{"gang {0}"}
            }
            centiliter{
                one{"cL {0}"}
                other{"cL {0}"}
            }
            cubic-centimeter{
                one{"cm³ {0}"}
                other{"cm³ {0}"}
            }
            cubic-foot{
                dnam{"ƙafafu³"}
                one{"ƙf³ {0}"}
                other{"ƙf³ {0}"}
            }
            cubic-inch{
                dnam{"incina³"}
                one{"in³ {0}"}
                other{"in³ {0}"}
            }
            cubic-kilometer{
                one{"km³ {0}"}
                other{"km³ {0}"}
            }
            cubic-meter{
                one{"m³ {0}"}
                other{"m³ {0}"}
            }
            cubic-mile{
                one{"mi³ {0}"}
                other{"mi³ {0}"}
            }
            cubic-yard{
                dnam{"yaduka³"}
                one{"yd³ {0}"}
                other{"yd³ {0}"}
            }
            cup{
                dnam{"kofuna"}
                one{"k {0}"}
                other{"k {0}"}
            }
            cup-metric{
                one{"mc {0}"}
                other{"mc {0}"}
            }
            deciliter{
                one{"dL {0}"}
                other{"dL {0}"}
            }
            dessert-spoon{
                one{"dstspn {0}"}
                other{"dstspn {0}"}
            }
            dessert-spoon-imperial{
                one{"dstspn Imp {0}"}
                other{"dstspn Imp {0}"}
            }
            dram{
                one{"dram fl {0}"}
                other{"dram fl {0}"}
            }
            drop{
                dnam{"ɗigo"}
                one{"ɗigo {0}"}
                other{"ɗigo {0}"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"fl oz {0}"}
                other{"fl oz {0}"}
            }
            fluid-ounce-imperial{
                dnam{"Imp. fl oz"}
                one{"fl oz Imp. {0}"}
                other{"fl oz Imp. {0}"}
            }
            gallon{
                dnam{"gal"}
                one{"gal {0}"}
                other{"gal {0}"}
            }
            gallon-imperial{
                one{"gal Imp. {0}"}
                other{"gal Imp.{0}"}
            }
            hectoliter{
                one{"hL {0}"}
                other{"hL {0}"}
            }
            jigger{
                one{"jigger {0}"}
                other{"jigger {0}"}
            }
            liter{
                dnam{"litoci"}
                one{"L {0}"}
                other{"L {0}"}
                per{"{0}/L"}
            }
            megaliter{
                one{"ML {0}"}
                other{"ML {0}"}
            }
            milliliter{
                one{"mL {0}"}
                other{"mL {0}"}
            }
            pinch{
                one{"pinch {0}"}
                other{"pinch {0}"}
            }
            pint{
                dnam{"pints"}
                one{"pt {0}"}
                other{"pt {0}"}
            }
            pint-metric{
                one{"mpt {0}"}
                other{"mpt {0}"}
            }
            quart{
                dnam{"qts"}
                one{"qt {0}"}
                other{"qt {0}"}
            }
            quart-imperial{
                one{"qt Imp. {0}"}
                other{"qt Imp. {0}"}
            }
            tablespoon{
                dnam{"bckl"}
                one{"bckl {0}"}
                other{"bckl {0}"}
            }
            teaspoon{
                dnam{"ƙmc"}
                one{"ƙmc {0}"}
                other{"{0} tsp"}
            }
        }
    }
}
