﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fr.xml
// *
// ***************************************************************************
fr{
    Version{"2.1.20.4"}
    durationUnits{
        hm{"hh:mm"}
        hms{"hh:mm:ss"}
        ms{"mm:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"fois la gravitation terrestre"}
                one{"{0} fois la gravitation terrestre"}
                other{"{0} fois la gravitation terrestre"}
            }
            meter-per-second-squared{
                dnam{"mètres par seconde carrée"}
                one{"{0} mètre par seconde carrée"}
                other{"{0} mètres par seconde carrée"}
            }
        }
        angle{
            arc-minute{
                dnam{"minutes d’arc"}
                one{"{0} minute d’arc"}
                other{"{0} minutes d’arc"}
            }
            arc-second{
                dnam{"secondes d’arc"}
                one{"{0} seconde d’arc"}
                other{"{0} secondes d’arc"}
            }
            degree{
                dnam{"degrés"}
                one{"{0} degré"}
                other{"{0} degrés"}
            }
            radian{
                dnam{"radians"}
                one{"{0} radian"}
                other{"{0} radians"}
            }
            revolution{
                dnam{"tour"}
                one{"{0} tour"}
                other{"{0} tours"}
            }
        }
        area{
            acre{
                dnam{"acres anglo-saxonnes"}
                one{"{0} acre anglo-saxonne"}
                other{"{0} acres anglo-saxonnes"}
            }
            hectare{
                dnam{"hectares"}
                one{"{0} hectare"}
                other{"{0} hectares"}
            }
            square-centimeter{
                dnam{"centimètres carrés"}
                one{"{0} centimètre carré"}
                other{"{0} centimètres carrés"}
                per{"{0} par centimètre carré"}
            }
            square-foot{
                dnam{"pieds carrés"}
                one{"{0} pied carré"}
                other{"{0} pieds carrés"}
            }
            square-inch{
                dnam{"pouces carrés"}
                one{"{0} pouce carré"}
                other{"{0} pouces carrés"}
                per{"{0} par pouce carré"}
            }
            square-kilometer{
                dnam{"kilomètres carrés"}
                one{"{0} kilomètre carré"}
                other{"{0} kilomètres carrés"}
            }
            square-meter{
                dnam{"mètres carrés"}
                one{"{0} mètre carré"}
                other{"{0} mètres carrés"}
                per{"{0} par mètre carré"}
            }
            square-mile{
                dnam{"miles carrés"}
                one{"{0} mile carré"}
                other{"{0} miles carrés"}
            }
            square-yard{
                dnam{"yards carrés"}
                one{"{0} yard carré"}
                other{"{0} yards carrés"}
            }
        }
        compound{
            per{"{0} par {1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"litres aux 100 km"}
                one{"{0} litre aux 100 km"}
                other{"{0} litres aux 100 km"}
            }
            liter-per-kilometer{
                dnam{"litres au kilomètre"}
                one{"{0} litre au kilomètre"}
                other{"{0} litres au kilomètre"}
            }
            mile-per-gallon{
                dnam{"miles par gallon"}
                one{"{0} mile par gallon"}
                other{"{0} miles par gallon"}
            }
        }
        coordinate{
            east{"{0} est"}
            north{"{0} nord"}
            south{"{0} sud"}
            west{"{0} ouest"}
        }
        digital{
            bit{
                dnam{"bits"}
                one{"{0} bit"}
                other{"{0} bits"}
            }
            byte{
                dnam{"octets"}
                one{"{0} octet"}
                other{"{0} octets"}
            }
            gigabit{
                dnam{"gigabits"}
                one{"{0} gigabit"}
                other{"{0} gigabits"}
            }
            gigabyte{
                dnam{"gigaoctets"}
                one{"{0} gigaoctet"}
                other{"{0} gigaoctets"}
            }
            kilobit{
                dnam{"kilobits"}
                one{"{0} kilobit"}
                other{"{0} kilobits"}
            }
            kilobyte{
                dnam{"kilooctets"}
                one{"{0} kilooctet"}
                other{"{0} kilooctets"}
            }
            megabit{
                dnam{"mégabits"}
                one{"{0} mégabit"}
                other{"{0} mégabits"}
            }
            megabyte{
                dnam{"mégaoctets"}
                one{"{0} mégaoctet"}
                other{"{0} mégaoctets"}
            }
            terabit{
                dnam{"térabits"}
                one{"{0} térabit"}
                other{"{0} térabits"}
            }
            terabyte{
                dnam{"téraoctets"}
                one{"{0} téraoctet"}
                other{"{0} téraoctets"}
            }
        }
        duration{
            century{
                dnam{"siècles"}
                one{"{0} siècle"}
                other{"{0} siècles"}
            }
            day{
                dnam{"jours"}
                one{"{0} jour"}
                other{"{0} jours"}
                per{"{0} par jour"}
            }
            hour{
                dnam{"heures"}
                one{"{0} heure"}
                other{"{0} heures"}
                per{"{0} par heure"}
            }
            microsecond{
                dnam{"microsecondes"}
                one{"{0} microseconde"}
                other{"{0} microsecondes"}
            }
            millisecond{
                dnam{"millisecondes"}
                one{"{0} milliseconde"}
                other{"{0} millisecondes"}
            }
            minute{
                dnam{"minutes"}
                one{"{0} minute"}
                other{"{0} minutes"}
                per{"{0} par minute"}
            }
            month{
                dnam{"mois"}
                one{"{0} mois"}
                other{"{0} mois"}
                per{"{0} par mois"}
            }
            nanosecond{
                dnam{"nanosecondes"}
                one{"{0} nanoseconde"}
                other{"{0} nanosecondes"}
            }
            second{
                dnam{"secondes"}
                one{"{0} seconde"}
                other{"{0} secondes"}
                per{"{0} par seconde"}
            }
            week{
                dnam{"semaines"}
                one{"{0} semaine"}
                other{"{0} semaines"}
                per{"{0} par semaine"}
            }
            year{
                dnam{"ans"}
                one{"{0} an"}
                other{"{0} ans"}
                per{"{0} par an"}
            }
        }
        electric{
            ampere{
                dnam{"ampères"}
                one{"{0} ampère"}
                other{"{0} ampères"}
            }
            milliampere{
                dnam{"milliampères"}
                one{"{0} milliampère"}
                other{"{0} milliampères"}
            }
            ohm{
                dnam{"ohms"}
                one{"{0} ohm"}
                other{"{0} ohms"}
            }
            volt{
                dnam{"volts"}
                one{"{0} volt"}
                other{"{0} volts"}
            }
        }
        energy{
            calorie{
                dnam{"calories"}
                one{"{0} calorie"}
                other{"{0} calories"}
            }
            foodcalorie{
                dnam{"kilocalories"}
                one{"{0} kilocalorie"}
                other{"{0} kilocalories"}
            }
            joule{
                dnam{"joules"}
                one{"{0} joule"}
                other{"{0} joules"}
            }
            kilocalorie{
                dnam{"kilocalories"}
                one{"{0} kilocalorie"}
                other{"{0} kilocalories"}
            }
            kilojoule{
                dnam{"kilojoules"}
                one{"{0} kilojoule"}
                other{"{0} kilojoules"}
            }
            kilowatt-hour{
                dnam{"kilowattheures"}
                one{"{0} kilowattheure"}
                other{"{0} kilowattheures"}
            }
        }
        frequency{
            gigahertz{
                dnam{"gigahertz"}
                one{"{0} gigahertz"}
                other{"{0} gigahertz"}
            }
            hertz{
                dnam{"hertz"}
                one{"{0} hertz"}
                other{"{0} hertz"}
            }
            kilohertz{
                dnam{"kilohertz"}
                one{"{0} kilohertz"}
                other{"{0} kilohertz"}
            }
            megahertz{
                dnam{"mégahertz"}
                one{"{0} mégahertz"}
                other{"{0} mégahertz"}
            }
        }
        length{
            astronomical-unit{
                dnam{"unités astronomiques"}
                one{"{0} unité astronomique"}
                other{"{0} unités astronomiques"}
            }
            centimeter{
                dnam{"centimètres"}
                one{"{0} centimètre"}
                other{"{0} centimètres"}
                per{"{0} par centimètre"}
            }
            decimeter{
                dnam{"décimètres"}
                one{"{0} décimètre"}
                other{"{0} décimètres"}
            }
            foot{
                dnam{"pieds"}
                one{"{0} pied"}
                other{"{0} pieds"}
                per{"{0} par pied"}
            }
            inch{
                dnam{"pouces"}
                one{"{0} pouce"}
                other{"{0} pouces"}
                per{"{0} par pouce"}
            }
            kilometer{
                dnam{"kilomètres"}
                one{"{0} kilomètre"}
                other{"{0} kilomètres"}
                per{"{0} par kilomètre"}
            }
            light-year{
                dnam{"années-lumière"}
                one{"{0} année-lumière"}
                other{"{0} années-lumière"}
            }
            meter{
                dnam{"mètres"}
                one{"{0} mètre"}
                other{"{0} mètres"}
                per{"{0} par mètre"}
            }
            micrometer{
                dnam{"micromètres"}
                one{"{0} micromètre"}
                other{"{0} micromètres"}
            }
            mile{
                dnam{"milles anglais"}
                one{"{0} mille anglais"}
                other{"{0} milles anglais"}
            }
            mile-scandinavian{
                dnam{"milles scandinaves"}
                one{"{0} mille scandinave"}
                other{"{0} milles scandinaves"}
            }
            millimeter{
                dnam{"millimètres"}
                one{"{0} millimètre"}
                other{"{0} millimètres"}
            }
            nanometer{
                dnam{"nanomètres"}
                one{"{0} nanomètre"}
                other{"{0} nanomètres"}
            }
            nautical-mile{
                dnam{"milles marins"}
                one{"{0} mille marin"}
                other{"{0} milles marins"}
            }
            parsec{
                dnam{"parsecs"}
                one{"{0} parsec"}
                other{"{0} parsecs"}
            }
            picometer{
                dnam{"picomètres"}
                one{"{0} picomètre"}
                other{"{0} picomètres"}
            }
            yard{
                dnam{"yards"}
                one{"{0} yard"}
                other{"{0} yards"}
            }
        }
        light{
            lux{
                dnam{"lux"}
                one{"{0} lux"}
                other{"{0} lux"}
            }
        }
        mass{
            carat{
                dnam{"carats"}
                one{"{0} carat"}
                other{"{0} carats"}
            }
            gram{
                dnam{"grammes"}
                one{"{0} gramme"}
                other{"{0} grammes"}
                per{"{0} par gramme"}
            }
            kilogram{
                dnam{"kilogrammes"}
                one{"{0} kilogramme"}
                other{"{0} kilogrammes"}
                per{"{0} par kg"}
            }
            metric-ton{
                dnam{"tonnes"}
                one{"{0} tonne"}
                other{"{0} tonnes"}
            }
            microgram{
                dnam{"microgrammes"}
                one{"{0} microgramme"}
                other{"{0} microgrammes"}
            }
            milligram{
                dnam{"milligrammes"}
                one{"{0} milligramme"}
                other{"{0} milligrammes"}
            }
            ounce{
                dnam{"onces"}
                one{"{0} once"}
                other{"{0} onces"}
                per{"{0} par once"}
            }
            ounce-troy{
                dnam{"onces troy"}
                one{"{0} once troy"}
                other{"{0} onces troy"}
            }
            pound{
                dnam{"livres"}
                one{"{0} livre"}
                other{"{0} livres"}
                per{"{0} par livre"}
            }
            stone{
                dnam{"stones"}
            }
            ton{
                dnam{"tonnes courtes"}
                one{"{0} tonne courte"}
                other{"{0} tonnes courtes"}
            }
        }
        power{
            gigawatt{
                dnam{"gigawatts"}
                one{"{0} gigawatt"}
                other{"{0} gigawatts"}
            }
            horsepower{
                dnam{"chevaux-vapeur"}
                one{"{0} cheval-vapeur"}
                other{"{0} chevaux-vapeur"}
            }
            kilowatt{
                dnam{"kilowatts"}
                one{"{0} kilowatt"}
                other{"{0} kilowatts"}
            }
            megawatt{
                dnam{"mégawatts"}
                one{"{0} mégawatt"}
                other{"{0} mégawatts"}
            }
            milliwatt{
                dnam{"milliwatts"}
                one{"{0} milliwatt"}
                other{"{0} milliwatts"}
            }
            watt{
                dnam{"watts"}
                one{"{0} watt"}
                other{"{0} watts"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hectopascals"}
                one{"{0} hectopascal"}
                other{"{0} hectopascals"}
            }
            inch-hg{
                dnam{"pouces de mercure"}
                one{"{0} pouce de mercure"}
                other{"{0} pouces de mercure"}
            }
            millibar{
                dnam{"millibars"}
                one{"{0} millibar"}
                other{"{0} millibars"}
            }
            millimeter-of-mercury{
                dnam{"millimètres de mercure"}
                one{"{0} millimètre de mercure"}
                other{"{0} millimètres de mercure"}
            }
            pound-per-square-inch{
                dnam{"livres par pouce carré"}
                one{"{0} livre par pouce carré"}
                other{"{0} livres par pouce carré"}
            }
        }
        proportion{
            karat{
                dnam{"carats"}
                one{"{0} carat"}
                other{"{0} carats"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomètres par heure"}
                one{"{0} kilomètre par heure"}
                other{"{0} kilomètres par heure"}
            }
            knot{
                dnam{"nœuds"}
                one{"{0} nœud"}
                other{"{0} nœuds"}
            }
            meter-per-second{
                dnam{"mètres par seconde"}
                one{"{0} mètre par seconde"}
                other{"{0} mètres par seconde"}
            }
            mile-per-hour{
                dnam{"milles anglais par heure"}
                one{"{0} mille anglais par heure"}
                other{"{0} milles anglais par heure"}
            }
        }
        temperature{
            celsius{
                dnam{"degrés Celsius"}
                one{"{0} degré Celsius"}
                other{"{0} degrés Celsius"}
            }
            fahrenheit{
                dnam{"degrés Fahrenheit"}
                one{"{0} degré Fahrenheit"}
                other{"{0} degrés Fahrenheit"}
            }
            generic{
                dnam{"degrés"}
                one{"{0} degré"}
                other{"{0} degrés"}
            }
            kelvin{
                dnam{"kelvins"}
                one{"{0} kelvin"}
                other{"{0} kelvins"}
            }
        }
        volume{
            acre-foot{
                dnam{"acres-pieds"}
                one{"{0} acre-pied"}
                other{"{0} acres-pieds"}
            }
            centiliter{
                dnam{"centilitres"}
                one{"{0} centilitre"}
                other{"{0} centilitres"}
            }
            cubic-centimeter{
                dnam{"centimètres cubes"}
                one{"{0} centimètre cube"}
                other{"{0} centimètres cubes"}
                per{"{0} par centimètre cube"}
            }
            cubic-foot{
                dnam{"pieds cubes"}
                one{"{0} pied cube"}
                other{"{0} pieds cubes"}
            }
            cubic-inch{
                dnam{"pouces cubes"}
                one{"{0} pouce cube"}
                other{"{0} pouces cubes"}
            }
            cubic-kilometer{
                dnam{"kilomètres cubes"}
                one{"{0} kilomètre cube"}
                other{"{0} kilomètres cubes"}
            }
            cubic-meter{
                dnam{"mètres cubes"}
                one{"{0} mètre cube"}
                other{"{0} mètres cubes"}
                per{"{0} par mètre cube"}
            }
            cubic-mile{
                dnam{"milles anglais cubes"}
                one{"{0} mille anglais cube"}
                other{"{0} milles anglais cubes"}
            }
            cubic-yard{
                dnam{"yards cubes"}
                one{"{0} yard cube"}
                other{"{0} yards cubes"}
            }
            cup{
                dnam{"tasses"}
                one{"{0} tasse"}
                other{"{0} tasses"}
            }
            cup-metric{
                dnam{"tasses métriques"}
                one{"{0} tasse métrique"}
                other{"{0} tasses métriques"}
            }
            deciliter{
                dnam{"décilitres"}
                one{"{0} décilitre"}
                other{"{0} décilitres"}
            }
            fluid-ounce{
                dnam{"onces liquides"}
                one{"{0} once liquide"}
                other{"{0} onces liquides"}
            }
            gallon{
                dnam{"gallons"}
                one{"{0} gallon"}
                other{"{0} gallons"}
                per{"{0} par gallon"}
            }
            hectoliter{
                dnam{"hectolitres"}
                one{"{0} hectolitre"}
                other{"{0} hectolitres"}
            }
            liter{
                dnam{"litres"}
                one{"{0} litre"}
                other{"{0} litres"}
                per{"{0} par litre"}
            }
            megaliter{
                dnam{"mégalitres"}
                one{"{0} mégalitre"}
                other{"{0} mégalitres"}
            }
            milliliter{
                dnam{"millilitres"}
                one{"{0} millilitre"}
                other{"{0} millilitres"}
            }
            pint{
                dnam{"pintes"}
                one{"{0} pinte"}
                other{"{0} pintes"}
            }
            pint-metric{
                dnam{"pintes métriques"}
                one{"{0} pinte métrique"}
                other{"{0} pintes métriques"}
            }
            quart{
                dnam{"quarts"}
                one{"{0} quart"}
                other{"{0} quarts"}
            }
            tablespoon{
                dnam{"cuillères à soupe"}
                one{"{0} cuillère à soupe"}
                other{"{0} cuillères à soupe"}
            }
            teaspoon{
                dnam{"cuillères à café"}
                one{"{0} cuillère à café"}
                other{"{0} cuillères à café"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}G"}
                other{"{0}G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            radian{
                dnam{"rad"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
        }
        area{
            acre{
                one{"{0}ac"}
                other{"{0}ac"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
            }
            square-foot{
                dnam{"pi²"}
                one{"{0}pi²"}
                other{"{0}pi²"}
            }
            square-kilometer{
                one{"{0}km²"}
                other{"{0}km²"}
            }
            square-meter{
                one{"{0}m²"}
                other{"{0}m²"}
            }
            square-mile{
                one{"{0}mi²"}
                other{"{0}mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"l/100km"}
                one{"{0}l/100km"}
                other{"{0}l/100km"}
            }
            liter-per-kilometer{
                dnam{"L/km"}
            }
            mile-per-gallon{
                dnam{"mi/gal"}
            }
        }
        coordinate{
            east{"{0}E"}
            north{"{0}N"}
            south{"{0}S"}
            west{"{0}O"}
        }
        duration{
            day{
                dnam{"j"}
                one{"{0}j"}
                other{"{0}j"}
            }
            hour{
                dnam{"h"}
                one{"{0}h"}
                other{"{0}h"}
            }
            millisecond{
                dnam{"ms"}
                one{"{0}ms"}
                other{"{0}ms"}
            }
            minute{
                dnam{"min"}
                one{"{0}m"}
                other{"{0}m"}
            }
            month{
                dnam{"m"}
                one{"{0}m"}
                other{"{0}m"}
            }
            second{
                dnam{"s"}
                one{"{0}s"}
                other{"{0}s"}
            }
            week{
                dnam{"sem"}
                one{"{0}sem"}
                other{"{0}sem"}
            }
            year{
                dnam{"a"}
                one{"{0}a"}
                other{"{0}a"}
            }
        }
        length{
            astronomical-unit{
                dnam{"ua"}
                one{"{0}ua"}
                other{"{0}ua"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0}cm"}
                other{"{0}cm"}
            }
            foot{
                one{"{0}′"}
                other{"{0}′"}
            }
            inch{
                one{"{0}″"}
                other{"{0}″"}
            }
            kilometer{
                dnam{"km"}
                one{"{0}km"}
                other{"{0}km"}
            }
            light-year{
                one{"{0}a.l."}
                other{"{0}a.l."}
            }
            meter{
                dnam{"m"}
                one{"{0}m"}
                other{"{0}m"}
            }
            mile{
                one{"{0}mi"}
                other{"{0}mi"}
            }
            millimeter{
                dnam{"mm"}
                one{"{0}mm"}
                other{"{0}mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
            }
            yard{
                one{"{0}yd"}
                other{"{0}yd"}
            }
        }
        light{
            lux{
                dnam{"lx"}
            }
        }
        mass{
            gram{
                dnam{"g"}
                one{"{0}g"}
                other{"{0}g"}
            }
            kilogram{
                dnam{"kg"}
                one{"{0}kg"}
                other{"{0}kg"}
            }
            ounce{
                one{"{0}oz"}
                other{"{0}oz"}
            }
            pound{
                one{"{0}lb"}
                other{"{0}lb"}
            }
            ton{
                dnam{"sh tn"}
                one{"{0} sh tn"}
                other{"{0} sh tn"}
            }
        }
        power{
            horsepower{
                one{"{0}ch"}
                other{"{0}ch"}
            }
            kilowatt{
                one{"{0}kW"}
                other{"{0}kW"}
            }
            watt{
                one{"{0}W"}
                other{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}hPa"}
                other{"{0}hPa"}
            }
            inch-hg{
                one{"{0}inHg"}
                other{"{0}inHg"}
            }
            millibar{
                one{"{0}mbar"}
                other{"{0}mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0}km/h"}
                other{"{0}km/h"}
            }
            meter-per-second{
                one{"{0}m/s"}
                other{"{0}m/s"}
            }
            mile-per-hour{
                one{"{0}mi/h"}
                other{"{0}mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0}°C"}
                other{"{0}°C"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
            }
        }
        volume{
            centiliter{
                dnam{"cl"}
                one{"{0}cl"}
                other{"{0}cl"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0}cm³"}
                other{"{0}cm³"}
            }
            cubic-foot{
                dnam{"pi³"}
                one{"{0}pi³"}
                other{"{0}pi³"}
            }
            cubic-inch{
                dnam{"po³"}
                one{"{0}po³"}
                other{"{0}po³"}
            }
            cubic-kilometer{
                dnam{"km³"}
                one{"{0}km³"}
                other{"{0}km³"}
            }
            cubic-meter{
                dnam{"m³"}
                one{"{0}m³"}
                other{"{0}m³"}
            }
            cubic-mile{
                dnam{"mi³"}
                one{"{0}mi³"}
                other{"{0}mi³"}
            }
            cubic-yard{
                dnam{"yd³"}
                one{"{0}yd³"}
                other{"{0}yd³"}
            }
            deciliter{
                dnam{"dl"}
                one{"{0}dl"}
                other{"{0}dl"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0}fl oz"}
                other{"{0}fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0}gal"}
                other{"{0}gal"}
            }
            hectoliter{
                dnam{"hl"}
                one{"{0}hl"}
                other{"{0}hl"}
            }
            liter{
                dnam{"l"}
                one{"{0}l"}
                other{"{0}l"}
            }
            megaliter{
                dnam{"Ml"}
                one{"{0}Ml"}
                other{"{0}Ml"}
            }
            milliliter{
                dnam{"ml"}
                one{"{0}ml"}
                other{"{0}ml"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"G"}
                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{"′"}
                one{"{0}′"}
                other{"{0}′"}
            }
            arc-second{
                dnam{"″"}
                one{"{0}″"}
                other{"{0}″"}
            }
            degree{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            radian{
                dnam{"rad"}
                one{"{0} rad"}
                other{"{0} rad"}
            }
            revolution{
                dnam{"tr"}
                one{"{0} tr"}
                other{"{0} tr"}
            }
        }
        area{
            acre{
                dnam{"ac"}
                one{"{0} ac"}
                other{"{0} ac"}
            }
            hectare{
                dnam{"ha"}
                one{"{0} ha"}
                other{"{0} ha"}
            }
            square-centimeter{
                dnam{"cm²"}
                one{"{0} cm²"}
                other{"{0} cm²"}
                per{"{0}/cm²"}
            }
            square-foot{
                dnam{"pi²"}
                one{"{0} pi²"}
                other{"{0} pi²"}
            }
            square-inch{
                dnam{"po²"}
                one{"{0} po²"}
                other{"{0} po²"}
                per{"{0}/po²"}
            }
            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{"mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
            }
            square-yard{
                dnam{"yd²"}
                one{"{0} yd²"}
                other{"{0} yd²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        consumption{
            liter-per-100kilometers{
                dnam{"l/100 km"}
                one{"{0} l/100 km"}
                other{"{0} l/100 km"}
            }
            liter-per-kilometer{
                dnam{"l/km"}
                one{"{0} l/km"}
                other{"{0} l/km"}
            }
            mile-per-gallon{
                dnam{"mi/gal"}
                one{"{0} mi/gal"}
                other{"{0} mi/gal"}
            }
        }
        coordinate{
            east{"{0} E"}
            north{"{0} N"}
            south{"{0} S"}
            west{"{0} O"}
        }
        digital{
            bit{
                dnam{"bit"}
                one{"{0} bit"}
                other{"{0} bit"}
            }
            byte{
                dnam{"octet"}
                one{"{0} octet"}
                other{"{0} octet"}
            }
            gigabit{
                dnam{"Gb"}
                one{"{0} Gb"}
                other{"{0} Gb"}
            }
            gigabyte{
                dnam{"Go"}
                one{"{0} Go"}
                other{"{0} Go"}
            }
            kilobit{
                dnam{"kb"}
                one{"{0} kb"}
                other{"{0} kb"}
            }
            kilobyte{
                dnam{"ko"}
                one{"{0} ko"}
                other{"{0} ko"}
            }
            megabit{
                dnam{"Mb"}
                one{"{0} Mb"}
                other{"{0} Mb"}
            }
            megabyte{
                dnam{"Mo"}
                one{"{0} Mo"}
                other{"{0} Mo"}
            }
            terabit{
                dnam{"Tb"}
                one{"{0} Tb"}
                other{"{0} Tb"}
            }
            terabyte{
                dnam{"To"}
                one{"{0} To"}
                other{"{0} To"}
            }
        }
        duration{
            century{
                dnam{"si"}
                one{"{0} si"}
                other{"{0} si"}
            }
            day{
                dnam{"j"}
                one{"{0} j"}
                other{"{0} j"}
                per{"{0}/j"}
            }
            hour{
                dnam{"h"}
                one{"{0} h"}
                other{"{0} h"}
                per{"{0}/h"}
            }
            microsecond{
                dnam{"μs"}
                one{"{0} μs"}
                other{"{0} μs"}
            }
            millisecond{
                dnam{"ms"}
                one{"{0} ms"}
                other{"{0} ms"}
            }
            minute{
                dnam{"min"}
                one{"{0} min"}
                other{"{0} min"}
                per{"{0}/min"}
            }
            month{
                dnam{"m"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/mois"}
            }
            nanosecond{
                dnam{"ns"}
                one{"{0} ns"}
                other{"{0} ns"}
            }
            second{
                dnam{"s"}
                one{"{0} s"}
                other{"{0} s"}
                per{"{0}/s"}
            }
            week{
                dnam{"sem."}
                one{"{0} sem."}
                other{"{0} sem."}
                per{"{0}/sem"}
            }
            year{
                dnam{"ans"}
                one{"{0} an"}
                other{"{0} ans"}
                per{"{0}/an"}
            }
        }
        electric{
            ampere{
                dnam{"A"}
                one{"{0} A"}
                other{"{0} A"}
            }
            milliampere{
                dnam{"mA"}
                one{"{0} mA"}
                other{"{0} mA"}
            }
            ohm{
                dnam{"Ω"}
                one{"{0} Ω"}
                other{"{0} Ω"}
            }
            volt{
                dnam{"V"}
                one{"{0} V"}
                other{"{0} V"}
            }
        }
        energy{
            calorie{
                dnam{"cal"}
                one{"{0} cal"}
                other{"{0} cal"}
            }
            foodcalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            joule{
                dnam{"J"}
                one{"{0} J"}
                other{"{0} J"}
            }
            kilocalorie{
                dnam{"kcal"}
                one{"{0} kcal"}
                other{"{0} kcal"}
            }
            kilojoule{
                dnam{"kJ"}
                one{"{0} kJ"}
                other{"{0} kJ"}
            }
            kilowatt-hour{
                dnam{"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{"ua"}
                one{"{0} ua"}
                other{"{0} ua"}
            }
            centimeter{
                dnam{"cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                per{"{0}/cm"}
            }
            decimeter{
                dnam{"dm"}
                one{"{0} dm"}
                other{"{0} dm"}
            }
            fathom{
                one{"{0} fat"}
                other{"{0} fat"}
            }
            foot{
                dnam{"pi"}
                one{"{0} pi"}
                other{"{0} pi"}
                per{"{0}/pi"}
            }
            inch{
                dnam{"po"}
                one{"{0} po"}
                other{"{0} po"}
                per{"{0}/po"}
            }
            kilometer{
                dnam{"km"}
                one{"{0} km"}
                other{"{0} km"}
                per{"{0}/km"}
            }
            light-year{
                dnam{"al"}
                one{"{0} al"}
                other{"{0} al"}
            }
            meter{
                dnam{"m"}
                one{"{0} m"}
                other{"{0} m"}
                per{"{0}/m"}
            }
            micrometer{
                dnam{"µm"}
                one{"{0} µm"}
                other{"{0} µm"}
            }
            mile{
                dnam{"mi"}
                one{"{0} mi"}
                other{"{0} mi"}
            }
            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{"nmi"}
                one{"{0} nmi"}
                other{"{0} nmi"}
            }
            parsec{
                dnam{"pc"}
                one{"{0} pc"}
                other{"{0} pc"}
            }
            picometer{
                dnam{"pm"}
                one{"{0} pm"}
                other{"{0} pm"}
            }
            yard{
                dnam{"yd"}
                one{"{0} yd"}
                other{"{0} yd"}
            }
        }
        light{
            lux{
                dnam{"lx"}
                one{"{0} lx"}
                other{"{0} lx"}
            }
        }
        mass{
            carat{
                dnam{"ct"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
            gram{
                dnam{"g"}
                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{"oz t"}
                one{"{0} oz t"}
                other{"{0} oz t"}
            }
            pound{
                dnam{"lb"}
                one{"{0} lb"}
                other{"{0} lb"}
                per{"{0}/lb"}
            }
            ton{
                dnam{"sh tn"}
                one{"{0} sh tn"}
                other{"{0} sh tn"}
            }
        }
        power{
            gigawatt{
                dnam{"GW"}
                one{"{0} GW"}
                other{"{0} GW"}
            }
            horsepower{
                dnam{"ch"}
                one{"{0} ch"}
                other{"{0} ch"}
            }
            kilowatt{
                dnam{"kW"}
                one{"{0} kW"}
                other{"{0} kW"}
            }
            megawatt{
                dnam{"MW"}
                one{"{0} MW"}
                other{"{0} MW"}
            }
            milliwatt{
                dnam{"mW"}
                one{"{0} mW"}
                other{"{0} mW"}
            }
            watt{
                dnam{"W"}
                one{"{0} W"}
                other{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
            }
            inch-hg{
                dnam{"inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
            }
            millibar{
                dnam{"mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
            }
            millimeter-of-mercury{
                dnam{"mm Hg"}
                one{"{0} mm Hg"}
                other{"{0} mm Hg"}
            }
            pound-per-square-inch{
                dnam{"lb/po²"}
                one{"{0} lb/po²"}
                other{"{0} lb/po²"}
            }
        }
        proportion{
            karat{
                dnam{"ct"}
                one{"{0} ct"}
                other{"{0} ct"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
            }
            knot{
                dnam{"nd"}
                one{"{0} nd"}
                other{"{0} nd"}
            }
            meter-per-second{
                dnam{"m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"°C"}
                one{"{0} °C"}
                other{"{0} °C"}
            }
            fahrenheit{
                dnam{"°F"}
                one{"{0} °F"}
                other{"{0} °F"}
            }
            generic{
                dnam{"°"}
                one{"{0}°"}
                other{"{0}°"}
            }
            kelvin{
                dnam{"K"}
                one{"{0} K"}
                other{"{0} K"}
            }
        }
        volume{
            acre-foot{
                dnam{"ac pi"}
                one{"{0} ac pi"}
                other{"{0} ac pi"}
            }
            centiliter{
                dnam{"cl"}
                one{"{0} cl"}
                other{"{0} cl"}
            }
            cubic-centimeter{
                dnam{"cm³"}
                one{"{0} cm³"}
                other{"{0} cm³"}
                per{"{0}/cm³"}
            }
            cubic-foot{
                dnam{"pi³"}
                one{"{0} pi³"}
                other{"{0} pi³"}
            }
            cubic-inch{
                dnam{"po³"}
                one{"{0} po³"}
                other{"{0} po³"}
            }
            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{"mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
            }
            cubic-yard{
                dnam{"yd³"}
                one{"{0} yd³"}
                other{"{0} yd³"}
            }
            cup{
                dnam{"tasses"}
                one{"{0} tasse"}
                other{"{0} tasses"}
            }
            cup-metric{
                dnam{"tm"}
                one{"{0} tm"}
                other{"{0} tm"}
            }
            deciliter{
                dnam{"dl"}
                one{"{0} dl"}
                other{"{0} dl"}
            }
            fluid-ounce{
                dnam{"fl oz"}
                one{"{0} fl oz"}
                other{"{0} fl oz"}
            }
            gallon{
                dnam{"gal"}
                one{"{0} gal"}
                other{"{0} gal"}
                per{"{0}/gal"}
            }
            hectoliter{
                dnam{"hl"}
                one{"{0} hl"}
                other{"{0} hl"}
            }
            liter{
                dnam{"l"}
                one{"{0} l"}
                other{"{0} l"}
                per{"{0}/l"}
            }
            megaliter{
                dnam{"Ml"}
                one{"{0} Ml"}
                other{"{0} Ml"}
            }
            milliliter{
                dnam{"ml"}
                one{"{0} ml"}
                other{"{0} ml"}
            }
            pint{
                dnam{"pte"}
                one{"{0} pte"}
                other{"{0} pte"}
            }
            pint-metric{
                dnam{"mpt"}
                one{"{0} mpt"}
                other{"{0} mpt"}
            }
            quart{
                dnam{"qt"}
                one{"{0} qt"}
                other{"{0} qt"}
            }
            tablespoon{
                dnam{"c. à s."}
                one{"{0} c. à s."}
                other{"{0} c. à s."}
            }
            teaspoon{
                dnam{"c. à c."}
                one{"{0} c. à c."}
                other{"{0} c. à c."}
            }
        }
    }
}
