# Translation of gst-plugins-good to French
# Copyright (C) 2003-2011 GStreamer core team
# This file is distributed under the same license as the gst-plugins-good package.
#
# Nicolas Velin <nicolas@velin.fr>, 2008.
# Claude Paroz <claude@2xlibre.net>, 2008-2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-12-18 12:05+0100\n"
"PO-Revision-Date: 2011-04-28 09:22+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 "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "Échec de décodage de l'image JPEG"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "« %s » par « %s »"

msgid "Could not connect to server"
msgstr "Impossible de se connecter au serveur"

msgid "No URL set."
msgstr "Aucun URL défini."

msgid "Server does not support seeking."
msgstr "Le serveur ne gère pas le positionnement."

msgid "Could not resolve server name."
msgstr "Impossible de résoudre le nom du serveur."

msgid "Could not establish connection to server."
msgstr "Impossible d'établir une connexion vers le serveur."

msgid "Secure connection setup failed."
msgstr "La configuration d'une connexion sécurisée a échoué."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Une erreur réseau s'est produite ou le serveur a fermé abruptement la "
"connexion."

msgid "Server sent bad data."
msgstr "Le serveur a envoyé de mauvaises données."

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

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Entrée audio absente ou non valide, le flux AVI sera corrompu."

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

msgid "This file is invalid and cannot be played."
msgstr "Ce fichier n'est pas valide et ne peut donc pas être lu."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "Ce fichier est corrompu et ne peut pas être lu."

msgid "Invalid atom size."
msgstr "Taille d'atome non valide."

msgid "This file is incomplete and cannot be played."
msgstr "Ce fichier n'est pas complet et ne peut donc pas être lu."

msgid "The video in this file might not play correctly."
msgstr ""
"Il est possible que la vidéo de ce fichier ne puisse pas être lue "
"correctement."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Ce fichier contient trop de flux. Seuls les %d premiers seront lus."

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Aucun flux pris en charge n'a été trouvé. Il faut peut-être installer un "
"greffon d'extension GStreamer RTSP pour les flux Real media."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"Aucun flux pris en charge n'a été trouvé. Il faut peut-être autoriser "
"davantage de protocoles de transport ou il manque peut-être le bon greffon "
"d'extension GStreamer RTSP."

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

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Impossible d'ouvrir le périphérique audio pour la lecture. Le périphérique "
"est utilisé par une autre application."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Impossible d'ouvrir le périphérique audio pour la lecture. Vous n'avez pas "
"les droits nécessaires pour ouvrir le périphérique."

msgid "Could not open audio device for playback."
msgstr "Impossible d'ouvrir le périphérique audio pour la lecture."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Impossible d'ouvrir le périphérique audio pour la lecture. Cette version de "
"OSS (Open Sound System) n'est pas prise en charge par cet élément."

msgid "Playback is not supported by this audio device."
msgstr "La lecture n'est pas prise en charge par ce périphérique audio."

msgid "Audio playback error."
msgstr "Erreur de lecture audio."

msgid "Recording is not supported by this audio device."
msgstr "L'enregistrement n'est pas pris en charge par ce périphérique audio."

msgid "Error recording from audio device."
msgstr "Erreur lors de l'enregistrement à partir du périphérique audio."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Impossible d'ouvrir le périphérique audio pour l'enregistrement. Vous n'avez "
"pas les droits nécessaires pour ouvrir le périphérique."

msgid "Could not open audio device for recording."
msgstr "Impossible d'ouvrir le périphérique audio pour l'enregistrement."

msgid "Record Source"
msgstr "Source d'enregistrement"

msgid "Microphone"
msgstr "Micro"

msgid "Line In"
msgstr "Entrée ligne"

msgid "Internal CD"
msgstr "CD interne"

msgid "SPDIF In"
msgstr "Entrée SPDIF"

msgid "AUX 1 In"
msgstr "Entrée AUX 1"

msgid "AUX 2 In"
msgstr "Entrée AUX 2"

