# Italian translation for gstreamer package of GStreamer project.
# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 GStreamer team
# This file is distributed under the same license as the gstreamer package.
#
# Alcune note (essenzialmente una traduzione) dopo una lettura non troppo
# approfondita del manuale di GStreamer
#
# Tenete presente che, da un punto di vista dello sviluppatore, GStreamer
# è pesantemente influenzato dalla struttura di GLib, ed in particolare
# dei GObject, per cui le varie funzioni di libreria operano con il
# criterio della programmazione orientata agli oggetti.
#
# Per chi mi capisce, e tagliando via elementi qui non essenziali
#
# GObject
#         GstObject
#                 GstPad
#                 GstElement
#                         GstBin
#                                 GstPipeline
#                                 GstThread
#
#
# --- Elements ---
#
# Un elemento è il blocco costruttivo di base per una "media pipeline".
# Tutti i differenti elementi di alto livello usati sono derivati da
# GstElement. Gli elementi sono "black boxes" con un numero di differenti
# aspetti. Uno di questi aspetti è la presenza di "pads", o punti di
# collegamento (link points). This terminology arises from soldering; pads
# are where wires can be attached.
#
# Tipi di elemento:
#       * source - genera i dati da usare in una pipeline, ad es. leggendo
#         da qualcosa (disco, rete, canale scheda audio...). Hanno solo un
#         source pad
#       * filter/codec - hanno dei pad di input ed output. Operano sui
#         dati che ricevono nel sink pad e producono dati sul loro source
#         pad. Un demuxer appartiene a questa categoria (1 in, 2 out)
#       * sink - punto d'uscita di una pipeline, accettano dati senza
#         produrne altri. Implementazioni di elementi sink sono la
#         scrittura su file, la riproduzione audio o video.
#
# --- Pads ---
#
# Sono l'interfaccia di un elemento verso il mondo esterno. Permettono di
# esporre il tipo specifico di media che l'elemento può gestire.
#
# I pad possono essere source e sink: ciò dipende dal punto di vista
# dell'elemento cui appartengono
#
# Tipi di pad:
#       * dinamici - l'elemento crea un pad se necessario, esempio: mpeg
#         multiplexer crea pad a seconda dei differenti stream elementari
#         rilevati nello stream mpeg
#       * requested - pad creato on demand
#
# --- Capabilities ---
#
# Usate per descrivere i tipi di dati che possono "attraversare" il pad.
# Sono allegate al pad stesso. Capabilities sta per "capability chain"
#
# [Salto le parti complicate] Le capabilities sono usate per
# l'autoplugging (automatically finding plugins for a set of capabilities)
# ed il rilevamento di compatibilità (tra due pad collegati - "caps
# negotiation")
#
# --- Link ---
#
# Dati tre elementi (source, filter, sink) posso collegare in modo
# opportuno i relativi pad, creando una catena. Vedi allegato.
#
# --- Bins ---
#
# Un bin è un elemento contenitore. È possibile aggiungere elementi ad un
# bin, così come è possibile aggiungerlo ad un altro bin.
#
# Consente di combinare un gruppo di elementi collegati in un elemento
# logico. A questo punto non serve + ragionare in termini dei singoli
# elementi, ma del bin.
#
# Una pipeline è un elemento bin, un contenitore generico che consente la
# schedulazione degli elementi contenuti. Il "toplevel bin" deve essere
# una pipeline.
#
# Anche un thread è un elemento bin, che consente l'esecuzione separata.
#
# --- Buffers ---
#
# Contengono i dati che scorrono (flow) attraverso una pipeline.
# Tipicamente gli elementi source creano un nuovo buffer.
#
# --- Element states ---
#
#       * NULL - predefinito, l'elemento è creato e non sta facendo
#         alcunché
#       * READY - pronto a fare qualcosa
#       * PAUSED - in pausa
#       * PLAYING - sta facendo qualcosa
#
# Si passa da NULL a PLAYING attraverso i due stati intermedi.
#
# ----------------------------------------
# Luca Ferretti <elle.uca@infinito.it>, 2004, 2005, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.10.30.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-07-29 13:30+0100\n"
"PO-Revision-Date: 2010-10-25 10:03+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"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

# --gst-version
msgid "Print the GStreamer version"
msgstr "Stampa la versione di GStreamer"

# --gst-fatal-warnings
msgid "Make all warnings fatal"
msgstr "Rende tutti i warning critici"

# --gst-debug-help
msgid "Print available debug categories and exit"
msgstr "Stampa le categorie di debug disponibili ed esce"

# --gst-debug-level=LIVELLO
msgid ""
"Default debug level from 1 (only error) to 5 (anything) or 0 for no output"
msgstr ""
"Livello di debug predefinito da 1 (solo errori) a 5 (tutto), oppure 0 per "
"nessun output"

msgid "LEVEL"
msgstr "LIVELLO"

# --gst-debug=ELENCO
msgid ""
"Comma-separated list of category_name:level pairs to set specific levels for "
"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
msgstr ""
"Elenco di coppie \"nome_categoria=livello\" separate da virgole per "
"impostare i livelli specifici per ogni singola categoria. Esempio: "
"GST_AUTOPLUG:5,GST_ELEMENT_*:3"

msgid "LIST"
msgstr "ELENCO"

# --gst-debug-no-color
msgid "Disable colored debugging output"
msgstr "Disabilita output di debug colorato"

# --gst-debug-disable
msgid "Disable debugging"
msgstr "Disabilita debug"

# --gst-plugin-spew
msgid "Enable verbose plugin loading diagnostics"
msgstr "Abilita diagnostica prolissa del caricamento plugin"

# --gst-plugin-path=PERCORSI
msgid "Colon-separated paths containing plugins"
msgstr "Percorsi che contengono i plugin separati da due punti (:)"

