# 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: 2012-08-08 11:33+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 ""

#, c-format
msgid "Got unexpected frame size of %u instead of %u."
msgstr ""

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

#, c-format
msgid "Failed after %d tries. device %s. system error: %s"
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 ""

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