#, fuzzy
msgid "Codec Loopback"
msgstr "Boucle interne"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Boucle interne"

msgid "Volume"
msgstr "Volume"

msgid "Gain"
msgstr "Gain"

msgid "Monitor"
msgstr "Moniteur"

msgid "Built-in Speaker"
msgstr "Haut-parleur interne"

msgid "Headphone"
msgstr "Écouteurs"

msgid "Line Out"
msgstr "Sortie ligne"

msgid "SPDIF Out"
msgstr "Sortie SPDIF"

msgid "AUX 1 Out"
msgstr "Sortie AUX 1"

msgid "AUX 2 Out"
msgstr "Sortie AUX 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Erreur de lecture de %d octets sur le périphérique « %s »."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Impossible de mapper les tampons du périphérique « %s »."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
"Le pilote du périphérique « %s » ne prend en charge aucune méthode "
"d'enregistrement connue."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"Le pilote du périphérique « %s » ne prend en charge aucune méthode "
"d'enregistrement connue."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Le périphérique « %s » n'est pas un périphérique d'enregistrement."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Le périphérique « %s » n'est pas un périphérique d'enregistrement."

#, fuzzy, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Impossible d'obtenir les paramètres du périphérique « %s »"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

#, fuzzy
msgid "Video device did not provide output format."
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

msgid "Video device returned invalid dimensions."
msgstr ""

#, fuzzy
msgid "Video devices uses an unsupported interlacing method."
msgstr ""
"Le pilote du périphérique « %s » ne prend en charge aucune méthode "
"d'enregistrement connue."

msgid "Video devices uses an unsupported pixel format."
msgstr ""

msgid "Failed to configure internal buffer pool."
msgstr ""

#, fuzzy
msgid "Video device did not suggest any buffer size."
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

msgid "No downstream pool to import from."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Impossible d'obtenir les paramètres du syntoniseur %d du périphérique « %s »."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Erreur de lecture de %d octets sur le périphérique « %s »."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Impossible de définir l'entrée %d du périphérique %s."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Impossible de définir l'entrée %d du périphérique %s."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Impossible d'obtenir la force du signal du périphérique « %s »."

msgid "Failed to allocated required memory."
msgstr ""

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr ""
"Le pilote du périphérique « %s » ne prend en charge aucune méthode "
"d'enregistrement connue."

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported output format"
msgstr ""
"Le périphérique d'entrée vidéo n'a pas accepté le nouveau paramètre de "
"fréquence d'image."

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "Échec de décodage de l'image JPEG"

msgid "Failed to process frame."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Erreur d'obtention des capacités pour le périphérique « %s » : ce n'est pas "
"un pilote v4l2. Vérifiez si c'est un pilote v4l1."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Impossible d'obtenir les attributs de l'entrée %d du périphérique %s"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Impossible d'obtenir les paramètres du syntoniseur %d du périphérique « %s »."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Impossible d'obtenir la norme du périphérique « %s »."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Impossible d'obtenir les attributs de contrôle du périphérique « %s »."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Impossible d'identifier le périphérique « %s »."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Ceci n'est pas un périphérique « %s »."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Impossible d'ouvrir le périphérique « %s » en lecture et écriture."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Le périphérique « %s » n'est pas un périphérique d'enregistrement."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#, fuzzy, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#, fuzzy, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Impossible d'ouvrir le périphérique « %s » en lecture et écriture."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "La définition de la norme du périphérique « %s » a échoué."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"Impossible d'obtenir la fréquence actuelle de syntonisation du périphérique "
"« %s »."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Impossible de définir la fréquence de syntonisation du périphérique « %s » à "
"%lu Hz."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Impossible d'obtenir la force du signal du périphérique « %s »."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Impossible d'obtenir la valeur du contrôle %d du périphérique « %s »."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"Impossible de définir la valeur %d du contrôle %d du périphérique « %s »."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Impossible d'obtenir l'entrée actuelle du périphérique « %s ». C'est peut-"
"être un périphérique radio"

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Impossible d'obtenir la sortie actuelle du périphérique « %s ». C'est peut-"
"être un périphérique radio"

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Impossible de définir la sortie %d du périphérique %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr ""
"La modification de résolution en cours d'exécution n'est pas encore prise en "
"charge."

