# 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: 2018-10-02 23:04+0100\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"

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

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

#, fuzzy
msgid "Disc is not an Audio CD."
msgstr "Avadanlıq açıq deyil."

msgid "Could not open DVD"
msgstr ""

#, fuzzy, c-format
msgid "Could not open DVD title %d"
msgstr "\"%s\" vfs faylı bağlana bilmədi."

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr ""

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
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 stream contains no data."
msgstr ""

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

#, fuzzy
#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "\"%s\" vfs faylı bağlana bilmədi."

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

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

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

#~ msgid "No filename specified."
#~ msgstr "Fayl adı verilməyib."

#~ 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 "Could not open audio device \"%s\" for writing."
#~ msgstr "\"%s\" audio avadanlığı yazma üçün açıla bilmədi."

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

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "\"%s\" audio avadanlığı quraşdırı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 close control device \"%s\"."
#~ msgstr "\"%s\" idarə 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 "Could not write to device \"%s\"."
#~ msgstr "\"%s\" avadanlığına yazıla bilmədi."

#~ 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 "Device \"%s\" does not exist."
#~ msgstr "\"%s\" avadanlığı mövcud deyil."

#~ 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 "Volume"
#~ msgstr "Səs"

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

#~ msgid "Treble"
#~ msgstr "İncə"

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

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

#~ msgid "Speaker"
#~ msgstr "Spiker"

#~ msgid "Line-in"
#~ msgstr "Xətd-giriş"

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

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

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

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

#~ msgid "Record"
#~ msgstr "Qeyd"

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

#~ msgid "Out-gain"
#~ msgstr "Çıxış-gain"

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

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

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

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

#~ 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 "Video"
#~ msgstr "Video"

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

#~ msgid "Monitor"
#~ msgstr "Monitor"

#, fuzzy
#~ msgid "PC Speaker"
#~ msgstr "Spiker"

#~ 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 "No device specified."
#~ msgstr "Avadanlıq bildirilməyib."

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

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

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

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

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