msgid "PATHS"
msgstr "PERCORSI"

# --gst-plugin-load=PLUGIN
msgid ""
"Comma-separated list of plugins to preload in addition to the list stored in "
"environment variable GST_PLUGIN_PATH"
msgstr ""
"Elenco separato da virgole dei plugin da pre-caricare in aggiunta all'elenco "
"memorizzato nella variabile d'ambiente GST_PLUGIN_PATH"

msgid "PLUGINS"
msgstr "PLUGIN"

# --gst-disable-segtrap
msgid "Disable trapping of segmentation faults during plugin loading"
msgstr "Disabilita il trapping dei segfault durante il caricamento dei plugin"

# --gst-disable-registry-update
msgid "Disable updating the registry"
msgstr "Disabilita l'aggiornamento del registro"

# --gst-disable-registry-fork
msgid "Disable spawning a helper process while scanning the registry"
msgstr ""
"Disabilita la generazione di un processo helper durante la scansione del "
"registro"

# intestazione categoria opzioni precendenti
msgid "GStreamer Options"
msgstr "Opzioni di GStreamer"

# --help-gst
msgid "Show GStreamer Options"
msgstr "Mostra le opzioni di GStreamer"

msgid "Unknown option"
msgstr "Opzione sconosciuta"

msgid "GStreamer encountered a general core library error."
msgstr "GStreamer ha incontrato un errore generico delle librerie di base."

msgid ""
"GStreamer developers were too lazy to assign an error code to this error."
msgstr ""
"Gli sviluppatori di GStreamer sono stati troppo pigri per assegnare un "
"codice d'errore a questo errore."

msgid "Internal GStreamer error: code not implemented."
msgstr "Errore interno di GStreamer: codice non implementato."

msgid ""
"GStreamer error: state change failed and some element failed to post a "
"proper error message with the reason for the failure."
msgstr ""
"Errore di GStreamer: cambio di stato non riuscito, alcuni elementi non sono "
"riusciti a pubblicare un appropriato messaggio di errore con il motivo del "
"fallimento."

msgid "Internal GStreamer error: pad problem."
msgstr "Errore interno di GStreamer: problema di pad."

msgid "Internal GStreamer error: thread problem."
msgstr "Errore interno di GStreamer: problema di thread."

#, fuzzy
msgid "GStreamer error: negotiation problem."
msgstr "Errore interno di GStreamer: problema di negoziazione."

msgid "Internal GStreamer error: event problem."
msgstr "Errore interno di GStreamer: problema di evento."

msgid "Internal GStreamer error: seek problem."
msgstr "Errore interno di GStreamer: problema di posizionamento."

msgid "Internal GStreamer error: caps problem."
msgstr "Errore interno di GStreamer: problema di caps."

msgid "Internal GStreamer error: tag problem."
msgstr "Errore interno di GStreamer: problema di tag."

msgid "Your GStreamer installation is missing a plug-in."
msgstr "Nell'installazione di GStreamer in uso manca un plugin."

#, fuzzy
msgid "GStreamer error: clock problem."
msgstr "Errore interno di GStreamer: problema di clock."

msgid ""
"This application is trying to use GStreamer functionality that has been "
"disabled."
msgstr ""
"Questa applicazione sta tentando di usare una funzionalità di GStreamer che "
"è stata disabilitata."

msgid "GStreamer encountered a general supporting library error."
msgstr "GStreamer ha incontrato un errore generico nelle librerie di supporto."

msgid "Could not initialize supporting library."
msgstr "Impossibile inizializzare la libreria di supporto."

msgid "Could not close supporting library."
msgstr "Impossibile chiudere la libreria di supporto."

msgid "Could not configure supporting library."
msgstr "Impossibile configurare la libreria di supporto."

msgid "Encoding error."
msgstr "Errore nel codificare."

msgid "GStreamer encountered a general resource error."
msgstr "GStreamer ha incontrato un errore generico di risorse."

msgid "Resource not found."
msgstr "Risorsa non trovata."

msgid "Resource busy or not available."
msgstr "Risorsa occupata o non disponibile."

msgid "Could not open resource for reading."
msgstr "Impossibile aprire la risorsa in lettura."

msgid "Could not open resource for writing."
msgstr "Impossibile aprire la risorsa in scrittura."

msgid "Could not open resource for reading and writing."
msgstr "Impossibile aprire la risorsa in lettura e scrittura."

msgid "Could not close resource."
msgstr "Impossibile chiudere la risorsa."

msgid "Could not read from resource."
msgstr "Impossibile leggere dalla risorsa."

msgid "Could not write to resource."
msgstr "Impossibile scrivere sulla risorsa."

msgid "Could not perform seek on resource."
msgstr "Impossibile effettuare un posizionamento sulla risorsa."

msgid "Could not synchronize on resource."
msgstr "Impossibile sincronizzarsi sulla risorsa."

msgid "Could not get/set settings from/on resource."
msgstr "Impossibile ottenere/regolare le impostazioni della risorsa."

msgid "No space left on the resource."
msgstr "Niente spazio sulla risorsa."

msgid "GStreamer encountered a general stream error."
msgstr "GStreamer ha incontrato un errore generico di stream."

msgid "Element doesn't implement handling of this stream. Please file a bug."
msgstr ""
"L'elemento non implementa la gestione di questo stream. Se possibile "
"segnalare il bug."

msgid "Could not determine type of stream."
msgstr "Impossibile determinare il tipo di stream."

msgid "The stream is of a different type than handled by this element."
msgstr ""
"Lo stream è di un tipo differente da quello gestito da questo elemento."

msgid "There is no codec present that can handle the stream's type."
msgstr "Non è presente alcun codec che possa gestire questo tipo di stream."

