# 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: 2023-01-18 11:57+0100\n"
"PO-Revision-Date: 2021-10-02 18:05+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
"Language-Team: Turkish <https://translate.fedoraproject.org/projects/selinux/"
"sandbox/tr/>\n"
"Language: tr\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 "'%s' için değişiklikleri kaydetmek istiyor musunuz (E/H): "

#: ../sandbox:121
msgid "Sandbox Message"
msgstr "Yalıtılmış Alan Mesajı"

#: ../sandbox:133
#, python-format
msgid "Do you want to save changes to '%s' (y/N): "
msgstr "'%s' için değişiklikleri kaydetmek istiyor musunuz (e/H): "

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

#: ../sandbox:157
msgid "User account must be setup with an MCS Range"
msgstr "Kullanıcı hesabı bir MCS aralığı ile kurulmalıdır"

#: ../sandbox:185
msgid ""
"Failed to find any unused category sets.  Consider a larger MCS range for "
"this user."
msgstr ""
"Kullanılmayan kategori kümeleri bulunamadı.  Bu kullanıcı için daha geniş "
"bir MCS aralığı düşünün."

#: ../sandbox:217
msgid "Homedir and tempdir required for level mounts"
msgstr "Seviye bağlamaları için ev_dizini ve geçici_dizin gereklidir"

#: ../sandbox:220 ../sandbox:231 ../sandbox:236
#, python-format
msgid ""
"\n"
"%s is required for the action you want to perform.\n"
msgstr ""
"\n"
"Gerçekleştirmek istediğiniz eylem için %s gereklidir.\n"

#: ../sandbox:307
#, python-format
msgid ""
"\n"
"Policy defines the following types for use with the -t:\n"
"\t%s\n"
msgstr ""
"\n"
"Politika, -t ile kullanım için aşağıdaki türleri tanımlamaktadır:\n"
"\t%s\n"

#: ../sandbox:314
#, 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 seviye ] [-[X|M] [-H ev_dizini] [-T geçici_dizin]] [-I "
"dahil_etme_dosyası ] [-W pencere_yöneticisi ] [ -w pencere_boyutu ] [[-i "
"dosya ] ...] [ -t tür ] komut\n"
"\n"
"sandbox [-h] [-l seviye ] [-[X|M] [-H ev_dizini] [-T geçici_dizin]] [-I "
"dahil_etme_dosyası ] [-W pencere_yöneticisi ] [ -w pencere_boyutu ] [[-i "
"dosya ] ...] [ -t tür ] -S\n"
"%s\n"

#: ../sandbox:326
msgid "include file in sandbox"
msgstr "dosyayı yalıtılmış alana dahil et"

#: ../sandbox:329
msgid "read list of files to include in sandbox from INCLUDEFILE"
msgstr ""
"yalıtılmış alana dahil edilecek dosyaların listesini DAHİL_ETME_DOSYASI'ndan "
"oku"

#: ../sandbox:331
msgid "run sandbox with SELinux type"
msgstr "yalıtılmış alanı SELinux türüyle çalıştır"

#: ../sandbox:334
msgid "mount new home and/or tmp directory"
msgstr "yeni ev dizini ve/veya geçici dizin bağla"

#: ../sandbox:338
msgid "dots per inch for X display"
msgstr "X ekranı için inç başına nokta sayısı"

#: ../sandbox:341
msgid "run complete desktop session within sandbox"
msgstr "yalıtılmış alanda tam bir masaüstü oturumu çalıştır"

#: ../sandbox:344
msgid "Shred content before temporary directories are removed"
msgstr "Geçici dizinler kaldırılmadan önce içeriği yok et"

#: ../sandbox:348
msgid "run X application within a sandbox"
msgstr "yalıtılmış bir alanda X uygulaması çalıştır"

#: ../sandbox:354
msgid "alternate home directory to use for mounting"
msgstr "bağlamak için kullanılacak alternatif ev dizini"

#: ../sandbox:359
msgid "alternate /tmp directory to use for mounting"
msgstr "bağlamak için kullanılacak alternatif /tmp dizini"

#: ../sandbox:364
#, fuzzy
#| msgid "alternate home directory to use for mounting"
msgid ""
"alternate XDG_RUNTIME_DIR - /run/user/$UID - directory to use for mounting"
msgstr "bağlamak için kullanılacak alternatif ev dizini"

#: ../sandbox:373
msgid "alternate window manager"
msgstr "alternatif pencere yöneticisi"

#: ../sandbox:376
msgid "MCS/MLS level for the sandbox"
msgstr "Yalıtılmış alan için MCS/MLS seviyesi"

#: ../sandbox:392
msgid ""
"Sandbox Policy is not currently installed.\n"
"You need to install the selinux-policy-sandbox package in order to run this "
"command"
msgstr ""
"Yalıtılmış Alan Politikası şu anda kurulu değil.\n"
"Bu komutu çalıştırmak için selinux-policy-sandbox paketini kurmanız "
"gerekmektedir"

#: ../sandbox:404
msgid ""
"You must specify a Homedir and tempdir when setting up a session sandbox"
msgstr ""
"Bir oturum yalıtılmış alanı kurarken bir ev_dizini ve geçici_dizin "
"belirtmelisiniz"

#: ../sandbox:406
msgid "Commands are not allowed in a session sandbox"
msgstr "Oturum yalıtılmış alanında komutlara izin verilmez"

#: ../sandbox:418
msgid "Command required"
msgstr "Komut gerekli"

#: ../sandbox:421
#, python-format
msgid "%s is not an executable"
msgstr "%s çalıştırılabilir değil"

#: ../sandbox:549
#, python-format
msgid "Invalid value %s"
msgstr "Geçersiz değer %s"
