﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
se{
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    units{
        acceleration{
            g-force{
                dnam{"Maapallo gravitaatiovoimat"}
                one{"{0} Maapallo gravitaatiovoima"}
                other{"{0} Maapallo gravitaatiovoimat"}
                two{"{0} Maapallo gravitaatiovoimat"}
            }
        }
        angle{
            arc-minute{
                dnam{"jorbbas minuhtta"}
                one{"{0} jorbbas minuhta"}
                other{"{0} jorbbas minuhtta"}
                two{"{0} jorbbas minuhtta"}
            }
            arc-second{
                dnam{"jorbbas sekundda"}
                one{"{0} jorbbas sekunda"}
                other{"{0} jorbbas sekundda"}
                two{"{0} jorbbas sekundda"}
            }
            degree{
                dnam{"grádat"}
                one{"{0} grádat"}
                other{"{0} grádat"}
                two{"{0} grádat"}
            }
        }
        area{
            acre{
                dnam{"Amerihká tynnyrinala"}
                one{"{0} Amerihká tynnyrinala"}
                other{"{0} Amerihká tynnyrinala"}
                two{"{0} Amerihká tynnyrinala"}
            }
            hectare{
                dnam{"hehtaaria"}
                one{"{0} hehtaari"}
                other{"{0} hehtaaria"}
                two{"{0} hehtaaria"}
            }
            square-foot{
                dnam{"neliöjuolgi"}
                one{"{0} neliöjuolgi"}
                other{"{0} neliöjuolgi"}
                two{"{0} neliöjuolgi"}
            }
            square-kilometer{
                dnam{"neliökilomehtera"}
                one{"{0} neliökilomehter"}
                other{"{0} neliökilomehtera"}
                two{"{0} neliökilomehtera"}
            }
            square-meter{
                dnam{"neliömehtera"}
                one{"{0} neliömehter"}
                other{"{0} neliömehtera"}
                two{"{0} neliömehtera"}
            }
            square-mile{
                dnam{"eangas neliömiila"}
                one{"{0} eangas neliömiil"}
                other{"{0} eangas neliömiila"}
                two{"{0} eangas neliömiila"}
            }
        }
        compound{
            per{"{0} juohke {1}"}
        }
        duration{
            day{
                dnam{"jándora"}
                one{"{0} jándor"}
                other{"{0} jándora"}
                two{"{0} jándora"}
            }
            hour{
                dnam{"diibmur"}
                one{"{0} diibmu"}
                other{"{0} diibmur"}
                two{"{0} diimmur"}
            }
            millisecond{
                dnam{"millisekundda"}
                one{"{0} millisekunda"}
                other{"{0} millisekundda"}
                two{"{0} millisekundda"}
            }
            minute{
                dnam{"minuhtta"}
                one{"{0} minuhta"}
                other{"{0} minuhtta"}
                two{"{0} minuhtta"}
            }
            month{
                dnam{"mánotbadji"}
                one{"{0} mánotbadji"}
                other{"{0} mánotbadji"}
                two{"{0} mánotbaji"}
            }
            second{
                dnam{"sekundda"}
                one{"{0} sekunda"}
                other{"{0} sekundda"}
                two{"{0} sekundda"}
            }
            week{
                dnam{"váhkku"}
                one{"{0} váhku"}
                other{"{0} váhkku"}
                two{"{0} váhkku"}
            }
            year{
                dnam{"jahkki"}
                one{"{0} jahki"}
                other{"{0} jahkki"}
                two{"{0} jahkki"}
            }
        }
        length{
            centimeter{
                dnam{"sentimehtera"}
                one{"{0} sentimehter"}
                other{"{0} sentimehtera"}
                two{"{0} sentimehtera"}
            }
            foot{
                dnam{"juolgi"}
                one{"{0} juolgi"}
                other{"{0} juolgi"}
                two{"{0} juolgi"}
            }
            inch{
                dnam{"bealgi"}
                one{"{0} bealgi"}
                other{"{0} bealgi"}
                two{"{0} bealgi"}
            }
            kilometer{
                dnam{"kilomehtera"}
                one{"{0} kilomehter"}
                other{"{0} kilomehtera"}
                two{"{0} kilomehtera"}
            }
            light-year{
                dnam{"chuovgat jagi"}
                one{"{0} chuovgat jagi"}
                other{"{0} chuovgat jagi"}
                two{"{0} chuovgat jagi"}
            }
            meter{
                dnam{"mehtera"}
                one{"{0} mehter"}
                other{"{0} mehtera"}
                two{"{0} mehtera"}
            }
            mile{
                dnam{"eangas miila"}
                one{"{0} eangas miil"}
                other{"{0} eangas miila"}
                two{"{0} eangas miila"}
            }
            millimeter{
                dnam{"millimehtera"}
                one{"{0} millimehter"}
                other{"{0} millimehtera"}
                two{"{0} millimehtera"}
            }
            picometer{
                dnam{"pikomehtera"}
                one{"{0} pikomehter"}
                other{"{0} pikomehtera"}
                two{"{0} pikomehtera"}
            }
            yard{
                dnam{"eangas yard"}
                one{"{0} eangas yard"}
                other{"{0} eangas yard"}
                two{"{0} eangas yard"}
            }
        }
        mass{
            gram{
                dnam{"gram"}
                one{"{0} gram"}
                other{"{0} gram"}
                two{"{0} gram"}
            }
            kilogram{
                dnam{"kilogram"}
                one{"{0} kilogram"}
                other{"{0} kilogram"}
                two{"{0} kilogram"}
            }
            ounce{
                dnam{"unssi"}
                one{"{0} unssi"}
                other{"{0} unssi"}
                two{"{0} unssi"}
            }
            pound{
                dnam{"pauna"}
                one{"{0} pauna"}
                other{"{0} pauna"}
                two{"{0} pauna"}
            }
        }
        power{
            horsepower{
                dnam{"hevosvoima"}
                one{"{0} hevosvoima"}
                other{"{0} hevosvoima"}
                two{"{0} hevosvoima"}
            }
            kilowatt{
                dnam{"kilowatt"}
                one{"{0} kilowatt"}
                other{"{0} kilowatt"}
                two{"{0} kilowatt"}
            }
            watt{
                dnam{"watt"}
                one{"{0} watt"}
                other{"{0} watt"}
                two{"{0} watt"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hehtopascal"}
                one{"{0} hehtopascal"}
                other{"{0} hehtopascal"}
                two{"{0} hehtopascal"}
            }
            inch-ofhg{
                dnam{"bealgi kvikksølv"}
                one{"{0} bealgi kvikksølv"}
                other{"{0} bealgi kvikksølv"}
                two{"{0} bealgi kvikksølv"}
            }
            millibar{
                dnam{"millibar"}
                one{"{0} millibar"}
                other{"{0} millibar"}
                two{"{0} millibar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomehtera kohti diibmu"}
                one{"{0} kilomehter kohti diibmu"}
                other{"{0} kilomehtera kohti diibmu"}
                two{"{0} kilomehtera kohti diibmu"}
            }
            meter-per-second{
                dnam{"mehtera kohti sekunti"}
                one{"{0} mehter kohti sekunti"}
                other{"{0} mehtera kohti sekunti"}
                two{"{0} mehtera kohti sekunti"}
            }
            mile-per-hour{
                dnam{"eangas miila kohti diibmu"}
                one{"{0} eangas miil kohti diibmu"}
                other{"{0} eangas miila kohti diibmu"}
                two{"{0} eangas miila kohti diibmu"}
            }
        }
        temperature{
            celsius{
                dnam{"grádat Celsius"}
                one{"{0} grádat Celsius"}
                other{"{0} grádat Celsius"}
                two{"{0} grádat Celsius"}
            }
            fahrenheit{
                dnam{"grádat Fahrenheit"}
                one{"{0} grádat Fahrenheit"}
                other{"{0} grádat Fahrenheit"}
                two{"{0} grádat Fahrenheit"}
            }
        }
        volume{
            cubic-kilometer{
                dnam{"kubikkilomehtera"}
                one{"{0} kubikkilomehter"}
                other{"{0} kubikkilomehtera"}
                two{"{0} kubikkilomehtera"}
            }
            cubic-mile{
                dnam{"eangas kubikkmiila"}
                one{"{0} eangas kubikkmiil"}
                other{"{0} eangas kubikkmiila"}
                two{"{0} eangas kubikkmiila"}
            }
            liter{
                dnam{"lihtara"}
                one{"{0} lihtar"}
                other{"{0} lihtara"}
                two{"{0} lihtara"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                one{"{0}G"}
                other{"{0}G"}
                two{"{0}G"}
            }
        }
        angle{
            arc-minute{
                one{"{0}′"}
                other{"{0}′"}
                two{"{0}′"}
            }
            arc-second{
                one{"{0}″"}
                other{"{0}″"}
                two{"{0}″"}
            }
            degree{
                one{"{0}°"}
                other{"{0}°"}
                two{"{0}°"}
            }
        }
        area{
            acre{
                one{"{0} ac"}
                other{"{0} ac"}
                two{"{0} ac"}
            }
            hectare{
                one{"{0}ha"}
                other{"{0}ha"}
                two{"{0}ha"}
            }
            square-foot{
                one{"{0} ft²"}
                other{"{0} ft²"}
                two{"{0} ft²"}
            }
            square-kilometer{
                one{"{0}km²"}
                other{"{0}km²"}
                two{"{0}km²"}
            }
            square-meter{
                one{"{0}m²"}
                other{"{0}m²"}
                two{"{0}m²"}
            }
            square-mile{
                one{"{0} mi²"}
                other{"{0} mi²"}
                two{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                one{"{0}d"}
                other{"{0}d"}
                two{"{0}d"}
            }
            hour{
                one{"{0}h"}
                other{"{0}h"}
                two{"{0}h"}
            }
            millisecond{
                one{"{0}ms"}
                other{"{0}ms"}
                two{"{0}ms"}
            }
            minute{
                one{"{0}m"}
                other{"{0}m"}
                two{"{0}m"}
            }
            month{
                one{"{0}m"}
                other{"{0}m"}
                two{"{0}m"}
            }
            second{
                one{"{0}s"}
                other{"{0}s"}
                two{"{0}s"}
            }
            week{
                one{"{0}v"}
                other{"{0}v"}
                two{"{0}v"}
            }
            year{
                one{"{0}j"}
                other{"{0}j"}
                two{"{0}j"}
            }
        }
        length{
            centimeter{
                one{"{0}cm"}
                other{"{0}cm"}
                two{"{0}cm"}
            }
            foot{
                one{"{0} juolgi"}
                other{"{0} juolgi"}
                two{"{0} juolgi"}
            }
            inch{
                one{"{0} bealgi"}
                other{"{0} bealgi"}
                two{"{0} bealgi"}
            }
            kilometer{
                one{"{0}km"}
                other{"{0}km"}
                two{"{0}km"}
            }
            light-year{
                one{"{0} ly"}
                other{"{0} ly"}
                two{"{0} ly"}
            }
            meter{
                one{"{0}m"}
                other{"{0}m"}
                two{"{0}m"}
            }
            mile{
                one{"{0} mi"}
                other{"{0} mi"}
                two{"{0} mi"}
            }
            millimeter{
                one{"{0}mm"}
                other{"{0}mm"}
                two{"{0}mm"}
            }
            picometer{
                one{"{0}pm"}
                other{"{0}pm"}
                two{"{0}pm"}
            }
            yard{
                one{"{0} yd"}
                other{"{0} yd"}
                two{"{0} yd"}
            }
        }
        mass{
            gram{
                one{"{0}g"}
                other{"{0}g"}
                two{"{0}g"}
            }
            kilogram{
                one{"{0}kg"}
                other{"{0}kg"}
                two{"{0}kg"}
            }
            ounce{
                one{"{0} unssi"}
                other{"{0} unssi"}
                two{"{0} unssi"}
            }
            pound{
                one{"{0} pauna"}
                other{"{0} pauna"}
                two{"{0} pauna"}
            }
        }
        power{
            horsepower{
                one{"{0}hv"}
                other{"{0}hv"}
                two{"{0}hv"}
            }
            kilowatt{
                one{"{0}kW"}
                other{"{0}kW"}
                two{"{0}kW"}
            }
            watt{
                one{"{0}W"}
                other{"{0}W"}
                two{"{0}W"}
            }
        }
        pressure{
            hectopascal{
                one{"{0}hPa"}
                other{"{0}hPa"}
                two{"{0}hPa"}
            }
            inch-ofhg{
                one{"{0} bealgi Hg"}
                other{"{0} bealgi Hg"}
                two{"{0} bealgi Hg"}
            }
            millibar{
                one{"{0}mbar"}
                other{"{0}mbar"}
                two{"{0}mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                one{"{0}km/h"}
                other{"{0}km/h"}
                two{"{0}km/h"}
            }
            meter-per-second{
                one{"{0}m/s"}
                other{"{0}m/s"}
                two{"{0}m/s"}
            }
            mile-per-hour{
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                two{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                one{"{0}°"}
                other{"{0}°"}
                two{"{0}°"}
            }
            fahrenheit{
                one{"{0}°F"}
                other{"{0}°F"}
                two{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                one{"{0}km³"}
                other{"{0}km³"}
                two{"{0}km³"}
            }
            cubic-mile{
                one{"{0} mi³"}
                other{"{0} mi³"}
                two{"{0} mi³"}
            }
            liter{
                one{"{0}L"}
                other{"{0}L"}
                two{"{0}L"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                dnam{"Maapallo gravitaatiovoimat"}
                one{"{0} G"}
                other{"{0} G"}
                two{"{0} G"}
            }
        }
        angle{
            arc-minute{
                dnam{"jorbbas minuhtta"}
                one{"{0}′"}
                other{"{0}′"}
                two{"{0}′"}
            }
            arc-second{
                dnam{"jorbbas sekundda"}
                one{"{0}″"}
                other{"{0}″"}
                two{"{0}″"}
            }
            degree{
                dnam{"grádat"}
                one{"{0}°"}
                other{"{0}°"}
                two{"{0}°"}
            }
        }
        area{
            acre{
                dnam{"Amerihká tynnyrinala"}
                one{"{0} ac"}
                other{"{0} ac"}
                two{"{0} ac"}
            }
            hectare{
                dnam{"hehtaaria"}
                one{"{0} ha"}
                other{"{0} ha"}
                two{"{0} ha"}
            }
            square-foot{
                dnam{"neliöjuolgi"}
                one{"{0} ft²"}
                other{"{0} ft²"}
                two{"{0} ft²"}
            }
            square-kilometer{
                dnam{"neliökilomehtera"}
                one{"{0} km²"}
                other{"{0} km²"}
                two{"{0} km²"}
            }
            square-meter{
                dnam{"neliömehtera"}
                one{"{0} m²"}
                other{"{0} m²"}
                two{"{0} m²"}
            }
            square-mile{
                dnam{"eangas neliömiila"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                two{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                dnam{"jándora"}
                one{"{0} d"}
                other{"{0} d"}
                two{"{0} d"}
            }
            hour{
                dnam{"diibmur"}
                one{"{0} h"}
                other{"{0} h"}
                two{"{0} h"}
            }
            millisecond{
                dnam{"millisekundda"}
                one{"{0} ms"}
                other{"{0} ms"}
                two{"{0} ms"}
            }
            minute{
                dnam{"minuhtta"}
                one{"{0} min"}
                other{"{0} min"}
                two{"{0} min"}
            }
            month{
                dnam{"mánotbadji"}
                one{"{0} mán"}
                other{"{0} mán"}
                two{"{0} mán"}
            }
            second{
                dnam{"sekundda"}
                one{"{0} s"}
                other{"{0} s"}
                two{"{0} s"}
            }
            week{
                dnam{"váhkku"}
                one{"{0} v"}
                other{"{0} v"}
                two{"{0} v"}
            }
            year{
                dnam{"jahkki"}
                one{"{0} jah"}
                other{"{0} jah"}
                two{"{0} jah"}
            }
        }
        length{
            centimeter{
                dnam{"sentimehtera"}
                one{"{0} cm"}
                other{"{0} cm"}
                two{"{0} cm"}
            }
            foot{
                dnam{"juolgi"}
                one{"{0} juolgi"}
                other{"{0} juolgi"}
                two{"{0} juolgi"}
            }
            inch{
                dnam{"bealgi"}
                one{"{0} bealgi"}
                other{"{0} bealgi"}
                two{"{0} bealgi"}
            }
            kilometer{
                dnam{"kilomehtera"}
                one{"{0} km"}
                other{"{0} km"}
                two{"{0} km"}
            }
            light-year{
                dnam{"chuovgat jagi"}
                one{"{0} ly"}
                other{"{0} ly"}
                two{"{0} ly"}
            }
            meter{
                dnam{"mehtera"}
                one{"{0} m"}
                other{"{0} m"}
                two{"{0} m"}
            }
            mile{
                dnam{"eangas miila"}
                one{"{0} mi"}
                other{"{0} mi"}
                two{"{0} mi"}
            }
            millimeter{
                dnam{"millimehtera"}
                one{"{0} mm"}
                other{"{0} mm"}
                two{"{0} mm"}
            }
            picometer{
                dnam{"pikomehtera"}
                one{"{0} pm"}
                other{"{0} pm"}
                two{"{0} pm"}
            }
            yard{
                dnam{"eangas yard"}
                one{"{0} yd"}
                other{"{0} yd"}
                two{"{0} yd"}
            }
        }
        mass{
            gram{
                dnam{"gram"}
                one{"{0} g"}
                other{"{0} g"}
                two{"{0} g"}
            }
            kilogram{
                dnam{"kilogram"}
                one{"{0} kg"}
                other{"{0} kg"}
                two{"{0} kg"}
            }
            ounce{
                dnam{"unssi"}
                one{"{0} unssi"}
                other{"{0} unssi"}
                two{"{0} unssi"}
            }
            pound{
                dnam{"pauna"}
                one{"{0} pauna"}
                other{"{0} pauna"}
                two{"{0} pauna"}
            }
        }
        power{
            horsepower{
                dnam{"hevosvoima"}
                one{"{0} hv"}
                other{"{0} hv"}
                two{"{0} hv"}
            }
            kilowatt{
                dnam{"kilowatt"}
                one{"{0} kW"}
                other{"{0} kW"}
                two{"{0} kW"}
            }
            watt{
                dnam{"watt"}
                one{"{0} W"}
                other{"{0} W"}
                two{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                dnam{"hehtopascal"}
                one{"{0} hPa"}
                other{"{0} hPa"}
                two{"{0} hPa"}
            }
            inch-ofhg{
                dnam{"bealgi kvikksølv"}
                one{"{0} bealgi Hg"}
                other{"{0} bealgi Hg"}
                two{"{0} bealgi Hg"}
            }
            millibar{
                dnam{"millibar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
                two{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                dnam{"kilomehtera kohti diibmu"}
                one{"{0} km/h"}
                other{"{0} km/h"}
                two{"{0} km/h"}
            }
            meter-per-second{
                dnam{"mehtera kohti sekunti"}
                one{"{0} m/s"}
                other{"{0} m/s"}
                two{"{0} m/s"}
            }
            mile-per-hour{
                dnam{"eangas miila kohti diibmu"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                two{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                dnam{"grádat Celsius"}
                one{"{0}°C"}
                other{"{0}°C"}
                two{"{0}°C"}
            }
            fahrenheit{
                dnam{"grádat Fahrenheit"}
                one{"{0}°F"}
                other{"{0}°F"}
                two{"{0}°F"}
            }
        }
        volume{
            cubic-kilometer{
                dnam{"kubikkilomehtera"}
                one{"{0} km³"}
                other{"{0} km³"}
                two{"{0} km³"}
            }
            cubic-mile{
                dnam{"eangas kubikkmiila"}
                one{"{0} mi³"}
                other{"{0} mi³"}
                two{"{0} mi³"}
            }
            liter{
                dnam{"lihtara"}
                one{"{0} l"}
                other{"{0} l"}
                two{"{0} l"}
            }
        }
    }
}
