﻿// ***************************************************************************
// *
// * Copyright (C) 2015 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.19.94"}
    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}"}
        }
        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"}
            }
        }
        proportion{
            karat{
                dnam{"karat"}
                one{"{0} karat"}
                other{"{0} karat"}
            }
        }
        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}"}
        }
        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."}
            }
        }
        proportion{
            karat{
                dnam{"karat"}
                one{"{0} kar."}
                other{"{0} kar."}
            }
        }
        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."}
            }
        }
    }
}
