﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/uz.xml
// *
// ***************************************************************************
uz{
    Version{"2.1.20.4"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"gravitatsiya kuchi"}
                one{"{0} grav. kuchi"}
                other{"{0} grav. kuchi"}
            }
            meter-per-second-squared{
                dnam{"metr taqsim soniyaning kvadrati"}
                one{"{0} metr/soniya kvadrat"}
                other{"{0} metr/soniya kvadrat"}
            }
        }
        angle{
            arc-minute{
                dnam{"yoy daqiqasi"}
                one{"{0} yoy daqiqasi"}
                other{"{0} yoy daqiqasi"}
            }
            arc-second{
                dnam{"yoy soniyasi"}
                one{"{0} yoy soniyasi"}
                other{"{0} yoy soniyasi"}
            }
            degree{
                dnam{"gradus"}
                one{"{0} gradus"}
                other{"{0} gradus"}
            }
            radian{
                dnam{"radian"}
                one{"{0} radian"}
                other{"{0} radian"}
            }
            revolution{
                dnam{"aylanish"}
                one{"{0} marta aylanish"}
                other{"{0} marta aylanish"}
            }
        }
        area{
            acre{
                dnam{"akr"}
                one{"{0} akr"}
                other{"{0} akr"}
            }
            hectare{
                dnam{"gektar"}
                one{"{0} gektar"}
                other{"{0} gektar"}
            }
            square-centimeter{
                dnam{"kvadrat santimetr"}
                one{"{0} kvadrat santimetr"}
                other{"{0} kvadrat santimetr"}
                per{"{0}/kvadrat santimetr"}
            }
            square-foot{
                dnam{"kvadrat fut"}
                one{"{0} kvadrat fut"}
                other{"{0} kvadrat fut"}
            }
            square-inch{
                dnam{"kvadrat duym"}
                one{"{0} kvadrat dyum"}
                other{"{0} kvadrat dyum"}
                per{"{0}/kvadrat duym"}
            }
            square-kilometer{
                dnam{"kvadrat kilometr"}
                one{"{0} kvadrat kilometr"}
                other{"{0} kvadrat kilometr"}
            }
            square-meter{
                dnam{"kvadrat metr"}
                one{"{0} kvadrat metr"}
                other{"{0} kvadrat metr"}
                per{"{0}/kvadrat metr"}
            }
            square-mile{
                dnam{"kvadrat mil"}
                one{"{0} kvadrat mil"}
                other{"{0} kvadrat mil"}
            }
            square-yard{
                dnam{"kvadrat yard"}
                one{"{0} kvadrat yard"}
                other{"{0} kvadrat yard"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"litr/100 km"}
                one{"{0} litr/100 km"}
                other{"{0} litr/100 km"}
            }
            liter-per-kilometer{
                dnam{"litr/kilometr"}
                one{"{0} litr/kilometr"}
                other{"{0} litr/kilometr"}
            }
            mile-per-gallon{
                dnam{"mil/gallon"}
                one{"{0} mil/gallon"}
                other{"{0} mil/gallon"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"bayt"}
                one{"{0} bayt"}
                other{"{0} bayt"}
            }
            gigabit{
                dnam{"gigabit"}
                one{"{0} gigabit"}
                other{"{0} gigabit"}
            }
            gigabyte{
                dnam{"gigabayt"}
                one{"{0} gigabayt"}
                other{"{0} gigabayt"}
            }
            kilobit{
                dnam{"kilobit"}
                one{"{0} kilobit"}
                other{"{0} kilobit"}
            }
            kilobyte{
                dnam{"kilobayt"}
                one{"{0} kilobayt"}
                other{"{0} kilobayt"}
            }
            megabit{
                dnam{"megabit"}
                one{"{0} megabit"}
                other{"{0} megabit"}
            }
            megabyte{
                dnam{"megabayt"}
                one{"{0} megabayt"}
                other{"{0} megabayt"}
            }
            terabit{
                dnam{"terabit"}
                one{"{0} terabit"}
                other{"{0} terabit"}
            }
            terabyte{
                dnam{"terabayt"}
                one{"{0} terabayt"}
                other{"{0} terabayt"}
            }
        }
        duration{
            century{
                dnam{"asr"}
                one{"{0} asr"}
                other{"{0} asr"}
            }
            day{
                dnam{"kun"}
                one{"{0} kun"}
                other{"{0} kun"}
                per{"{0}/kun"}
            }
            hour{
                dnam{"soat"}
                one{"{0} soat"}
                other{"{0} soat"}
                per{"{0}/soat"}
            }
            microsecond{
                dnam{"mikrosoniya"}
                one{"{0} mikrosoniya"}
                other{"{0} mikrosoniya"}
            }
            millisecond{
                dnam{"millisoniya"}
                one{"{0} millisoniya"}
                other{"{0} millisoniya"}
            }
            minute{
                dnam{"daqiqa"}
                one{"{0} daqiqa"}
                other{"{0} daqiqa"}
                per{"{0}/daqiqa"}
            }
            month{
                dnam{"oy"}
                one{"{0} oy"}
                other{"{0} oy"}
                per{"{0}/oy"}
            }
            nanosecond{
                dnam{"nanosoniya"}
                one{"{0} nanosoniya"}
                other{"{0} nanosoniya"}
            }
            second{
                dnam{"soniya"}
                one{"{0} soniya"}
                other{"{0} soniya"}
                per{"{0}/soniya"}
            }
            week{
                dnam{"hafta"}
                one{"{0} hafta"}
                other{"{0} hafta"}
                per{"{0}/hafta"}
            }
            year{
                dnam{"yil"}
                one{"{0} yil"}
                other{"{0} yil"}
                per{"{0}/yil"}
            }
        }
        electric{
            ampere{
                dnam{"amper"}
                one{"{0} amper"}
                other{"{0} amper"}
            }
            milliampere{
                dnam{"milliamper"}
                one{"{0} milliamper"}
                other{"{0} milliamper"}
            }
            ohm{
                dnam{"om"}
                one{"{0} om"}
                other{"{0} om"}
            }
            volt{
                dnam{"volt"}
                one{"{0} volt"}
                other{"{0} volt"}
            }
        }
        energy{
            calorie{
                dnam{"kaloriya"}
                one{"kaloriya"}
                other{"{0} kaloriya"}
            }
            foodcalorie{
                dnam{"kaloriya"}
                one{"{0} kaloriya"}
                other{"{0} kaloriya"}
            }
            joule{
                dnam{"joul"}
                one{"{0} joul"}
                other{"{0} joul"}
            }
            kilocalorie{
                dnam{"kilokaloriya"}
                one{"{0} kilokaloriya"}
                other{"{0} kilokaloriya"}
            }
            kilojoule{
                dnam{"kilojoul"}
                one{"{0} kilojoul"}
                other{"{0} kilojoul"}
            }
            kilowatt-hour{
                dnam{"kilovatt-soat"}
                one{"{0} kilovatt-soat"}
                other{"{0} kilovatt-soat"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigagers"}
                one{"{0} gigagers"}
                other{"{0} gigagers"}
            }
            hertz{
                dnam{"gers"}
                one{"{0} gers"}
                other{"{0} gers"}
            }
            kilohertz{
                dnam{"kilogers"}
                one{"{0} kilogers"}
                other{"{0} kilogers"}
            }
            megahertz{
                dnam{"megagers"}
                one{"{0} megagers"}
                other{"{0} megagers"}
            }
        }
        length{
            astronomical-unit{
                dnam{"astronomik birlik"}
                one{"{0} astronomik birlik"}
                other{"{0} astronomik birlik"}
            }
            centimeter{
                dnam{"santimetr"}
                one{"{0} santimetr"}
                other{"{0} santimetr"}
                per{"{0}/santimetr"}
            }
            decimeter{
                dnam{"detsimetr"}
                one{"{0} detsimetr"}
                other{"{0} detsimetr"}
            }
            foot{
                dnam{"fut"}
                one{"{0} fut"}
                other{"{0} fut"}
                per{"{0}/fut"}
            }
            inch{
                dnam{"dyum"}
                one{"{0} dyum"}
                other{"{0} dyum"}
            }
            kilometer{
                dnam{"kilometr"}
                one{"{0} kilometr"}
                other{"{0} kilometr"}
                per{"{0}/kilometr"}
            }
            light-year{
                dnam{"yorug‘lik yili"}
                one{"{0} yorug‘lik yili"}
                other{"{0} yorug‘lik yili"}
            }
            meter{
                dnam{"metr"}
                one{"{0} metr"}
                other{"{0} metr"}
                per{"{0}/metr"}
            }
            micrometer{
                dnam{"mikrometr"}
                one{"{0} mikrometr"}
                other{"{0} mikrometr"}
            }
            mile{
                dnam{"mil"}
                one{"{0} mil"}
                other{"{0} mil"}
            }
            mile-scandinavian{
                dnam{"Skandinaviya mili"}
                one{"{0} Skandinaviya mili"}
                other{"{0} Skandinaviya mili"}
            }
            millimeter{
                dnam{"millimetr"}
                one{"{0} millimetr"}
                other{"{0} millimetr"}
            }
            nanometer{
                dnam{"nanometr"}
                one{"{0} nanometr"}
                other{"{0} nanometr"}
            }
            nautical-mile{
                dnam{"dengiz mili"}
                one{"{0} dengiz mili"}
                other{"{0} dengiz mili"}
            }
            parsec{
                dnam{"parsek"}
                one{"{0} parsek"}
                other{"{0} parsek"}
            }
            picometer{
                dnam{"pikometr"}
                one{"{0} pikometr"}
                other{"{0} pikometr"}
            }
            yard{
                dnam{"yard"}
                one{"{0} yard"}
                other{"{0} yard"}
            }
        }
        light{
            lux{
                dnam{"lyuks"}
                one{"{0} lyuks"}
                other{"{0} lyuks"}
            }
        }
        mass{
            carat{
                dnam{"karat"}
                one{"{0} karat"}
                other{"{0} karat"}
            }
            gram{
                dnam{"gramm"}
                one{"{0} gramm"}
                other{"{0} gramm"}
                per{"{0}/gramm"}
            }
            kilogram{
                dnam{"kilogramm"}
                one{"{0} kilogramm"}
                other{"{0} kilogramm"}
                per{"{0}/kilogramm"}
            }
            metric-ton{
                dnam{"tonna"}
                one{"{0} tonna"}
                other{"{0} tonna"}
            }
            microgram{
                dnam{"mikrogramm"}
                one{"{0} mikrogramm"}
                other{"{0} mikrogramm"}
            }
            milligram{
                dnam{"milligramm"}
                one{"{0} milligramm"}
                other{"{0} milligramm"}
            }
            ounce{
                dnam{"unsiya"}
                one{"{0} unsiya"}
                other{"{0} unsiya"}
                per{"{0}/unsiya"}
            }
            ounce-troy{
                dnam{"troya unsiyasi"}
                one{"{0} troya unsiyasi"}
                other{"{0} troya unsiyasi"}
            }
            pound{
                dnam{"funt"}
                one{"{0} funt"}
                other{"{0} funt"}
                per{"{0}/funt"}
            }
            ton{
                dnam{"amerika tonnasi"}
                one{"{0} amerika tonnasi"}
                other{"{0} amerika tonnasi"}
            }
        }
        power{
            gigawatt{
                dnam{"gigavatt"}
                one{"{0} gigavatt"}
                other{"{0} gigavatt"}
            }
            horsepower{
                dnam{"ot kuchi"}
                one{"{0} ot kuchi"}
                other{"{0} ot kuchi"}
            }
            kilowatt{
                dnam{"kilovatt"}
                one{"{0} kilovatt"}
                other{"{0} kilovatt"}
            }
            megawatt{
                dnam{"megavatt"}
                one{"{0} megavatt"}
                other{"{0} megavatt"}
            }
            milliwatt{
                dnam{"millivatt"}
                one{"{0} millivatt"}
                other{"{0} millivatt"}
            }
            watt{
                dnam{"vatt"}
                one{"{0} vatt"}
                other{"{0} vatt"}
            }
        }
        pressure{
            hectopascal{
                dnam{"gektopaskal"}
                one{"{0} gektopaskal"}
                other{"{0} gektopaskal"}
            }
            inch-hg{
                dnam{"duym simob ustuni"}
                one{"{0} duym simob ustuni"}
                other{"{0} duym simob ustuni"}
            }
            millibar{
                dnam{"millibar"}
                one{"{0} millibar"}
                other{"{0} millibar"}
            }
            millimeter-of-mercury{
                dnam{"mm simob ustuni"}
                one{"{0} mm simob ustuni"}
                other{"{0} mm simob ustuni"}
            }
            pound-per-square-inch{
                dnam{"funt/kvadrat duym"}
                one{"{0} funt/kvadrat duym"}
                other{"{0} funt/kvadrat duym"}
            }
        }
        proportion{
            karat{
                dnam{"karat"}
                one{"{0} karat"}
                other{"{0} karat"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/soat"}
                one{"soatiga {0} kilometr"}
                other{"soatiga {0} kilometr"}
            }
            knot{
                dnam{"uzel"}
                one{"{0} uzel"}
                other{"{0} uzel"}
            }
            meter-per-second{
                dnam{"metr/soniya"}
                one{"{0} metr/soniya"}
                other{"{0} metr/soniya"}
            }
            mile-per-hour{
                dnam{"mil/soat"}
                one{"{0} mil/soat"}
                other{"{0} mil/soat"}
            }
        }
        temperature{
            celsius{
                dnam{"Selsiy darajasi"}
                one{"{0} Selsiy darajasi"}
                other{"{0} Selsiy darajasi"}
            }
            fahrenheit{
                dnam{"Farengeyt darajasi"}
                one{"{0} Farengeyt darajasi"}
                other{"{0} Farengeyt darajasi"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"kelvin"}
                one{"{0} kelvin"}
                other{"{0} kelvin"}
            }
        }
        volume{
            acre-foot{
                dnam{"akrofut"}
                one{"{0} akrofut"}
                other{"{0} akrofut"}
            }
            centiliter{
                dnam{"santilitr"}
                one{"{0} santilitr"}
                other{"{0} santilitr"}
            }
            cubic-centimeter{
                dnam{"kub santimetr"}
                one{"{0} kub santimetr"}
                other{"{0} kub santimetr"}
                per{"{0}/kub santimetr"}
            }
            cubic-foot{
                dnam{"kub fut"}
                one{"{0} kub fut"}
                other{"{0} kub fut"}
            }
            cubic-inch{
                dnam{"kub duym"}
                one{"{0} kub duym"}
                other{"{0} kub duym"}
            }
            cubic-kilometer{
                dnam{"kub kilometr"}
                one{"{0} kub kilometr"}
                other{"{0} kub kilometr"}
            }
            cubic-meter{
                dnam{"kub metr"}
                one{"{0} kub metr"}
                other{"{0} kub metr"}
                per{"{0}/kub metr"}
            }
            cubic-mile{
                dnam{"kub mil"}
                one{"{0} kub mil"}
                other{"{0} kub mil"}
            }
            cubic-yard{
                dnam{"kub yard"}
                one{"{0} kub yard"}
                other{"{0} kub yard"}
            }
            cup{
                dnam{"piyola"}
                one{"{0} piyola"}
                other{"{0} piyola"}
            }
            cup-metric{
                dnam{"metrik piyola"}
                one{"{0} metrik piyola"}
                other{"{0} metrik piyola"}
            }
            deciliter{
                dnam{"detsilitr"}
                one{"{0} detsilitr"}
                other{"{0} detsilitr"}
            }
            fluid-ounce{
                dnam{"suyuq unsiya"}
                one{"{0} suyuq unsiya"}
                other{"{0} suyuq unsiya"}
            }
            gallon{
                dnam{"gallon"}
                one{"{0} gallon"}
                other{"{0} gallon"}
                per{"{0}/gallon"}
            }
            hectoliter{
                dnam{"gektolitr"}
                one{"{0} gektolitr"}
                other{"{0} gektolitr"}
            }
            liter{
                dnam{"litr"}
                one{"{0} litr"}
                other{"{0} litr"}
                per{"{0}/litr"}
            }
            megaliter{
                dnam{"megalitr"}
                one{"{0} megalitr"}
                other{"{0} megalitr"}
            }
            milliliter{
                dnam{"millilitr"}
                one{"{0} millilitr"}
                other{"{0} millilitr"}
            }
            pint{
                dnam{"pint"}
                one{"{0} pint"}
                other{"{0} pint"}
            }
            pint-metric{
                dnam{"metrik pint"}
                one{"{0} metrik pint"}
                other{"{0} metrik pint"}
            }
            quart{
                dnam{"kvart"}
                one{"{0} kvart"}
                other{"{0} kvart"}
            }
            tablespoon{
                dnam{"osh qoshiq"}
                one{"{0} osh qoshiq"}
                other{"{0} osh qoshiq"}
            }
            teaspoon{
                dnam{"choy qoshiq"}
                one{"{0} choy qoshiq"}
                other{"{0} choy qoshiq"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0} G"}
                other{"{0} G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} ac"}
                other{"{0} ac"}
            }
            hectare{
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-foot{
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"L/100 km"}
                one{"{0}L/100km"}
                other{"{0}L/100km"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        duration{
            day{
                dnam{"kun"}
                one{"{0} kun"}
                other{"{0} kun"}
            }
            hour{
                dnam{"soat"}
                one{"{0} st"}
                other{"{0} st"}
            }
            millisecond{
                dnam{"mson"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"daq"}
                one{"{0} d"}
                other{"{0} d"}
            }
            month{
                dnam{"oy"}
                one{"{0} oy"}
                other{"{0} oy"}
            }
            second{
                dnam{"son"}
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                dnam{"hafta"}
                one{"{0} hafta"}
                other{"{0} hafta"}
            }
            year{
                dnam{"yil"}
                one{"{0} yil"}
                other{"{0} yil"}
            }
        }
        length{
            centimeter{
                dnam{"sm"}
                one{"{0} sm"}
                other{"{0} sm"}
            }
            foot{
                one{"{0} fut"}
                other{"{0} fut"}
            }
            inch{
                one{"{0} dyuym"}
                other{"{0} dyuym"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                one{"{0} yo.y."}
                other{"{0} yo.y."}
            }
            meter{
                dnam{"metr"}
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                one{"{0} milya"}
                other{"{0} milya"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                one{"{0} yard"}
                other{"{0} yard"}
            }
        }
        mass{
            gram{
                dnam{"gramm"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0} kg"}
            }
            ounce{
                one{"{0} untsiya"}
                other{"{0} untsiya"}
            }
            pound{
                one{"{0} funt"}
                other{"{0} funt"}
            }
        }
        power{
            horsepower{
                one{"{0} hp"}
                other{"{0} hp"}
            }
            kilowatt{
                one{"{0} kW"}
                other{"{0} kW"}
            }
            watt{
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/soat"}
                one{"{0} km/soat"}
                other{"{0} km/soat"}
            }
            meter-per-second{
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-mile{
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            liter{
                dnam{"litr"}
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"grav. kuchi"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"metr/soniya²"}
                one{"{0} m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"yoy daqiqasi"}
                one{"{0} yoy daq."}
                other{"{0} yoy daq."}
            }
            arc-second{
                dnam{"yoy soniyasi"}
                one{"{0} yoy son."}
                other{"{0} yoy son."}
            }
            degree{
                dnam{"gradus"}
                one{"{0} grad"}
                other{"{0} grad"}
            }
            radian{
                dnam{"rad"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"aylanish"}
                one{"{0} marta ayl."}
                other{"{0} marta ayl."}
            }
        }
        area{
            acre{
                dnam{"akr"}
                one{"{0} akr"}
                other{"{0} akr"}
            }
            hectare{
                dnam{"gektar"}
                one{"{0} ga"}
                other{"{0} ga"}
            }
            square-centimeter{
                dnam{"sm²"}
                one{"{0} sm²"}
                other{"{0} sm²"}
                per{"{0}/sm²"}
            }
            square-foot{
                dnam{"kv. fut"}
                one{"{0} kv. fut"}
                other{"{0} kv. fut"}
            }
            square-inch{
                dnam{"kvadrat duym"}
                one{"{0} kv. duym"}
                other{"{0} kv. duym"}
                per{"{0} kv. duym"}
            }
            square-kilometer{
                dnam{"km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                dnam{"m²"}
                one{"{0} m²"}
                other{"{0} m²"}
                per{"{0}/m²"}
            }
            square-mile{
                dnam{"kv. mil"}
                one{"{0} kv. mil"}
                other{"{0} kv. mil"}
            }
            square-yard{
                dnam{"yard²"}
                one{"{0} yard²"}
                other{"{0} yard²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"L/100 km"}
                one{"{0} L/100 km"}
                other{"{0} L/100 km"}
            }
            liter-per-kilometer{
                dnam{"litr/km"}
                one{"{0} L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"mil/gal"}
                one{"{0} mil/gal"}
                other{"{0} mil/gal"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"bayt"}
                one{"{0} bayt"}
                other{"{0} bayt"}
            }
            gigabit{
                dnam{"Gbit"}
                one{"{0} Gbit"}
                other{"{0} Gbit"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kbit"}
                one{"{0} kbit"}
                other{"{0} kbit"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mbit"}
                one{"{0} Mbit"}
                other{"{0} Mbit"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tbit"}
                one{"{0} Tbit"}
                other{"{0} Tbit"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"asr"}
                one{"{0} asr"}
                other{"{0} asr"}
            }
            day{
                dnam{"kun"}
                one{"{0} kun"}
                other{"{0} kun"}
                per{"{0}/kun"}
            }
            hour{
                dnam{"soat"}
                one{"{0} st"}
                other{"{0} st"}
                per{"{0}/st"}
            }
            microsecond{
                dnam{"mks"}
                one{"{0} mks"}
                other{"{0} mks"}
            }
            millisecond{
                dnam{"millisoniya"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"daq"}
                one{"{0} daq"}
                other{"{0} daq"}
                per{"{0}/daq"}
            }
            month{
                dnam{"oy"}
                one{"{0} oy"}
                other{"{0} oy"}
                per{"{0}/oy"}
            }
            nanosecond{
                dnam{"nanosoniya"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"son"}
                one{"{0} son"}
                other{"{0} son"}
                per{"{0}/s"}
            }
            week{
                dnam{"hafta"}
                one{"{0} hafta"}
                other{"{0} hafta"}
                per{"{0}/hafta"}
            }
            year{
                dnam{"yil"}
                one{"{0} yil"}
                other{"{0} yil"}
                per{"{0}/yil"}
            }
        }
        electric{
            ampere{
                dnam{"amper"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"om"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"volt"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"kal"}
                one{"{0} kal"}
                other{"{0} kal"}
            }
            foodcalorie{
                dnam{"kal"}
                one{"{0} kal"}
                other{"{0} kal"}
            }
            joule{
                dnam{"joul"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kkal"}
                one{"{0} kkal"}
                other{"{0} kkal"}
            }
            kilojoule{
                dnam{"kilojoul"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kVt-soat"}
                one{"{0} kVt-soat"}
                other{"{0} kVt-soat"}
            }
        }
        frequency{
            gigahertz{
                dnam{"GGs"}
                one{"{0} GGs"}
                other{"{0} GGs"}
            }
            hertz{
                dnam{"Gs"}
                one{"{0} Gs"}
                other{"{0} Gs"}
            }
            kilohertz{
                dnam{"kGs"}
                one{"{0} kGs"}
                other{"{0} kGs"}
            }
            megahertz{
                dnam{"MGs"}
                one{"{0} MGs"}
                other{"{0} MGs"}
            }
        }
        length{
            astronomical-unit{
                dnam{"a.b."}
                one{"{0} a.b."}
                other{"{0} a.b."}
            }
            centimeter{
                dnam{"sm"}
                one{"{0} sm"}
                other{"{0} sm"}
                per{"{0}/sm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"fut"}
                one{"{0} fut"}
                other{"{0} fut"}
                per{"{0} fut"}
            }
            inch{
                dnam{"dyum"}
                one{"{0} dy"}
                other{"{0} dy"}
                per{"{0}/dy"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"yorug‘lik yili"}
                one{"{0} y.y."}
                other{"{0} y.y."}
            }
            meter{
                dnam{"metr"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µmetr"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"mil"}
                one{"{0} mil"}
                other{"{0} mil"}
            }
            mile-scandinavian{
                dnam{"s-mil"}
                one{"{0} s-mil"}
                other{"{0} s-mil"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"den.mili"}
                one{"{0} den.mili"}
                other{"{0} den.mili"}
            }
            parsec{
                dnam{"pk"}
                one{"{0} pk"}
                other{"{0} pk"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"yard"}
                one{"{0} yard"}
                other{"{0} yard"}
            }
        }
        light{
            lux{
                dnam{"lk"}
                one{"{0} lk"}
                other{"{0} lk"}
            }
        }
        mass{
            carat{
                dnam{"karat"}
                one{"{0} kar"}
                other{"{0} kar"}
            }
            gram{
                dnam{"gramm"}
                one{"{0} g"}
                other{"{0} g"}
                per{"{0}/g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0} kg"}
                per{"{0}/kg"}
            }
            metric-ton{
                dnam{"t"}
                one{"{0} t"}
                other{"{0} t"}
            }
            microgram{
                dnam{"µg"}
                one{"{0} µg"}
                other{"{0} µg"}
            }
            milligram{
                dnam{"mg"}
                one{"{0} mg"}
                other{"{0} mg"}
            }
            ounce{
                dnam{"unsiya"}
                one{"{0} unsiya"}
                other{"{0} unsiya"}
                per{"{0}/unsiya"}
            }
            ounce-troy{
                dnam{"troya unsiyasi"}
                one{"{0} troya unsiyasi"}
                other{"{0} troya unsiyasi"}
            }
            pound{
                dnam{"funt"}
                one{"{0} funt"}
                other{"{0} funt"}
                per{"{0}/funt"}
            }
            ton{
                dnam{"amer. t"}
                one{"{0} amer. t"}
                other{"{0} amer. t"}
            }
        }
        power{
            gigawatt{
                dnam{"GVt"}
                one{"{0} GVt"}
                other{"{0} GVt"}
            }
            horsepower{
                dnam{"o.k."}
                one{"{0} o.k."}
                other{"{0} o.k."}
            }
            kilowatt{
                dnam{"kVt"}
                one{"{0} kVt"}
                other{"{0} kVt"}
            }
            megawatt{
                dnam{"MVt"}
                one{"{0} MVt"}
                other{"{0} MVt"}
            }
            milliwatt{
                dnam{"mVt"}
                one{"{0} mVt"}
                other{"{0} mVt"}
            }
            watt{
                dnam{"Vt"}
                one{"{0} Vt"}
                other{"{0} Vt"}
            }
        }
        pressure{
            hectopascal{
                dnam{"gPa"}
                one{"{0} gPa"}
                other{"{0} gPa"}
            }
            inch-hg{
                dnam{"dy sim.ust"}
                one{"{0} dy sim.ust"}
                other{"{0} dy sim.ust"}
            }
            millibar{
                dnam{"mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
            millimeter-of-mercury{
                dnam{"mm sim.ust"}
                one{"{0} mm sim.ust"}
                other{"{0} mm sim.ust"}
            }
            pound-per-square-inch{
                dnam{"funt/kv.dy"}
                one{"{0} funt/kv.dy"}
                other{"{0} funt/kv.dy"}
            }
        }
        proportion{
            karat{
                dnam{"karat"}
                one{"{0} kt"}
                other{"{0} kt"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/soat"}
                one{"{0} km/soat"}
                other{"{0} km/soat"}
            }
            knot{
                dnam{"uzel"}
                one{"{0} uzel"}
                other{"{0} uzel"}
            }
            meter-per-second{
                dnam{"m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"mil/soat"}
                one{"{0} mil/soat"}
                other{"{0} mil/soat"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                dnam{"°F"}
                one{"{0}°F"}
                other{"{0}°F"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"akrofut"}
                one{"{0} akrofut"}
                other{"{0} akrofut"}
            }
            centiliter{
                dnam{"sL"}
                one{"{0} sL"}
                other{"{0} sL"}
            }
            cubic-centimeter{
                dnam{"sm³"}
                one{"{0} sm³"}
                other{"{0} sm³"}
                per{"{0}/sm³"}
            }
            cubic-foot{
                dnam{"kub fut"}
                one{"{0} kub fut"}
                other{"{0} kub fut"}
            }
            cubic-inch{
                dnam{"kub duym"}
                one{"{0} kub duym"}
                other{"{0} kub duym"}
            }
            cubic-kilometer{
                dnam{"km³"}
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-meter{
                dnam{"m³"}
                one{"{0} m³"}
                other{"{0} m³"}
                per{"{0}/m³"}
            }
            cubic-mile{
                dnam{"kub mil"}
                one{"{0} kub mil"}
                other{"{0} kub mil"}
            }
            cubic-yard{
                dnam{"kub yard"}
                one{"{0} yard³"}
                other{"{0} yard³"}
            }
            cup{
                dnam{"piyola"}
                one{"{0} piyola"}
                other{"{0} piyola"}
            }
            cup-metric{
                dnam{"m. piyola"}
                one{"{0} m. piyola"}
                other{"{0} m. piyola"}
            }
            deciliter{
                dnam{"dL"}
                one{"{0} dL"}
                other{"{0} dL"}
            }
            fluid-ounce{
                dnam{"suyuq unsiya"}
                one{"{0} suyuq unsiya"}
                other{"{0} suyuq unsiya"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
                per{"{0}/gal"}
            }
            hectoliter{
                dnam{"gL"}
                one{"{0} gL"}
                other{"{0} gL"}
            }
            liter{
                dnam{"litr"}
                one{"{0} l"}
                other{"{0} l"}
                per{"{0}/l"}
            }
            megaliter{
                dnam{"ML"}
                one{"{0} ML"}
                other{"{0} ML"}
            }
            milliliter{
                dnam{"mL"}
                one{"{0} mL"}
                other{"{0} mL"}
            }
            pint{
                dnam{"pint"}
                one{"{0} pint"}
                other{"{0} pint"}
            }
            pint-metric{
                dnam{"mpt"}
                one{"{0} mpt"}
                other{"{0} mpt"}
            }
            quart{
                dnam{"kvart"}
                one{"{0} kvart"}
                other{"{0} kvart"}
            }
            tablespoon{
                dnam{"osh qoshiq"}
                one{"{0} osh qoshiq"}
                other{"{0} osh qoshiq"}
            }
            teaspoon{
                dnam{"choy qoshiq"}
                one{"{0} choy qoshiq"}
                other{"{0} choy qoshiq"}
            }
        }
    }
}
