# 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.
# Stéphane Aulery <lkppo@free.fr>, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-02-19 10:31+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 "Jack server not found"
msgstr "serveur Jack introuvable"

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 la recherche."

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 occurred, 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 du flux de données interne."

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 "Impossible de lire le flux car il est chiffré par un DRM PlayReady."

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 dans 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 "Internal data flow error."
msgstr "Erreur du flux de données interne."

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 ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Impossible d’ouvrir le périphérique audio en 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 en 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 en 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 en lecture. Cette version d’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 "CoreAudio device not found"
msgstr ""

msgid "CoreAudio device could not be opened"
msgstr ""

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"

msgid "Codec Loopback"
msgstr "Codec boucle interne"

msgid "SunVTS Loopback"
msgstr "SunVTS 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 ""
"Impossible d’énumérer les formats vidéo compatibles avec le périphérique "
"« %s »"

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

#, 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 la méthode d’entrée-"
"sortie %d"

#, 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’entrée-"
"sortie connue."

#, c-format
msgid "Device '%s' is busy"
msgstr "Périphérique « %s » occupé"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr ""
"Le périphérique « %s » ne peut pas capturer avec une résolution de %d x %d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Le périphérique « %s » ne peut pas capturer dans le format spécifié"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Le périphérique « %s » ne prend pas en charge les plans non contiguës"

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

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

msgid "Video device did not provide output format."
msgstr "Le périphérique vidéo n’a pas fourni de format de sortie."

msgid "Video device returned invalid dimensions."
msgstr "Le périphérique vidéo a retourné une dimensions incorrecte."

msgid "Video devices uses an unsupported interlacing method."
msgstr ""
"Le périphérique vidéo utilise une méthode d’entrelacement non prise en "
"charge."

msgid "Video devices uses an unsupported pixel format."
msgstr "Le périphérique vidéo utilise un format de pixel non pris en charge."

msgid "Failed to configure internal buffer pool."
msgstr "Impossible de configurer le spooler interne de tampons."

msgid "Video device did not suggest any buffer size."
msgstr "Le périphérique vidéo n’a suggéré aucune taille de cache."

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

#, 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 »."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Erreur d’interrogation des capacités du périphérique « %s »."

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

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Impossible d’obtenir un flux radio depuis le périphérique %s."

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

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Impossible de modifier la sourdine du périphérique « %s »."

msgid "Failed to allocated required memory."
msgstr "Impossible d’allouer la mémoire nécessaire."

msgid "Failed to allocate required memory."
msgstr "Impossible d’allouer la mémoire nécessaire."

#, c-format
msgid "Converter on device %s has no supported input format"
msgstr ""
"Le convertisseur du périphérique « %s » ne prend en charge aucun format "
"d’entrée"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr ""
"Le convertisseur du périphérique « %s » ne prend en charge aucun format de "
"sortie"

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr ""
"L’encodeur du périphérique « %s » ne prend en charge aucun format d’entrée"

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr ""
"L’encodeur du périphérique « %s » ne prend en charge aucun format de sortie"

msgid "Failed to start decoding thread."
msgstr "Échec de démarrage du processus de décodage."

msgid "Failed to process frame."
msgstr "Échec du traitement de frame."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Erreur de récupération 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 de récupérer 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 de récupérer les paramètres du syntoniseur %d du périphérique "
"« %s »."

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

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""
"Impossible de récupérer 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."

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

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Impossible de dupliquer 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 de récupérer 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 de récupérer 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 récupérer 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 de récupérer 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 de récupérer 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 la résolution au cours de l’exécution n’est pas encore "
"prise en charge."

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