# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-08-30 22:52+0200\n"
"PO-Revision-Date: 2021-09-08 19:04+0000\n"
"Last-Translator: Jan Kuparinen <copper_fin@hotmail.com>\n"
"Language-Team: Finnish <https://translate.fedoraproject.org/projects/selinux/"
"sandbox/fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8\n"

#: ../sandbox:120
#, python-format
msgid "Do you want to save changes to '%s' (Y/N): "
msgstr "Haluatko tallentaa muutokset '%s':een (K/E): "

#: ../sandbox:121
msgid "Sandbox Message"
msgstr "Hiekkalaatikkoviesti"

#: ../sandbox:133
#, python-format
msgid "Do you want to save changes to '%s' (y/N): "
msgstr "Haluatko tallentaa muutokset '%s' :een? (k E): "

#: ../sandbox:134
msgid "[yY]"
msgstr "[kK]"

#: ../sandbox:157
msgid "User account must be setup with an MCS Range"
msgstr "Käyttäjätili on määritettävä MCS-alueen kanssa"

#: ../sandbox:185
msgid ""
"Failed to find any unused category sets.  Consider a larger MCS range for "
"this user."
msgstr ""
"Käyttämättömien luokkaryhmien löytäminen epäonnistui. Harkitse suurempaa MCS-"
"aluetta tälle käyttäjälle."

#: ../sandbox:216
msgid "Homedir and tempdir required for level mounts"
msgstr "Kotihakemisto ja väliaikaishakemisto vaaditaan tasokiinnityksille"

#: ../sandbox:219 ../sandbox:230 ../sandbox:235
#, python-format
msgid ""
"\n"
"%s is required for the action you want to perform.\n"
msgstr ""
"\n"
"%s vaaditaan suoritettavaan toimintoon.\n"

#: ../sandbox:306
#, python-format
msgid ""
"\n"
"Policy defines the following types for use with the -t:\n"
"\t%s\n"
msgstr ""
"\n"
"Käytäntö määrittää seuraavat -t kanssa käytettävät tyypit:\n"
"%s\n"

#: ../sandbox:313
#, python-format
msgid ""
"\n"
"sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I "
"includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t "
"type ] command\n"
"\n"
"sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I "
"includefile ] [-W windowmanager ] [ -w windowsize ] [[-i file ] ...] [ -t "
"type ] -S\n"
"%s\n"
msgstr ""
"\n"
"sandbox [-h] [-l taso ] [-[X|M] [-H kotihakemisto] [-T väliaikaishakemisto]] "
"[-I sisällytätiedosto ] [-W ikkunakäsittelijä ] [ -w ikkunakoko ] [[-i "
"tiedosto ] ...] [ -t tyyppi] komento\n"
"\n"
"sandbox [-h] [-l taso ] [-[X|M] [-H kotihakemisto] [-T väliaikaishakemisto]] "
"[-I sisällytätiedosto ] [ -w ikkunakoko ] [[-i tiedosto ] ...] [ -t tyyppi] -"
"S\n"
"%s\n"

#: ../sandbox:325
msgid "include file in sandbox"
msgstr "sisällytä tiedosto hiekkalaatikkoon"

#: ../sandbox:328
msgid "read list of files to include in sandbox from INCLUDEFILE"
msgstr ""
"lue luettelo tiedostoista, jotka sisällytetään hiekkalaatikkoon INCLUDEFILE"

#: ../sandbox:330
msgid "run sandbox with SELinux type"
msgstr "Suorita hiekkalaatikko SELinux-tyypillä"

#: ../sandbox:333
msgid "mount new home and/or tmp directory"
msgstr "asenna uusi koti- ja/tai tmp-hakemisto"

#: ../sandbox:337
msgid "dots per inch for X display"
msgstr "X-displayn pisteitä tuumalla"

#: ../sandbox:340
msgid "run complete desktop session within sandbox"
msgstr "Suorita täydellinen työpöytäistunto hiekkalaatikossa"

#: ../sandbox:343
msgid "Shred content before temporary directories are removed"
msgstr "Silppua sisältö ennen tilapäishakemistojen poistamista"

#: ../sandbox:347
msgid "run X application within a sandbox"
msgstr "Suorita X-sovellus hiekkalaatikossa"

#: ../sandbox:353
msgid "alternate home directory to use for mounting"
msgstr "vaihtoehtoinen kotihakemisto, jota käytetään liitämisessä"

#: ../sandbox:358
msgid "alternate /tmp directory to use for mounting"
msgstr "vaihtoehtoinen väliaikaishakemisto, jota käytetään liitämisessä"

#: ../sandbox:367
msgid "alternate window manager"
msgstr "vaihtoehtoinen ikkunahallinnoija"

#: ../sandbox:370
msgid "MCS/MLS level for the sandbox"
msgstr "MCS/MLS-taso hiekkalaatikolle"

#: ../sandbox:386
msgid ""
"Sandbox Policy is not currently installed.\n"
"You need to install the selinux-policy-sandbox package in order to run this "
"command"
msgstr ""
"Hiekkalaatikkokäytäntöä ei ole tällä hetkellä asennettu.\n"
"Sinun on asennettava selinux-policy-sandbox-paketti tämän komennon "
"suorittamiseksi"

#: ../sandbox:398
msgid ""
"You must specify a Homedir and tempdir when setting up a session sandbox"
msgstr ""
"Kotihakemisto ja väliaikaishakemisto vaaditaan määritettäessä "
"istuntohiekkalaatikkoa"

#: ../sandbox:400
msgid "Commands are not allowed in a session sandbox"
msgstr "Komennot eivät ole sallittuja istunnon hiekkalaatikossa"

#: ../sandbox:410
msgid "Command required"
msgstr "Komento vaaditaan"

#: ../sandbox:413
#, python-format
msgid "%s is not an executable"
msgstr "%s ei pystytä suorittamaan"

#: ../sandbox:536
#, python-format
msgid "Invalid value %s"
msgstr "virheellinen arvo %s"
