# Italian translation for gst-plugins-good package of GStreamer project.
# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 GStreamer core team
# This file is distributed under the same license as the gst-plugins-good package.
#
# Luca Ferretti <elle.uca@infinito.it>, 2004, 2005, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.25.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-10-30 14:27+0200\n"
"PO-Revision-Date: 2010-10-25 10:11+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "Decodifica dell'immagine JPEG non riuscita"

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

msgid "Could not connect to server"
msgstr "Impossibile connettersi al server"

msgid "No URL set."
msgstr "Nessun URL impostato."

msgid "Server does not support seeking."
msgstr "Il server non supporta il posizionamento."

msgid "Could not resolve server name."
msgstr "Impossibile risolvere il nome del server."

msgid "Could not establish connection to server."
msgstr "Impossibile stabilire la connessione al server."

msgid "Secure connection setup failed."
msgstr "Impostazione della connessione sicura non riuscita."

#, fuzzy
msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""
"Si è verificato un errore di rete, oppure il server ha chiuso la connessione "
"in modo inatteso."

msgid "Server sent bad data."
msgstr "In server ha inviato dati errati."

msgid "Internal data stream error."
msgstr "Errore interno nello stream dei dati."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr ""
"Ingresso audio assente o non valido. Lo stream AVI risulterà danneggiato."

msgid "This file contains no playable streams."
msgstr "Questo file non contiene alcuno stream riproducibile."

msgid "This file is invalid and cannot be played."
msgstr "Questo file non è valido e non può essere riprodotto."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "Questo file è alterato e non può essere riprodotto."

msgid "Invalid atom size."
msgstr ""

msgid "This file is incomplete and cannot be played."
msgstr "Questo file è incompleto e non può essere riprodotto."

msgid "The video in this file might not play correctly."
msgstr "Il video in questo file potrebbe non essere riprodotto correttamente."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Questo file contiene troppi stream. Riprodotti solo i primi %d"

msgid "Internal data flow error."
msgstr "Errore interno nel flusso di dati."

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Non è stato trovato alcuno stream supportato. Potrebbe essere necessario "
"installare un plugin GStreamer di tipo estensione RTSP per gli stream Real "
"media."

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 ""
"Non è stato trovato alcuno stream supportato. Potrebbe essere necessario "
"abilitare altri protocolli di trasporto oppure in alternativa potrebbe "
"mancare il corretto plugin GStreamer di tipo estensione RTSP."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Impossibile aprire il dispositivo audio per la riproduzione. Il dispositivo "
"è attualmente usato da un'altra applicazione."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Impossibile aprire il dispositivo audio per la riproduzione. Permessi non "
"sufficienti per aprire il dispositivo."

msgid "Could not open audio device for playback."
msgstr "Impossibile aprire il dispositivo audio per la riproduzione."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Impossibile aprire il device audio per la riproduzione. Questa versione di "
"Open Sound System non è supportata da questo elemento."

msgid "Playback is not supported by this audio device."
msgstr "Questo device audio non supporta la riproduzione."

msgid "Audio playback error."
msgstr "Errore nel riprodurre l'audio."

msgid "Recording is not supported by this audio device."
msgstr "Questo dispositivo audio non supporta la registrazione."

msgid "Error recording from audio device."
msgstr "Errore nel registrare dal dispositivo audio."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Impossibile aprire il dispositivo audio per la registrazione. Permessi non "
"sufficienti per aprire il dispositivo."

msgid "Could not open audio device for recording."
msgstr "Impossibile aprire il dispositivo audio per la registrazione."

msgid "Record Source"
msgstr "Sorgente registrazione"

msgid "Microphone"
msgstr "Microfono"

msgid "Line In"
msgstr "Linea in"

msgid "Internal CD"
msgstr "CD interno"

msgid "SPDIF In"
msgstr "SPDIF in"

msgid "AUX 1 In"
msgstr "AUX 1 in"

msgid "AUX 2 In"
msgstr "AUX 2 in"

#, fuzzy
msgid "Codec Loopback"
msgstr "Loopback"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Loopback"

msgid "Volume"
msgstr "Volume"

msgid "Gain"
msgstr "Guadagno"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Altop. incorporato"

msgid "Headphone"
msgstr "Cuffia"

msgid "Line Out"
msgstr "Linea out"

msgid "SPDIF Out"
msgstr "SPDIF out"

msgid "AUX 1 Out"
msgstr "AUX 1 out"

msgid "AUX 2 Out"
msgstr "AUX 2 out"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Errore nel leggere %d byte dal device «%s»."

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

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Impossibile mappare dei buffer dal device «%s»."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Il driver del device «%s» non supporta alcun metodo di cattura noto."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Il driver del device «%s» non supporta alcun metodo di cattura noto."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "Il device «%s» non è un dispositivo di uscita."

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Il device «%s» non è un dispositivo di cattura."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Il device «%s» non è un dispositivo di cattura."

#, fuzzy, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Il device «%s» non è un dispositivo di uscita."

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Impossibile ottenere i parametri sul device «%s»"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

#, fuzzy
msgid "Video device did not provide output format."
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

