# translation of gst-plugins-bad-0.10.21.2.po to Turkish
# This file is put in the public domain.
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Server Acim <serveracim@gmail.com>, 2009, 2015.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-06-09 11:22+0300\n"
"PO-Revision-Date: 2015-01-10 21:07+0100\n"
"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

msgid "format wasn't negotiated before get function"
msgstr "get fonksiyonundan önce biçim görüşülemedi"

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "DVD'deki başlık bilgisi okunamıyor."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "DVD aygıtı açılamadı '%s'."

msgid "Failed to set PGC based seeking."
msgstr "PGC temelli arama ayarı yapılamadı."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"DVD okunamıyor. DVD şifrelenmiş veya DVD şifre çözme kitaplığı kurulmamış "
"olabilir."

msgid "Could not read DVD."
msgstr "DVD okunamıyor."

msgid "This file contains no playable streams."
msgstr "Dosya çalınabilir akışlar içermiyor."

msgid "Could not open sndfile stream for reading."
msgstr "Sndfile akışı okumak için açamıyor."

msgid "Could not establish connection to sndio"
msgstr "Sndio ile bağlantı kurulamadı"

msgid "Failed to query sndio capabilities"
msgstr "Sndio yetenekleri sorgulanamadı"

msgid "Could not configure sndio"
msgstr "Sndio yapılandırılamadı"

msgid "Could not start sndio"
msgstr "Sndio başlatılamadı"

msgid "Internal data flow error."
msgstr "İç veri akış hatası."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Oluşturlmuş dosya, akışlarının süresinden daha büyük preroll zamanına sahip"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Eksik öge '%s' - GStreamer kurulumunuzu kontrol ediniz."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Dosya konumunuz BOŞ bir değere ayarlı, lütfen geçerli bir dosya adı için "
"ayarlayın"

msgid "Digitalzoom element couldn't be created"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr "Alt resim biçimi, veri  akışından önce yapılandırılmış"

msgid "Failed to get fragment URL."
msgstr "Parça adresi alınamadı."

msgid "Internal data stream error."
msgstr "İç veri akım hatası."

msgid "Couldn't download fragments"
msgstr "Parçalar indirilemedi"

msgid "No file name specified for writing."
msgstr "Yazmak için dosya adı belirtilmedi."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr "Verilen dosya adı \"%s\" yerel dosya adı kodlamasına dönüştürülemiyor."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Dosyayı \"%s\" yazmak için açamıyor."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Aygıt  \"%s\" bulunamadı."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Aygıt açılamaz durumda \"%s\"."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Aygıt ayarları bulunamadı \"%s\"."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "\"%s\" ön yüz aygıtından iletim sistemleri numaralandırılanamıyor"

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Dosyayı \"%s\" okumak için açamıyor."

msgid "Couldn't find DVB channel configuration file"
msgstr "DVB kanal yapılandırma dosyası bulunamadı"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "DVB kanal yapılandırma dosyası yüklenemedi: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "DVB kanalı %s için ayrıntılar bulunamadı"

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Manifest URI alınamadı"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Dosya yazılamıyor \"%s\"."

#~ msgid "Internal clock error."
#~ msgstr "İç saat hatası."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Karıştırıcı işlemi için ses aygıtı açılamıyor."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Karıştırıcı işlemi için ses aygıtı açılamıyor. Bu öğe tarafından Açık Ses "
#~ "Sistemi'nin bu sürümü desteklenmiyor."

#~ msgid "Volume"
#~ msgstr "Gürlük"

#~ msgid "Master"
#~ msgstr "Ana"

#~ msgid "Front"
#~ msgstr "Ön"

#~ msgid "Rear"
#~ msgstr "Arka"

#~ msgid "Headphones"
#~ msgstr "Kulaklıklar"

#~ msgid "Center"
#~ msgstr "Merkez"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround"

#~ msgid "Side"
#~ msgstr "Yan"

#~ msgid "Built-in Speaker"
#~ msgstr "Varsayılan Hoparlör"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1 Çıkış"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2 Çıkış"

#~ msgid "AUX Out"
#~ msgstr "AUX Çıkış"

