# 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: 2016-11-01 17:53+0200\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 ""
"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."

#, c-format
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 "This stream contains no data."
msgstr "Ce flux ne contient aucune données."

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