# 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: 2017-07-14 13:33+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 "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."

#, 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 channel configuration file"
msgstr ""

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

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

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

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Apertura del device DVD «%s» non riuscita."

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

msgid "Channel configuration file doesn't contain any channels"
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 "No file name specified for writing."
#~ msgstr "Nessun nome di file specificato per la scrittura."

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

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