﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ksh.xml
// *
// ***************************************************************************
ksh{
    Version{"2.1.19.14"}
    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"}
            }
        }
    }
}