msgid "Could not decode stream."
msgstr "Impossibile decodificare lo stream."

msgid "Could not encode stream."
msgstr "Impossibile fare l'encoding dello stream."

msgid "Could not demultiplex stream."
msgstr "Impossibile de-multiplare lo stream."

msgid "Could not multiplex stream."
msgstr "Impossibile multiplare lo stream."

msgid "The stream is in the wrong format."
msgstr "Lo stream è nel formato errato."

msgid "The stream is encrypted and decryption is not supported."
msgstr "Questo stream è cifrato e non è supportata la decodifica."

msgid ""
"The stream is encrypted and can't be decrypted because no suitable key has "
"been supplied."
msgstr ""
"Questo stream è cifrato e non può essere decodificato perché non è stata "
"fornita alcuna chiave adatta."

#, c-format
msgid "No error message for domain %s."
msgstr "Nessun messaggio d'errore per il dominio %s."

#, c-format
msgid "No standard error message for domain %s and code %d."
msgstr "Nessun messaggio d'errore standard per il dominio %s e il codice %d."

msgid "Selected clock cannot be used in pipeline."
msgstr "Il clock selezionato non può essere usato nella pipeline."

# questo e i successivi sono nome + descrizione delle proprietà
# dei tag ID3 (o simili); le descrizioni per omogeneità iniziano
# tutte con la lettera minuscola
msgid "title"
msgstr "titolo"

msgid "commonly used title"
msgstr "il titolo usato comunemente"

msgid "title sortname"
msgstr "nome ordinamento titolo"

msgid "commonly used title for sorting purposes"
msgstr "il titolo usato comunemente a scopo di ordinamento"

msgid "artist"
msgstr "artista"

msgid "person(s) responsible for the recording"
msgstr "la o le persone responsabili della registrazione"

msgid "artist sortname"
msgstr "nome ordinamento artista"

msgid "person(s) responsible for the recording for sorting purposes"
msgstr ""
"la o le persone responsabili della registrazione a scopo di ordinamento"

msgid "album"
msgstr "album"

msgid "album containing this data"
msgstr "l'album che contiene questi dati"

msgid "album sortname"
msgstr "nome ordinamento album"

msgid "album containing this data for sorting purposes"
msgstr "l'album che contiene questi dati a scopo di ordinamento"

msgid "album artist"
msgstr "artista album"

msgid "The artist of the entire album, as it should be displayed"
msgstr "l'artista dell'intero album, così come dovrebbe essere mostrato"

msgid "album artist sortname"
msgstr "nome ordinamento artista album"

msgid "The artist of the entire album, as it should be sorted"
msgstr "l'artista dell'intero album, così come dovrebbe essere ordinato"

msgid "date"
msgstr "data"

msgid "date the data was created (as a GDate structure)"
msgstr "la data in cui i dati sono stati creati (come struttura GDate)"

msgid "datetime"
msgstr "data/ora"

msgid "date and time the data was created (as a GstDateTime structure)"
msgstr ""
"la data e l'ora in cui i dati sono stati creati (come struttura GstDateTime)"

msgid "genre"
msgstr "genere"

msgid "genre this data belongs to"
msgstr "il genere a cui appartengono questi dati"

msgid "comment"
msgstr "commento"

msgid "free text commenting the data"
msgstr "del testo libero a commento dei dati"

msgid "extended comment"
msgstr "commento esteso"

msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr ""
"del testo libero a commento dei dati nella forma chiave=valore o chiave[it]"
"=commento"

msgid "track number"
msgstr "numero di traccia"

msgid "track number inside a collection"
msgstr "il numero della traccia all'interno di una collezione"

msgid "track count"
msgstr "totale tracce"

msgid "count of tracks inside collection this track belongs to"
msgstr ""
"il totale delle tracce all'interno della collezione a cui questa traccia "
"appartiene"

msgid "disc number"
msgstr "numero del disco"

msgid "disc number inside a collection"
msgstr "il numero del disco all'interno di una collezione"

msgid "disc count"
msgstr "totale dischi"

msgid "count of discs inside collection this disc belongs to"
msgstr ""
"il totale dei dischi all'interno della collezione a cui questo disco "
"appartiene"

msgid "location"
msgstr "posizione"

msgid ""
"Origin of media as a URI (location, where the original of the file or stream "
"is hosted)"
msgstr ""
"l'origine del contenuto multimediale come URI (posizione in cui il file o "
"stream originale è ospitato)"

msgid "homepage"
msgstr "sito web"

msgid "Homepage for this media (i.e. artist or movie homepage)"
msgstr ""
"sito web per questo contenuto multimediale (cioè il sito web dell'artista o "
"del film)"

msgid "description"
msgstr "descrizione"

msgid "short text describing the content of the data"
msgstr "un breve testo che descrive il contenuto dei dati"

msgid "version"
msgstr "versione"

msgid "version of this data"
msgstr "la versione di questi dati"

msgid "ISRC"
msgstr "ISRC"

msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
msgstr ""
"International Standard Recording Code - consultare http://www.ifpi.org/isrc"

msgid "organization"
msgstr "organizzazione"

msgid "copyright"
msgstr "copyright"

msgid "copyright notice of the data"
msgstr "l'avviso sul copyright dei dati"

msgid "copyright uri"
msgstr "uri copyright"

msgid "URI to the copyright notice of the data"
msgstr "l'URI all'avviso sul copyright dei dati"

#, fuzzy
msgid "encoded by"
msgstr "encoder"

msgid "name of the encoding person or organization"
msgstr ""

msgid "contact"
msgstr "contatto"

msgid "contact information"
msgstr "le informazioni sul contatto"

msgid "license"
msgstr "licenza"