msgid "Video device returned invalid dimensions."
msgstr ""

#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
msgstr "Il driver del device «%s» non supporta alcun metodo di cattura noto."

msgid "Video devices uses an unsupported pixel format."
msgstr ""

msgid "Failed to configure internal buffer pool."
msgstr ""

#, fuzzy
msgid "Video device did not suggest any buffer size."
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

msgid "No downstream pool to import from."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Recupero delle impostazioni del sintonizzatore %d sul device «%s» non "
"riuscito."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Errore nel leggere %d byte dal device «%s»."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "Il device «%s» non è un dispositivo di uscita."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Impostazione dell'ingresso %d sul device «%s» non riuscita."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Impostazione dell'ingresso %d sul device «%s» non riuscita."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Recupero dell'intensità del segnale per il device «%s» non riuscito."

msgid "Failed to allocated required memory."
msgstr ""

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Il driver del device «%s» non supporta alcun metodo di cattura noto."

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported output format"
msgstr ""
"Il device di ingresso video non accetta la nuova impostazione sul frame rate."

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "Decodifica dell'immagine JPEG non riuscita"

msgid "Failed to process frame."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Errore nell'ottenere le funzionalità per il device «%s»: non è un driver "
"v4l2. Controllare se si tratta di un driver v4l1."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""
"Interrogazione degli attributi dell'input %d nel device %s non riuscita"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Recupero delle impostazioni del sintonizzatore %d sul device «%s» non "
"riuscito."

#  norm è un paramentro pari a ntsc o pal (e forse altro. Si evince ad esempio
#  dal comando di Video Lan Clien
#
#     vlc --color  #    v4l:/dev/video2:norm=ntsc:frequency=77250:size=640x480:#    adev=/dev/dsp2:audio=0 (...)
#
#  Qualche idea diversa da norma?  -Luca
#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Interrogazione di norm sul device «%s» non riuscita."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Recupero degli attributi dei controlli sul device «%s» non riuscito."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Impossibile identificare il device «%s»."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Questo non è un dispositivo «%s»."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Impossibile aprire il device «%s» in lettura e scrittura."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Il device «%s» non è un dispositivo di cattura."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Il device «%s» non è un dispositivo di uscita."

#, fuzzy, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Il device «%s» non è un dispositivo di uscita."

#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Impossibile aprire il device «%s» in lettura e scrittura."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Impostazione di norm per il device «%s» non riuscita."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"Recupero dell'attuale frequenza di sintonizzazione per il device «%s» non "
"riuscita."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Impostazione dell'attuale frequenza di sintonizzazione per il device «%s» a "
"%lu Hz non riuscita."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Recupero dell'intensità del segnale per il device «%s» non riuscito."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Recupero del valore per il controllo %d sul device «%s» non riuscito."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"Impostazione al valore %d per il controllo %d sul device «%s» non riuscito."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Recupero dell'attuale ingresso sul device «%s» non riuscito. Forse è un "
"dispositivo radio"

#, fuzzy, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Recupero dell'attuale ingresso sul device «%s» non riuscito. Forse è un "
"dispositivo radio"

#, fuzzy, c-format
msgid "Failed to set output %d on device %s."
msgstr "Impostazione dell'ingresso %d sul device «%s» non riuscita."

msgid "Changing resolution at runtime is not yet supported."
msgstr ""
"Il cambio della risoluzione durante l'esecuzione non è ancora supportato."

msgid "Cannot operate without a clock"
msgstr "Impossibile operare senza un clock"

#, fuzzy
#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Il device «%s» non è un dispositivo di uscita."

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Ottenuta dimensione inattesa del fotogramma: %u invece di %u."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr ""
#~ "Tentativo di ottenere fotogrammi video dal device «%s» non riuscito."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Fallito dopo %d tentativi. Device %s. Errore di sistema: %s"

#~ msgid "Bass"
#~ msgstr "Bassi"

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

#~ msgid "Synth"
#~ msgstr "Sintetiz"

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

#~ msgid "Speaker"
#~ msgstr "Altoparl"

#~ msgid "Line-in"
#~ msgstr "Linea in"

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

#~ msgid "Mixer"
#~ msgstr "Mixer"

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

#~ msgid "Record"
#~ msgstr "Registr"

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

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

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

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

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

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

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

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

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

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

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

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

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "Impossibile aprire il device audio per la gestione della regolazione del "
#~ "mixer."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Impossibile aprire il device audio per la gestione della regolazione del "
#~ "mixer. Questa versione di Open Sound System non è supportata da questo "
#~ "elemento."

#~ msgid "Master"
#~ msgstr "Principale"

#~ msgid "Front"
#~ msgstr "Fronte"

#~ msgid "Rear"
#~ msgstr "Dietro"

#~ msgid "Headphones"
#~ msgstr "Cuffie"

#~ msgid "Center"
#~ msgstr "Centrale"

# NdT: lfe andrebbe tradotto come effetti a bassa frequenza e andrebbe aperto un bug per low frequency emitter che al limite è la cassa ma non il canale
#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround"

#~ msgid "Side"
#~ msgstr "Laterale"

