# Translation of gst-plugins-bad to French
# Copyright (C) 2003-2011 GStreamer core team
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Claude Paroz <claude@2xlibre.net>, 2008-2011.
# Stéphane Aulery <lkppo@free.fr>, 2015-2016.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-02-23 15:17+0200\n"
"PO-Revision-Date: 2016-12-23 20:45+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

msgid "failed to draw pattern"
msgstr "échec du rendu de motif"

msgid "A GL error occured"
msgstr "Une erreur de rendu GL s’est produite"

msgid "format wasn't negotiated before get function"
msgstr "Format non négocié avant l'appel de la fonction get"

msgid "OpenCV failed to load template image"
msgstr "OpenCV n’a pas pu charger l’image modèle"

msgid "Could not read title information for DVD."
msgstr "Impossible de lire les informations de titre du DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Impossible d’ouvrir le périphérique du DVD « %s »."

msgid "Failed to set PGC based seeking."
msgstr "Impossible de définir la recherche basée sur PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Impossible de lire le DVD. Il se peut qu’il soit chiffré et qu’aucune "
"bibliothèque de déchiffrement DVD ne soit installée."

msgid "Could not read DVD."
msgstr "Impossible de lire le DVD."

msgid "This file contains no playable streams."
msgstr "Ce fichier ne contient aucun flux exploitable."

msgid "Could not open sndfile stream for reading."
msgstr "Impossible d’ouvrir le fichier snd en lecture."

msgid "Could not establish connection to sndio"
msgstr "Impossible de se connecter à sndio"

msgid "Failed to query sndio capabilities"
msgstr "Impossible d’interroger les capacités de sndio"

msgid "Could not configure sndio"
msgstr "Impossible de configurer sndio"

msgid "Could not start sndio"
msgstr "Impossible de démarrer sndio"

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Le fichier généré a un temps de lancement plus long que la durée du flux"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Élément « %s » manquant — Vérifiez votre installation de GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"L’emplacement du fichier est inconnu (NULL), veuillez choisir un nom de "
"fichier valide"

msgid "Digitalzoom element couldn't be created"
msgstr "L’élément Digitalzoom n’a pu être créé"

msgid "Subpicture format was not configured before data flow"
msgstr "Le format de sous-image n’était pas configuré avant le flux de données"

msgid "Failed to get fragment URL."
msgstr "Échec de la récupération de l’URL de fragment."

msgid "Couldn't download fragments"
msgstr "Impossible de télécharger les fragments"

msgid "Internal data stream error."
msgstr "Erreur interne de flux de données."

msgid "No file name specified for writing."
msgstr "Aucun nom de fichier indiqué en écriture."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Le nom de fichier indiqué « %s » ne peut pas être converti dans l’encodage "
"local au système de fichier."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Impossible d’ouvrir le fichier « %s » en écriture."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Le périphérique « %s » n’existe pas."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Impossible d’ouvrir le périphérique frontal « %s »."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Impossible d’obtenir les paramètres du périphérique frontal « %s »."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Impossible d'énumérer les systèmes d’émission du périphérique frontal « %s »."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Impossible d’ouvrir le fichier « %s » en lecture."

msgid "Couldn't find channel configuration file"
msgstr "Impossible de trouver le fichier de configuration de canal"

#, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr "Impossible de charger le fichier de configuration du canal « %s »"

#, c-format
msgid "Couldn't find details for channel '%s'"
msgstr "Impossible de trouver des informations sur le canal « %s »"

#, c-format
msgid "No properties for channel '%s'"
msgstr "Aucun réglage pour le canal « %s »"

#, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Impossible d’enregistrer le réglage du canal « %s »."

#, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr "Impossible de trouver le fichier de configuration du canal « %s »"

msgid "Channel configuration file doesn't contain any channels"
msgstr "Le fichier de configuration ne contient aucun canal"