msgid "license of data"
msgstr "la licenza dei dati"

msgid "license uri"
msgstr "uri licenza"

msgid "URI to the license of the data"
msgstr "l'URI alla licenza dei dati"

msgid "performer"
msgstr "interprete"

msgid "person(s) performing"
msgstr "la o le persone che hanno interpretato"

msgid "composer"
msgstr "compositore"

msgid "person(s) who composed the recording"
msgstr "la o le persone che hanno composto della registrazione"

msgid "duration"
msgstr "durata"

msgid "length in GStreamer time units (nanoseconds)"
msgstr "la lunghezza in unità di tempo di GStreamer (nanosecondi)"

msgid "codec"
msgstr "codec"

msgid "codec the data is stored in"
msgstr "il codec con cui di dati sono memorizzati"

msgid "video codec"
msgstr "codec video"

msgid "codec the video data is stored in"
msgstr "il codec con cui i dati video sono memorizzati"

msgid "audio codec"
msgstr "codec audio"

msgid "codec the audio data is stored in"
msgstr "il codec con cui i dati audio sono memorizzati"

msgid "subtitle codec"
msgstr "codec sottotitoli"

msgid "codec the subtitle data is stored in"
msgstr "il codec con cui i dati dei sottotitoli sono memorizzati"

msgid "container format"
msgstr "formato contenitore"

msgid "container format the data is stored in"
msgstr "il formato contenitore con cui i dati sono memorizzati"

msgid "bitrate"
msgstr "bitrate"

msgid "exact or average bitrate in bits/s"
msgstr "il bitrate esatto o medio in bit/s"

msgid "nominal bitrate"
msgstr "bitrate nominale"

msgid "nominal bitrate in bits/s"
msgstr "il bitrate nominale in bit/s"

msgid "minimum bitrate"
msgstr "bitrate minimo"

msgid "minimum bitrate in bits/s"
msgstr "il bitrate minimo in bit/s"

msgid "maximum bitrate"
msgstr "bitrate massimo"

msgid "maximum bitrate in bits/s"
msgstr "il bitrate massimo in bit/s"

msgid "encoder"
msgstr "encoder"

msgid "encoder used to encode this stream"
msgstr "l'encoder usato per codificare questo stream"

msgid "encoder version"
msgstr "versione encoder"

msgid "version of the encoder used to encode this stream"
msgstr "la versione dell'encoder usato per codificare questo stream"

msgid "serial"
msgstr "seriale"

msgid "serial number of track"
msgstr "il numero seriale della traccia"

msgid "replaygain track gain"
msgstr "guadagno traccia replaygain"

msgid "track gain in db"
msgstr "il guadagno della traccia in dB"

msgid "replaygain track peak"
msgstr "picco traccia replaygain"

msgid "peak of the track"
msgstr "il picco della traccia"

msgid "replaygain album gain"
msgstr "guadagno album replaygain"

msgid "album gain in db"
msgstr "il guadagno dell'album in dB"

msgid "replaygain album peak"
msgstr "picco album replaygain"

msgid "peak of the album"
msgstr "il picco dell'album"

msgid "replaygain reference level"
msgstr "livello riferimento replaygain"

msgid "reference level of track and album gain values"
msgstr ""
"il livello di riferimento dei valori di guadagno della traccia e dell'album"

msgid "language code"
msgstr "codice lingua"

#, fuzzy
msgid "language code for this stream, conforming to ISO-639-1 or ISO-639-2"
msgstr "il codice della lingua per questo stream, conforme a ISO-639-1"

#, fuzzy
msgid "language name"
msgstr "codice lingua"

msgid "freeform name of the language this stream is in"
msgstr ""

msgid "image"
msgstr "immagine"

msgid "image related to this stream"
msgstr "l'immagine relazionata a questo stream"

#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
msgid "preview image"
msgstr "immagine anteprima"

msgid "preview image related to this stream"
msgstr "l'immagine di anteprima relazionata a questo stream"

msgid "attachment"
msgstr "allegato"

msgid "file attached to this stream"
msgstr "il file allegato a questo stream"

# cfr http://it.wikipedia.org/wiki/Battiti_per_minuto
msgid "beats per minute"
msgstr "battiti per minuto"

msgid "number of beats per minute in audio"
msgstr "il numero di battiti al minuto nell'audio"

msgid "keywords"
msgstr "parole chiave"

msgid "comma separated keywords describing the content"
msgstr "le parole chiave separate da virgole che descrivono il contesto"

msgid "geo location name"
msgstr "nome località geog."

msgid ""
"human readable descriptive location of where the media has been recorded or "
"produced"
msgstr ""
"la descrizione comprensibile della località in cui il contenuto multimediale "
"è stato registrato o prodotto"

msgid "geo location latitude"
msgstr "latitudine località geog."

# http://it.wikipedia.org/wiki/WGS84
# World Geodetic System 1984
msgid ""
"geo latitude location of where the media has been recorded or produced in "
"degrees according to WGS84 (zero at the equator, negative values for "
"southern latitudes)"
msgstr ""
"la latitudine geografica della località in cui il contenuto multimediale è "
"stato registrato o prodotto, espresso in gradi secondo lo standard WGS84 "
"(zero all'equatore, valori negativi per le latitudini a sud)"

msgid "geo location longitude"
msgstr "longitudine località geog."

msgid ""
"geo longitude location of where the media has been recorded or produced in "
"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
"negative values for western longitudes)"
msgstr ""
"la longitudine geografica della località in cui il contenuto multimediale è "
"stato registrato o prodotto, in gradi secondo lo standard WGS84 (zero al "
"primo meridiano su Greenwich/UK, valori negativi per le longitudini a ovest)"

msgid "geo location elevation"
msgstr "elevazione località geog."

