﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
af{
    Version{"2.1.29.44"}
    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"}
                per{"{0} per 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"}
                per{"{0} per vierkante myl"}
            }
            square-yard{
                dnam{"vierkante jaart"}
                one{"{0} vierkante jaart"}
                other{"{0} vierkante jaart"}
            }
        }
        compound{
            per{"{0} per {1}"}
        }
        concentr{
            karat{
                dnam{"karaat"}
                one{"{0} karaat"}
                other{"{0} karaat"}
            }
            milligram-per-deciliter{
                dnam{"milligram per desiliter"}
                one{"{0} milligram per desiliter"}
                other{"{0} milligram per desiliter"}
            }
            millimole-per-liter{
                dnam{"millimol per liter"}
                one{"{0} millimol per liter"}
                other{"{0} millimol per liter"}
            }
            part-per-million{
                dnam{"dele per miljoen"}
                one{"{0} dele per miljoen"}
                other{"{0} dele per miljoen"}
            }
        }
        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"}
            }
            mile-per-gallon-imperial{
                dnam{"myl per imp. gelling"}
                one{"{0} myl per imp. gelling"}
                other{"{0} myl per imp. 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{"metrieke ton"}
                one{"{0} metrieke ton"}
                other{"{0} metrieke ton"}
            }
            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"}
            }
            gallon-imperial{
                dnam{"imp. gelling"}
                one{"{0} imp. gelling"}
                other{"{0} imp. gelling"}
                per{"{0}/imp. gel."}
            }
            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²"}
                per{"{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²"}
                per{"{0}/myl²"}
            }
            square-yard{
                dnam{"jaart²"}
                one{"{0} jt.²"}
                other{"{0} jt.²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        concentr{
            karat{
                dnam{"karaat"}
                one{"{0} kar."}
                other{"{0} kar."}
            }
            milligram-per-deciliter{
                dnam{"mg/dℓ"}
                one{"{0} mg/dℓ"}
                other{"{0} mg/dℓ"}
            }
            millimole-per-liter{
                dnam{"millimol/ℓ"}
                one{"{0} mmol/ℓ"}
                other{"{0} mmol/ℓ"}
            }
            part-per-million{
                dnam{"dele/miljoen"}
                one{"{0} d.p.m."}
                other{"{0} d.p.m."}
            }
        }
        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/gel."}
                one{"{0} m.p.g."}
                other{"{0} m.p.g."}
            }
            mile-per-gallon-imperial{
                dnam{"myl/imp. gel."}
                one{"{0} m.p.imp.g."}
                other{"{0} m.p.imp.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."}
            }
            gallon-imperial{
                dnam{"imp. gel."}
                one{"{0} imp. gel."}
                other{"{0} imp. gel."}
                per{"{0}/imp. gel."}
            }
            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."}
            }
        }
    }
}
