# 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.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-12-26 17:53+0100\n"
"PO-Revision-Date: 2011-04-28 09:25+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\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 périphérique CD pour la lecture."

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 titre %d du DVD"

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

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Impossible d'ouvrir le titre %d du DVD. 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 ne soit installée."

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

#, fuzzy
msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"La configuration du codeur TwoLAME a échoué. Vérifiez vos paramètres de "
"codage."

#, 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 binaire demandé de %d kbit/s pour la propriété « %s » n'est pas "
"autorisé. Le débit binaire a été défini à %d kbits/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"La configuration du codeur TwoLAME a échoué. Vérifiez vos paramètres de "
"codage."

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

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

#, fuzzy
#~ msgid ""
#~ "Failed to configure LAMEMP3ENC encoder. Check your encoding parameters."
#~ msgstr ""
#~ "La configuration du codeur LAME a échoué. Vérifiez vos paramètres de "
#~ "codage."