msgid ""
"geo elevation of where the media has been recorded or produced in meters "
"according to WGS84 (zero is average sea level)"
msgstr ""
"l'elevazione geografica della località in cui il contenuto multimediale è "
"stato registrato o prodotto, in metri secondo lo standard WGS84 (zero è il "
"livello medio del mare)"

msgid "geo location country"
msgstr "nazione località geog."

msgid "country (english name) where the media has been recorded or produced"
msgstr ""
"nazione (nome inglese) in cui il contenuto multimediale è stato registrato o "
"prodotto"

msgid "geo location city"
msgstr "città località geog."

msgid "city (english name) where the media has been recorded or produced"
msgstr ""
"città (nome inglese) in cui il contenuto multimediale è stato registrato o "
"prodotto"

msgid "geo location sublocation"
msgstr "sub-località località geog."

#, fuzzy
msgid ""
"a location within a city where the media has been produced or created (e.g. "
"the neighborhood)"
msgstr ""
"una località all'interno di una città in cui il contenuto multimediale è "
"stato registrato o prodotto (p.e. il quartiere)"

msgid "geo location horizontal error"
msgstr "errore orizzontale località geog."

msgid "expected error of the horizontal positioning measures (in meters)"
msgstr "errore atteso delle misure di posizionamento orizzontale (in metri)"

msgid "geo location movement speed"
msgstr "velocità movimento località geog."

msgid ""
"movement speed of the capturing device while performing the capture in m/s"
msgstr ""
"la velocità di movimento del dispositivo di acquisizione durante "
"l'acquisizione stessa in m/s"

msgid "geo location movement direction"
msgstr "direzione movimento località geog."

msgid ""
"indicates the movement direction of the device performing the capture of a "
"media. It is represented as degrees in floating point representation, 0 "
"means the geographic north, and increases clockwise"
msgstr ""
"indica la direzione di movimento del dispositivo nell'eseguire "
"l'acquisizione di un contenuto multimediale; è rappresentato come gradi in "
"notazione floating point, con 0 che indica il nord geografico e incrementi "
"in sento orario"

msgid "geo location capture direction"
msgstr "direzione di acquisizione località geog."

msgid ""
"indicates the direction the device is pointing to when capturing  a media. "
"It is represented as degrees in floating point  representation, 0 means the "
"geographic north, and increases clockwise"
msgstr ""
"indica la direzione del dispositivo nell'eseguire l'acquisizione di un "
"contenuto multimediale; è rappresentato come gradi in notazione floating "
"point, con 0 che indica il nord geografico e incrementi in sento orario"

#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
msgid "show name"
msgstr "nome dello show"

msgid "Name of the tv/podcast/series show the media is from"
msgstr ""
"il nome dello show tv/podcast/serie da cui proviene il contenuto multimediale"

#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
msgid "show sortname"
msgstr "nome ordinamento dello show"

msgid ""
"Name of the tv/podcast/series show the media is from, for sorting purposes"
msgstr ""
"il nome dello show tv/podcast/serie da cui proviene il contenuto "
"multimediale, a scopo di ordinamento"

msgid "episode number"
msgstr "numero di episodio"

msgid "The episode number in the season the media is part of"
msgstr ""
"il numero di episodio nella stagione di cui fa parte il contenuto "
"multimediale"

msgid "season number"
msgstr "numero di stagione"

msgid "The season number of the show the media is part of"
msgstr ""
"il numero di stagione dello show di cui fa parte il contenuto multimediale"

msgid "lyrics"
msgstr "testo"

msgid "The lyrics of the media, commonly used for songs"
msgstr "il testo del contenuto multimediale, tipicamente usato per le canzoni"

msgid "composer sortname"
msgstr "nome ordinamento compositore"

msgid "person(s) who composed the recording, for sorting purposes"
msgstr ""
"la o le persone che hanno composto la registrazione, a scopo di ordinamento"

msgid "grouping"
msgstr "raggruppamento"

msgid ""
"Groups related media that spans multiple tracks, like the different pieces "
"of a concerto. It is a higher level than a track, but lower than an album"
msgstr ""
"raggruppa elementi multimediali correlati che si dividono su diverse tracce, "
"come le diverse parti di un concerto; è un livello superiore rispetto alla "
"traccia, ma inferiore rispetto all'album"

msgid "user rating"
msgstr "giudizio utente"

msgid ""
"Rating attributed by a user. The higher the rank, the more the user likes "
"this media"
msgstr ""
"giudizio attribuito da un utente; maggiore è il livello, più all'utente "
"piace questo contenuto multimediale"

msgid "device manufacturer"
msgstr "produttore dispositivo"

msgid "Manufacturer of the device used to create this media"
msgstr ""
"il produttore del dispositivo usato per creare questo contenuto multimediale"

msgid "device model"
msgstr "modello dispositivo"

msgid "Model of the device used to create this media"
msgstr ""
"il modello del dispositivo usato per creare questo contenuto multimediale"

msgid "application name"
msgstr "nome applicazione"

msgid "Application used to create the media"
msgstr "l'applicazione usata per creare il contenuto multimediale"

msgid "application data"
msgstr "dati applicazione"

msgid "Arbitrary application data to be serialized into the media"
msgstr ""
"i dati arbitrari dell'applicazione da serializzare all'interno del contenuto "
"multimediale"

msgid "image orientation"
msgstr "orientamento immagine"

msgid "How the image should be rotated or flipped before display"
msgstr "come ruotare o capovolgere l'immagine prima di mostrarla"

msgid ", "
msgstr ", "

#, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "ERRORE: dall'elemento %s: %s\n"

#, c-format
msgid ""
"Additional debug info:\n"
"%s\n"
msgstr ""
"Informazioni di debug aggiuntive:\n"
"%s\n"

