# 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: 2013-08-28 12:31+0200\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 open device for playback in mono mode."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy
msgid "Could not open device for playback in stereo mode."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy, c-format
msgid "Could not open device for playback in %d-channel mode."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""

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

msgid "Error outputting to audio device. The device has been disconnected."
msgstr ""

#, fuzzy
msgid "Could not open device for recording in mono mode."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy
msgid "Could not open device for recording in stereo mode."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy, c-format
msgid "Could not open device for recording in %d-channel mode"
msgstr "I pamundur hapja e dispozitivit CD për lexim."

#, fuzzy
msgid ""
"Could not open audio device for recording. Device is being used by another "
"application."
msgstr "E pamundur hapja e dispozitivit \"%s\" për lexim dhe shkrim."

#, fuzzy
msgid "Could not open audio device for recording."
msgstr "I pamundur hapja e dispozitivit CD për lexim."

msgid "Error recording from audio device. The device has been disconnected."
msgstr ""

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

#, fuzzy
msgid "Could not seek CD."
msgstr "E pamundur mbyllja e file vfs \"%s\"."

#, fuzzy
msgid "Could not read CD."
msgstr "I pamundur shkrimi në dispozitivin \"%s\"."

msgid "Internal data stream error."
msgstr ""

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

#, c-format
msgid "A %s plugin is required to play this stream, but not installed."
msgstr ""

#, fuzzy
msgid "Could not determine type of stream"
msgstr "I pamundur shkrimi tek file \"%s\"."

msgid "This appears to be a text file"
msgstr ""

#, fuzzy
msgid "Could not create \"uridecodebin\" element."
msgstr "I pamundur shkrimi tek file \"%s\"."

#, c-format
msgid "Both autovideosink and %s elements are missing."
msgstr ""

msgid "The autovideosink element is missing."
msgstr ""

#, c-format
msgid "Configured videosink %s is not working."
msgstr ""

#, c-format
msgid "Both autovideosink and %s elements are not working."
msgstr ""

msgid "The autovideosink element is not working."
msgstr ""

msgid "Custom text sink element is not usable."
msgstr ""

msgid "No volume control found"
msgstr ""

#, c-format
msgid "Both autoaudiosink and %s elements are missing."
msgstr ""

msgid "The autoaudiosink element is missing."
msgstr ""

#, c-format
msgid "Configured audiosink %s is not working."
msgstr ""

#, c-format
msgid "Both autoaudiosink and %s elements are not working."
msgstr ""

msgid "The autoaudiosink element is not working."
msgstr ""

msgid "Can't play a text file without video or visualizations."
msgstr ""

#, c-format
msgid "No decoder available for type '%s'."
msgstr ""

msgid "No URI specified to play from."
msgstr ""

#, c-format
msgid "Invalid URI \"%s\"."
msgstr ""

msgid "This stream type cannot be played yet."
msgstr ""

#, c-format
msgid "No URI handler implemented for \"%s\"."
msgstr ""

msgid "Source element is invalid."
msgstr ""

#, fuzzy, c-format
msgid "Error while sending data to \"%s:%d\"."
msgstr "Gabim gjatë mbylljes së file \"%s\"."

msgid "Can't record audio fast enough"
msgstr ""

msgid "This CD has no audio tracks"
msgstr ""

msgid "ID3 tag"
msgstr ""

msgid "APE tag"
msgstr ""

msgid "ICY internet radio"
msgstr ""

msgid "Apple Lossless Audio (ALAC)"
msgstr ""

msgid "Free Lossless Audio Codec (FLAC)"
msgstr ""

msgid "Lossless True Audio (TTA)"
msgstr ""

msgid "Windows Media Speech"
msgstr ""

msgid "CYUV Lossless"
msgstr ""

msgid "FFMpeg v1"
msgstr ""

msgid "Lossless MSZH"
msgstr ""

msgid "Run-length encoding"
msgstr ""

msgid "Subtitle"
msgstr ""

msgid "MPL2 subtitle format"
msgstr ""

msgid "DKS subtitle format"
msgstr ""

msgid "QTtext subtitle format"
msgstr ""

msgid "Sami subtitle format"
msgstr ""

msgid "TMPlayer subtitle format"
msgstr ""

msgid "Kate subtitle format"
msgstr ""

msgid "Uncompressed video"
msgstr ""

msgid "Uncompressed gray"
msgstr ""

#, c-format
msgid "Uncompressed %s YUV %s"
msgstr ""

#, c-format
msgid "Uncompressed %s%d-bit %s"
msgstr ""

#, c-format
msgid "DivX MPEG-4 Version %d"
msgstr ""

msgid "Uncompressed audio"
msgstr ""

#, c-format
msgid "Raw %d-bit %s audio"
msgstr ""

msgid "Audio CD source"
msgstr ""

msgid "DVD source"
msgstr ""

msgid "Real Time Streaming Protocol (RTSP) source"
msgstr ""

msgid "Microsoft Media Server (MMS) protocol source"
msgstr ""

#, c-format
msgid "%s protocol source"
msgstr ""