#~ msgid "AUX Out"
#~ msgstr "AUX out"

#~ msgid "3D Depth"
#~ msgstr "Profondità 3D"

#~ msgid "3D Center"
#~ msgstr "Centro 3D"

#~ msgid "3D Enhance"
#~ msgstr "Profondità 3D"

#~ msgid "Telephone"
#~ msgstr "Telefono"

#~ msgid "Video In"
#~ msgstr "Video in"

#~ msgid "AUX In"
#~ msgstr "AUX in"

#~ msgid "Record Gain"
#~ msgstr "Guadagno registrazione"

#~ msgid "Output Gain"
#~ msgstr "Guadagno uscita"

#~ msgid "Microphone Boost"
#~ msgstr "Incremento microfono"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostica"

#~ msgid "Bass Boost"
#~ msgstr "Incremento bassi"

#~ msgid "Playback Ports"
#~ msgstr "Porte riproduzione"

#~ msgid "Input"
#~ msgstr "Input"

#~ msgid "Monitor Source"
#~ msgstr "Sorgente monitor"

#~ msgid "Keyboard Beep"
#~ msgstr "Beep tastiera"

#~ msgid "Simulate Stereo"
#~ msgstr "Simula stereo"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Suono surround"

#~ msgid "Microphone Gain"
#~ msgstr "Guadagno microfono"

#~ msgid "Speaker Source"
#~ msgstr "Sorgente altoparlante"

#~ msgid "Microphone Source"
#~ msgstr "Sorgente microfono"

#~ msgid "Jack"
#~ msgstr "Jack"

# vedi prima per LFE
#~ msgid "Center / LFE"
#~ msgstr "Centrale / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Mix stereo"

#~ msgid "Mono Mix"
#~ msgstr "Mix mono"

#~ msgid "Input Mix"
#~ msgstr "Mix ingresso"

#~ msgid "Microphone 1"
#~ msgstr "Microfono 1"

#~ msgid "Microphone 2"
#~ msgstr "Microfono 2"

#~ msgid "Digital Out"
#~ msgstr "Uscita digitale"

#~ msgid "Digital In"
#~ msgstr "Ingresso digitale"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Auricolare"

#~ msgid "Other"
#~ msgstr "Altro"

#~ msgid "None"
#~ msgstr "Nessuno"

#~ msgid "On"
#~ msgstr "Acceso"

#~ msgid "Off"
#~ msgstr "Spento"

#~ msgid "Mute"
#~ msgstr "Escluso"

#~ msgid "Fast"
#~ msgstr "Veloce"

#~ msgid "Very Low"
#~ msgstr "Molto lento"

#~ msgid "Low"
#~ msgstr "Lento"

#~ msgid "Medium"
#~ msgstr "Medio"

#~ msgid "High"
#~ msgstr "Alto"

#~ msgid "Very High"
#~ msgstr "Molto alto"

#~ msgid "Production"
#~ msgstr "Produzione"

#~ msgid "Front Panel Microphone"
#~ msgstr "Microfono pannello frontale"

#~ msgid "Front Panel Line In"
#~ msgstr "Linea in pannello frontale"

#~ msgid "Front Panel Headphones"
#~ msgstr "Cuffie pannello frontale"

#~ msgid "Front Panel Line Out"
#~ msgstr "Linea out pannello frontale"

#~ msgid "Green Connector"
#~ msgstr "Connettore verde"

#~ msgid "Pink Connector"
#~ msgstr "Connettore rosa"

#~ msgid "Blue Connector"
#~ msgstr "Connettore blu"

#~ msgid "White Connector"
#~ msgstr "Connettore bianco"

#~ msgid "Black Connector"
#~ msgstr "Connettore nero"

#~ msgid "Gray Connector"
#~ msgstr "Connettore grigio"

#~ msgid "Orange Connector"
#~ msgstr "Connettore arancione"

#~ msgid "Red Connector"
#~ msgstr "Connettore rosso"

#~ msgid "Yellow Connector"
#~ msgstr "Connettore giallo"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Connettore verde pannello frontale"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Connettore rosa pannello frontale"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Connettore blu pannello frontale"

#~ msgid "White Front Panel Connector"
#~ msgstr "Connettore bianco pannello frontale"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Connettore nero pannello frontale"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Connettore grigio pannello frontale"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Connettore arancione pannello frontale"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Connettore rosso pannello frontale"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Connettore giallo pannello frontale"

#  int spread;         /* copy front to surr/center channels */ 
#~ msgid "Spread Output"
#~ msgstr "Uscita diffusa"

#~ msgid "Downmix"
#~ msgstr "Downmix"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Ingresso mixer virtuale"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Uscita mixer virtuale"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Canali mixer virtuale"

#~ msgid "%s %d Function"
#~ msgstr "Funzione %s %d"

#~ msgid "%s Function"
#~ msgstr "Funzione %s"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Errore nel leggere %d byte sul device «%s»."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Impossibile accodare i buffer nel device «%s»."

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Impossibile stabilire la connessione al server audio"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Interrogazione delle funzionalità del server audio non riuscita"