#, c-format
msgid "specified empty bin \"%s\", not allowed"
msgstr "specificato il bin vuoto «%s», non consentito"

#, c-format
msgid "no bin \"%s\", skipping"
msgstr "nessun bin «%s», omesso"

#, c-format
msgid "no property \"%s\" in element \"%s\""
msgstr "nessuna proprietà «%s» nell'elemento «%s»"

#, c-format
msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
msgstr "impossibile impostare la proprietà «%s» nell'elemento «%s» a «%s»"

#, c-format
msgid "could not link %s to %s"
msgstr "impossibile collegare %s a %s"

#, c-format
msgid "no element \"%s\""
msgstr "nessun elemento «%s»"

#, c-format
msgid "could not parse caps \"%s\""
msgstr "impossibile analizzare i caps «%s»"

msgid "link without source element"
msgstr "collegamento senza elemento sorgente"

msgid "link without sink element"
msgstr "collegamento senza elemento sink"

#, c-format
msgid "no source element for URI \"%s\""
msgstr "elemento sorgente mancante per l'URI «%s»"

#, c-format
msgid "no element to link URI \"%s\" to"
msgstr "elemento mancante per collegare l'URI «%s» a"

#, c-format
msgid "no sink element for URI \"%s\""
msgstr "elemento sink mancante per l'URI «%s»"

#, c-format
msgid "could not link sink element for URI \"%s\""
msgstr "impossibile collegare l'elemento sink per l'URI «%s»"

msgid "empty pipeline not allowed"
msgstr "pipeline vuota non consentito"

msgid "Internal clock error."
msgstr "Errore interno di clock."

msgid "Failed to map buffer."
msgstr ""

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

msgid "A lot of buffers are being dropped."
msgstr "Stanno per essere scartati molti buffer."

msgid "Internal data flow problem."
msgstr "Problema interno nel flusso di dati."

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

msgid "Filter caps"
msgstr "Caps di filtro"

# * sul perché lasciato capabilities, vedi intro
# * possible allowed --> ammesse (e basta)
# * ANY tradotto,  ma non so se è parola chiave, dovrei controllare.
#
#   --Luca
msgid ""
"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
"property takes a reference to the supplied GstCaps object."
msgstr ""
"Pone limitazioni sulle capabilities ammesse (NULL significa QUALSIASI). "
"Impostando questa proprietà si prende un riferimento all'oggetto GstCaps "
"fornito."

msgid "No file name specified for writing."
msgstr "Nessun nome di file specificato per la scrittura."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Impossibile aprire il file «%s» in scrittura."

#, c-format
msgid "Error closing file \"%s\"."
msgstr "Errore nel chiudere il file «%s»."

#, c-format
msgid "Error while seeking in file \"%s\"."
msgstr "Errore durante il posizionamento sul file «%s»."

#, c-format
msgid "Error while writing to file \"%s\"."
msgstr "Errore durante la scrittura sul file «%s»."

msgid "No file name specified for reading."
msgstr "Nessun nome di file specificato per la lettura."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Impossibile aprire il file «%s» in lettura."

#, c-format
msgid "Could not get info on \"%s\"."
msgstr "Impossibile ottenere informazioni su «%s»."

#, c-format
msgid "\"%s\" is a directory."
msgstr "«%s» è una directory."

#, c-format
msgid "File \"%s\" is a socket."
msgstr "Il file «%s» è un socket."

msgid "Failed after iterations as requested."
msgstr "Fallito dopo le iterazioni come richiesto."

msgid "No Temp directory specified."
msgstr "Nessuna directory temporanea specificata."

#, c-format
msgid "Could not create temp file \"%s\"."
msgstr "Impossibile creare il file temporaneo «%s»."

msgid "Error while writing to download file."
msgstr "Errore durante la scritta sul file di scaricamento."

msgid "caps"
msgstr "caps"

msgid "detected capabilities in stream"
msgstr "rilevate capabilites nello stream"

msgid "minimum"
msgstr "minimo"

msgid "force caps"
msgstr "forza i caps"

msgid "force caps without doing a typefind"
msgstr "forza i caps senza eseguire un typefind"

msgid "Stream contains no data."
msgstr "Lo stream non contiene dati."

msgid "Implemented Interfaces:\n"
msgstr "Interfacce implementate:\n"

msgid "readable"
msgstr "leggibile"

msgid "writable"
msgstr "scrivibile"

msgid "controllable"
msgstr "controllabile"

msgid "changeable in NULL, READY, PAUSED or PLAYING state"
msgstr "può passare allo stato  NULL, READY, PAUSED o PLAYING"

msgid "changeable only in NULL, READY or PAUSED state"
msgstr "può passare solo allo stato  NULL, READY o PAUSED"

msgid "changeable only in NULL or READY state"
msgstr "può passare solo allo stato  NULL o READY"

msgid "Blacklisted files:"
msgstr "File nella blacklist:"

# Esempio:
#    Total count: 23 plugins, 34 feature
msgid "Total count: "
msgstr "In totale: "

#, c-format
msgid "%d blacklisted file"
msgid_plural "%d blacklisted files"
msgstr[0] "%d file nella blacklist"
msgstr[1] "%d file nella blacklist"

#, c-format
msgid "%d plugin"
msgid_plural "%d plugins"
msgstr[0] "%d plugin"
msgstr[1] "%d plugin"

#, c-format
msgid "%d blacklist entry"
msgid_plural "%d blacklist entries"
msgstr[0] "%d voce nella blacklist"
msgstr[1] "%d voci nella blacklist"

#, c-format
msgid "%d feature"
msgid_plural "%d features"
msgstr[0] "%d funzionalità"
msgstr[1] "%d funzionalità"

