﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
af{
    Version{"2.1.22.93"}
    durationUnits{
        hm{"hh:mm"}
        hms{"hh:mm:ss"}
        ms{"mm:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"swaartekrag van die Aarde"}
                one{"{0} swaartekrag van die Aarde"}
                other{"{0} swaartekrag van die Aarde"}
            }
            meter-per-second-squared{
                dnam{"m/s²"}
                one{"{0} m/s²"}
                other{"{0} m/s²"}
            }
        }
        angle{
            arc-minute{
                dnam{"boogminute"}
                one{"{0} boogminuut"}
                other{"{0} boogminute"}
            }
            arc-second{
                dnam{"boogsekondes"}
                one{"{0} boogsekonde"}
                other{"{0} boogsekondes"}
            }
            degree{
                dnam{"grade"}
                one{"{0} graad"}
                other{"{0} grade"}
            }
            radian{
                dnam{"radiale"}
                one{"{0} radiaal"}
                other{"{0} radiale"}
            }
            revolution{
                dnam{"rewolusie"}
                one{"{0} rewolusie"}
                other{"{0} rewolusies"}
            }
        }
        area{
            acre{
                dnam{"akker"}
                one{"{0} akker"}
                other{"{0} akker"}
            }
            hectare{
                dnam{"hektaar"}
                one{"{0} hektaar"}
                other{"{0} hektaar"}
            }
            square-centimeter{
                dnam{"vierkante sentimeter"}
                one{"{0} vierkante sentimeter"}
                other{"{0} vierkante sentimeter"}
                per{"{0} per vierkante sentimeter"}
            }
            square-foot{
                dnam{"vierkante voet"}
                one{"{0} vierkante voet"}
                other{"{0} vierkante voet"}
            }
            square-inch{
                dnam{"vierkante duim"}
                one{"{0} vierkante duim"}
                other{"{0} vierkante duim"}
                per{"{0} per vierkante duim"}
            }
            square-kilometer{
                dnam{"vierkante kilometer"}
                one{"{0} vierkante kilometer"}
                other{"{0} vierkante kilometer"}
            }
            square-meter{
                dnam{"vierkante meter"}
                one{"{0} vierkante meter"}
                other{"{0} vierkante meter"}
                per{"{0} per vierkante meter"}
            }
            square-mile{
                dnam{"vierkante myl"}
                one{"{0} vierkante myl"}
                other{"{0} vierkante myl"}
            }
            square-yard{
                dnam{"vierkante jaart"}
                one{"{0} vierkante jaart"}
                other{"{0} vierkante jaart"}
            }
        }
        compound{
            per{"{0} per {1}"}
        }
        concentr{
            karat{
                dnam{"karat"}
                one{"{0} karat"}
                other{"{0} karat"}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"liter per 100 kilometers"}
                one{"{0} liter per 100 kilometers"}
                other{"{0} liter per 100 kilometers"}
            }
            liter-per-kilometer{
                dnam{"liter per kilometer"}
                one{"{0} liter per kilometer"}
                other{"{0} liter per kilometer"}
            }
            mile-per-gallon{
                dnam{"myl per gelling"}
                one{"{0} myl per gelling"}
                other{"{0} myl per gelling"}
            }
        }
        coordinate{
            east{"{0}O"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"bis"}
                one{"{0} bis"}
                other{"{0} bis"}
            }
            byte{
                dnam{"grepe"}
                one{"{0} greep"}
                other{"{0} grepe"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"eeu"}
                one{"{0} eeu"}
                other{"{0} eeue"}
            }
            day{
                dnam{"dae"}
                one{"{0} dag"}
                other{"{0} dae"}
                per{"{0}/d."}
            }
            hour{
                dnam{"uur"}
                one{"{0} uur"}
                other{"{0} uur"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"mikrosekondes"}
                one{"{0} mikrosekonde"}
                other{"{0} mikrosekondes"}
            }
            millisecond{
                dnam{"millisekondes"}
                one{"{0} millisekonde"}
                other{"{0} millisekondes"}
            }
            minute{
                dnam{"minute"}
                one{"{0} minuut"}
                other{"{0} minute"}
                per{"{0} per minuut"}
            }
            month{
                dnam{"maande"}
                one{"{0} maand"}
                other{"{0} maande"}
                per{"{0}/md."}
            }
            nanosecond{
                dnam{"nanosekondes"}
                one{"{0} nanosekonde"}
                other{"{0} nanosekondes"}
            }
            second{
                dnam{"sekondes"}
                one{"{0} sekonde"}
                other{"{0} sekondes"}
                per{"{0}/s"}
            }
            week{
                dnam{"weke"}
                one{"{0} week"}
                other{"{0} weke"}
                per{"{0}/w."}
            }
            year{
                dnam{"jaar"}
                one{"{0} jaar"}
                other{"{0} jaar"}
                per{"{0} per jaar"}
            }
        }
        electric{
            ampere{
                dnam{"ampere"}
                one{"{0} ampere"}
                other{"{0} ampere"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohm"}
                one{"{0} ohm"}
                other{"{0} ohm"}
            }
            volt{
                dnam{"volt"}
                one{"{0} volt"}
                other{"{0} volt"}
            }
        }
        energy{
            calorie{
                dnam{"kalorië"}
                one{"{0} kalorie"}
                other{"{0} kalorië"}
            }
            foodcalorie{
                dnam{"Kalorië"}
                one{"{0} Kalorie"}
                other{"{0} Kalorië"}
            }
            joule{
                dnam{"joule"}
                one{"{0} joule"}
                other{"{0} joule"}
            }
            kilocalorie{
                dnam{"kilokalorië"}
                one{"{0} kilokalorie"}
                other{"{0} kilokalorië"}
            }
            kilojoule{
                dnam{"kJ"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kWh"}
                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{"astronomiese eenheid"}
                one{"{0} astronomiese eenheid"}
                other{"{0} astronomiese eenheid"}
            }
            centimeter{
                dnam{"sentimeter"}
                one{"{0} sentimeter"}
                other{"{0} sentimeter"}
                per{"{0} per sentimeter"}
            }
            decimeter{
                dnam{"desimeter"}
                one{"{0} desimeter"}
                other{"{0} desimeter"}
            }
            foot{
                dnam{"voet"}
                one{"{0} voet"}
                other{"{0} voet"}
                per{"{0} per voet"}
            }
            inch{
                dnam{"duim"}
                one{"{0} duim"}
                other{"{0} duim"}
                per{"{0} per duim"}
            }
            kilometer{
                dnam{"kilometer"}
                one{"{0} kilometer"}
                other{"{0} kilometer"}
                per{"{0} per kilometer"}
            }
            light-year{
                dnam{"ligjare"}
                one{"{0} ligjare"}
                other{"{0} ligjare"}
            }
            meter{
                dnam{"meter"}
                one{"{0} meter"}
                other{"{0} meter"}
                per{"{0} per meter"}
            }
            micrometer{
                dnam{"mikrometer"}
                one{"{0} mikrometer"}
                other{"{0} mikrometer"}
            }
            mile{
                dnam{"myl"}
                one{"{0} myl"}
                other{"{0} myl"}
            }
            mile-scandinavian{
                dnam{"skandinawiese myl"}
                one{"{0} skandinawiese myl"}
                other{"{0} skandinawiese myl"}
            }
            millimeter{
                dnam{"millimeter"}
                one{"{0} millimeter"}
                other{"{0} millimeter"}
            }
            nanometer{
                dnam{"nanometer"}
                one{"{0} nanometer"}
                other{"{0} nanometer"}
            }
            nautical-mile{
                dnam{"seemyl"}
                one{"{0} seemyl"}
                other{"{0} seemyl"}
            }
            parsec{
                dnam{"parsek"}
                one{"{0} parsek"}
                other{"{0} parsek"}
            }
            picometer{
                dnam{"pikometer"}
                one{"{0} pikometer"}
                other{"{0} pikometer"}
            }
            yard{
                dnam{"jaart"}
                one{"{0} jaart"}
                other{"{0} jaart"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lux"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"karaat"}
                one{"{0} karaat"}
                other{"{0} karaat"}
            }
            gram{
                dnam{"gram"}
                one{"{0} gram"}
                other{"{0} gram"}
                per{"{0} per gram"}
            }
            kilogram{
                dnam{"kilogram"}
                one{"{0} kilogram"}
                other{"{0} kilogram"}
                per{"{0} per kilogram"}
            }
            metric-ton{
                dnam{"t"}
                one{"{0} t"}
                other{"{0} t"}
            }
            microgram{
                dnam{"mikrogram"}
                one{"{0} mikrogram"}
                other{"{0} mikrogram"}
            }
            milligram{
                dnam{"milligram"}
                one{"{0} milligram"}
                other{"{0} milligram"}
            }
            ounce{
                dnam{"onse"}
                one{"{0} ons"}
                other{"{0} onse"}
                per{"{0} per ons"}
            }
            ounce-troy{
                dnam{"troy-onse"}
                one{"{0} troy-ons"}
                other{"{0} troy-onse"}
            }
            pound{
                dnam{"pond"}
                one{"{0} pond"}
                other{"{0} pond"}
                per{"{0}/lb"}
            }
            ton{
                dnam{"ton"}
                one{"{0} ton"}
                other{"{0} ton"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"perdekrag"}
                one{"{0} perdekrag"}
                other{"{0} perdekrag"}
            }
            kilowatt{
                dnam{"kilowatt"}
                one{"{0} kilowatt"}
                other{"{0} kilowatt"}
            }
            megawatt{
                dnam{"MW"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"watt"}
                one{"{0} watt"}
                other{"{0} watt"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hektopascal"}
                one{"{0} hektopascal"}
                other{"{0} hektopascal"}
            }
            inch-hg{
                dnam{"duim kwik"}
                one{"{0} duim kwik"}
                other{"{0} duim kwik"}
            }
            millibar{
                dnam{"millibar"}
                one{"{0} millibar"}
                other{"{0} millibar"}
            }
            millimeter-of-mercury{
                dnam{"millimeter kwik"}
                one{"{0} millimeter kwik"}
                other{"{0} millimeter kwik"}
            }
            pound-per-square-inch{
                dnam{"pond per vierkante duim"}
                one{"{0} pond per vierkante duim"}
                other{"{0} pond per vierkante duim"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilometer per uur"}
                one{"{0} kilometer per uur"}
                other{"{0} kilometer per uur"}
            }
            knot{
                dnam{"knoop"}
                one{"{0} knoop"}
                other{"{0} knope"}
            }
            meter-per-second{
                dnam{"meter per sekonde"}
                one{"{0} meter per sekonde"}
                other{"{0} meter per sekonde"}
            }
            mile-per-hour{
                dnam{"myl per uur"}
                one{"{0} myl per uur"}
                other{"{0} myl per uur"}
            }
        }
        temperature{
            celsius{
                dnam{"grade Celsius"}
                one{"{0} graad Celsius"}
                other{"{0} grade Celsius"}
            }
            fahrenheit{
                dnam{"grade Fahrenheit"}
                one{"{0} graad Fahrenheit"}
                other{"{0} grade Fahrenheit"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"akkervoet"}
                one{"{0} akkervoet"}
                other{"{0} akkervoet"}
            }
            centiliter{
                dnam{"sentiliter"}
                one{"{0} sentiliter"}
                other{"{0} sentiliter"}
            }
            cubic-centimeter{
                dnam{"kubieke sentimeter"}
                one{"{0} kubieke sentimeter"}
                other{"{0} kubieke sentimeter"}
                per{"{0} per kubieke sentimeter"}
            }
            cubic-foot{
                dnam{"kubieke voet"}
                one{"{0} kubieke voet"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"kubieke duim"}
                one{"{0} kubieke duim"}
                other{"{0} kubieke duim"}
            }
            cubic-kilometer{
                dnam{"kubieke kilometer"}
                one{"{0} kubieke kilometer"}
                other{"{0} kubieke kilometer"}
            }
            cubic-meter{
                dnam{"kubieke meter"}
                one{"{0} kubieke meter"}
                other{"{0} kubieke meter"}
                per{"{0} per kubieke meter"}
            }
            cubic-mile{
                dnam{"kubieke myl"}
                one{"{0} kubieke myl"}
                other{"{0} kubieke myl"}
            }
            cubic-yard{
                dnam{"kubieke jaart"}
                one{"{0} kubieke jaart"}
                other{"{0} kubieke jaart"}
            }
            cup{
                dnam{"koppies"}
                one{"{0} koppie"}
                other{"{0} koppies"}
            }
            cup-metric{
                dnam{"metrieke koppies"}
                one{"{0} metrieke koppie"}
                other{"{0} metrieke koppies"}
            }
            deciliter{
                dnam{"desiliter"}
                one{"{0} desiliter"}
                other{"{0} desiliter"}
            }
            fluid-ounce{
                dnam{"vloeistofonse"}
                one{"{0} vloeistofons"}
                other{"{0} vloeistofonse"}
            }
            gallon{
                dnam{"gelling"}
                one{"{0} gelling"}
                other{"{0} gelling"}
                per{"{0} per gelling"}
            }
            hectoliter{
                dnam{"hektoliter"}
                one{"{0} hektoliter"}
                other{"{0} hektoliter"}
            }
            liter{
                dnam{"liter"}
                one{"{0} liter"}
                other{"{0} liter"}
                per{"{0} per liter"}
            }
            megaliter{
                dnam{"megaliter"}
                one{"{0} megaliter"}
                other{"{0} megaliter"}
            }
            milliliter{
                dnam{"milliliter"}
                one{"{0} milliliter"}
                other{"{0} milliliter"}
            }
            pint{
                dnam{"pinte"}
                one{"{0} pint"}
                other{"{0} pinte"}
            }
            pint-metric{
                dnam{"metrieke pinte"}
                one{"{0} metrieke pint"}
                other{"{0} metrieke pinte"}
            }
            quart{
                dnam{"kwarte"}
                one{"{0} kwart"}
                other{"{0} kwarte"}
            }
            tablespoon{
                dnam{"eetlepel"}
                one{"{0} eetlepel"}
                other{"{0} eetlepels"}
            }
            teaspoon{
                dnam{"teelepels"}
                one{"{0} teelepel"}
                other{"{0} teelepels"}
            }
        }
    }
    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} ak"}
                other{"{0} ak"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
            }
            square-foot{
                one{"{0} vt.²"}
                other{"{0} vt.²"}
            }
            square-kilometer{
                one{"{0} km²"}
                other{"{0} km²"}
            }
            square-meter{
                one{"{0} m²"}
                other{"{0} m²"}
            }
            square-mile{
                one{"{0}myl²"}
                other{"{0}myl²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"ℓ/100km"}
                one{"{0} ℓ/100km"}
                other{"{0} ℓ/100km"}
            }
        }
        coordinate{
            east{"{0}O"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        duration{
            day{
                dnam{"dag"}
                one{"{0} d."}
                other{"{0} d."}
            }
            hour{
                dnam{"uur"}
                one{"{0} u."}
                other{"{0} u."}
            }
            millisecond{
                dnam{"ms"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"minute"}
                one{"{0} min."}
                other{"{0} min."}
            }
            month{
                dnam{"maand"}
                one{"{0} md."}
                other{"{0} md."}
            }
            second{
                dnam{"sekondes"}
                one{"{0} sek."}
                other{"{0} sek."}
            }
            week{
                dnam{"w."}
                one{"{0} w."}
                other{"{0} w."}
            }
            year{
                dnam{"jaar"}
                one{"{0} j."}
                other{"{0} j."}
            }
        }
        length{
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
            }
            foot{
                one{"{0} vt."}
                other{"{0} vt."}
            }
            inch{
                one{"{0} duim"}
                other{"{0} duim"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
            }
            light-year{
                one{"{0} lj"}
                other{"{0} lj"}
            }
            meter{
                dnam{"meter"}
                one{"{0} m"}
                other{"{0} m"}
            }
            mile{
                one{"{0} myl"}
                other{"{0} myl"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
            }
            yard{
                one{"{0} jt."}
                other{"{0} jt."}
            }
        }
        mass{
            gram{
                dnam{"gram"}
                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."}
            }
        }
        power{
            horsepower{
                one{"{0}pk."}
                other{"{0}pk."}
            }
            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} dm.Hg"}
                other{"{0} dm.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} myl/h"}
                other{"{0} myl/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} myl³"}
                other{"{0} myl³"}
            }
            liter{
                dnam{"liter"}
                one{"{0} ℓ"}
                other{"{0} ℓ"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"swaartekrag van die Aarde"}
                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{"boogminute"}
                one{"{0} boogmin."}
                other{"{0} boogmin."}
            }
            arc-second{
                dnam{"boogsekondes"}
                one{"{0} boogsek."}
                other{"{0} boogsek."}
            }
            degree{
                dnam{"grade"}
                one{"{0} gr."}
                other{"{0} gr."}
            }
            radian{
                dnam{"radiale"}
                one{"{0} rad."}
                other{"{0} rad."}
            }
            revolution{
                dnam{"rew."}
                one{"{0} rew."}
                other{"{0} rew."}
            }
        }
        area{
            acre{
                dnam{"akker"}
                one{"{0} ak"}
                other{"{0} ak"}
            }
            hectare{
                dnam{"hektaar"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"vt.²"}
                one{"{0} vt.²"}
                other{"{0} vt.²"}
            }
            square-inch{
                dnam{"duim²"}
                one{"{0} dm.²"}
                other{"{0} dm.²"}
                per{"{0}/dm.²"}
            }
            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{"myl²"}
                one{"{0} myl²"}
                other{"{0} myl²"}
            }
            square-yard{
                dnam{"jaart²"}
                one{"{0} jt.²"}
                other{"{0} jt.²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"karat"}
                one{"{0} kar."}
                other{"{0} kar."}
            }
        }
        consumption{
            liter-per-100kilometers{
                dnam{"ℓ/100km"}
                one{"{0} ℓ/100km"}
                other{"{0} ℓ/100km"}
            }
            liter-per-kilometer{
                dnam{"liter/km"}
                one{"{0} ℓ/km"}
                other{"{0} ℓ/km"}
            }
            mile-per-gallon{
                dnam{"myl/gelling"}
                one{"{0} m.p.g."}
                other{"{0} m.p.g."}
            }
        }
        coordinate{
            east{"{0}O"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}W"}
        }
        digital{
            bit{
                dnam{"bis"}
                one{"{0} bis"}
                other{"{0} bis"}
            }
            byte{
                dnam{"greep"}
                one{"{0} greep"}
                other{"{0} greep"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"GB"}
                one{"{0} GB"}
                other{"{0} GB"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"kB"}
                one{"{0} kB"}
                other{"{0} kB"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"MB"}
                one{"{0} MB"}
                other{"{0} MB"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"TB"}
                one{"{0} TB"}
                other{"{0} TB"}
            }
        }
        duration{
            century{
                dnam{"e."}
                one{"{0} e."}
                other{"{0} e."}
            }
            day{
                dnam{"dae"}
                one{"{0} dag"}
                other{"{0} dae"}
                per{"{0}/d."}
            }
            hour{
                dnam{"uur"}
                one{"{0} u."}
                other{"{0} u."}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"millisekondes"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"minute"}
                one{"{0} min."}
                other{"{0} min."}
                per{"{0}/min"}
            }
            month{
                dnam{"maande"}
                one{"{0} md."}
                other{"{0} md."}
                per{"{0}/md."}
            }
            nanosecond{
                dnam{"ns"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"sekondes"}
                one{"{0} sek."}
                other{"{0} sek."}
                per{"{0}/s"}
            }
            week{
                dnam{"weke"}
                one{"{0} w."}
                other{"{0} w."}
                per{"{0}/w."}
            }
            year{
                dnam{"jaar"}
                one{"{0} j."}
                other{"{0} j."}
                per{"{0}/j."}
            }
        }
        electric{
            ampere{
                dnam{"ampere"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"ohm"}
                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{"joule"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kkal."}
                one{"{0} kkal."}
                other{"{0} kkal."}
            }
            kilojoule{
                dnam{"kJ"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"kWh"}
                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{"AE"}
                one{"{0} AE"}
                other{"{0} AE"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                per{"{0}/cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            foot{
                dnam{"voet"}
                one{"{0} vt."}
                other{"{0} vt."}
                per{"{0}/vt."}
            }
            inch{
                dnam{"duim"}
                one{"{0} duim"}
                other{"{0} duim"}
                per{"{0}/duim"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"ligjare"}
                one{"{0} lj."}
                other{"{0} lj."}
            }
            meter{
                dnam{"meter"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"myl"}
                one{"{0} myl"}
                other{"{0} myl"}
            }
            mile-scandinavian{
                dnam{"smi"}
                one{"{0} smi"}
                other{"{0} smi"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0} mm"}
                other{"{0} mm"}
            }
            nanometer{
                dnam{"nm"}
                one{"{0} nm"}
                other{"{0} nm"}
            }
            nautical-mile{
                dnam{"sm."}
                one{"{0} sm."}
                other{"{0} sm."}
            }
            parsec{
                dnam{"parsek"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"jaart"}
                one{"{0} jt."}
                other{"{0} jt."}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lux"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"karaat"}
                one{"{0} kar."}
                other{"{0} kar."}
            }
            gram{
                dnam{"gram"}
                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{"oz."}
                one{"{0} oz."}
                other{"{0} oz."}
                per{"{0}/oz."}
            }
            ounce-troy{
                dnam{"troy-ons"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"lb."}
                one{"{0} lb."}
                other{"{0} lb."}
                per{"{0}/lb"}
            }
            ton{
                dnam{"ton"}
                one{"{0} tn"}
                other{"{0} tn"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"perdekrag"}
                one{"{0} pk."}
                other{"{0} pk."}
            }
            kilowatt{
                dnam{"kilowatt"}
                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{"watt"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"duim kwik"}
                one{"{0} dm.Hg"}
                other{"{0} dm.Hg"}
            }
            millibar{
                dnam{"millibar"}
                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{"pond per vierkante duim"}
                one{"{0} pd.vk.dm."}
                other{"{0} pd.vk.dm."}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/uur"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            knot{
                dnam{"kn."}
                one{"{0} kn."}
                other{"{0} kn."}
            }
            meter-per-second{
                dnam{"meter per sekonde"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"myl per uur"}
                one{"{0} myl/h"}
                other{"{0} myl/h"}
            }
        }
        temperature{
            celsius{
                dnam{"grade Celsius"}
                one{"{0} °C"}
                other{"{0} °C"}
            }
            fahrenheit{
                dnam{"grade Fahrenheit"}
                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{"akkervoet"}
                one{"{0} ak.vt."}
                other{"{0} ak.vt."}
            }
            centiliter{
                dnam{"cℓ"}
                one{"{0} cℓ"}
                other{"{0} cℓ"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"ft³"}
                one{"{0} ft³"}
                other{"{0} ft³"}
            }
            cubic-inch{
                dnam{"duim³"}
                one{"{0} dm.³"}
                other{"{0} dm.³"}
            }
            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{"myl³"}
                one{"{0} myl³"}
                other{"{0} myl³"}
            }
            cubic-yard{
                dnam{"jt.³"}
                one{"{0} jt.³"}
                other{"{0} jt.³"}
            }
            cup{
                dnam{"koppie"}
                one{"{0} kp."}
                other{"{0} kp."}
            }
            cup-metric{
                dnam{"mkp."}
                one{"{0} mkp."}
                other{"{0} mkp."}
            }
            deciliter{
                dnam{"dℓ"}
                one{"{0} dℓ"}
                other{"{0} dℓ"}
            }
            fluid-ounce{
                dnam{"vloz."}
                one{"{0} vloz."}
                other{"{0} vloz."}
            }
            gallon{
                dnam{"gell."}
                one{"{0} gell."}
                other{"{0} gell."}
                per{"{0}/gell."}
            }
            hectoliter{
                dnam{"hℓ"}
                one{"{0} hℓ"}
                other{"{0} hℓ"}
            }
            liter{
                dnam{"liter"}
                one{"{0} ℓ"}
                other{"{0} ℓ"}
                per{"{0}/ℓ"}
            }
            megaliter{
                dnam{"Mℓ"}
                one{"{0} Mℓ"}
                other{"{0} Mℓ"}
            }
            milliliter{
                dnam{"mℓ"}
                one{"{0} mℓ"}
                other{"{0} mℓ"}
            }
            pint{
                dnam{"pinte"}
                one{"{0} pt."}
                other{"{0} pt."}
            }
            pint-metric{
                dnam{"mpt."}
                one{"{0} mpt."}
                other{"{0} mpt."}
            }
            quart{
                dnam{"kw."}
                one{"{0} kw."}
                other{"{0} kw."}
            }
            tablespoon{
                dnam{"eetl."}
                one{"{0} e."}
                other{"{0} e."}
            }
            teaspoon{
                dnam{"teel."}
                one{"{0} teel."}
                other{"{0} teel."}
            }
        }
    }
}