#~ msgid "Bass"
#~ msgstr "Bas"

#~ msgid "Treble"
#~ msgstr "Tiz"

#~ msgid "3D Depth"
#~ msgstr "3D Derinlik"

#~ msgid "3D Center"
#~ msgstr "3D Merkez"

#~ msgid "3D Enhance"
#~ msgstr "3D Genişlik"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Microphone"
#~ msgstr "Mikrofon"

#~ msgid "Line Out"
#~ msgstr "Hat Çıkışı"

#~ msgid "Line In"
#~ msgstr "Hat girişi"

#~ msgid "Internal CD"
#~ msgstr "Dahili CD"

#~ msgid "Video In"
#~ msgstr "Vidyo Girişi"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1 Giriş"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2 Giriş"

#~ msgid "AUX In"
#~ msgstr "AUX Giriş"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Record Gain"
#~ msgstr "Kayıt Kazancı"

#~ msgid "Output Gain"
#~ msgstr "Çıkış Kazancı"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofon güçlendirme"

#~ msgid "Loopback"
#~ msgstr "Döngü"

#~ msgid "Diagnostic"
#~ msgstr "Yapılandırma"

#~ msgid "Bass Boost"
#~ msgstr "Bass Boost"

#~ msgid "Playback Ports"
#~ msgstr "Çalma Portları"

#~ msgid "Input"
#~ msgstr "Giriş"

#~ msgid "Record Source"
#~ msgstr "Kayıt Kaynağı"

#~ msgid "Monitor Source"
#~ msgstr "Hoparlör Kaynağı"

#~ msgid "Keyboard Beep"
#~ msgstr "Klavye Biplemesi"

#~ msgid "Monitor"
#~ msgstr "Hoparlör"

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo Benzeşimi"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround Ses"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofon Kazancı"

#~ msgid "Speaker Source"
#~ msgstr "Hoparlör Kaynağı"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofon Kaynağı"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "Merkez / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Stereo Karışım"

#~ msgid "Mono Mix"
#~ msgstr "Mono Karışım"

#~ msgid "Input Mix"
#~ msgstr "Giriş Karışımı"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF Girişi"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF Çıkışı"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Sayısal Çıkış"

#~ msgid "Digital In"
#~ msgstr "Sayısal Giriş"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Elde taşıma"

#~ msgid "Other"
#~ msgstr "Diğer"

#~ msgid "None"
#~ msgstr "Yok"

#~ msgid "On"
#~ msgstr "Açık"

#~ msgid "Off"
#~ msgstr "Kapalı"

#~ msgid "Mute"
#~ msgstr "Kapat"

#~ msgid "Fast"
#~ msgstr "Hızlı"

#~ msgid "Very Low"
#~ msgstr "Çok düşük"

#~ msgid "Low"
#~ msgstr "Düşük"

#~ msgid "Medium"
#~ msgstr "Orta"

#~ msgid "High"
#~ msgstr "Yüksek"

#~ msgid "Very High"
#~ msgstr "Çok Yüksek"

#~ msgid "Production"
#~ msgstr "Yapım"

#~ msgid "Front Panel Microphone"
#~ msgstr "Ön panel Mikrofonu"

#~ msgid "Front Panel Line In"
#~ msgstr "Ön Panel Hat Girişi"

#~ msgid "Front Panel Headphones"
#~ msgstr "Ön Panel Kulaklıkları"

#~ msgid "Front Panel Line Out"
#~ msgstr "Ön Panel Hat Çıkışı"

#~ msgid "Green Connector"
#~ msgstr "Yeşil Konnektör"

#~ msgid "Pink Connector"
#~ msgstr "Pembe Konnektör"

#~ msgid "Blue Connector"
#~ msgstr "Mavi Konnektör"

#~ msgid "White Connector"
#~ msgstr "Beyaz Konnektör"

#~ msgid "Black Connector"
#~ msgstr "Siyah Konnektör"

#~ msgid "Gray Connector"
#~ msgstr "Gri Konnektör"