# -a, --print-all
msgid "Print all elements"
msgstr "Stampa tutti gli elementi"

# -b, --print-blacklist
msgid "Print list of blacklisted files"
msgstr "Stampa l'elenco dei file nella blacklist"

# --print-plugin-auto-install-info
msgid ""
"Print a machine-parsable list of features the specified plugin or all "
"plugins provide.\n"
"                                       Useful in connection with external "
"automatic plugin installation mechanisms"
msgstr ""
"Stampa un elenco machine-parsable di funzionalità fornite dal plugin "
"specificato o da tutti i plugin.\n"
"                                       Utile nelle connessioni con "
"meccanismi esterni di installazione automatica dei plugin."

# Esempio:
# $ gst-inspect-0.10 --plugin
# video4linux:  v4lsrc: Video (video4linux/raw) Source
# queue2:  queue2: Queue
# gio:  giostreamsrc: GIO stream source
# gio:  giostreamsink: GIO stream sink
# gio:  giosrc: GIO source
# gio:  giosink: GIO sink
# volume:  volume: Volume
msgid "List the plugin contents"
msgstr "Elenca il contenuto dei plugin"

msgid "Check if the specified element or plugin exists"
msgstr ""

msgid ""
"When checking if an element or plugin exists, also check that its version is "
"at least the version specified"
msgstr ""

# -u, --uri-handlers
msgid "Print supported URI schemes, with the elements that implement them"
msgstr "Stampa gli schemi URI supportati, con gli elementi che li implementano"

#, c-format
msgid "Could not load plugin file: %s\n"
msgstr "Impossibile caricare il file di plugin: %s\n"

#, c-format
msgid "No such element or plugin '%s'\n"
msgstr "Elemento o plugin «%s» inesistente\n"

msgid "Index statistics"
msgstr ""

#, c-format
msgid "Got message #%u from element \"%s\" (%s): "
msgstr "Ottenuto messaggio #%u dall'elemento \"%s\" (%s): "

#, c-format
msgid "Got message #%u from pad \"%s:%s\" (%s): "
msgstr "Ottenuto messaggio #%u dal pad \"%s:%s\" (%s): "

#, c-format
msgid "Got message #%u from object \"%s\" (%s): "
msgstr "Ottenuto messaggio #%u dall'oggetto \"%s\" (%s): "

#, c-format
msgid "Got message #%u (%s): "
msgstr "Ottenuto messaggio #%u (%s): "

#, c-format
msgid "Got EOS from element \"%s\".\n"
msgstr "Ottenuto EOS dall'elemento «%s».\n"

#, c-format
msgid "FOUND TAG      : found by element \"%s\".\n"
msgstr "TAG TROVATO    : trovato dall'elemento \"%s\".\n"

#, c-format
msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
msgstr "TAG TROVATO    : trovato dal pad \"%s:%s\".\n"

#, c-format
msgid "FOUND TAG      : found by object \"%s\".\n"
msgstr "TAG TROVATO    : trovato dall'oggetto \"%s\".\n"

msgid "FOUND TAG\n"
msgstr "TAG TROVATO\n"

#, fuzzy, c-format
msgid "FOUND TOC      : found by element \"%s\".\n"
msgstr "TAG TROVATO    : trovato dall'elemento \"%s\".\n"

#, fuzzy, c-format
msgid "FOUND TOC      : found by object \"%s\".\n"
msgstr "TAG TROVATO    : trovato dall'oggetto \"%s\".\n"

#, fuzzy
msgid "FOUND TOC\n"
msgstr "TAG TROVATO\n"

#, c-format
msgid ""
"INFO:\n"
"%s\n"
msgstr ""
"INFORMAZIONE:\n"
"%s\n"

#, c-format
msgid "WARNING: from element %s: %s\n"
msgstr "ATTENZIONE: dall'elemento %s: %s\n"

msgid "Prerolled, waiting for buffering to finish...\n"
msgstr "Preroll eseguito, in attesa del riempimento buffer per completare...\n"

msgid "buffering..."
msgstr "riempimento buffer..."

msgid "Done buffering, setting pipeline to PLAYING ...\n"
msgstr ""
"Riempimento buffer completato, impostazione della pipeline a PLAYING ...\n"

msgid "Buffering, setting pipeline to PAUSED ...\n"
msgstr "Riempimento buffer, impostazione della pipeline a PAUSED ...\n"

msgid "Redistribute latency...\n"
msgstr "Ridistribuzione latenza...\n"

#, c-format
msgid "Setting state to %s as requested by %s...\n"
msgstr "Impostazione dello stato a %s come richiesto da %s...\n"

msgid "Interrupt: Stopping pipeline ...\n"
msgstr "Interrotto: arresto della pipeline ...\n"

#, fuzzy, c-format
msgid "Missing element: %s\n"
msgstr "nessun elemento «%s»"

# -t, --tags
msgid "Output tags (also known as metadata)"
msgstr "Stampa i tag (anche noti come metadati)"

msgid "Output TOC (chapters and editions)"
msgstr ""

# -v, --verbose
msgid "Output status information and property notifications"
msgstr "Stampa informazioni di stato e notifiche delle proprietà"

# -q, --quiet
msgid "Do not print any progress information"
msgstr "Non stampa alcuna informazione di avanzamento"

# -m, --messages
msgid "Output messages"
msgstr "Stampa i messaggi"

# -X, --exclude=TIPO1,TIPO2,...
msgid "Do not output status information of TYPE"
msgstr "Non stampa le informazioni di stato per TIPO"

msgid "TYPE1,TYPE2,..."
msgstr "TIPO1,TIPO2,..."

# -f, --no-fault
msgid "Do not install a fault handler"
msgstr "Non installa un gestore di fault"

