# Përkthimi i mesazheve të gst-plugins në shqip.
# Copyright (C) 2004 Free Software Foundation, Inc.
# Laurent Dhima <laurenti@alblinux.net>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2004-08-07 20:29+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <begraj@hotmail.com>\n"
"Language: sq\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#, fuzzy
msgid "Could not read from CD."
msgstr "I pamundur shkrimi tek file \"%s\"."

msgid "Could not open CD device for reading."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy
msgid "Disc is not an Audio CD."
msgstr "Dispozitivi nuk është hapur."

msgid "Could not open DVD"
msgstr ""

#, fuzzy, c-format
msgid "Could not open DVD title %d"
msgstr "E pamundur mbyllja e file vfs \"%s\"."

#, 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 "I pamundur shkrimi tek file \"%s\"."

msgid "This stream contains no data."
msgstr ""

#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "I pamundur shkrimi tek file \"%s\"."

#, fuzzy
#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "E pamundur mbyllja e file vfs \"%s\"."

#~ msgid "Could not open file \"%s\" for writing."
#~ msgstr "E pamundur hapja e file \"%s\" në shkrim."

#~ msgid "Error closing file \"%s\"."
#~ msgstr "Gabim gjatë mbylljes së file \"%s\"."

#~ msgid "Could not open file \"%s\" for reading."
#~ msgstr "E pamundur hapja e file \"%s\" për lexim."

#~ msgid "No filename specified."
#~ msgstr "Nuk është përcaktuar emri i file."

#~ msgid "No or invalid input audio, AVI stream will be corrupt."
#~ msgstr "Input audio i gabuar ose mungon, stream AVI mund të jetë i dëmtuar."

#~ msgid "Could not open audio device \"%s\" for writing."
#~ msgstr "E pamundur hapja e dispozitivit të zërit \"%s\" për shkrim."

#~ msgid "Could not open control device \"%s\" for writing."
#~ msgstr "E pamundur hapja e dispozitivit të kontrollit \"%s\" për shkrim."

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "I pamundur konfigurimi i dispozitivit të zërit \"%s\"."

#~ msgid "Could not set audio device \"%s\" to %d Hz."
#~ msgstr "I pamundur rregullimi i dispozitivit audio \"%s\" në %d Hz."

#~ msgid "Could not close audio device \"%s\"."
#~ msgstr "E pamundur mbyllja e dispozitivit audio \"%s\"."

#~ msgid "Could not close control device \"%s\"."
#~ msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

#~ msgid "Could not open video device \"%s\" for writing."
#~ msgstr "E pamundur hapja e dispozitivit video \"%s\" për shkrim."

#~ msgid "Could not close video device \"%s\"."
#~ msgstr "E pamundur mbyllja e dispozitivit video \"%s\"."

#~ msgid "Could not write to device \"%s\"."
#~ msgstr "I pamundur shkrimi në dispozitivin \"%s\"."

#~ msgid "OSS device \"%s\" is already in use by another program."
#~ msgstr ""
#~ "Dispozitivi OSS \"%s\" është duke u përdorur nga një tjetër program."

#~ msgid "Could not access device \"%s\", check its permissions."
#~ msgstr ""
#~ "E pamundur futja në dispozitivin \"%s\", kontrollo të drejtat e tij."

#~ msgid "Device \"%s\" does not exist."
#~ msgstr "Dispozitivi \"%s\" nuk ekziston."

#~ msgid "Could not open device \"%s\" for writing."
#~ msgstr "E pamundur hapja e dispozitivit \"%s\" për shkrim."

#~ msgid "Could not open device \"%s\" for reading."
#~ msgstr "E pamundur hapja e dispozitivit \"%s\" për lexim."

#~ msgid "Your OSS device could not be probed correctly"
#~ msgstr "Dispozitivi juaj OSS mund të mos provohet korrektësisht"

#~ msgid "Volume"
#~ msgstr "Volumi"

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

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

#~ msgid "Synth"
#~ msgstr "Sintetizuesi"

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

#~ msgid "Speaker"
#~ msgstr "Zë folës"

#~ msgid "Line-in"
#~ msgstr "Linja-hyrje"

#~ msgid "Microphone"
#~ msgstr "Mikrofoni"

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

#~ msgid "Mixer"
#~ msgstr "Kontrolli i volumit"

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

#~ msgid "Record"
#~ msgstr "Regjistrimi"

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

#~ msgid "Out-gain"
#~ msgstr "Out-gain"

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

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

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

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

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

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

#~ msgid "Phone-in"
#~ msgstr "Phone-hyrja"

#~ msgid "Phone-out"
#~ msgstr "Phone-dalja"

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

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

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

#, fuzzy
#~ msgid "PC Speaker"
#~ msgstr "Zë folës"

#~ msgid "Could not open vfs file \"%s\" for reading."
#~ msgstr "E pamundur hapja e file vfs \"%s\" për lexim."

#, fuzzy
#~ msgid "No filename given."
#~ msgstr "Nuk është dhënë asnjë emër file"

#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "E pamundur hapja e file vfs \"%s\" për shkrim: %s."

#~ msgid "No filename given"
#~ msgstr "Nuk është dhënë asnjë emër file"

#, fuzzy
#~ msgid "Your OSS device doesn't support mono or stereo."
#~ msgstr "Dispozitivi juaj OSS mund të mos provohet korrektësisht"

#~ msgid "No device specified."
#~ msgstr "Nuk është përcaktuar asnjë dispozitiv."

#~ msgid "Could not open device \"%s\" for reading and writing."
#~ msgstr "E pamundur hapja e dispozitivit \"%s\" për lexim dhe shkrim."

#~ msgid "Device is open."
#~ msgstr "Dispozitivi është i hapur."

#~ msgid "Device \"%s\" is not a capture device."
#~ msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#~ msgid "Could not get enough buffers from device \"%s\"."
#~ msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

#~ msgid ""
#~ "The %s element could not be found. This element is essential for "
#~ "playback. Please install the right plug-in and verify that it works by "
#~ "running 'gst-inspect %s'"
#~ msgstr ""
#~ "E pamundur gjetja e elementit %s. Ky element është thelbësor për "
#~ "playback. Ju lutem instaloni plug-in e duhur dhe kontrollo funksionimin "
#~ "duke ekzekutuar 'gst-inspect %s'"

#~ msgid ""
#~ "No usable colorspace element could be found.\n"
#~ "Please install one and restart."
#~ msgstr ""
#~ "Nuk arrin të gjehet asnjë element ngjyra e hapësirës.\n"
#~ "Ju lutem instaloni një dhe rinisni."
