# 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-07-11 20:03+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"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr ""

#, fuzzy
msgid "Could not connect to server"
msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

#, fuzzy
msgid "Server does not support seeking."
msgstr "Dispozitivi juaj OSS mund të mos provohet korrektësisht"

#, fuzzy
msgid "Could not resolve server name."
msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

#, fuzzy
msgid "Could not establish connection to server."
msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

msgid "Secure connection setup failed."
msgstr ""

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""

msgid "Server sent bad data."
msgstr ""

msgid "No URL set."
msgstr ""

msgid "Internal data stream error."
msgstr ""

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 "This file contains no playable streams."
msgstr ""

msgid "This file is invalid and cannot be played."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr ""

msgid "Invalid atom size."
msgstr ""

msgid "This file is incomplete and cannot be played."
msgstr ""

msgid "The video in this file might not play correctly."
msgstr ""

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""

msgid "Internal data flow error."
msgstr ""

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

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""

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

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""

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

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""

msgid "Playback is not supported by this audio device."
msgstr ""

msgid "Audio playback error."
msgstr ""

msgid "Recording is not supported by this audio device."
msgstr ""

msgid "Error recording from audio device."
msgstr ""

msgid "Volume"
msgstr "Volumi"

msgid "Gain"
msgstr ""

msgid "Monitor"
msgstr "Ekrani"

#, fuzzy
msgid "Built-in Speaker"
msgstr "Zë folës"

msgid "Headphone"
msgstr ""

msgid "Line Out"
msgstr ""

msgid "SPDIF Out"
msgstr ""

msgid "AUX 1 Out"
msgstr ""

msgid "AUX 2 Out"
msgstr ""

#, fuzzy, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, fuzzy, c-format
msgid "Could not map buffers from device '%s'"
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""

#, fuzzy, c-format
msgid "Device '%s' does not support video capture"
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Could not get parameters on device '%s'"
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

msgid "Video device did not accept new frame rate setting."
msgstr ""

msgid "Video device could not create buffer pool."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "E pamundur mbyllja e dispozitivit audio \"%s\"."

#, fuzzy, c-format
msgid "Failed to set input %d on device %s."
msgstr "E pamundur mbyllja e dispozitivit audio \"%s\"."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""

#, fuzzy, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr ""

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Cannot identify device '%s'."
msgstr "I pamundur shkrimi në dispozitivin \"%s\"."

#, c-format
msgid "This isn't a device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "E pamundur hapja e dispozitivit \"%s\" për lexim dhe shkrim."

#, fuzzy, c-format
msgid "Device '%s' is not a capture device."
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Device '%s' is not a output device."
msgstr "Dispozitivi \"%s\" nuk është një dispozitiv marrje."

#, fuzzy, c-format
msgid "Failed to set norm for device '%s'."
msgstr "E pamundur marrja e buffers nga dispozitivi \"%s\"."

#, fuzzy, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

#, fuzzy, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "E pamundur mbyllja e dispozitivit të kontrollit \"%s\"."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""

#, fuzzy, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

#, fuzzy, c-format
msgid "Failed to set output %d on device %s."
msgstr "E pamundur mbyllja e dispozitivit audio \"%s\"."

msgid "Changing resolution at runtime is not yet supported."
msgstr ""

msgid "Cannot operate without a clock"
msgstr ""

#, fuzzy
#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "E pamundur marrja e buffers të mjaftueshëm nga dispozitivi \"%s\"."

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

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

#, fuzzy
#~ msgid "Rear"
#~ msgstr "Regjistrimi"

#, fuzzy
#~ msgid "Side"
#~ msgstr "Video"

#, fuzzy
#~ msgid "Line In"
#~ msgstr "Linja-hyrje"

#, fuzzy
#~ msgid "Video In"
#~ msgstr "Video"

#, fuzzy
#~ msgid "Record Gain"
#~ msgstr "Regjistrimi"

#, fuzzy
#~ msgid "Output Gain"
#~ msgstr "Out-gain"

#, fuzzy
#~ msgid "Microphone Boost"
#~ msgstr "Mikrofoni"

#, fuzzy
#~ msgid "Record Source"
#~ msgstr "Regjistrimi"

#, fuzzy
#~ msgid "Monitor Source"
#~ msgstr "Ekrani"

#, fuzzy
#~ msgid "Microphone Gain"
#~ msgstr "Mikrofoni"

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

#, fuzzy
#~ msgid "Microphone Source"
#~ msgstr "Mikrofoni"

#, fuzzy
#~ msgid "Microphone 1"
#~ msgstr "Mikrofoni"

#, fuzzy
#~ msgid "Microphone 2"
#~ msgstr "Mikrofoni"

#, fuzzy
#~ msgid "Digital Out"
#~ msgstr "Dixhitale-1"

#, fuzzy
#~ msgid "Digital In"
#~ msgstr "Dixhitale-1"

#, fuzzy
#~ msgid "Front Panel Microphone"
#~ msgstr "Mikrofoni"

#, fuzzy
#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "E pamundur marrja e buffers nga dispozitivi \"%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 ""
#~ "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 "Device is open."
#~ msgstr "Dispozitivi është i hapur."

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

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

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

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

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

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

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

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

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

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

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

#~ 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 close video device \"%s\"."
#~ msgstr "E pamundur mbyllja e dispozitivit video \"%s\"."

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

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

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "I pamundur konfigurimi i dispozitivit të zërit \"%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 write to file \"%s\"."
#~ msgstr "I pamundur shkrimi tek file \"%s\"."

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

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

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

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