#, c-format
msgid "%s video RTP depayloader"
msgstr ""

#, c-format
msgid "%s audio RTP depayloader"
msgstr ""

#, c-format
msgid "%s RTP depayloader"
msgstr ""

#, c-format
msgid "%s demuxer"
msgstr ""

#, c-format
msgid "%s decoder"
msgstr ""

#, c-format
msgid "%s video RTP payloader"
msgstr ""

#, c-format
msgid "%s audio RTP payloader"
msgstr ""

#, c-format
msgid "%s RTP payloader"
msgstr ""

#, c-format
msgid "%s muxer"
msgstr ""

#, c-format
msgid "%s encoder"
msgstr ""

#, c-format
msgid "GStreamer element %s"
msgstr ""

msgid "Unknown source element"
msgstr ""

msgid "Unknown sink element"
msgstr ""

msgid "Unknown element"
msgstr ""

msgid "Unknown decoder element"
msgstr ""

msgid "Unknown encoder element"
msgstr ""

msgid "Plugin or element of unknown type"
msgstr ""

msgid "Failed to read tag: not enough data"
msgstr ""

msgid "track ID"
msgstr ""

msgid "MusicBrainz track ID"
msgstr ""

msgid "artist ID"
msgstr ""

msgid "MusicBrainz artist ID"
msgstr ""

msgid "album ID"
msgstr ""

msgid "MusicBrainz album ID"
msgstr ""

msgid "album artist ID"
msgstr ""

msgid "MusicBrainz album artist ID"
msgstr ""

msgid "track TRM ID"
msgstr ""

msgid "MusicBrainz TRM ID"
msgstr ""

msgid "capturing shutter speed"
msgstr ""

msgid "Shutter speed used when capturing an image, in seconds"
msgstr ""

msgid "capturing focal ratio"
msgstr ""

msgid "Focal ratio (f-number) used when capturing the image"
msgstr ""

msgid "capturing focal length"
msgstr ""

msgid "Focal length of the lens used capturing the image, in mm"
msgstr ""

msgid "capturing digital zoom ratio"
msgstr ""

msgid "Digital zoom ratio used when capturing an image"
msgstr ""

msgid "capturing iso speed"
msgstr ""

msgid "The ISO speed used when capturing an image"
msgstr ""

msgid "capturing exposure program"
msgstr ""

msgid "The exposure program used when capturing an image"
msgstr ""

msgid "capturing exposure mode"
msgstr ""

msgid "The exposure mode used when capturing an image"
msgstr ""

msgid "capturing exposure compensation"
msgstr ""

msgid "The exposure compensation used when capturing an image"
msgstr ""

msgid "capturing scene capture type"
msgstr ""

msgid "The scene capture mode used when capturing an image"
msgstr ""

msgid "capturing gain adjustment"
msgstr ""

msgid "The overall gain adjustment applied on an image"
msgstr ""

msgid "capturing white balance"
msgstr ""

msgid "The white balance mode set when capturing an image"
msgstr ""

msgid "capturing contrast"
msgstr ""

msgid "The direction of contrast processing applied when capturing an image"
msgstr ""

msgid "capturing saturation"
msgstr ""

msgid "The direction of saturation processing applied when capturing an image"
msgstr ""

msgid "capturing sharpness"
msgstr ""

msgid "The direction of sharpness processing applied when capturing an image"
msgstr ""

msgid "capturing flash fired"
msgstr ""

msgid "If the flash fired while capturing an image"
msgstr ""

msgid "capturing flash mode"
msgstr ""

msgid "The selected flash mode while capturing an image"
msgstr ""

msgid "capturing metering mode"
msgstr ""

msgid ""
"The metering mode used while determining exposure for capturing an image"
msgstr ""

msgid "capturing source"
msgstr ""

msgid "The source or type of device used for the capture"
msgstr ""

msgid "image horizontal ppi"
msgstr ""

msgid "Media (image/video) intended horizontal pixel density in ppi"
msgstr ""

msgid "image vertical ppi"
msgstr ""

msgid "Media (image/video) intended vertical pixel density in ppi"
msgstr ""

msgid "ID3v2 frame"
msgstr ""

msgid "unparsed id3v2 tag frame"
msgstr ""

msgid "musical-key"
msgstr ""

msgid "Initial key in which the sound starts"
msgstr ""

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

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

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

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

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

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

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

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

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

#, fuzzy
#~ msgid "This is not a media file"
#~ msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

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

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

#, fuzzy
#~ msgid "Device \"%s\" is already being used."
#~ msgstr ""
#~ "Dispozitivi OSS \"%s\" është duke u përdorur nga një tjetër program."

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

#, fuzzy
#~ msgid "No Temp directory specified."
#~ msgstr "Nuk është përcaktuar asnjë dispozitiv."

#, fuzzy
#~ msgid "Could not create temp file \"%s\"."
#~ msgstr "I pamundur shkrimi tek file \"%s\"."

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

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

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

#~ 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 file \"%s\" for writing."
#~ msgstr "E pamundur hapja e file \"%s\" në shkrim."

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

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

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

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

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

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

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

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