# 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: 2016-11-29 15:49+0200\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 "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
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."

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

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

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

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

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

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