﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
ksh{
    Version{"2.1.41.34"}
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"-fache Erdbeschleunigung"}
                one{"{0}-fache Erdbeschleunigung"}
                other{"{0}-fache Erdbeschleunigung"}
                zero{"{0}-fache Erdbeschleunigung"}
            }
        }
        angle{
            arc-minute{
                dnam{"Winkelmenutte"}
                one{"{0} Winkelmenutte"}
                other{"{0} Winkelmenutte"}
                zero{"{0} Winkelmenutte"}
            }
            arc-second{
                dnam{"Winkelsekunde"}
                one{"{0} Winkelsekunde"}
                other{"{0} Winkelsekunde"}
                zero{"{0} Winkelsekunde"}
            }
            degree{
                dnam{"Graad"}
                one{"{0} Graad"}
                other{"{0} Graad"}
                zero{"{0} Graad"}
            }
        }
        area{
            acre{
                dnam{"angloamerikanischen Acre"}
                one{"{0} angloamerikanische Acre"}
                other{"{0} angloamerikanischen Acre"}
                zero{"{0} angloamerikanischen Acre"}
            }
            hectare{
                dnam{"hektar"}
                one{"{0} hektar"}
                other{"{0} hektar"}
                zero{"{0} hektar"}
            }
            square-foot{
                dnam{"Quadratvoss"}
                one{"{0} Quadratvoss"}
                other{"{0} Quadratvoss"}
                zero{"{0} Quadratvoss"}
            }
            square-kilometer{
                dnam{"Quadratkilometer"}
                one{"{0} Quadratkilometer"}
                other{"{0} Quadratkilometer"}
                zero{"{0} Quadratkilometer"}
            }
            square-meter{
                dnam{"Quadratmeter"}
                one{"{0} Quadratmeter"}
                other{"{0} Quadratmeter"}
                zero{"{0} Quadratmeter"}
            }
            square-mile{
                dnam{"englischen Quadratmeilen"}
                one{"{0} englische Quadratmeile"}
                other{"{0} englischen Quadratmeilen"}
                zero{"{0} englischen Quadratmeilen"}
            }
        }
        compound{
            per{"{0} pro {1}"}
        }
        duration{
            day{
                dnam{"Dääsch"}
                one{"{0} Dääsch"}
                other{"{0} Dääsch"}
                zero{"{0} Dääsch"}
            }
            hour{
                dnam{"Schtunde"}
                one{"{0} Schtunde"}
                other{"{0} Schtunde"}
                zero{"{0} Schtunde"}
            }
            millisecond{
                dnam{"Millisekunde"}
                one{"{0} Millisekunde"}
                other{"{0} Millisekunde"}
                zero{"{0} Millisekunde"}
            }
            minute{
                dnam{"Menutte"}
                one{"{0} Menutte"}
                other{"{0} Menutte"}
                zero{"{0} Menutte"}
            }
            month{
                dnam{"Mohnde"}
                one{"{0} Mohnde"}
                other{"{0} Mohnde"}
                zero{"{0} Mohnde"}
            }
            second{
                dnam{"Sekunde"}
                one{"{0} Sekunde"}
                other{"{0} Sekunde"}
                zero{"{0} Sekunde"}
            }
            week{
                dnam{"Woche"}
                one{"{0} Woche"}
                other{"{0} Woche"}
                zero{"{0} Woche"}
            }
            year{
                dnam{"Johre"}
                one{"{0} Johre"}
                other{"{0} Johre"}
                zero{"{0} Johre"}
            }
        }
        length{
            centimeter{
                dnam{"Zentimeter"}
                one{"{0} Zentimeter"}
                other{"{0} Zentimeter"}
                zero{"{0} Zentimeter"}
            }
            foot{
                dnam{"Voss"}
                one{"{0} Voss"}
                other{"{0} Voss"}
                zero{"{0} Voss"}
            }
            inch{
                dnam{"Dumm"}
                one{"{0} Dumm"}
                other{"{0} Dumm"}
                zero{"{0} Dumm"}
            }
            kilometer{
                dnam{"Kilometer"}
                one{"{0} Kilometer"}
                other{"{0} Kilometer"}
                zero{"{0} Kilometer"}
            }
            meter{
                dnam{"Meter"}
                one{"{0} Meter"}
                other{"{0} Meter"}
                zero{"{0} Meter"}
            }
            mile{
                dnam{"englischen Meilen"}
                one{"{0} englische Meile"}
                other{"{0} englischen Meilen"}
                zero{"{0} englischen Meilen"}
            }
            millimeter{
                dnam{"Millimeter"}
                one{"{0} Millimeter"}
                other{"{0} Millimeter"}
                zero{"{0} Millimeter"}
            }
            picometer{
                dnam{"Pikometer"}
                one{"{0} Pikometer"}
                other{"{0} Pikometer"}
                zero{"{0} Pikometer"}
            }
        }
        mass{
            gram{
                dnam{"Gramm"}
                one{"{0} Gramm"}
                other{"{0} Gramm"}
                zero{"{0} Gramm"}
            }
            kilogram{
                dnam{"Kilogramm"}
                one{"{0} Kilogramm"}
                other{"{0} Kilogramm"}
                zero{"{0} Kilogramm"}
            }
            ounce{
                dnam{"Unzen"}
                one{"{0} Unze"}
                other{"{0} Unzen"}
                zero{"{0} Unzen"}
            }
            pound{
                dnam{"Pfund"}
                one{"{0} Pfund"}
                other{"{0} Pfund"}
                zero{"{0} Pfund"}
            }
        }
        power{
            horsepower{
                dnam{"Pferdestärken"}
                one{"{0} Pferdestärke"}
                other{"{0} Pferdestärken"}
                zero{"{0} Pferdestärken"}
            }
            kilowatt{
                dnam{"Kilowatt"}
                one{"{0} Kilowatt"}
                other{"{0} Kilowatt"}
                zero{"{0} Kilowatt"}
            }
            watt{
                dnam{"Watt"}
                one{"{0} Watt"}
                other{"{0} Watt"}
                zero{"{0} Watt"}
            }
        }
        pressure{
            hectopascal{
                dnam{"Hektopascal"}
                one{"{0} Hektopascal"}
                other{"{0} Hektopascal"}
                zero{"{0} Hektopascal"}
            }
            inch-hg{
                dnam{"Dumm Quecksilbersäule"}
                one{"{0} Dumm Quecksilbersäule"}
                other{"{0} Dumm Quecksilbersäule"}
                zero{"{0} Dumm Quecksilbersäule"}
            }
            millibar{
                dnam{"Millibar"}
                one{"{0} Millibar"}
                other{"{0} Millibar"}
                zero{"{0} Millibar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"Kilometer pro Schtunde"}
                one{"{0} Kilometer pro Schtunde"}
                other{"{0} Kilometer pro Schtunde"}
                zero{"{0} Kilometer pro Schtunde"}
            }
            meter-per-second{
                dnam{"Meter pro Sekunde"}
                one{"{0} Meter pro Sekunde"}
                other{"{0} Meter pro Sekunde"}
                zero{"{0} Meter pro Sekunde"}
            }
            mile-per-hour{
                dnam{"englischen Meilen pro Schtunde"}
                one{"{0} englische Meile pro Schtunde"}
                other{"{0} englischen Meilen pro Schtunde"}
                zero{"{0} englischen Meilen pro Schtunde"}
            }
        }
        temperature{
            celsius{
                dnam{"Graad Celsius"}
                one{"{0} Graad Celsius"}
                other{"{0} Graad Celsius"}
                zero{"{0} Graad Celsius"}
            }
            fahrenheit{
                dnam{"Graad Fahrenheit"}
                one{"{0} Graad Fahrenheit"}
                other{"{0} Graad Fahrenheit"}
                zero{"{0} Graad Fahrenheit"}
            }
        }
        volume{
            cubic-kilometer{
                dnam{"Kubikkilometer"}
                one{"{0} Kubikkilometer"}
                other{"{0} Kubikkilometer"}
                zero{"{0} Kubikkilometer"}
            }
            cubic-mile{
                dnam{"englischen Kubikmeilen"}
                one{"{0} englische Kubikmeile"}
                other{"{0} englischen Kubikmeilen"}
                zero{"{0} englischen Kubikmeilen"}
            }
            liter{
                dnam{"Liter"}
                one{"{0} Liter"}
                other{"{0} Liter"}
                zero{"{0} Liter"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}G"}
                other{"{0}G"}
                zero{"{0}G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
                zero{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
                zero{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} ac"}
                other{"{0} ac"}
                zero{"{0} ac"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
                zero{"{0}ha"}
            }
            square-foot{
                one{"{0} ft²"}
                other{"{0} ft²"}
                zero{"{0} ft²"}
            }
            square-kilometer{
                one{"{0}km²"}
                other{"{0}km²"}
                zero{"{0}km²"}
            }
            square-meter{
                one{"{0}m²"}
                other{"{0}m²"}
                zero{"{0}m²"}
            }
            square-mile{
                one{"{0} mi²"}
                other{"{0} mi²"}
                zero{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0}d"}
                other{"{0}d"}
                zero{"{0}d"}
            }
            hour{
                one{"{0}h"}
                other{"{0}h"}
                zero{"{0}h"}
            }
            millisecond{
                one{"{0}ms"}
                other{"{0}ms"}
                zero{"{0}ms"}
            }
            minute{
                one{"{0}m"}
                other{"{0}m"}
                zero{"{0}m"}
            }
            second{
                one{"{0}s"}
                other{"{0}s"}
                zero{"{0}s"}
            }
        }
        length{
            centimeter{
                one{"{0}cm"}
                other{"{0}cm"}
                zero{"{0}cm"}
            }
            foot{
                one{"{0} Voss"}
                other{"{0} Voss"}
                zero{"{0} Voss"}
            }
            inch{
                one{"{0} Dumm"}
                other{"{0} Dumm"}
                zero{"{0} Dumm"}
            }
            kilometer{
                one{"{0}km"}
                other{"{0}km"}
                zero{"{0}km"}
            }
            meter{
                one{"{0}m"}
                other{"{0}m"}
                zero{"{0}m"}
            }
            mile{
                one{"{0} mi"}
                other{"{0} mi"}
                zero{"{0} mi"}
            }
            millimeter{
                one{"{0}mm"}
                other{"{0}mm"}
                zero{"{0}mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
                zero{"{0}pm"}
            }
        }
        mass{
            gram{
                one{"{0}g"}
                other{"{0}g"}
                zero{"{0}g"}
            }
            kilogram{
                one{"{0}kg"}
                other{"{0}kg"}
                zero{"{0}kg"}
            }
            ounce{
                one{"{0} Unze"}
                other{"{0} Unzen"}
                zero{"{0} Unzen"}
            }
            pound{
                one{"{0} Pfund"}
                other{"{0} Pfund"}
                zero{"{0} Pfund"}
            }
        }
        power{
            horsepower{
                one{"{0}PS"}
                other{"{0}PS"}
                zero{"{0}PS"}
            }
            kilowatt{
                one{"{0}kW"}
                other{"{0}kW"}
                zero{"{0}kW"}
            }
            watt{
                one{"{0}W"}
                other{"{0}W"}
                zero{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}hPa"}
                other{"{0}hPa"}
                zero{"{0}hPa"}
            }
            inch-hg{
                one{"{0} inHg"}
                other{"{0} inHg"}
                zero{"{0} inHg"}
            }
            millibar{
                one{"{0}mbar"}
                other{"{0}mbar"}
                zero{"{0}mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0}km/h"}
                other{"{0}km/h"}
                zero{"{0}km/h"}
            }
            meter-per-second{
                one{"{0}m/s"}
                other{"{0}m/s"}
                zero{"{0}m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                zero{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
                zero{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}km³"}
                other{"{0}km³"}
                zero{"{0}km³"}
            }
            cubic-mile{
                one{"{0} mi³"}
                other{"{0} mi³"}
                zero{"{0} mi³"}
            }
            liter{
                one{"{0}L"}
                other{"{0}L"}
                zero{"{0}L"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"-fache Erdbeschleunigung"}
                one{"{0} G"}
                other{"{0} G"}
                zero{"{0} G"}
            }
        }
        angle{
            arc-minute{
                dnam{"Winkelmenutte"}
                one{"{0}′"}
                other{"{0}′"}
                zero{"{0}′"}
            }
            arc-second{
                dnam{"Winkelsekunde"}
                one{"{0}″"}
                other{"{0}″"}
                zero{"{0}″"}
            }
            degree{
                dnam{"Graad"}
                one{"{0}°"}
                other{"{0}°"}
                zero{"{0}°"}
            }
        }
        area{
            acre{
                dnam{"angloamerikanischen Acre"}
                one{"{0} ac"}
                other{"{0} ac"}
                zero{"{0} ac"}
            }
            hectare{
                dnam{"hektar"}
                one{"{0} ha"}
                other{"{0} ha"}
                zero{"{0} ha"}
            }
            square-foot{
                dnam{"Quadratvoss"}
                one{"{0} ft²"}
                other{"{0} ft²"}
                zero{"{0} ft²"}
            }
            square-kilometer{
                dnam{"Quadratkilometer"}
                one{"{0} km²"}
                other{"{0} km²"}
                zero{"{0} km²"}
            }
            square-meter{
                dnam{"Quadratmeter"}
                one{"{0} m²"}
                other{"{0} m²"}
                zero{"{0} m²"}
            }
            square-mile{
                dnam{"englischen Quadratmeilen"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                zero{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                dnam{"Dääsch"}
                one{"{0} d"}
                other{"{0} d"}
                zero{"{0} d"}
            }
            hour{
                dnam{"Schtunde"}
                one{"{0} h"}
                other{"{0} h"}
                zero{"{0} h"}
            }
            millisecond{
                dnam{"Millisekunde"}
                one{"{0} ms"}
                other{"{0} ms"}
                zero{"{0} ms"}
            }
            minute{
                dnam{"Menutte"}
                one{"{0} min"}
                other{"{0} min"}
                zero{"{0} min"}
            }
            month{
                dnam{"Mohnde"}
            }
            second{
                dnam{"Sekunde"}
                one{"{0} s"}
                other{"{0} s"}
                zero{"{0} s"}
            }
            week{
                dnam{"Woche"}
            }
            year{
                dnam{"Johre"}
            }
        }
        length{
            centimeter{
                dnam{"Zentimeter"}
                one{"{0} cm"}
                other{"{0} cm"}
                zero{"{0} cm"}
            }
            foot{
                dnam{"Voss"}
                one{"{0} Voss"}
                other{"{0} Voss"}
                zero{"{0} Voss"}
            }
            inch{
                dnam{"Dumm"}
                one{"{0} Dumm"}
                other{"{0} Dumm"}
                zero{"{0} Dumm"}
            }
            kilometer{
                dnam{"Kilometer"}
                one{"{0} km"}
                other{"{0} km"}
                zero{"{0} km"}
            }
            meter{
                dnam{"Meter"}
                one{"{0} m"}
                other{"{0} m"}
                zero{"{0} m"}
            }
            mile{
                dnam{"englischen Meilen"}
                one{"{0} mi"}
                other{"{0} mi"}
                zero{"{0} mi"}
            }
            millimeter{
                dnam{"Millimeter"}
                one{"{0} mm"}
                other{"{0} mm"}
                zero{"{0} mm"}
            }
            picometer{
                dnam{"Pikometer"}
                one{"{0} pm"}
                other{"{0} pm"}
                zero{"{0} pm"}
            }
        }
        mass{
            gram{
                dnam{"Gramm"}
                one{"{0} g"}
                other{"{0} g"}
                zero{"{0} g"}
            }
            kilogram{
                dnam{"Kilogramm"}
                one{"{0} kg"}
                other{"{0} kg"}
                zero{"{0} kg"}
            }
            ounce{
                dnam{"Unzen"}
                one{"{0} Unze"}
                other{"{0} Unzen"}
                zero{"{0} Unzen"}
            }
            pound{
                dnam{"Pfund"}
                one{"{0} Pfund"}
                other{"{0} Pfund"}
                zero{"{0} Pfund"}
            }
        }
        power{
            horsepower{
                dnam{"Pferdestärken"}
                one{"{0} PS"}
                other{"{0} PS"}
                zero{"{0} PS"}
            }
            kilowatt{
                dnam{"Kilowatt"}
                one{"{0} kW"}
                other{"{0} kW"}
                zero{"{0} kW"}
            }
            watt{
                dnam{"Watt"}
                one{"{0} W"}
                other{"{0} W"}
                zero{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"Hektopascal"}
                one{"{0} hPa"}
                other{"{0} hPa"}
                zero{"{0} hPa"}
            }
            inch-hg{
                dnam{"Dumm Quecksilbersäule"}
                one{"{0} inHg"}
                other{"{0} inHg"}
                zero{"{0} inHg"}
            }
            millibar{
                dnam{"Millibar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
                zero{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"Kilometer pro Schtunde"}
                one{"{0} km/h"}
                other{"{0} km/h"}
                zero{"{0} km/h"}
            }
            meter-per-second{
                dnam{"Meter pro Sekunde"}
                one{"{0} m/s"}
                other{"{0} m/s"}
                zero{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"englischen Meilen pro Schtunde"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                zero{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"Graad Celsius"}
                one{"{0}°C"}
                other{"{0}°C"}
                zero{"{0}°C"}
            }
            fahrenheit{
                dnam{"Graad Fahrenheit"}
                one{"{0}°F"}
                other{"{0}°F"}
                zero{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                dnam{"Kubikkilometer"}
                one{"{0} km³"}
                other{"{0} km³"}
                zero{"{0} km³"}
            }
            cubic-mile{
                dnam{"englischen Kubikmeilen"}
                one{"{0} mi³"}
                other{"{0} mi³"}
                zero{"{0} mi³"}
            }
            liter{
                dnam{"Liter"}
                one{"{0} l"}
                other{"{0} l"}
                zero{"{0} l"}
            }
        }
    }
}