msgid "Cannot operate without a clock"
msgstr "Impossible de fonctionner sans horloge"

#, fuzzy
#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Le périphérique « %s » n'est pas un périphérique de sortie."

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Taille de trame imprévue de %u à la place de %u."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "L'obtention de trames vidéo du périphérique « %s » a échoué."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Échec après %d tentatives. périphérique %s. erreur système : %s"

#~ msgid "Bass"
#~ msgstr "Basses"

#~ msgid "Treble"
#~ msgstr "Aiguës"

#~ msgid "Synth"
#~ msgstr "Synth"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Speaker"
#~ msgstr "Haut-parleur"

#~ msgid "Line-in"
#~ msgstr "Entrée ligne"

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Mélangeur"

#~ msgid "PCM-2"
#~ msgstr "PCM-2"

#~ msgid "Record"
#~ msgstr "Enregistrement"

#~ msgid "In-gain"
#~ msgstr "Gain d'entrée"

#~ msgid "Out-gain"
#~ msgstr "Gain de sortie"

#~ msgid "Line-1"
#~ msgstr "Ligne 1"

#~ msgid "Line-2"
#~ msgstr "Ligne 2"

#~ msgid "Line-3"
#~ msgstr "Ligne 3"

#~ msgid "Digital-1"
#~ msgstr "Numérique 1"

#~ msgid "Digital-2"
#~ msgstr "Numérique 2"

#~ msgid "Digital-3"
#~ msgstr "Numérique 3"

#~ msgid "Phone-in"
#~ msgstr "Entrée casque"

#~ msgid "Phone-out"
#~ msgstr "Sortie casque"

#~ msgid "Video"
#~ msgstr "Vidéo"

#~ msgid "Radio"
#~ msgstr "Radio"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "Impossible d'ouvrir le périphérique audio pour la gestion des contrôles "
#~ "de mixage."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Impossible d'ouvrir le périphérique audio pour la gestion des contrôles "
#~ "de mixage. Cette version de OSS (Open Sound System) n'est pas prise en "
#~ "charge par cet élément."

#~ msgid "Master"
#~ msgstr "Volume général"

#~ msgid "Front"
#~ msgstr "Avant"

#~ msgid "Rear"
#~ msgstr "Arrière"

#~ msgid "Headphones"
#~ msgstr "Écouteurs"

#~ msgid "Center"
#~ msgstr "Centre"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Ambiophonie"

#~ msgid "Side"
#~ msgstr "Côté"

#~ msgid "AUX Out"
#~ msgstr "Sortie AUX"

#~ msgid "3D Depth"
#~ msgstr "Profondeur 3D"

#~ msgid "3D Center"
#~ msgstr "Centre 3D"

#~ msgid "3D Enhance"
#~ msgstr "Amélioration 3D"

#~ msgid "Telephone"
#~ msgstr "Téléphone"

#~ msgid "Video In"
#~ msgstr "Entrée vidéo"

#~ msgid "AUX In"
#~ msgstr "Entrée AUX"

#~ msgid "Record Gain"
#~ msgstr "Gain d'enregistrement"

#~ msgid "Output Gain"
#~ msgstr "Gain de sortie"

#~ msgid "Microphone Boost"
#~ msgstr "Amplification micro"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostic"

#~ msgid "Bass Boost"
#~ msgstr "Amplification basses"

#~ msgid "Playback Ports"
#~ msgstr "Ports de lecture"

#~ msgid "Input"
#~ msgstr "Entrée"

#~ msgid "Monitor Source"
#~ msgstr "Source de moniteur"

#~ msgid "Keyboard Beep"
#~ msgstr "Bip de clavier"

#~ msgid "Simulate Stereo"
#~ msgstr "Stéréo simulée"

