# translation of gst-plugins-good-1.0.3.po to Turkish
# This file is put in the public domain.
# This file is distributed under the same license as the gst-plugins-good package.
# Server Acim <serveracim@gmail.com>, 2010.
# Server Acim <serveracim@gmail.com>, 2011.
# Server Acim <serveracim@gmail.com>, 2013, 2015.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-05-04 15:05+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"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 1.5\n"

msgid "Jack server not found"
msgstr "Jack sunucusu bulunamadı"

msgid "Failed to decode JPEG image"
msgstr "JPEG görüntüsünü çözümlenemedi"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "'%s' tarafından '%s'"

msgid "Could not connect to server"
msgstr "Sunucuya bağlanamıyor"

msgid "No URL set."
msgstr "Hiç bir URL ayarlanmamış."

msgid "Could not resolve server name."
msgstr "Sunucu adı çözümlenemiyor."

msgid "Could not establish connection to server."
msgstr "Sunucuyla bağlantı kurulumayor."

msgid "Secure connection setup failed."
msgstr "Güvenli bağlantı ayarı yapılamadı."

#, fuzzy
msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""
"Bir ağ hatası meydana geldi, veya sunucu bağlantıyı beklenmeyen bir şekilde "
"kesti."

msgid "Server sent bad data."
msgstr "Sunucu yetersiz veri gönderdi."

msgid "Server does not support seeking."
msgstr "Sunucu aramayı desteklemiyor."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Geçerli bir ses girişi bulunamadı. AVI akışı kesilecek."

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

msgid "This file is invalid and cannot be played."
msgstr "Bu dosya geçersiz ve oynatılamaz."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr "Akış çalınamadı çünkü PlayReady DRM ile şifrelenmiş."

msgid "This file is corrupt and cannot be played."
msgstr "Bu dosya bozuk ve oynatılamaz."

msgid "Invalid atom size."
msgstr "Geçersiz atom boyutu"

msgid "This file is incomplete and cannot be played."
msgstr "Dosya eksik ve oynatılamaz."

msgid "The video in this file might not play correctly."
msgstr "Bu dosyadaki vidyo doğru oynatılamıyabilir."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Bu dosya çok fazla akış içeriyor. Sadece ilki oynatılıyor %d"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Desteklenen bir akış bulunamadı. Real Media akışları için bir GStreamer RTSP "
"uzantı eklentisi kurmalısınız."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"Desteklenen akış bulunamadı. Daha fazla aktarım protokolüne izin vermeniz "
"veya doğru GStreamer RTSP uzantı eklentisine onay vermeniz gerekebilir."

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 ""
"Çalma için ses aygıtı açılamıyor. Açık Ses Sistemi'nin bu sürümü, bu öğeyi "
"desteklemiyor."

msgid "Playback is not supported by this audio device."
msgstr "Bu ses aygıtı çalmayı desteklemiyor."

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

msgid "Recording is not supported by this audio device."
msgstr "Bu ses aygıtı kaydetmeyi desteklemiyor."

msgid "Error recording from audio device."
msgstr "Ses aygıtından kaydetmekte hata."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr "Kayıt için aygıtı açamıyor. Aygıtı açmak için yetkiniz yok."

msgid "Could not open audio device for recording."
msgstr "Aygıtı kayıt için açamıyor."

msgid "CoreAudio device not found"
msgstr ""

msgid "CoreAudio device could not be opened"
msgstr ""

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

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Hat Girişi"

msgid "Internal CD"
msgstr "Dahili CD"

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

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

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

msgid "Codec Loopback"
msgstr "Kodek Geridönüşü"

msgid "SunVTS Loopback"
msgstr "SunVTS Geridönüşü"

msgid "Volume"
msgstr "Ses Girişi"

msgid "Gain"
msgstr "Kazanç"

msgid "Monitor"
msgstr "Hoparlör"

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

msgid "Headphone"
msgstr "Kulaklık"

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

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

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

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

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "%d bayt bilgili '%s' aygıtından okumada hata."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr "Aygıtın '%s' birlikte çalışabileceği vidyo kiplerini sıralamada hata"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Aygıttan '%s' bellekler eşlenemiyor"

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"Bu aygıtın sürücüsü '%s' bilinen IO yöntemlerinden herhangi birisini "
"desteklemiyor."

