# Translation of gst-plugins-ugly to French
# Copyright (C) 2003-2011 GStreamer core team
# This file is distributed under the same license as the gst-plugins-ugly package.
#
# Claude Paroz <claude@2xlibre.net>, 2008-2011.
# Stéphane Aulery <lkppo@free.fr>, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2018-10-02 23:04+0100\n"
"PO-Revision-Date: 2015-12-27 01:51+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"

msgid "Could not read from CD."
msgstr "Impossible de lire le CD."

msgid "Could not open CD device for reading."
msgstr "Impossible d’ouvrir le lecteur de CD."

msgid "Disc is not an Audio CD."
msgstr "Le disque n’est pas un CD audio."

msgid "Could not open DVD"
msgstr "Impossible d’ouvrir le DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Impossible d’ouvrir le DVD intitulé %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Impossible d’aller au chapitre %d du DVD intitulé %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Impossible d’ouvrir le DVD intitulé %d. Les titres interactifs ne sont pas "
"pris en charge par cet élément"

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 que le DVD soit chiffré et qu’aucune "
"bibliothèque de déchiffrement de DVD de ne soit installée."

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

msgid "This stream contains no data."
msgstr "Ce flux ne contient aucune données."

#~ msgid ""
#~ "Failed to configure LAME mp3 audio encoder. Check your encoding "
#~ "parameters."
#~ msgstr ""
#~ "La configuration de l’encodeur audio mp3 LAME a échoué. Vérifiez vos "
#~ "paramètres d’encodage."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "Le débit de transfert demandé de %d kbit/s pour la propriété « %s » n’est "
#~ "pas autorisé. Le débit de transfert a été défini à %d kbits/s."

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "La configuration de l’encodeur TwoLAME a échoué. Vérifiez vos paramètres "
#~ "d’encodage."

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