#~ msgid "Stereo"
#~ msgstr "Stéréo"

#~ msgid "Surround Sound"
#~ msgstr "Son ambiophonique"

#~ msgid "Microphone Gain"
#~ msgstr "Gain de microphone"

#~ msgid "Speaker Source"
#~ msgstr "Source de haut-parleur"

#~ msgid "Microphone Source"
#~ msgstr "Source de microphone"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "Centre / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Mélangeur stéréo"

#~ msgid "Mono Mix"
#~ msgstr "Mélangeur mono"

#~ msgid "Input Mix"
#~ msgstr "Mélangeur d'entrée"

#~ msgid "Microphone 1"
#~ msgstr "Microphone 1"

#~ msgid "Microphone 2"
#~ msgstr "Microphone 2"

#~ msgid "Digital Out"
#~ msgstr "Sortie numérique"

#~ msgid "Digital In"
#~ msgstr "Entrée numérique"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Combiné"

#~ msgid "Other"
#~ msgstr "Autre"

#~ msgid "None"
#~ msgstr "Aucun"

#~ msgid "On"
#~ msgstr "Activé"

#~ msgid "Off"
#~ msgstr "Désactivé"

#~ msgid "Mute"
#~ msgstr "Son coupé"

#~ msgid "Fast"
#~ msgstr "Rapide"

#~ msgid "Very Low"
#~ msgstr "Très bas"

#~ msgid "Low"
#~ msgstr "Bas"

#~ msgid "Medium"
#~ msgstr "Moyen"

#~ msgid "High"
#~ msgstr "Élevé"

#~ msgid "Very High"
#~ msgstr "Très élevé"

#~ msgid "Production"
#~ msgstr "Production"

#~ msgid "Front Panel Microphone"
#~ msgstr "Micro du panneau avant"

#~ msgid "Front Panel Line In"
#~ msgstr "Entrée ligne du panneau avant"

#~ msgid "Front Panel Headphones"
#~ msgstr "Écouteurs du panneau avant"

#~ msgid "Front Panel Line Out"
#~ msgstr "Sortie ligne du panneau avant"

#~ msgid "Green Connector"
#~ msgstr "Connecteur vert"

#~ msgid "Pink Connector"
#~ msgstr "Connecteur rose"

#~ msgid "Blue Connector"
#~ msgstr "Connecteur bleu"

#~ msgid "White Connector"
#~ msgstr "Connecteur blanc"

#~ msgid "Black Connector"
#~ msgstr "Connecteur noir"

#~ msgid "Gray Connector"
#~ msgstr "Connecteur gris"

#~ msgid "Orange Connector"
#~ msgstr "Connecteur orange"

#~ msgid "Red Connector"
#~ msgstr "Connecteur rouge"

#~ msgid "Yellow Connector"
#~ msgstr "Connecteur jaune"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Connecteur vert du panneau avant"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Connecteur rose du panneau avant"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Connecteur bleu du panneau avant"

#~ msgid "White Front Panel Connector"
#~ msgstr "Connecteur blanc du panneau avant"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Connecteur noir du panneau avant"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Connecteur gris du panneau avant"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Connecteur orange du panneau avant"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Connecteur rouge du panneau avant"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Connecteur jaune du panneau avant"

#~ msgid "Spread Output"
#~ msgstr "Sortie partagée"

#~ msgid "Downmix"
#~ msgstr "Mélange réduit"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Entrée de mélangeur virtuel"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Sortie de mélangeur virtuel"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Canaux de mélangeur virtuel"

#~ msgid "%s %d Function"
#~ msgstr "Fonction %s %d"

#~ msgid "%s Function"
#~ msgstr "Fonction %s"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Erreur de lecture de %d octets sur le périphérique « %s »."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr ""
#~ "Impossible de mettre les tampons en file d'attente sur le périphérique "
#~ "« %s »."

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Impossible d'établir une connexion vers le serveur de son"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr ""
#~ "Échec lors de l'interrogation du serveur de son au sujet de ses capacités"