# -e, --eos-on-shutdown
msgid "Force EOS on sources before shutting the pipeline down"
msgstr "Forza EOS sulle sorgenti prima di arrestare la pipeline"

msgid "Gather and print index statistics"
msgstr ""

#, c-format
msgid "ERROR: pipeline could not be constructed: %s.\n"
msgstr "ERRORE: impossibile costruire la pipeline: %s.\n"

msgid "ERROR: pipeline could not be constructed.\n"
msgstr "ERRORE: impossibile costruire la pipeline.\n"

#, c-format
msgid "WARNING: erroneous pipeline: %s\n"
msgstr "ATTENZIONE: pipeline errata: %s.\n"

msgid "ERROR: the 'pipeline' element wasn't found.\n"
msgstr "ERRORE: l'elemento «pipeline» non è stato trovato.\n"

msgid "Setting pipeline to PAUSED ...\n"
msgstr "Impostazione della pipeline a PAUSED ...\n"

msgid "ERROR: Pipeline doesn't want to pause.\n"
msgstr "ERRORE: la pipeline non vuole mettersi in pausa.\n"

# Sinks are special elements in GStreamer. This is because sink elements have to take care of preroll, which is the process that takes care that elements going into the GST_STATE_PAUSED state will have buffers ready after the state change. The result of this is that such elements can start processing data immediately after going into the GST_STATE_PLAYING state, without requiring to take some time to initialize outputs or set up decoders; all that is done already before the state-change to GST_STATE_PAUSED  successfully completes.
#
# Preroll, however, is a complex process that would require the same code in many elements. Therefore, sink elements can derive from the GstBaseSink base-class, which does preroll and a few other utility functions automatically. The derived class only needs to implement a bunch of virtual functions and will work automatically.
msgid "Pipeline is live and does not need PREROLL ...\n"
msgstr "La pipeline è viva e non necessita il PREROLL ...\n"

msgid "Pipeline is PREROLLING ...\n"
msgstr "La pipeline è in PREROLLING ...\n"

msgid "ERROR: pipeline doesn't want to preroll.\n"
msgstr "ERRORE: la pipeline non vuole fare il preroll.\n"

msgid "Pipeline is PREROLLED ...\n"
msgstr "La pipeline è in PREROLLED ...\n"

msgid "Setting pipeline to PLAYING ...\n"
msgstr "Impostazione della pipeline a PLAYING ...\n"

msgid "ERROR: pipeline doesn't want to play.\n"
msgstr "ERRORE: la pipeline non vuole riprodurre.\n"

msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr "EOS all'arresto abilitato -- Forzato EOS sulla pipeline\n"

#, fuzzy
msgid "EOS on shutdown enabled -- waiting for EOS after Error\n"
msgstr "EOS all'arresto abilitato -- Forzato EOS sulla pipeline\n"

msgid "Waiting for EOS...\n"
msgstr "In attesa di EOS...\n"

msgid "EOS received - stopping pipeline...\n"
msgstr "Ricevuto EOS - arresto della pipeline...\n"

#, fuzzy
msgid "Interrupt while waiting for EOS - stopping pipeline...\n"
msgstr "Interrotto: arresto della pipeline ...\n"

msgid "An error happened while waiting for EOS\n"
msgstr "Si è verificato un errore durante l'attesa di EOS\n"

# secondo me quel % è un errore... magari dovrebbe
# essere %d o %s, a meno che non costruscano il messagio
# in qualche modo esoterico...
msgid "Execution ended after %"
msgstr "Esecuzione terminata dopo %"

msgid "Setting pipeline to READY ...\n"
msgstr "Impostazione della pipeline a READY ...\n"

msgid "Setting pipeline to NULL ...\n"
msgstr "Impostazione della pipeline a NULL ...\n"

msgid "Freeing pipeline ...\n"
msgstr "Esecuzione di free sulla pipeline...\n"

# -T, --trace
#~ msgid "Print alloc trace (if enabled at compile time)"
#~ msgstr "Stampa traccia di alloc (se abilitato in compilazione)"

#~ msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
#~ msgstr "Uso: gst-xmllaunch <FILE.XML> [ ELEMENTO.PROPRIETA=VALORE ... ]\n"

#~ msgid "ERROR: parse of xml file '%s' failed.\n"
#~ msgstr "ERRORE: analisi del file xml «%s» non riuscita.\n"

#~ msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
#~ msgstr "ERRORE: nessun elemento pipeline toplevel nel file «%s».\n"

#~ msgid "WARNING: only one toplevel element is supported at this time.\n"
#~ msgstr "ATTENZIONE: al momento è supportato sono un elemento toplevel.\n"

#~ msgid "ERROR: could not parse command line argument %d: %s.\n"
#~ msgstr ""
#~ "ERRORE: impossibile analizzare l'argomento %d della riga di comando: %s.\n"

#~ msgid "WARNING: element named '%s' not found.\n"
#~ msgstr "ATTENZIONE: elemento con nome «%s» non trovato.\n"

# -o, --output=FILE
#~ msgid "Save xml representation of pipeline to FILE and exit"
#~ msgstr "Salva su FILE una rappresentazione xml della pipeline ed esce"

#~ msgid "FILE"
#~ msgstr "FILE"

#~ msgid "Do not install signal handlers for SIGUSR1 and SIGUSR2"
#~ msgstr "Non installa i gestori di segnale per SIGUSR1 e SIGUSR2"

#~ msgid "Error writing registry cache to %s: %s"
#~ msgstr "Errore nello scrivere la cache di registro su %s: %s"

#~ msgid "Error re-scanning registry %s: %s"
#~ msgstr "Errore nel ri-scansionare il registro %s: %s"

#~ msgid "Error re-scanning registry %s"
#~ msgstr "Errore nel ri-scansionare il registro %s"
