﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/et.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/et.xml
 */
et{
    Version{"2.1.8.9"}
    units{
        acceleration{
            g-force{
                dnam{"maa gravitatsioon"}
                one{"{0} maa gravitatsiooni"}
                other{"{0} maa gravitatsiooni"}
            }
            meter-per-second-squared{
                dnam{"meetrid sekundi ruudu kohta"}
                one{"{0} meeter sekundi ruudu kohta"}
                other{"{0} meetrit sekundi ruudu kohta"}
            }
        }
        angle{
            arc-minute{
                dnam{"kaareminut"}
                one{"{0} kaareminut"}
                other{"{0} kaareminut"}
            }
            arc-second{
                dnam{"kaaresekund"}
                one{"{0} kaaresekund"}
                other{"{0} kaaresekund"}
            }
            degree{
                dnam{"kraadi"}
                one{"{0} kraad"}
                other{"{0} kraadi"}
            }
            radian{
                dnam{"radiaanid"}
                one{"{0} radiaan"}
                other{"{0} radiaani"}
            }
        }
        area{
            acre{
                dnam{"aakrid"}
                one{"{0} aaker"}
                other{"{0} aakrit"}
            }
            hectare{
                dnam{"hektarid"}
                one{"{0} hektar"}
                other{"{0} hektarit"}
            }
            square-centimeter{
                dnam{"ruutsentimeetrid"}
                one{"{0} ruutsentimeeter"}
                other{"{0} ruutsentimeetrit"}
            }
            square-foot{
                dnam{"ruutjalad"}
                one{"{0} ruutjalg"}
                other{"{0} ruutjalga"}
            }
            square-inch{
                dnam{"ruuttollid"}
                one{"{0} ruuttoll"}
                other{"{0} ruuttolli"}
            }
            square-kilometer{
                dnam{"ruutkilomeetrid"}
                one{"{0} ruutkilomeeter"}
                other{"{0} ruutkilomeetrit"}
            }
            square-meter{
                dnam{"ruutmeetrid"}
                one{"{0} ruutmeeter"}
                other{"{0} ruutmeetrit"}
            }
            square-mile{
                dnam{"ruutmiili"}
                one{"{0} ruutmiil"}
                other{"{0} ruutmiili"}
            }
            square-yard{
                dnam{"ruutjardid"}
                one{"{0} ruutjard"}
                other{"{0} ruutjardi"}
            }
        }
        compound{
            per{"{0} {1} kohta"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"liitreid kilomeetri kohta"}
                one{"{0} liiter kilomeetri kohta"}
                other{"{0} liitrit kilomeetri kohta"}
            }
            mile-per-gallon{
                dnam{"miili galloni kohta"}
                one{"{0} miil galloni kohta"}
                other{"{0} miili galloni kohta"}
            }
        }
        digital{
            bit{
                dnam{"bitid"}
                one{"{0} bitt"}
                other{"{0} bitti"}
            }
            byte{
                dnam{"baidid"}
                one{"{0} bait"}
                other{"{0} baiti"}
            }
            gigabit{
                dnam{"gigabitid"}
                one{"{0} gigabitt"}
                other{"{0} gigabitti"}
            }
            gigabyte{
                dnam{"gigabaidid"}
                one{"{0} gigabait"}
                other{"{0} gigabaiti"}
            }
            kilobit{
                dnam{"kilobitid"}
                one{"{0} kilobitt"}
                other{"{0} kilobitti"}
            }
            kilobyte{
                dnam{"kilobaidid"}
                one{"{0} kilobait"}
                other{"{0} kilobaiti"}
            }
            megabit{
                dnam{"megabitid"}
                one{"{0} megabitt"}
                other{"{0} megabitti"}
            }
            megabyte{
                dnam{"megabaidid"}
                one{"{0} megabait"}
                other{"{0} megabaiti"}
            }
            terabit{
                dnam{"terabitid"}
                one{"{0} terabitt"}
                other{"{0} terabitti"}
            }
            terabyte{
                dnam{"terabaidid"}
                one{"{0} terabait"}
                other{"{0} terabaiti"}
            }
        }
        duration{
            day{
                dnam{"ööpäeva"}
                one{"{0} ööpäev"}
                other{"{0} ööpäeva"}
            }
            hour{
                dnam{"tundi"}
                one{"{0} tund"}
                other{"{0} tundi"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"mikrosekundid"}
                one{"{0} mikrosekund"}
                other{"{0} mikrosekundit"}
            }
            millisecond{
                dnam{"millisekundid"}
                one{"{0} millisekund"}
                other{"{0} millisekundit"}
            }
            minute{
                dnam{"minutid"}
                one{"{0} minut"}
                other{"{0} minutit"}
            }
            month{
                dnam{"kuud"}
                one{"{0} kuu"}
                other{"{0} kuud"}
            }
            nanosecond{
                dnam{"nanosekundid"}
                one{"{0} nanosekund"}
                other{"{0} nanosekundit"}
            }
            second{
                dnam{"sekundid"}
                one{"{0} sekund"}
                other{"{0} sekundit"}
                per{"{0}/s"}
            }
            week{
                dnam{"nädalad"}
                one{"{0} nädal"}
                other{"{0} nädalat"}
            }
            year{
                dnam{"aastad"}
                one{"{0} aasta"}
                other{"{0} aastat"}
            }
        }
        electric{
            ampere{
                dnam{"amprid"}
                one{"{0} amper"}
                other{"{0} amprit"}
            }
            milliampere{
                dnam{"milliamprid"}
                one{"{0} milliamper"}
                other{"{0} milliamprit"}
            }
            ohm{
                dnam{"oomid"}
                one{"{0} oom"}
                other{"{0} oomi"}
            }
            volt{
                dnam{"voldid"}
                one{"{0} volt"}
                other{"{0} volti"}
            }
        }
        energy{
            calorie{
                dnam{"kalorid"}
                one{"{0} kalor"}
                other{"{0} kalorit"}
            }
            foodcalorie{
                dnam{"Toidukalorid"}
                one{"{0} toidukalor"}
                other{"{0} toidukalorit"}
            }
            joule{
                dnam{"džaulid"}
                one{"{0} džaul"}
                other{"{0} džauli"}
            }
            kilocalorie{
                dnam{"kilokalorid"}
                one{"{0} kilokalor"}
                other{"{0} kilokalorit"}
            }
            kilojoule{
                dnam{"kilodžaulid"}
                one{"{0} kilodžaul"}
                other{"{0} kilodžauli"}
            }
            kilowatt-hour{
                dnam{"kilovatt-tunnid"}
                one{"{0} kilovatt-tund"}
                other{"{0} kilovatt-tundi"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigaherts"}
                one{"{0} gigaherts"}
                other{"{0} gigahertsi"}
            }
            hertz{
                dnam{"herts"}
                one{"{0} herts"}
                other{"{0} hertsi"}
            }
            kilohertz{
                dnam{"kiloherts"}
                one{"{0} kiloherts"}
                other{"{0} kilohertsi"}
            }
            megahertz{
                dnam{"megaherts"}
                one{"{0} megaherts"}
                other{"{0} megahertsi"}
            }
        }
        length{
            astronomical-unit{
                dnam{"astronoomilised ühikud"}
                one{"{0} astronoomiline ühik"}
                other{"{0} astronoomilist ühikut"}
            }
            centimeter{
                dnam{"sentimeetrid"}
                one{"{0} sentimeeter"}
                other{"{0} sentimeetrit"}
            }
            decimeter{
                dnam{"detsimeetrid"}
                one{"{0} detsimeeter"}
                other{"{0} detsimeetrit"}
            }
            foot{
                dnam{"jalg"}
                one{"{0} jalg"}
                other{"{0} jalga"}
            }
            inch{
                dnam{"tolli"}
                one{"{0} toll"}
                other{"{0} tolli"}
            }
            kilometer{
                dnam{"kilomeetrid"}
                one{"{0} kilomeeter"}
                other{"{0} kilomeetrit"}
            }
            light-year{
                dnam{"valgusaastad"}
                one{"{0} valgusaasta"}
                other{"{0} valgusaastat"}
            }
            meter{
                dnam{"meetrid"}
                one{"{0} meeter"}
                other{"{0} meetrit"}
            }
            micrometer{
                dnam{"mikromeetrid"}
                one{"{0} mikromeeter"}
                other{"{0} mikromeetrit"}
            }
            mile{
                dnam{"miili"}
                one{"{0} miil"}
                other{"{0} miili"}
            }
            millimeter{
                dnam{"millimeetrid"}
                one{"{0} millimeeter"}
                other{"{0} millimeetrit"}
            }
            nanometer{
                dnam{"nanomeetrid"}
                one{"{0} nanomeeter"}
                other{"{0} nanomeetrit"}
            }
            nautical-mile{
                dnam{"meremiilid"}
                one{"{0} meremiil"}
                other{"{0} meremiili"}
            }
            parsec{
                dnam{"parsekid"}
                one{"{0} parsek"}
                other{"{0} parsekit"}
            }
            picometer{
                dnam{"pikomeetrid"}
                one{"{0} pikomeeter"}
                other{"{0} pikomeetrit"}
            }
            yard{
                dnam{"jardi"}
                one{"{0} jard"}
                other{"{0} jardi"}
            }
        }
        light{
            lux{
                dnam{"luks"}
                one{"{0} luks"}
                other{"{0} luksi"}
            }
        }
        mass{
            carat{
                dnam{"karaadid"}
                one{"{0} karaat"}
                other{"{0} karaati"}
            }
            gram{
                dnam{"grammi"}
                one{"{0} gramm"}
                other{"{0} grammi"}
            }
            kilogram{
                dnam{"kilogrammi"}
                one{"{0} kilogramm"}
                other{"{0} kilogrammi"}
            }
            metric-ton{
                dnam{"tonnid"}
                one{"{0} tonn"}
                other{"{0} tonni"}
            }
            microgram{
                dnam{"mikrogrammid"}
                one{"mikrogramm"}
                other{"{0} mikrogrammi"}
            }
            milligram{
                dnam{"milligrammid"}
                one{"{0} milligramm"}
                other{"{0} milligrammi"}
            }
            ounce{
                dnam{"untsi"}
                one{"{0} unts"}
                other{"{0} untsi"}
            }
            ounce-troy{
                dnam{"trooja untsid"}
                one{"{0} trooja unts"}
                other{"{0} trooja untsi"}
            }
            pound{
                dnam{"naela"}
                one{"{0} nael"}
                other{"{0} naela"}
            }
            ton{
                dnam{"lühikesed tonnid"}
                one{"{0} lühikene tonn"}
                other{"{0} lühikest tonni"}
            }
        }
        power{
            gigawatt{
                dnam{"gigavatid"}
                one{"{0} gigavatt"}
                other{"{0} gigavatti"}
            }
            horsepower{
                dnam{"hobujõud"}
                one{"{0} hobujõud"}
                other{"{0} hobujõudu"}
            }
            kilowatt{
                dnam{"kilovatid"}
                one{"{0} kilovatt"}
                other{"{0} kilovatti"}
            }
            megawatt{
                dnam{"megavatid"}
                one{"{0} megavatt"}
                other{"{0} megavatti"}
            }
            milliwatt{
                dnam{"millivatid"}
                one{"{0} millivatt"}
                other{"{0} millivatti"}
            }
            watt{
                dnam{"vatid"}
                one{"{0} vatt"}
                other{"{0} vatti"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hektopaskalid"}
                one{"{0} hektopaskal"}
                other{"{0} hektopaskalit"}
            }
            inch-hg{
                dnam{"tolli elavhõbedasammast"}
                one{"{0} toll elavhõbedasammast"}
                other{"{0} tolli elavhõbedasammast"}
            }
            millibar{
                dnam{"millibaari"}
                one{"{0} millibaar"}
                other{"{0} millibaari"}
            }
            millimeter-of-mercury{
                dnam{"millimeetrit elavhõbedasammast"}
                one{"{0} millimeeter elavhõbedasammast"}
                other{"{0} millimeetrit elavhõbedasammast"}
            }
            pound-per-square-inch{
                dnam{"naela ruuttolli kohta"}
                one{"{0} nael ruuttolli kohta"}
                other{"{0} naela ruuttolli kohta"}
            }
        }
        proportion{
            karat{
                dnam{"karaadid"}
                one{"{0} karaat"}
                other{"{0} karaati"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomeetrid tunnis"}
                one{"{0} kilomeeter tunnis"}
                other{"{0} kilomeetrit tunnis"}
            }
            meter-per-second{
                dnam{"meetrid sekundis"}
                one{"{0} meeter sekundis"}
                other{"{0} meetrit sekundis"}
            }
            mile-per-hour{
                dnam{"miili tunnis"}
                one{"{0} miil tunnis"}
                other{"{0} miili tunnis"}
            }
        }
        temperature{
            celsius{
                dnam{"Celsiuse kraadi"}
                one{"{0} Celsiuse kraad"}
                other{"{0} Celsiuse kraadi"}
            }
            fahrenheit{
                dnam{"Fahrenheiti kraadi"}
                one{"{0} Fahrenheiti kraad"}
                other{"{0} Fahrenheiti kraadi"}
            }
            kelvin{
                dnam{"kelvinit"}
                one{"{0} kelvin"}
                other{"{0} kelvinit"}
            }
        }
        volume{
            acre-foot{
                dnam{"aaker-jalg"}
                one{"{0} aaker-jalg"}
                other{"{0} aaker-jalga"}
            }
            centiliter{
                dnam{"sentiliitrid"}
                one{"{0} sentiliiter"}
                other{"{0} sentiliitrit"}
            }
            cubic-centimeter{
                dnam{"kuupsentimeetrid"}
                one{"{0} kuupsentimeeter"}
                other{"{0} kuupsentimeetrit"}
            }
            cubic-foot{
                dnam{"kuupjalg"}
                one{"{0} kuupjalg"}
                other{"{0} kuupjalga"}
            }
            cubic-inch{
                dnam{"kuuptollid"}
                one{"{0} kuuptoll"}
                other{"{0} kuuptolli"}
            }
            cubic-kilometer{
                dnam{"kuupkilomeetrid"}
                one{"{0} kuupkilomeeter"}
                other{"{0} kuupkilomeetrit"}
            }
            cubic-meter{
                dnam{"kuupmeetrid"}
                one{"{0} kuupmeeter"}
                other{"{0} kuupmeetrit"}
            }
            cubic-mile{
                dnam{"kuupmiili"}
                one{"{0} kuupmiil"}
                other{"{0} kuupmiili"}
            }
            cubic-yard{
                dnam{"kuupjardid"}
                one{"{0} kuupjard"}
                other{"{0} kuupjardi"}
            }
            cup{
                dnam{"tassid"}
                one{"{0} tass"}
                other{"{0} tassi"}
            }
            deciliter{
                dnam{"detsiliitrid"}
                one{"{0} detsiliiter"}
                other{"{0} detsiliitrit"}
            }
            fluid-ounce{
                dnam{"vedelike untsid"}
                one{"{0} vedelike unts"}
                other{"{0} vedelike untsi"}
            }
            gallon{
                dnam{"gallonid"}
                one{"{0} gallon"}
                other{"{0} gallonit"}
            }
            hectoliter{
                dnam{"hektoliitrid"}
                one{"{0} hektoliiter"}
                other{"{0} hektoliitrit"}
            }
            liter{
                dnam{"liitrid"}
                one{"{0} liiter"}
                other{"{0} liitrit"}
            }
            megaliter{
                dnam{"megaliitrid"}
                one{"{0} megaliiter"}
                other{"{0} megaliitrit"}
            }
            milliliter{
                dnam{"milliliitrid"}
                one{"{0} milliliiter"}
                other{"{0} milliliitrit"}
            }
            pint{
                dnam{"pindid"}
                one{"{0} pint"}
                other{"{0} pinti"}
            }
            quart{
                dnam{"kvardid"}
                one{"{0} kvart"}
                other{"{0} kvarti"}
            }
            tablespoon{
                dnam{"supilusikatäis"}
                one{"{0} supilusikatäis"}
                other{"{0} supilusikatäit"}
            }
            teaspoon{
                dnam{"teelusikatäis"}
                one{"{0} teelusikatäis"}
                other{"{0} teelusikatäit"}
            }
        }
    }
    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} aaker"}
                other{"{0} aakrit"}
            }
            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}"}
        }
        duration{
            day{
                dnam{"ööpäeva"}
                one{"{0} p"}
                other{"{0} p"}
            }
            hour{
                dnam{"h"}
                one{"{0} h"}
                other{"{0} h"}
            }
            millisecond{
                dnam{"millisekundit"}
                one{"{0}ms"}
                other{"{0}ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0} min"}
            }
            month{
                dnam{"kuud"}
                one{"{0} k"}
                other{"{0} k"}
            }
            second{
                dnam{"s"}
                one{"{0} s"}
                other{"{0} s"}
            }
            week{
                dnam{"nädalad"}
                one{"{0} n"}
                other{"{0} n"}
            }
            year{
                dnam{"a"}
                one{"{0} a"}
                other{"{0} a"}
            }
        }
        length{
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                one{"{0} jalg"}
                other{"{0} jalga"}
            }
            inch{
                one{"{0} toll"}
                other{"{0} tolli"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                one{"{0} valgusa."}
                other{"{0} valgusa."}
            }
            meter{
                dnam{"m"}
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                one{"{0} miil"}
                other{"{0} miili"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                one{"{0} jard"}
                other{"{0} jardi"}
            }
        }
        mass{
            gram{
                dnam{"gramm"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{0} kg"}
            }
            ounce{
                one{"{0} oz"}
                other{"{0} oz"}
            }
            pound{
                one{"{0} lb"}
                other{"{0} lb"}
            }
            ton{
                dnam{"lüh. tonnid"}
                one{"{0} lüh. t"}
                other{"{0} lüh. t"}
            }
        }
        power{
            horsepower{
                one{"{0} hj"}
                other{"{0} hj"}
            }
            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} toll Hg"}
                other{"{0} tolli Hg"}
            }
            millibar{
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0}km/h"}
                other{"{0}km/h"}
            }
            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} °"}
                other{"{0} °"}
            }
            fahrenheit{
                dnam{"°F"}
                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{"liiter"}
                one{"{0} l"}
                other{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"maa gravitatsioon"}
                one{"{0} G"}
                other{"{0} G"}
            }
            meter-per-second-squared{
                dnam{"m/s²"}
                one{"{0} m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"kaareminut"}
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                dnam{"kaaresekund"}
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                dnam{"kraadi"}
                one{"{0}°"}
                other{"{0}°"}
            }
            radian{
                dnam{"radiaanid"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
        }
        area{
            acre{
                dnam{"aakrid"}
                one{"{0} aaker"}
                other{"{0} aakrit"}
            }
            hectare{
                dnam{"hektarid"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
            }
            square-foot{
                dnam{"ruutjalga"}
                one{"{0} ft²"}
                other{"{0} ft²"}
            }
            square-inch{
                dnam{"ruuttollid"}
                one{"{0} in²"}
                other{"{0} in²"}
            }
            square-kilometer{
                dnam{"km²"}
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                dnam{"m²"}
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                dnam{"mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
            square-yard{
                dnam{"ruutjardid"}
                one{"{0} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-kilometer{
                dnam{"liitrit/km"}
                one{"{0} L/km"}
                other{"{0} L/km"}
            }
            mile-per-gallon{
                dnam{"miil/gallon"}
                one{"{0} mpg"}
                other{"{0} mpg"}
            }
        }
        digital{
            bit{
                dnam{"bitt"}
                one{"{0} b"}
                other{"{0} b"}
            }
            byte{
                dnam{"bait"}
                one{"{0} bait"}
                other{"{0} baiti"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            day{
                dnam{"ööpäeva"}
                one{"{0} päev"}
                other{"{0} päeva"}
            }
            hour{
                dnam{"h"}
                one{"{0} h"}
                other{"{0} h"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"millisekundit"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0} min"}
            }
            month{
                dnam{"kuud"}
                one{"{0} kuu"}
                other{"{0} kuud"}
            }
            nanosecond{
                dnam{"ns"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"s"}
                one{"{0} s"}
                other{"{0} s"}
                per{"{0}/s"}
            }
            week{
                dnam{"nädalad"}
                one{"{0} nädal"}
                other{"{0} nädalat"}
            }
            year{
                dnam{"aastad"}
                one{"{0} a"}
                other{"{0} a"}
            }
        }
        electric{
            ampere{
                dnam{"amprid"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"milliamprid"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"oomid"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"voldid"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"{0} cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"Cal"}
                one{"{0} Cal"}
                other{"{0} Cal"}
            }
            joule{
                dnam{"džaulid"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            kilojoule{
                dnam{"kJ"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kW-tund"}
                one{"{0} kWh"}
                other{"{0} kWh"}
            }
        }
        frequency{
            gigahertz{
                dnam{"GHz"}
                one{"{0} GHz"}
                other{"{0} GHz"}
            }
            hertz{
                dnam{"Hz"}
                one{"{0} Hz"}
                other{"{0} Hz"}
            }
            kilohertz{
                dnam{"kHz"}
                one{"{0} kHz"}
                other{"{0} kHz"}
            }
            megahertz{
                dnam{"MHz"}
                one{"{0} MHz"}
                other{"{0} MHz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"aü"}
                one{"{0} aü"}
                other{"{0} aü"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"ft"}
                one{"{0} jalg"}
                other{"{0} jalga"}
            }
            inch{
                dnam{"in"}
                one{"{0} toll"}
                other{"{0} tolli"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                dnam{"valgusaastad"}
                one{"{0} valgusa."}
                other{"{0} valgusa."}
            }
            meter{
                dnam{"meetrid"}
                one{"{0} m"}
                other{"{0} m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"mi"}
                one{"{0} miil"}
                other{"{0} miili"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"parsekid"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"jardi"}
                one{"{0} jard"}
                other{"{0} jardi"}
            }
        }
        light{
            lux{
                dnam{"lx"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"karaat"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
            gram{
                dnam{"grammi"}
                one{"{0} g"}
                other{"{0} g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0} kg"}
                other{"{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{"oz"}
                one{"{0} oz"}
                other{"{0} oz"}
            }
            ounce-troy{
                dnam{"oz t"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"lb"}
                one{"{0} lb"}
                other{"{0} lb"}
            }
            ton{
                dnam{"lüh. tonnid"}
                one{"{0} lüh. t"}
                other{"{0} lüh. t"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"hj"}
                one{"{0} hj"}
                other{"{0} hj"}
            }
            kilowatt{
                dnam{"kW"}
                one{"{0} kW"}
                other{"{0} kW"}
            }
            megawatt{
                dnam{"MW"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"vatid"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"tolli elavhõbedasammast"}
                one{"{0} toll Hg"}
                other{"{0} tolli Hg"}
            }
            millibar{
                dnam{"mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
            millimeter-of-mercury{
                dnam{"mm Hg"}
                one{"{0} mm Hg"}
                other{"{0} mm Hg"}
            }
            pound-per-square-inch{
                dnam{"psi"}
                one{"{0} psi"}
                other{"{0} psi"}
            }
        }
        proportion{
            karat{
                dnam{"karaat"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            meter-per-second{
                dnam{"m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0} °C"}
                other{"{0} °C"}
            }
            fahrenheit{
                dnam{"°F"}
                one{"{0} °F"}
                other{"{0} °F"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"aaker ft"}
                one{"{0} ac ft"}
                other{"{0} ac ft"}
            }
            centiliter{
                dnam{"cl"}
                one{"{0} cl"}
                other{"{0} cl"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
            }
            cubic-foot{
                dnam{"ft³"}
                one{"{0} ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"kuuptollid"}
                one{"{0} toll³"}
                other{"{0} tolli³"}
            }
            cubic-kilometer{
                dnam{"km³"}
                one{"{0} km³"}
                other{"{0} km³"}
            }
            cubic-meter{
                dnam{"m³"}
                one{"{0} m³"}
                other{"{0} m³"}
            }
            cubic-mile{
                dnam{"kuupmiili"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            cubic-yard{
                dnam{"kuupjardid"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"tass"}
                one{"{0} tass"}
                other{"{0} tassi"}
            }
            deciliter{
                dnam{"dl"}
                one{"{0} dl"}
                other{"{0} dl"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0} fl oz"}
                other{"{0} fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
            }
            hectoliter{
                dnam{"hl"}
                one{"{0} hl"}
                other{"{0} hl"}
            }
            liter{
                dnam{"liitrid"}
                one{"{0} l"}
                other{"{0} l"}
            }
            megaliter{
                dnam{"Ml"}
                one{"{0} Ml"}
                other{"{0} Ml"}
            }
            milliliter{
                dnam{"ml"}
                one{"{0} ml"}
                other{"{0} ml"}
            }
            pint{
                dnam{"pindid"}
                one{"{0} pt"}
                other{"{0} pt"}
            }
            quart{
                dnam{"kvart"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"spl"}
                one{"{0} spl"}
                other{"{0} spl"}
            }
            teaspoon{
                dnam{"tl"}
                one{"{0} tl"}
                other{"{0} tl"}
            }
        }
    }
}
