# 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: 2022-07-21 11:19+0000\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <https://translate.fedoraproject.org/projects/"
"selinux/sandbox/ka/>\n"
"Language: ka\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.13\n"

#: ../sandbox:120
#, python-format
msgid "Do you want to save changes to '%s' (Y/N): "
msgstr "გნებავთ'%s' -ის ცვლილებების შენახვა? (Y/N): "

#: ../sandbox:121
msgid "Sandbox Message"
msgstr "Sandbox შეტყობინება"

#: ../sandbox:133
#, python-format
msgid "Do you want to save changes to '%s' (y/N): "
msgstr "გნებავთ'%s' -ის ცვლილებების შენახვა? (Y/N): "

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

#: ../sandbox:157
msgid "User account must be setup with an MCS Range"
msgstr ""

#: ../sandbox:185
msgid ""
"Failed to find any unused category sets.  Consider a larger MCS range for "
"this user."
msgstr ""

#: ../sandbox:216
msgid "Homedir and tempdir required for level mounts"
msgstr ""

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

#: ../sandbox:306
#, python-format
msgid ""
"\n"
"Policy defines the following types for use with the -t:\n"
"\t%s\n"
msgstr ""

#: ../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 დონე ] [-[X|M] [-H საწყ.საქ.] [-T დრ.საქ.]] [-I "
"ჩასასმელიფაილი ] [-W ფანჯრებისმმართველი ] [ -w ფანჯრისზომა ] [[-i "
"ფაილი ] ...] [ -t ტიპი ] ბრძანება\n"
"\n"
"sandbox [-h] [-l დონე ] [-[X|M] [-H საწყ.საქ.] [-T დრ.საქ.]] [-I "
"ჩასასმელიფაილი ] [-W ფანჯრებისმმართველი ] [ -w ფანჯრისზომა ] [[-i "
"ფაილი ] ...] [ -t ტიპი ] -S\n"
"%s\n"

#: ../sandbox:325
msgid "include file in sandbox"
msgstr "sandbox-ში ფაილების ჩასმა"

#: ../sandbox:328
msgid "read list of files to include in sandbox from INCLUDEFILE"
msgstr ""

#: ../sandbox:330
msgid "run sandbox with SELinux type"
msgstr "sandbox-ის SELinux-ის ტიპით გაშვება"

#: ../sandbox:333
msgid "mount new home and/or tmp directory"
msgstr "ახალი საწყისი ან/და /tmp საქაღალდის მიმაგრება"

#: ../sandbox:337
msgid "dots per inch for X display"
msgstr "წერტილი დუიმში X-სთვის"

#: ../sandbox:340
msgid "run complete desktop session within sandbox"
msgstr ""

#: ../sandbox:343
msgid "Shred content before temporary directories are removed"
msgstr ""

#: ../sandbox:347
msgid "run X application within a sandbox"
msgstr ""

#: ../sandbox:353
msgid "alternate home directory to use for mounting"
msgstr ""

#: ../sandbox:358
msgid "alternate /tmp directory to use for mounting"
msgstr ""

#: ../sandbox:367
msgid "alternate window manager"
msgstr "ფანჯრების სხვა მმართველი"

#: ../sandbox:370
msgid "MCS/MLS level for the sandbox"
msgstr "sandbox-ის MCS/MLS დონე"

#: ../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 ""

#: ../sandbox:398
msgid ""
"You must specify a Homedir and tempdir when setting up a session sandbox"
msgstr ""

#: ../sandbox:400
msgid "Commands are not allowed in a session sandbox"
msgstr ""

#: ../sandbox:410
msgid "Command required"
msgstr "ბრძანება აუცილებელია"

#: ../sandbox:413
#, python-format
msgid "%s is not an executable"
msgstr "%s: გაშვებადი ფაილი არაა"

#: ../sandbox:536
#, python-format
msgid "Invalid value %s"
msgstr "არასწორი მნიშვნელობა \"%s\""
