# Përkthimi i mesazheve të gst-plugins në shqip.
# Copyright (C) 2004, 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Laurent Dhima <laurenti@alblinux.net>, 2004, 2008.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2008-08-15 16:07+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\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 title information for DVD."
msgstr "I pamundur shkrimi tek file \"%s\"."

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "E pamundur hapja e dispozitivit frontend \"%s\"."

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

msgid "No file name specified for writing."
msgstr "Asnjë emër file specifikuar për shkrim."

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

msgid "Internal data stream error."
msgstr "Gabim i brendshëm tek stream i të dhënave."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "I pamundur shkrimi tek file \"%s\"."

#, fuzzy
msgid "Internal data flow error."
msgstr "Gabim i brendshëm tek stream i të dhënave."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Dispozitivi \"%s\" nuk ekziston."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "E pamundur hapja e dispozitivit frontend \"%s\"."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "E pamundur marrja e rregullimeve nga dispozitivi frontend \"%s\"."

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

#, fuzzy
#~ msgid "Internal clock error."
#~ msgstr "Gabim i brendshëm tek stream i të dhënave."

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

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

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

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

#~ 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 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 "Error closing file \"%s\"."
#~ msgstr "Gabim gjatë mbylljes së file \"%s\"."

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

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

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

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

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

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

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

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

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

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

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

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "E pamundur mbyllja e file vfs \"%s\"."

#, 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 "Device is not open."
#~ msgstr "Dispozitivi nuk është hapur."

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

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