﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sw.xml
// *
// ***************************************************************************
sw{
    Version{"2.1.22.93"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"mvuto wa graviti"}
                one{"mvuto wa graviti {0}"}
                other{"mvuto wa graviti {0}"}
            }
            meter-per-second-squared{
                dnam{"mita kwa kila sekunde mraba"}
                one{"mita {0} kwa kila sekunde mraba"}
                other{"mita {0} kwa kila sekunde mraba"}
            }
        }
        angle{
            arc-minute{
                dnam{"dakika"}
                one{"dakika {0}"}
                other{"dakika {0}"}
            }
            arc-second{
                dnam{"sekunde"}
                one{"sekunde {0}"}
                other{"sekunde {0}"}
            }
            degree{
                dnam{"digrii"}
                one{"digrii {0}"}
                other{"digrii {0}"}
            }
            radian{
                dnam{"radiani"}
                one{"radiani {0}"}
                other{"radiani {0}"}
            }
            revolution{
                dnam{"mzunguko"}
                one{"mzunguko {0}"}
                other{"mizunguko {0}"}
            }
        }
        area{
            acre{
                dnam{"ekari"}
                one{"ekari {0}"}
                other{"ekari {0}"}
            }
            hectare{
                dnam{"hekta"}
                one{"hekta {0}"}
                other{"hekta {0}"}
            }
            square-centimeter{
                dnam{"sentimita mraba"}
                one{"sentimita mraba {0}"}
                other{"sentimita mraba {0}"}
                per{"{0} kwa kila sentimita mraba"}
            }
            square-foot{
                dnam{"futi za mraba"}
                one{"futi {0} ya mraba"}
                other{"futi {0} za mraba"}
            }
            square-inch{
                dnam{"inchi za mraba"}
                one{"inchi {0} ya mraba"}
                other{"inchi {0} za mraba"}
                per{"{0} kwa kila inchi ya mraba"}
            }
            square-kilometer{
                dnam{"kilomita za mraba"}
                one{"kilomita {0} ya mraba"}
                other{"kilomita {0} za mraba"}
            }
            square-meter{
                dnam{"mita za mraba"}
                one{"mita {0} ya mraba"}
                other{"mita {0} za mraba"}
                per{"{0} kwa kila mita ya mraba"}
            }
            square-mile{
                dnam{"maili za mraba"}
                one{"maili {0} ya mraba"}
                other{"maili {0} za mraba"}
            }
            square-yard{
                dnam{"yadi za mraba"}
                one{"yadi {0} ya mraba"}
                other{"yadi {0} za mraba"}
            }
        }
        compound{
            per{"{0} kwa kila {1}"}
        }
        concentr{
            karat{
                dnam{"karati"}
                one{"karati {0}"}
                other{"karati {0}"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"lita kwa kilomita 100"}
                one{"lita {0} kwa kilomita 100"}
                other{"lita {0} kwa kilomita 100"}
            }
            liter-per-kilometer{
                dnam{"lita kwa kila kilomita"}
                one{"lita {0} kwa kilomita"}
                other{"lita {0} kwa kilomita"}
            }
            mile-per-gallon{
                dnam{"maili kwa kila galoni"}
                one{"maili {0} kwa kila galoni"}
                other{"maili {0} kwa kila galoni"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"biti"}
                one{"biti {0}"}
                other{"biti {0}"}
            }
            byte{
                dnam{"baiti"}
                one{"baiti {0}"}
                other{"baiti {0}"}
            }
            gigabit{
                dnam{"gigabiti"}
                one{"gigabiti {0}"}
                other{"gigabiti {0}"}
            }
            gigabyte{
                dnam{"gigabaiti"}
                one{"gigabaiti {0}"}
                other{"gigabaiti {0}"}
            }
            kilobit{
                dnam{"kilobiti"}
                one{"kilobiti {0}"}
                other{"kilobiti {0}"}
            }
            kilobyte{
                dnam{"kilobaiti"}
                one{"kilobaiti {0}"}
                other{"kilobaiti {0}"}
            }
            megabit{
                dnam{"megabiti"}
                one{"megabiti {0}"}
                other{"megabiti {0}"}
            }
            megabyte{
                dnam{"megabaiti"}
                one{"megabaiti {0}"}
                other{"megabaiti {0}"}
            }
            terabit{
                dnam{"terabiti"}
                one{"terabiti {0}"}
                other{"terabiti {0}"}
            }
            terabyte{
                dnam{"terabaiti"}
                one{"terabaiti {0}"}
                other{"terabaiti {0}"}
            }
        }
        duration{
            century{
                dnam{"karne"}
                one{"karne ya {0}"}
                other{"karne za {0}"}
            }
            day{
                dnam{"siku"}
                one{"siku {0}"}
                other{"siku {0}"}
                per{"{0} kwa siku"}
            }
            hour{
                dnam{"saa"}
                one{"saa {0}"}
                other{"saa {0}"}
                per{"{0} kwa saa"}
            }
            microsecond{
                dnam{"mikrosekunde"}
                one{"mikrosekunde {0}"}
                other{"mikrosekunde {0}"}
            }
            millisecond{
                dnam{"millisekunde"}
                one{"millisekunde {0}"}
                other{"millisekunde {0}"}
            }
            minute{
                dnam{"dakika"}
                one{"dakika {0}"}
                other{"dakika {0}"}
                per{"{0} kwa kila dakika"}
            }
            month{
                dnam{"miezi"}
                one{"mwezi {0}"}
                other{"miezi {0}"}
                per{"{0} kwa mwezi"}
            }
            nanosecond{
                dnam{"nanosekunde"}
                one{"nanosekunde {0}"}
                other{"nanosekunde {0}"}
            }
            second{
                dnam{"sekunde"}
                one{"sekunde {0}"}
                other{"sekunde {0}"}
                per{"{0} kwa kila sekunde"}
            }
            week{
                dnam{"wiki"}
                one{"wiki {0}"}
                other{"wiki {0}"}
                per{"{0} kwa wiki"}
            }
            year{
                dnam{"miaka"}
                one{"mwaka {0}"}
                other{"miaka {0}"}
                per{"{0} kwa mwaka"}
            }
        }
        electric{
            ampere{
                dnam{"ampea"}
                one{"ampea {0}"}
                other{"ampea {0}"}
            }
            milliampere{
                dnam{"miliampea"}
                one{"miliampea {0}"}
                other{"miliampea {0}"}
            }
            ohm{
                dnam{"ohm"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"volti"}
                one{"volti {0}"}
                other{"volti {0}"}
            }
        }
        energy{
            calorie{
                dnam{"kalori"}
                one{"kalori {0}"}
                other{"kalori {0}"}
            }
            foodcalorie{
                dnam{"kalori"}
                one{"kalori {0}"}
                other{"kalori {0}"}
            }
            joule{
                dnam{"jouli"}
                one{"jouli {0}"}
                other{"jouli {0}"}
            }
            kilocalorie{
                dnam{"kilokalori"}
                one{"kilokalori {0}"}
                other{"kilokalori {0}"}
            }
            kilojoule{
                dnam{"kilojuli"}
                one{"kilojuli {0}"}
                other{"kilojuli {0}"}
            }
            kilowatt-hour{
                dnam{"kilowati kwa saa"}
                one{"kilowati {0} kwa saa"}
                other{"kilowati {0} kwa saa"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahezi"}
                one{"gigahezi {0}"}
                other{"gigahezi {0}"}
            }
            hertz{
                dnam{"hezi"}
                one{"hezi {0}"}
                other{"hezi {0}"}
            }
            kilohertz{
                dnam{"kilohezi"}
                one{"kilohezi {0}"}
                other{"kilohezi {0}"}
            }
            megahertz{
                dnam{"megahezi"}
                one{"megahezi {0}"}
                other{"megahezi {0}"}
            }
        }
        length{
            astronomical-unit{
                dnam{"vipimo vya astronomia"}
                one{"kipimo {0} cha astronomia"}
                other{"vipimo {0} vya astronomia"}
            }
            centimeter{
                dnam{"sentimita"}
                one{"sentimita {0}"}
                other{"sentimita {0}"}
                per{"{0} kwa kila sentimita"}
            }
            decimeter{
                dnam{"desimita"}
                one{"desimita {0}"}
                other{"desimita {0}"}
            }
            foot{
                dnam{"futi"}
                one{"futi {0}"}
                other{"futi {0}"}
                per{"{0} kwa kila futi"}
            }
            inch{
                dnam{"inchi"}
                one{"inchi {0}"}
                other{"inchi {0}"}
                per{"{0} kwa kila inchi"}
            }
            kilometer{
                dnam{"kilomita"}
                one{"kilomita {0}"}
                other{"kilomita {0}"}
                per{"{0} kwa kila kilomita"}
            }
            light-year{
                dnam{"miaka ya mwanga"}
                one{"miaka ya mwanga {0}"}
                other{"miaka ya mwanga {0}"}
            }
            meter{
                dnam{"mita"}
                one{"mita {0}"}
                other{"mita {0}"}
                per{"{0} kwa kila mita"}
            }
            micrometer{
                dnam{"mikromita"}
                one{"mikromita {0}"}
                other{"mikromita {0}"}
            }
            mile{
                dnam{"maili"}
                one{"maili {0}"}
                other{"maili {0}"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"milimita"}
                one{"milimita {0}"}
                other{"milimita {0}"}
            }
            nanometer{
                dnam{"nanomita"}
                one{"nanomita {0}"}
                other{"nanomita {0}"}
            }
            nautical-mile{
                dnam{"maili za kibaharia"}
                one{"maili {0} ya kibaharia"}
                other{"maili {0} za kibaharia"}
            }
            parsec{
                dnam{"parsecs"}
                one{"parsec {0}"}
                other{"parsecs {0}"}
            }
            picometer{
                dnam{"pikomita"}
                one{"pikomita {0}"}
                other{"pikomita {0}"}
            }
            yard{
                dnam{"yadi"}
                one{"yadi {0}"}
                other{"yadi {0}"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"lux {0}"}
                other{"lux {0}"}
            }
        }
        mass{
            carat{
                dnam{"karati"}
                one{"karati {0}"}
                other{"karati {0}"}
            }
            gram{
                dnam{"gramu"}
                one{"gramu {0}"}
                other{"gramu {0}"}
                per{"{0} kwa kila gramu"}
            }
            kilogram{
                dnam{"kilogramu"}
                one{"kilogramu {0}"}
                other{"kilogramu {0}"}
                per{"{0} kwa kila kilogramu"}
            }
            metric-ton{
                dnam{"tani mita"}
                one{"tani mita {0}"}
                other{"tani mita {0}"}
            }
            microgram{
                dnam{"mikrogramu"}
                one{"mikrogramu {0}"}
                other{"mikrogramu {0}"}
            }
            milligram{
                dnam{"miligramu"}
                one{"miligramu {0}"}
                other{"miligramu {0}"}
            }
            ounce{
                dnam{"aunsi"}
                one{"aunsi {0}"}
                other{"aunsi {0}"}
                per{"{0} kwa kila aunsi"}
            }
            ounce-troy{
                dnam{"tola aunsi"}
                one{"tola aunsi {0}"}
                other{"tola aunsi {0}"}
            }
            pound{
                dnam{"ratili"}
                one{"ratili {0}"}
                other{"ratili {0}"}
                per{"{0} kwa kila ratili"}
            }
            ton{
                dnam{"tani"}
                one{"tani {0}"}
                other{"tani {0}"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawati"}
                one{"gigawati {0}"}
                other{"gigawati {0}"}
            }
            horsepower{
                dnam{"kipimo cha hospawa"}
                one{"kipimo cha hospawa {0}"}
                other{"kipimo cha hospawa {0}"}
            }
            kilowatt{
                dnam{"kilowati"}
                one{"kilowati {0}"}
                other{"kilowati {0}"}
            }
            megawatt{
                dnam{"megawati"}
                one{"megawati {0}"}
                other{"megawati {0}"}
            }
            milliwatt{
                dnam{"miliwati"}
                one{"miliwati {0}"}
                other{"miliwati {0}"}
            }
            watt{
                dnam{"wati"}
                one{"wati {0}"}
                other{"wati {0}"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hektopaskali"}
                one{"hektopaskali {0}"}
                other{"hektopaskali {0}"}
            }
            inch-hg{
                dnam{"inchi za zebaki"}
                one{"inchi {0} ya zebaki"}
                other{"inchi {0} za zebaki"}
            }
            millibar{
                dnam{"kipimo cha milibari"}
                one{"kipimo cha milibari {0}"}
                other{"kipimo cha milibari {0}"}
            }
            millimeter-of-mercury{
                dnam{"milimita za zebaki"}
                one{"milimita {0} ya zebaki"}
                other{"milimita {0} za zebaki"}
            }
            pound-per-square-inch{
                dnam{"pauni kwa kila inchi mraba"}
                one{"pauni {0} kwa kila inchi mraba"}
                other{"pauni {0} kwa kila inchi mraba"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomita kwa saa"}
                one{"kilomita {0} kwa saa"}
                other{"kilomita {0} kwa saa"}
            }
            knot{
                dnam{"noti"}
                one{"noti {0}"}
                other{"noti {0}"}
            }
            meter-per-second{
                dnam{"mita kwa kila sekunde"}
                one{"mita {0} kwa sekunde"}
                other{"mita {0} kwa sekunde"}
            }
            mile-per-hour{
                dnam{"maili kwa kila saa"}
                one{"maili {0} kwa saa"}
                other{"maili {0} kwa saa"}
            }
        }
        temperature{
            celsius{
                dnam{"nyuzi za selisiasi"}
                one{"nyuzi ya selisiasi {0}"}
                other{"nyuzi za selisiasi {0}"}
            }
            fahrenheit{
                dnam{"nyuzi za farenheiti"}
                one{"nyuzi za farenheiti {0}"}
                other{"nyuzi za farenheiti {0}"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"kelvini"}
                one{"kelvini {0}"}
                other{"kelvini {0}"}
            }
        }
        volume{
            acre-foot{
                dnam{"ekari futi"}
                one{"ekari futi {0}"}
                other{"ekari futi {0}"}
            }
            centiliter{
                dnam{"sentilita"}
                one{"sentilita {0}"}
                other{"sentilita {0}"}
            }
            cubic-centimeter{
                dnam{"sentimita za ujazo"}
                one{"sentimita {0} ya ujazo"}
                other{"sentimita {0} za ujazo"}
                per{"{0} kwa kila sentimita ya ujazo"}
            }
            cubic-foot{
                dnam{"futi za ujazo"}
                one{"futi {0} ya ujazo"}
                other{"futi {0} za ujazo"}
            }
            cubic-inch{
                dnam{"inchi za ujazo"}
                one{"inchi {0} ya ujazo"}
                other{"inchi {0} za ujazo"}
            }
            cubic-kilometer{
                dnam{"kilomita za ujazo"}
                one{"kilomita {0} ya ujazo"}
                other{"kilomita {0} za ujazo"}
            }
            cubic-meter{
                dnam{"mita za ujazo"}
                one{"mita {0} ya ujazo"}
                other{"mita {0} za ujazo"}
                per{"{0} kwa kila mita ya ujazo"}
            }
            cubic-mile{
                dnam{"maili za ujazo"}
                one{"maili {0} ya ujazo"}
                other{"maili {0} za ujazo"}
            }
            cubic-yard{
                dnam{"yadi za ujazo"}
                one{"yadi {0} ya ujazo"}
                other{"yadi {0} za ujazo"}
            }
            cup{
                dnam{"vikombe"}
                one{"kikombe {0}"}
                other{"vikombe {0}"}
            }
            cup-metric{
                dnam{"vikombe vya mizani"}
                one{"kikombe {0} cha mizani"}
                other{"vikombe {0} vya mizani"}
            }
            deciliter{
                dnam{"desilita"}
                one{"desilita {0}"}
                other{"desilita {0}"}
            }
            fluid-ounce{
                dnam{"aunsi za ujazo"}
                one{"aunsi {0} ya ujazo"}
                other{"aunsi {0} za ujazo"}
            }
            gallon{
                dnam{"galoni"}
                one{"galoni {0}"}
                other{"galoni {0}"}
                per{"{0} kwa kila galoni"}
            }
            hectoliter{
                dnam{"hektolita"}
                one{"hektolita {0}"}
                other{"hektolita {0}"}
            }
            liter{
                dnam{"lita"}
                one{"lita {0}"}
                other{"lita {0}"}
                per{"{0} kwa kila lita"}
            }
            megaliter{
                dnam{"megalita"}
                one{"megalita {0}"}
                other{"megalita {0}"}
            }
            milliliter{
                dnam{"mililita"}
                one{"mililita {0}"}
                other{"mililita {0}"}
            }
            pint{
                dnam{"painti"}
                one{"painti {0}"}
                other{"painti {0}"}
            }
            pint-metric{
                dnam{"painti za mizani"}
                one{"painti {0} ya mizani"}
                other{"painti {0} za mizani"}
            }
            quart{
                dnam{"kwati"}
                one{"kwati {0}"}
                other{"kwati {0}"}
            }
            tablespoon{
                dnam{"vijiko vikubwa"}
                one{"kijiko {0} kikubwa"}
                other{"vijiko {0} vikubwa"}
            }
            teaspoon{
                dnam{"vijiko vidogo"}
                one{"kijiko {0} kidogo"}
                other{"vijiko {0} vidogo"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"G {0}"}
                other{"G {0}"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"Ekari {0}"}
                other{"Ekari {0}"}
            }
            hectare{
                one{"ha {0}"}
                other{"ha {0}"}
            }
            square-foot{
                one{"ft² {0}"}
                other{"ft² {0}"}
            }
            square-kilometer{
                one{"km² {0}"}
                other{"km² {0}"}
            }
            square-meter{
                one{"m² {0}"}
                other{"m² {0}"}
            }
            square-mile{
                one{"mi² {0}"}
                other{"mi² {0}"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"lita kwa kilomita 100"}
                one{"{0}L/100km"}
                other{"{0}L/100km"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        duration{
            day{
                dnam{"siku"}
                one{"siku {0}"}
                other{"siku {0}"}
            }
            hour{
                dnam{"saa"}
                one{"saa {0}"}
                other{"saa {0}"}
            }
            millisecond{
                dnam{"millisekunde"}
                one{"ms {0}"}
                other{"ms {0}"}
            }
            minute{
                dnam{"dakika"}
                one{"dakika {0}"}
                other{"dakika {0}"}
            }
            month{
                dnam{"mwezi"}
                one{"mwezi {0}"}
                other{"miezi {0}"}
            }
            second{
                dnam{"sekunde"}
                one{"sekunde {0}"}
                other{"sekunde {0}"}
            }
            week{
                dnam{"wiki"}
                one{"wiki {0}"}
                other{"wiki {0}"}
            }
            year{
                dnam{"mwaka"}
                one{"mwaka {0}"}
                other{"miaka {0}"}
            }
        }
        electric{
            volt{
                dnam{"volti"}
            }
        }
        length{
            centimeter{
                dnam{"sentimita"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                one{"Futi {0}"}
                other{"Futi {0}"}
            }
            inch{
                dnam{"Inchi"}
                one{"Inchi {0}"}
                other{"Inchi {0}"}
            }
            kilometer{
                dnam{"km"}
                one{"km {0}"}
                other{"km {0}"}
            }
            light-year{
                one{"ly {0}"}
                other{"ly {0}"}
            }
            meter{
                dnam{"mita"}
                one{"mita {0}"}
                other{"mita {0}"}
            }
            mile{
                one{"Maili {0}"}
                other{"Maili {0}"}
            }
            millimeter{
                dnam{"milimita"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                one{"pm {0}"}
                other{"pm {0}"}
            }
            yard{
                one{"Yadi {0}"}
                other{"Yadi {0}"}
            }
        }
        mass{
            gram{
                dnam{"gramu"}
                one{"gramu {0}"}
                other{"gramu {0}"}
            }
            kilogram{
                dnam{"kilogramu"}
                one{"kg {0}"}
                other{"kg {0}"}
            }
            ounce{
                one{"Aunsi {0}"}
                other{"Aunsi {0}"}
            }
            pound{
                one{"Ratili {0}"}
                other{"Ratili {0}"}
            }
        }
        power{
            horsepower{
                one{"hp {0}"}
                other{"hp {0}"}
            }
            kilowatt{
                one{"kW {0}"}
                other{"kW {0}"}
            }
            watt{
                dnam{"wati"}
                one{"Wati {0}"}
                other{"Wati {0}"}
            }
        }
        pressure{
            hectopascal{
                one{"hPa {0}"}
                other{"hPa {0}"}
            }
            inch-hg{
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                one{"mbar {0}"}
                other{"mbar {0}"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomita kwa saa"}
                one{"km {0}/saa"}
                other{"km {0}/saa"}
            }
            meter-per-second{
                one{"m {0}/s"}
                other{"m {0}/s"}
            }
            mile-per-hour{
                one{"mi {0}/saa"}
                other{"mi {0}/saa"}
            }
        }
        temperature{
            celsius{
                dnam{"nyuzi za selisiasi"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"km³ {0}"}
                other{"km³ {0}"}
            }
            cubic-mile{
                one{"mi³ {0}"}
                other{"mi³ {0}"}
            }
            liter{
                dnam{"lita"}
                one{"lita {0}"}
                other{"lita {0}"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"mvuto wa graviti"}
                one{"G {0}"}
                other{"G {0}"}
            }
            meter-per-second-squared{
                dnam{"mita kwa kila sekunde mraba"}
                one{"m {0}/s²"}
                other{"m {0}/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"dakika"}
                one{"dakika {0}"}
                other{"dakika {0}"}
            }
            arc-second{
                dnam{"sekunde"}
                one{"sekunde {0}"}
                other{"sekunde {0}"}
            }
            degree{
                dnam{"digrii"}
                one{"digrii {0}"}
                other{"digrii {0}"}
            }
            radian{
                dnam{"radiani"}
                one{"radiani {0}"}
                other{"radiani {0}"}
            }
            revolution{
                dnam{"mzunguko"}
                one{"mzunguko {0}"}
                other{"mizunguko {0}"}
            }
        }
        area{
            acre{
                dnam{"ekari"}
                one{"ekari {0}"}
                other{"ekari {0}"}
            }
            hectare{
                dnam{"hekta"}
                one{"hekta {0}"}
                other{"hekta {0}"}
            }
            square-centimeter{
                dnam{"sentimita mraba"}
                one{"cm² {0}"}
                other{"cm² {0}"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"futi za mraba"}
                one{"ft² {0}"}
                other{"ft² {0}"}
            }
            square-inch{
                dnam{"inchi za mraba"}
                one{"in² {0}"}
                other{"in² {0}"}
                per{"{0}/in²"}
            }
            square-kilometer{
                dnam{"kilomita za mraba"}
                one{"km² {0}"}
                other{"km² {0}"}
            }
            square-meter{
                dnam{"mita za mraba"}
                one{"mita {0} ya mraba"}
                other{"m² {0}"}
                per{"{0}/m²"}
            }
            square-mile{
                dnam{"maili za mraba"}
                one{"maili {0} ya mraba"}
                other{"maili {0} za mraba"}
            }
            square-yard{
                dnam{"yadi za mraba"}
                one{"yadi {0} ya mraba"}
                other{"yadi {0} za mraba"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"karati"}
                one{"karati {0}"}
                other{"karati {0}"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"lita kwa kilomita 100"}
                one{"lita {0} kwa kilomita 100"}
                other{"lita {0} kwa kilomita 100"}
            }
            liter-per-kilometer{
                dnam{"lita kwa kila kilomita"}
                one{"lita {0} kwa kilomita"}
                other{"lita {0} kwa kilomita"}
            }
            mile-per-gallon{
                dnam{"maili kwa kila galoni"}
                one{"maili {0} kwa kila galoni"}
                other{"maili {0} kwa kila galoni"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"biti"}
                one{"biti {0}"}
                other{"biti {0}"}
            }
            byte{
                dnam{"baiti"}
                one{"baiti {0}"}
                other{"baiti {0}"}
            }
            gigabit{
                dnam{"gigabiti"}
                one{"gigabiti {0}"}
                other{"gigabiti {0}"}
            }
            gigabyte{
                dnam{"GB"}
                one{"GB {0}"}
                other{"GB {0}"}
            }
            kilobit{
                dnam{"kilobiti"}
                one{"kilobiti {0}"}
                other{"kilobiti {0}"}
            }
            kilobyte{
                dnam{"kilobaiti"}
                one{"kilobaiti {0}"}
                other{"kilobaiti {0}"}
            }
            megabit{
                dnam{"Mb"}
                one{"megabiti {0}"}
                other{"megabiti {0}"}
            }
            megabyte{
                dnam{"MB"}
                one{"MB {0}"}
                other{"MB {0}"}
            }
            terabit{
                dnam{"terabiti"}
                one{"terabiti {0}"}
                other{"terabiti {0}"}
            }
            terabyte{
                dnam{"terabaiti"}
                one{"terabaiti {0}"}
                other{"terabaiti {0}"}
            }
        }
        duration{
            century{
                dnam{"karne"}
                one{"karne ya {0}"}
                other{"karne za {0}"}
            }
            day{
                dnam{"siku"}
                one{"siku {0}"}
                other{"siku {0}"}
                per{"{0} kwa siku"}
            }
            hour{
                dnam{"saa"}
                one{"saa {0}"}
                other{"saa {0}"}
                per{"{0} kwa saa"}
            }
            microsecond{
                dnam{"mikrosekunde"}
                one{"mikrosekunde {0}"}
                other{"mikrosekunde {0}"}
            }
            millisecond{
                dnam{"millisekunde"}
                one{"millisekunde {0}"}
                other{"millisekunde {0}"}
            }
            minute{
                dnam{"dakika"}
                one{"dakika {0}"}
                other{"dakika {0}"}
                per{"{0} kwa kila dakika"}
            }
            month{
                dnam{"miezi"}
                one{"mwezi {0}"}
                other{"miezi {0}"}
                per{"{0} kwa mwezi"}
            }
            nanosecond{
                dnam{"nanosekunde"}
                one{"nanosekunde {0}"}
                other{"nanosekunde {0}"}
            }
            second{
                dnam{"sekunde"}
                one{"sekunde {0}"}
                other{"sekunde {0}"}
                per{"{0} kwa kila sekunde"}
            }
            week{
                dnam{"wiki"}
                one{"wiki {0}"}
                other{"wiki {0}"}
                per{"{0} kwa wiki"}
            }
            year{
                dnam{"miaka"}
                one{"mwaka {0}"}
                other{"miaka {0}"}
                per{"{0} kwa mwaka"}
            }
        }
        electric{
            ampere{
                dnam{"ampea"}
                one{"ampea {0}"}
                other{"ampea {0}"}
            }
            milliampere{
                dnam{"miliampea"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohm"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"volti"}
                one{"volti {0}"}
                other{"volti {0}"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"kalori {0}"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"kalori"}
                one{"kalori {0}"}
                other{"kalori {0}"}
            }
            joule{
                dnam{"jouli"}
                one{"jouli {0}"}
                other{"jouli {0}"}
            }
            kilocalorie{
                dnam{"kilokalori"}
                one{"kilokalori {0}"}
                other{"kilokalori {0}"}
            }
            kilojoule{
                dnam{"kilojuli"}
                one{"kilojuli {0}"}
                other{"kilojuli {0}"}
            }
            kilowatt-hour{
                dnam{"kilowati kwa saa"}
                one{"{0} kWh"}
                other{"{0} kWh"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahezi"}
                one{"gigahezi {0}"}
                other{"gigahezi {0}"}
            }
            hertz{
                dnam{"hezi"}
                one{"hezi {0}"}
                other{"hezi {0}"}
            }
            kilohertz{
                dnam{"kilohezi"}
                one{"kilohezi {0}"}
                other{"kilohezi {0}"}
            }
            megahertz{
                dnam{"megahezi"}
                one{"megahezi {0}"}
                other{"megahezi {0}"}
            }
        }
        length{
            astronomical-unit{
                dnam{"vipimo vya astronomia"}
                one{"au {0}"}
                other{"au {0}"}
            }
            centimeter{
                dnam{"sentimita"}
                one{"sentimita {0}"}
                other{"sentimita {0}"}
                per{"{0} kwa kila sentimita"}
            }
            decimeter{
                dnam{"desimita"}
                one{"desimita {0}"}
                other{"desimita {0}"}
            }
            foot{
                dnam{"futi"}
                one{"futi {0}"}
                other{"futi {0}"}
                per{"{0} kwa kila futi"}
            }
            inch{
                dnam{"inchi"}
                one{"inchi {0}"}
                other{"inchi {0}"}
                per{"{0} kwa kila inchi"}
            }
            kilometer{
                dnam{"kilomita"}
                one{"km {0}"}
                other{"km {0}"}
                per{"{0} kwa kila kilomita"}
            }
            light-year{
                dnam{"miaka ya mwanga"}
                one{"ly {0}"}
                other{"ly {0}"}
            }
            meter{
                dnam{"mita"}
                one{"mita {0}"}
                other{"mita {0}"}
                per{"{0} kwa kila mita"}
            }
            micrometer{
                dnam{"mikromita"}
                one{"mikromita {0}"}
                other{"mikromita {0}"}
            }
            mile{
                dnam{"maili"}
                one{"maili {0}"}
                other{"maili {0}"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"milimita"}
                one{"milimita {0}"}
                other{"milimita {0}"}
            }
            nanometer{
                dnam{"nanomita"}
                one{"nanomita {0}"}
                other{"nanomita {0}"}
            }
            nautical-mile{
                dnam{"maili za kibaharia"}
                one{"maili {0} ya kibaharia"}
                other{"maili {0} za kibaharia"}
            }
            parsec{
                dnam{"parsecs"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pikomita"}
                one{"pikomita {0}"}
                other{"pikomita {0}"}
            }
            yard{
                dnam{"yadi"}
                one{"yadi {0}"}
                other{"yadi {0}"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"lx {0}"}
                other{"lx {0}"}
            }
        }
        mass{
            carat{
                dnam{"karati"}
                one{"karati {0}"}
                other{"karati {0}"}
            }
            gram{
                dnam{"gramu"}
                one{"gramu {0}"}
                other{"gramu {0}"}
                per{"{0} kwa kila gramu"}
            }
            kilogram{
                dnam{"kilogramu"}
                one{"kg {0}"}
                other{"kg {0}"}
                per{"{0}/kg"}
            }
            metric-ton{
                dnam{"tani mita"}
                one{"tani mita {0}"}
                other{"tani mita {0}"}
            }
            microgram{
                dnam{"mikrogramu"}
                one{"mikrogramu {0}"}
                other{"mikrogramu {0}"}
            }
            milligram{
                dnam{"miligramu"}
                one{"mg {0}"}
                other{"mg {0}"}
            }
            ounce{
                dnam{"aunsi"}
                one{"aunsi {0}"}
                other{"aunsi {0}"}
                per{"{0}/oz"}
            }
            ounce-troy{
                dnam{"tola aunsi"}
                one{"tola aunsi {0}"}
                other{"tola aunsi {0}"}
            }
            pound{
                dnam{"ratili"}
                one{"ratili {0}"}
                other{"ratili {0}"}
                per{"{0}/lb"}
            }
            ton{
                dnam{"tani"}
                one{"tani {0}"}
                other{"tani {0}"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawati"}
                one{"gigawati {0}"}
                other{"gigawati {0}"}
            }
            horsepower{
                dnam{"kipimo cha hospawa"}
                one{"{0} hp"}
                other{"{0} hp"}
            }
            kilowatt{
                dnam{"kilowati"}
                one{"kilowati {0}"}
                other{"kilowati {0}"}
            }
            megawatt{
                dnam{"megawati"}
                one{"megawati {0}"}
                other{"megawati {0}"}
            }
            milliwatt{
                dnam{"miliwati"}
                one{"miliwati {0}"}
                other{"miliwati {0}"}
            }
            watt{
                dnam{"wati"}
                one{"wati {0}"}
                other{"wati {0}"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hektopaskali"}
                one{"hPa {0}"}
                other{"hPa {0}"}
            }
            inch-hg{
                dnam{"inchi za zebaki"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"kipimo cha milibari"}
                one{"mbar {0}"}
                other{"mbar {0}"}
            }
            millimeter-of-mercury{
                dnam{"milimita za zebaki"}
                one{"milimita {0} ya zebaki"}
                other{"milimita {0} za zebaki"}
            }
            pound-per-square-inch{
                dnam{"pauni kwa kila inchi mraba"}
                one{"psi {0}"}
                other{"psi {0}"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomita kwa saa"}
                one{"km {0}/saa"}
                other{"km {0}/saa"}
            }
            knot{
                dnam{"noti"}
                one{"noti {0}"}
                other{"noti {0}"}
            }
            meter-per-second{
                dnam{"mita kwa kila sekunde"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"maili kwa kila saa"}
                one{"{0} mph"}
                other{"{0} mph"}
            }
        }
        temperature{
            celsius{
                dnam{"nyuzi za selisiasi"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                dnam{"nyuzi za farenheiti"}
                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{"ekari futi"}
                one{"ekari futi {0}"}
                other{"ekari futi {0}"}
            }
            centiliter{
                dnam{"sentilita"}
                one{"sentilita {0}"}
                other{"sentilita {0}"}
            }
            cubic-centimeter{
                dnam{"sentimita za ujazo"}
                one{"cm³ {0}"}
                other{"cm³ {0}"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"futi za ujazo"}
                one{"ft³ {0}"}
                other{"ft³ {0}"}
            }
            cubic-inch{
                dnam{"inchi za ujazo"}
                one{"in³ {0}"}
                other{"in³ {0}"}
            }
            cubic-kilometer{
                dnam{"kilomita za ujazo"}
                one{"km³ {0}"}
                other{"km³ {0}"}
            }
            cubic-meter{
                dnam{"mita za ujazo"}
                one{"m³ {0}"}
                other{"mita {0} za ujazo"}
                per{"{0}/m³"}
            }
            cubic-mile{
                dnam{"maili za ujazo"}
                one{"mi³ {0}"}
                other{"mi³ {0}"}
            }
            cubic-yard{
                dnam{"yadi za ujazo"}
                one{"yd³ {0}"}
                other{"yd³ {0}"}
            }
            cup{
                dnam{"vikombe"}
                one{"kikombe {0}"}
                other{"vikombe {0}"}
            }
            cup-metric{
                dnam{"vikombe vya mizani"}
                one{"mc {0}"}
                other{"vikombe {0} vya mizani"}
            }
            deciliter{
                dnam{"desilita"}
                one{"desilita {0}"}
                other{"desilita {0}"}
            }
            fluid-ounce{
                dnam{"aunsi za ujazo"}
                one{"fl oz {0}"}
                other{"fl oz {0}"}
            }
            gallon{
                dnam{"galoni"}
                one{"galoni {0}"}
                other{"galoni {0}"}
                per{"{0}/gal"}
            }
            hectoliter{
                dnam{"hektolita"}
                one{"hektolita {0}"}
                other{"hektolita {0}"}
            }
            liter{
                dnam{"lita"}
                one{"lita {0}"}
                other{"lita {0}"}
                per{"{0} kwa kila lita"}
            }
            megaliter{
                dnam{"megalita"}
                one{"megalita {0}"}
                other{"megalita {0}"}
            }
            milliliter{
                dnam{"mililita"}
                one{"mililita {0}"}
                other{"mililita {0}"}
            }
            pint{
                dnam{"painti"}
                one{"painti {0}"}
                other{"painti {0}"}
            }
            pint-metric{
                dnam{"painti za mizani"}
                one{"mpt {0}"}
                other{"mpt {0}"}
            }
            quart{
                dnam{"kwati"}
                one{"kwati {0}"}
                other{"kwati {0}"}
            }
            tablespoon{
                dnam{"vijiko vikubwa"}
                one{"kijiko {0} kikubwa"}
                other{"vijiko {0} vikubwa"}
            }
            teaspoon{
                dnam{"vijiko vidogo"}
                one{"kijiko {0} kidogo"}
                other{"vijiko {0} vidogo"}
            }
        }
    }
}