#, c-format
msgid "Device '%s' is busy"
msgstr "Aygıt '%s' meşgul"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Aygıt '%s' görüntü yakalayamadı%dx%d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Aygıt '%s' belirtilen kipte görüntü yakalayamadı"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Aygıt '%s' bitişik olmayan düzlemleri desteklemiyor"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Değiştirgeler aygıttan '%s' alınamıyor"

msgid "Video device did not accept new frame rate setting."
msgstr "Vidyo aygıtı yeni çerçeve oranı ayarlarını kabul etmedi."

msgid "Video device did not provide output format."
msgstr "Video aygıtı çıktı biçimini sağlamadı."

msgid "Video device returned invalid dimensions."
msgstr "Video aygıtı geçersiz boyutlar döndü."

#, fuzzy
msgid "Video device uses an unsupported interlacing method."
msgstr "Video aygıtları desteklenmeyen bir birbirine geçme yöntemi kullanıyor."

#, fuzzy
msgid "Video device uses an unsupported pixel format."
msgstr "Video aygıtları desteklenmeyen bir piksel biçimini kullanıyor."

msgid "Failed to configure internal buffer pool."
msgstr "İç tampon bellek havuzu yapılandırılamıyor."

msgid "Video device did not suggest any buffer size."
msgstr "Video aygıtı herhangi bir tampon bellek boyutu önermedi."

msgid "No downstream pool to import from."
msgstr "İçeri aktarılacak akıntı havuzu yok."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "İstasyon ayarlarını bulma işlemi %d şu aygıtta '%s' başarılamadı."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Bu aygıt için kapasite bilgisi alınamadı '%s'."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "Aygıt '%s' bir radyo değil."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Radyo giriş değeri şu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Giriş değeri olarak bu %d şu aygıtta %s ayarlanamadı."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Aygıt '%s' susturulmaya ayarlanamadı."

msgid "Failed to allocated required memory."
msgstr "Gerekli bellek ayrılamadı."

msgid "Failed to allocate required memory."
msgstr "Gerekli bellek ayrılamıyor."

#, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Aygıt %s üzerindeki dönüştürücü girdi biçimini desteklemiyor"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Aygıt %s üzerindeki dönüştürücü çıktı biçimini desteklemiyor"

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Aygıt %s üzerindeki kodlayıcı girdi biçimini deskteklemiyor"

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Aygıt %s üzerindeki kodlayıcı çıktı biçimini deskteklemiyor"

msgid "Failed to start decoding thread."
msgstr "Çözme işi başlaması başarısız."

msgid "Failed to process frame."
msgstr "İşlem çerçevesi başarısız."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Şu aygıtın '%s' özelliklerini almada hata: O bir v4l2 sürücüsü değil. Onun "
"bir v4l1 sürücüsü olup olmadığını denetleyin."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Giriş davranışları sorgusu %d şu aygıtta %s başarılamadı"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Radyo istasyonu ayarlarını bulma %d şu aygıtta '%s' başarılamadı."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Şu aygıtta '%s' sorgu normuna erişilemedi."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Denetim davranışları şu aygıtta '%s' bulunamadı."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Aygıt tanımlanamıyor '%s'."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Bu bir aygıt değil'%s'."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Şu aygıtı '%s' okuma ve yazma için açamıyor."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Aygıt '%s' bir yakalama aygıtı değil."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Aygıt '%s' bir çıkış aygıtı değil."

#, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Aygıt '%s' bir M2M aygıtı değil."

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Okuma ve yazma için '%s' aygıtı kopyalanamadı."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Aygıt için '%s' norm değerleri ayarlanamadı."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Aygıt için '%s' radyo frekansları ayarlanamadı."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr "Aygıt için '%s' radyo frekansı %lu Hz için yapılamadı."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Aygıt için '%s' güçlü sinyal alımı gerçekleşemedi."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Denetim değeri şuna %d bu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Değer %d denetim için %d şu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Şu aygıtta '%s' geçerli giriş elde edilemedi. O bir radyo aygıtı olabilir."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Şu aygıtta '%s' geçerli giriş elde edilemedi. O bir radyo aygıtı olabilir."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Çıkış değeri olarak %d şu aygıtta %s elde edilemedi."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Çalışırken çözünürlüğü değiştirmek henüz desteklenmiyor."

