# Italian translation for gst-plugins-bad package of GStreamer project.
# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 GStreamer core team
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Luca Ferretti <elle.uca@infinito.it>, 2007, 2008, 2009.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2009-08-14 00:12+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 "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "Impossibile leggere le informazioni del titolo per il DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Apertura del device DVD «%s» non riuscita."

msgid "Failed to set PGC based seeking."
msgstr "Impostazione del posizionamento basato su PGC non riuscita"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""

#, fuzzy
msgid "Could not read DVD."
msgstr "Impossibile leggere le informazioni del titolo per il DVD."

msgid "This file contains no playable streams."
msgstr ""

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "Impossibile aprire il file «%s» in lettura."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Impossibile aprire il file «%s» in lettura."

#, fuzzy
msgid "Could not start sndio"
msgstr "Impossibile leggere le informazioni del titolo per il DVD."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

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

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Digitalzoom element couldn't be created"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

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

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

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

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

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Il device «%s» non esiste."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Impossibile aprire il device frontend «%s»."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Impossibile ottenere le impostazioni dal device frontend «%s»."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Impossibile ottenere le impostazioni dal device frontend «%s»."

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

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""

#, c-format
msgid "No properties for the DVB channel %s"
msgstr ""

#, c-format
msgid "Failed to set properties for the DVB channel %s"
msgstr ""

#, c-format
msgid "Couldn't find DVB channel configuration file: %s"
msgstr ""

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

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

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Impossibile scrivere sul file «%s»."

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

#~ msgid "Internal clock error."
#~ msgstr "Errore interno del clock."