#~ msgid "Orange Connector"
#~ msgstr "Portakal rengi Konnektör"

#~ msgid "Red Connector"
#~ msgstr "Kırmızı Konnektör"

#~ msgid "Yellow Connector"
#~ msgstr "Sarı Konnektör"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Yeşil Ön Panel Konnektörü"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Pembe Ön Panel Könnektörü"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Mavi Ön Panel Konnektörü"

#~ msgid "White Front Panel Connector"
#~ msgstr "Beyaz Ön Panel Konnektörü"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Siyah Ön Panel Konnektörü"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Gri Ön Panel Konnektörü"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Portakal rengi Ön Panel Konnektörü"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Kırmızı Ön Panel Konnektörü"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Sarı Ön Panel Konnektörü"

#~ msgid "Spread Output"
#~ msgstr "Çıkışı Yay"

#~ msgid "Downmix"
#~ msgstr "Sonuç Karışımı"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Sanal Karıştırıcı Girişi"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Sanal Karıştırıcı Çıkışı"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Sanal Karıştırıcı Kanalları"

#~ msgid "%s Function"
#~ msgstr "%s İşlev"

#~ msgid "%s %d"
#~ msgstr "%s %d"

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Çalmak için ses aygıtı açılamıyor. Aygıt başka bir uygulama tarafından "
#~ "kullanılıyor."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr "Çalmak için ses aygıtı açılamıyor. Aygıtı açma izniniz bulunmuyor."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Çalmak için ses aygıtı açılamıyor."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Çalmak için ses aygıtı açılamıyor. Açık Ses Sistemi'nin bu sürümü bu öğe "
#~ "tarafından desteklenmiyor."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Bu ses aygıtı çalma işlevini desteklemiyor."

#~ msgid "Audio playback error."
#~ msgstr "Ses çalma hatası."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Bu ses aygıtı kayıt işlevini desteklemiyor."

#~ msgid "Error recording from audio device."
#~ msgstr "Ses aygıtı ile kayıtta hata."

#~ msgid "PCM 1"
#~ msgstr "PCM 1"

#~ msgid "PCM 2"
#~ msgstr "PCM 2"

#~ msgid "PCM 3"
#~ msgstr "PCM 3"

#~ msgid "PCM 4"
#~ msgstr "PCM 4"

#~ msgid "Green connector function"
#~ msgstr "Yeşil konnektör işlevi"

#~ msgid "Green front panel connector function"
#~ msgstr "Yeşil ön panel konnektör işlevi"

#~ msgid "Pink connector function"
#~ msgstr "Pembe konnektör işlevi"

#~ msgid "Pink front panel connector function"
#~ msgstr "Pembe ön panel konnektör işlevi"

#~ msgid "Blue connector function"
#~ msgstr "Mavi konnektör işlevi"

#~ msgid "Blue front panel connector function"
#~ msgstr "Mavi ön panel konnektör işlevi"

#~ msgid "Orange connector function"
#~ msgstr "Portakal konnektör işlevi"

#~ msgid "Orange front panel connector function"
#~ msgstr "Portakal ön panel konnektör işlevi"

#~ msgid "Black connector function"
#~ msgstr "Siyah konnektör işlevi"

#~ msgid "Black front panel connector function"
#~ msgstr "Siyah ön panel konnektör işlevi"

#~ msgid "Gray connector function"
#~ msgstr "Gri konnektör işlevi"

#~ msgid "Gray front panel connector function"
#~ msgstr "Gri ön panel konnektör işlevi"

#~ msgid "White connector function"
#~ msgstr "Beyaz konnektör işlevi"

#~ msgid "White front panel connector function"
#~ msgstr "Beyaz ön panel konnektör işlevi"

#~ msgid "Red connector function"
#~ msgstr "Kırmızı konnektör işlevi"

#~ msgid "Red front panel connector function"
#~ msgstr "Kırmızı ön panel konnektör işlevi"

#~ msgid "Yellow connector function"
#~ msgstr "Sarı konnektör işlevi"

#~ msgid "Yellow front panel connector function"
#~ msgstr "Sarı ön panel konnektör işlevi"
