# translation of gst-plugins-good-1.0.3.po to Turkish
# This file is put in the public domain.
# Server Acim <serveracim@gmail.com>, 2010.
# Server Acim <serveracim@gmail.com>, 2011.
# Server Acim <serveracim@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-11-06 12:30+0100\n"
"PO-Revision-Date: 2013-03-10 13:05+0200\n"
"Last-Translator: Server Acim <serveracim@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"

msgid "Jack server not found"
msgstr ""

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 "Server does not support seeking."
msgstr "Sunucu aramayı desteklemiyor."

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ı."

msgid ""
"A network error occured, 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 "Internal data stream error."
msgstr "İç veri akım hatası."

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 ""

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 "Internal data flow error."
msgstr "İç veri akış hatası."

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 "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ş"

#, fuzzy
msgid "Codec Loopback"
msgstr "Geridönüm"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Geridönüm"

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' does not support video capture"
msgstr "Aygıt '%s' video yakalamayı 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ı"

#, fuzzy, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Aygıt '%s' video yakalamayı 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."

#, fuzzy
msgid "Video device did not provide output format."
msgstr "Vidyo aygıtı yeni çerçeve oranı ayarlarını kabul etmedi."

msgid "Video device returned invalid dimensions."
msgstr ""

#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

msgid "Video devices uses an unsupported pixel format."
msgstr ""

#, fuzzy
msgid "Failed to configure internal buffer pool."
msgstr "Video aygıtı tampon havuzu yaratamadı."

#, fuzzy
msgid "Video device did not suggest any buffer size."
msgstr "Video aygıtı tampon havuzu yaratamadı."

msgid "No downstream pool to import from."
msgstr ""

#, 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 ""

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, fuzzy, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "JPEG görüntüsünü çözümlenemedi"

msgid "Failed to process frame."
msgstr ""

#, 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."

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

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

#, 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 "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ı."