msgid "Cannot operate without a clock"
msgstr "Saat olmadan çalışamaz"

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

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

#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Aygıt '%s' video yakalamayı desteklemiyor"

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Ses sunucusuyla bağlantı kurulumayor"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Ses sunucusu olanakları sorgulanamadı"

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

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

#~ msgid "Synth"
#~ msgstr "Synthisizer"

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

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

#~ msgid "Line-in"
#~ msgstr "Hat girişi"

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Karıştırıcı"

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

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

#~ msgid "In-gain"
#~ msgstr "Kazanç-girişi"

#~ msgid "Out-gain"
#~ msgstr "Kazanç-çıkışı"

#~ msgid "Line-1"
#~ msgstr "Hat-1"

#~ msgid "Line-2"
#~ msgstr "Hat-2"

#~ msgid "Line-3"
#~ msgstr "Hat-3"

#~ msgid "Digital-1"
#~ msgstr "Sayısal-1"

#~ msgid "Digital-2"
#~ msgstr "Sayısal-2"

#~ msgid "Digital-3"
#~ msgstr "Sayısal-3"

#~ msgid "Phone-in"
#~ msgstr "Fono-giriş"

#~ msgid "Phone-out"
#~ msgstr "Fono-çıkış"

#~ msgid "Video"
#~ msgstr "Vidyo"

#~ msgid "Radio"
#~ msgstr "Radyo"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Mikser denetimi 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 ""
#~ "Mikser denetimi için ses aygıtı açılamıyor. Açık Ses Sisteminin bu "
#~ "sürümü, bu öğeyi desteklemiyor."

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

#~ 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 "AUX Out"
#~ msgstr "AUX Çıkış"

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

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

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

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

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

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

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

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

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofon Seviye Yükseltme"

#~ msgid "Diagnostic"
#~ msgstr "Ayarlar"

#~ msgid "Bass Boost"
#~ msgstr "Bass Arttırım"

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

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

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

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

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo Simülasyonu"

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

#~ msgid "Surround Sound"
#~ msgstr "Surround Sesi"

#~ 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 Mix"

#~ msgid "Mono Mix"
#~ msgstr "Mono Mix"

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

#~ 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 "Ahize"

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

#~ msgid "None"
#~ msgstr "Hiçbiri"

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

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

#~ msgid "Mute"
#~ msgstr "Sustulurmuş"

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

#~ msgid "Very Low"
#~ msgstr "Çok Kalın"

#~ msgid "Low"
#~ msgstr "D"

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

#~ msgid "High"
#~ msgstr "Tiz"

#~ msgid "Very High"
#~ msgstr "Çok Tiz"

#~ 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 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 Konnektö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 Ö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ışı Dağıt"

#~ msgid "Downmix"
#~ msgstr "Miks Edilmiş"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Sanal Mikser Girişi"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Sanal Mikser Çıkışı"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Sanal Mikser Kanalları"

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

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

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Beklenmeyen bir çerçevece boyutu %u bunun yerine %u görüntülendi."

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "%d baytı şu aygıtta '%s' okumada hata."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Aygıtta '%s' arabellek kuyruğa sokulamıyor."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Aygıttan device '%s' vidyo çerçeveleri alınamadı."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Şu denemeden sonra %d başarılamadı. aygıt %s. sistem hatası: %s"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "Arabellek türü desteklenmiyor, veya içerik bir yere ait değil, veya "
#~ "arabellekler henüz ayrılmamış, veya userptr veya uzunluk geçersiz. aygıt. "
#~ "%s"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr "Vidyo çervevesi aygıttan '%s' alınamadı. Yetersiz bellek."

#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr ""
#~ "kullanıcı arabelleğini kuyruğa sokmak için yetersiz bellek. aygıt %s."

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "Dizindeki %d havuzda boş bellek bulunamadı."

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "Arabellek aygıttan '%s' alınamıyor."

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "Yeterli bellek aygıttan '%s' alınamıyor."

#~ msgid "Error starting streaming capture from device '%s'."
#~ msgstr "Aygıttan '%s' akan görüntü başlatılamadı."

#~ msgid "Error stopping streaming capture from device '%s'."
#~ msgstr "Aygıttan '%s' akan görüntü durdurulamadı."
