# Translation of 'gst-plugins' messages to Azerbaijani.
# Copyright (C) 2004 Free Software Foundation, Inc.
# This file is put in the public domain.
# Mətin Əmirov <metin@karegen.com>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-05-04 15:09+0300\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0.2\n"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr ""

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

#, fuzzy
msgid "Could not read title information for DVD."
msgstr "\"%s\" faylına yazıla bilmədi."

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "\"%s\" idarə avadanlığı bağlana bilmədi."

msgid "Failed to set PGC based seeking."
msgstr ""

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""

#, fuzzy
msgid "Could not read DVD."
msgstr "\"%s\" faylına yazıla bilmədi."

msgid "This file contains no playable streams."
msgstr ""

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "\"%s\" faylı oxuma üçün açıla bilmədi."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

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

msgid "Subpicture format was not configured before data flow"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "Internal data stream error."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "\"%s\" avadanlığı mövcud deyil."

#, fuzzy, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "\"%s\" idarə avadanlığı bağlana bilmədi."

#, fuzzy, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "\"%s\" avadanlığından kifayət qədər bufferlər alına bilmədi."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "\"%s\" avadanlığından kifayət qədər bufferlər alına bilmədi."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "\"%s\" faylı oxuma üçün açıla bilmədi."

msgid "Couldn't find channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr ""

#, c-format
msgid "Couldn't find details for channel '%s'"
msgstr ""

#, c-format
msgid "No properties for channel '%s'"
msgstr ""

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "\"%s\" idarə avadanlığı bağlana bilmədi."

#, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr ""

msgid "Channel configuration file doesn't contain any channels"
msgstr ""

#, fuzzy
#~ msgid "Could not configure sndio"
#~ msgstr "\"%s\" audio avadanlığı quraşdırıla bilmədi."

#, fuzzy
#~ msgid "Could not start sndio"
#~ msgstr "\"%s\" faylına yazıla bilmədi."

#, fuzzy
#~ msgid "No file name specified for writing."
#~ msgstr "Fayl adı verilməyib."

#~ msgid "Could not open file \"%s\" for writing."
#~ msgstr "\"%s\" faylı yazma üçün açıla bilmədi."

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "\"%s\" faylına yazıla bilmədi."

#~ msgid "Could not open device \"%s\" for reading and writing."
#~ msgstr "\"%s\" avadanlığı oxuma və yazma üçün açıla bilmədi."

#~ msgid "Device \"%s\" is not a capture device."
#~ msgstr "\"%s\" avadanlığı capture avadanlığı deyil."

#~ msgid "Could not write to device \"%s\"."
#~ msgstr "\"%s\" avadanlığına yazıla bilmədi."

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "\"%s\" avadanlığından bufferlər alına bilmədi."

#~ msgid "Could not open control device \"%s\" for writing."
#~ msgstr "\"%s\" idarə avadanlığı yazma üçün açıla bilmədi."

#~ msgid "Could not set audio device \"%s\" to %d Hz."
#~ msgstr "\"%s\" audio avadanlığı %d Hz-ə keçirilə bilmədi."

#~ msgid "Could not close audio device \"%s\"."
#~ msgstr "\"%s\" audio avadanlığı bağlana bilmədi."

#~ msgid "Could not open video device \"%s\" for writing."
#~ msgstr "\"%s\" video avadanlığı yazma üçün açıla bilmədi."

#~ msgid "Could not close video device \"%s\"."
#~ msgstr "\"%s\" video avadanlığı bağlana bilmədi."

#~ msgid "Error closing file \"%s\"."
#~ msgstr "\"%s\" faylı bağlana bilmədi."

#~ msgid "No or invalid input audio, AVI stream will be corrupt."
#~ msgstr "Səhv ya da olmayan audio girişi, AVI yayımı pozulacaqdır."

#~ msgid "OSS device \"%s\" is already in use by another program."
#~ msgstr "\"%s\" OSS avadanlığı başqa bir proqram tərəfindən istifadədədir."

#~ msgid "Could not access device \"%s\", check its permissions."
#~ msgstr "\"%s\" avadanlığına yetişə bilmədi, səlahiyyətlərini yoxlayın."

#~ msgid "Could not open device \"%s\" for writing."
#~ msgstr "\"%s\" avadanlığı yazma üçün açıla bilmədi."

#~ msgid "Could not open device \"%s\" for reading."
#~ msgstr "\"%s\" avadanlığı oxuma üçün açıla bilmədi."

#~ msgid "Synth"
#~ msgstr "Sint"

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

#~ msgid "Mixer"
#~ msgstr "Mikser"

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

#~ msgid "In-gain"
#~ msgstr "Giriş-gain"

#~ msgid "Line-1"
#~ msgstr "Xətd-1"

#~ msgid "Line-2"
#~ msgstr "Xətd-2"

#~ msgid "Line-3"
#~ msgstr "Xətd-3"

#~ msgid "Digital-2"
#~ msgstr "Dijital-2"

#~ msgid "Digital-3"
#~ msgstr "Dijital-3"

#~ msgid "Phone-in"
#~ msgstr "Telefon-girişi"

#~ msgid "Phone-out"
#~ msgstr "Telefon-çıxışı"

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

#~ msgid "Could not open CD device for reading."
#~ msgstr "CD avadanlığı oxuma üçün açıla bilmədi."

#~ msgid "Could not open vfs file \"%s\" for reading."
#~ msgstr "\"%s\" vfs faylı oxuma üçün açıla bilmədi."

#, fuzzy
#~ msgid "No filename given."
#~ msgstr "Fayl adı verilməyib."

#, fuzzy
#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "\"%s\" vfs faylı yazma üçün açıla bilmədi."

#, fuzzy
#~ msgid "No filename given"
#~ msgstr "Fayl adı verilməyib."

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "\"%s\" vfs faylı bağlana bilmədi."

#~ msgid "No device specified."
#~ msgstr "Avadanlıq bildirilməyib."

#~ msgid "Device is not open."
#~ msgstr "Avadanlıq açıq deyil."

#~ msgid "Device is open."
#~ msgstr "Avadanlıq açıqdır."
