################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You under the Apache License, Version 2.0
##  (the "License"); you may not use this file except in compliance with
##  the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
################################################################################
ASK_BLAZEDS=Apache Flex peut éventuellement s'intégrer à Adobe BlazeDS. Cette fonctionalité nécessite flex-messaging-common.jar du SDK Adobe Flex. L'accord de licence Adobe SDK pour Adobe Flex 4.6 s'applique à ce jar. Cette licence n'est pas compatible avec la licence Apache V2. Voulez-vous installer ce jar à partir du SDK Adobe Flex?
ASK_FONTSWF=Apache Flex peut éventuellement s'intégrer avec le support de polices embarquées Adobe (Adobe's embedded font support). Cette fonctionalité nécessite quelques jars de polices du SDK Adobe Flex. L'accord de licence Adobe SDK pour Adobe Flex 4.6 s'applique à ces jarres. Cette licence n'est pas compatible avec la licence Apache V2. Voulez-vous installer ces jars à partir du SDK Adobe Flex?
ASK_OSMF=L'Open Source Media Framework (OSMF) utilisé par les composants vidéo est sous la licence Mozilla Public License Version 1.1. Voulez-vous installer le Open Source Media Framework (OSMF)?
ASK_TLF=Le Text Layout Framework Adobe (TLF) utilisé par les composants de texte Spark est sous licence Mozilla Public License Version 1.1. Voulez-vous installer le logiciel Adobe Text Layout Framework (TLF)?
ASK_APACHE_FLEX=La licence Apache V2 s'applique au SDK Apache Flex. Voulez-vous installer le SDK Apache Flex?
ASK_ADOBE_AIR_SDK=L'accord de licence SDK Adobe s'applique au SDK Adobe AIR. Voulez-vous installer le SDK Adobe AIR?
ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC=L'accord de licence SDK Adobe s'applique au Adobe Flash Player playerglobal.swc. Voulez-vous installer le logiciel Adobe Flash Player playerglobal.swc?
ASK_SWFOBJECT=La licence MIT (MIT) s'applique à l'utilitaire SWFObject. Voulez-vous installer l'utilitaire SWFObject?
BTN_LABEL_ADOBE_LICENSE=AFFICHER LA LICENCE ADOBE
BTN_LABEL_BROWSE=PARCOURIR
BTN_LABEL_CLOSE=FERMER
BTN_LABEL_INSTALL=INSTALLER
BTN_LABEL_INSTALL_LOG=JOURNAL D'INSTALLATION
BTN_LABEL_MPL_LICENSE=AFFICHER LA LICENCE MPL
BTN_LABEL_NEXT=SUIVANT
BTN_LABEL_BACK=RETOUR
BTN_DISCLAIMER=Notes légales
BTN_LABEL_OPEN_APACHE_FLEX_FOLDER=OUVRIR LE DOSSIER APACHE FLEX
ERROR_CONFIG_XML_LOAD=Erreur lors du chargement du fichier de configuration XML: 
ERROR_DIR_NOT_EMPTY=Le répertoire sélectionné n'est pas vide
ERROR_INVALID_AIR_SDK_URL_MAC=L'URL pour Mac de Adobe AIR SDK non valide dans le fichier de configuration
ERROR_INVALID_AIR_SDK_URL_WINDOWS=L'URL pour Windows de Adobe AIR SDK non valide dans le fichier de configuration
ERROR_INVALID_FLASH_PLAYER_SWC_URL=L'URL pour Flash Player swc non valide dans le fichier de configuration
ERROR_INVALID_FLEX_SDK_DIRECTORY=Le répertoire sélectionné du SDK Flex est invalide
ERROR_INVALID_SDK_URL=Apache Flex SDK URL non valide dans le fichier de configuration
ERROR_MIRROR_FETCH=Erreur lors de la tentative de récupération d'un site miroir pour télécharger les binaires du SDK Apache Flex:
ERROR_NATIVE_PROCESS_ERROR=Erreur du Processus natif - incapable de décompresser Adobe AIR SDK
ERROR_NATIVE_PROCESS_NOT_SUPPORTED=Processus natif pas pris en charge. Impossible de décompresser Adobe AIR SDK
ERROR_UNABLE_TO_COPY_FILE=Impossible de copier le fichier 
ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY=Impossible de créer un répertoire temporaire
ERROR_UNABLE_TO_DELETE_TEMP_DIRECTORY=Impossible de nettoyer les répertoires d'installation temporaires
ERROR_UNABLE_TO_DOWNLOAD_AIR_SDK=Impossible de télécharger Adobe AIR Runtime Kit
ERROR_UNABLE_TO_DOWNLOAD_FILE=Impossible de télécharger {0}
ERROR_UNABLE_TO_DOWNLOAD_FLASH_PLAYER_SWC=Impossible de télécharger Flash Player swc
ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK=Impossible de télécharger Apache Flex SDK
ERROR_UNABLE_TO_INSTALL_CONFIG_FILES=Impossible d'installer les fichiers de configuration
ERROR_UNABLE_TO_UNZIP=Impossible de décompresser le fichier: 
ERROR_UNABLE_TO_DOWNLOAD_SWF_OBJECT=Impossible de télécharger SWFObject
ERROR_UNSUPPORTED_OPERATING_SYSTEM=Système d'exploitation non pris en charge
ERROR_VERIFY_FLEX_SDK=La signature MD5 des fichiers téléchargés du SDK Apache Flex ne correspond pas à la valeur de référence. Le fichier n'est pas valide, l'installation est interrompue.
FETCH_GEO_IP=Essai de récupération du code du pays de l'utilisateur à partir du service GeoIP ...
FETCH_GEO_IP_DONE=Le code du pays de l'utilisateur à été récupéré à partir du service GeoIP.
FETCH_GEO_IP_ERROR=Une erreur s'est produite lors de la récupération du code de pays de l'utilisateur à partir du service GeoIP.
FETCH_MIRROR_CGI=Essais de récupération de l'URL de téléchargement du SDK à partir du CGI ...
FETCH_MIRROR_CGI_DONE=L'URL de téléchargement du SDK à été récupérée à partir du CGI.
FETCH_MIRROR_CGI_ERROR=Impossible de récupérer l'URL de téléchargement du SDK à partir du CGI. S'apprête à essayer la route GeoIP.
FETCH_MIRROR_LIST=Récupération de la liste des sites miroirs de Apache.org ...
FETCH_MIRROR_LIST_DONE=La liste des sites miroirs à été récupérée depuis Apache.org.
FETCH_MIRROR_LIST_PARSED=La liste des sites miroirs à été analysée et le code du pays de ce domaine à été obtenu:
INFO_ABORT_INSTALLATION=Installation interrompue
INFO_APP_INVOKED=Invoqué en mode ligne de commande avec les arguments suivants: 
INFO_CREATING_FLEX_HOME=Creation du dossier racine d'Apache Flex
INFO_CREATING_TEMP_DIR=Création du répertoire temporaire
INFO_CURRENT_LANGUAGE=Sélectionnez la langue
INFO_DOWNLOADING_ADOBE_FLEX_SDK=Téléchargement d'Adobe Flex SDK à partir de: 
INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC=Téléchargement d'Adobe AIR Runtime Kit pour Mac à partir de: 
INFO_DOWNLOADING_AIR_RUNTIME_KIT_WINDOWS=Téléchargement d'Adobe AIR Runtime Kit pour Windows à partir de: 
INFO_DOWNLOADING_FILE_FROM=Téléchargement {0} de: {1}
INFO_DOWNLOADING_FLEX_SDK=Téléchargement d'Apache Flex SDK à partir de: 
INFO_DOWNLOADED=Téléchargement terminé 
INFO_ENTER_VALID_FLEX_SDK_PATH=Entrez un chemin de répertoire valide pour le SDK Flex
INFO_FINISHED_UNTARING=Décompression de l'archive terminée: 
INFO_FINISHED_UNZIPPING=Décompression terminée:
INFO_INSTALLATION_COMPLETE=Installation terminée
INFO_INSTALLING=Installation ...
INFO_INSTALLING_CONFIG_FILES=Installation des fichiers de configuration du framework configurés pour être utilisés avec un IDE
INFO_INSTALLING_PLAYERGLOBAL_SWC=Installation d'Adobe Flash Player playerglobal.swc à partir de: 
INFO_INVOKED_GUI_MODE=invoqué en mode graphique
INFO_LICENSE_AGREEMENTS=Contrats de licences
INFO_NEED_TO_READ_AND_AGREE_TO_LICENSE=Ce programme d'installation va télécharger le logiciel à partir de plusieurs sites avec des accords de licence différents. Cliquez sur chaque élément à gauche, lisez la licence et confirmez que vous acceptez ses termes.
INFO_SELECT_AIR_FLASH_PLAYER=Sélectionnez les versions de AIR and Flash Player
INFO_SELECT_AIR=Selectionnez la version de AIR
INFO_SELECT_DIRECTORY=Sélectionnez le répertoire où vous souhaitez installer le SDK Flex
INFO_SELECT_DIRECTORY_INSTALL=Sélectionnez le répertoire d'installation
INFO_SELECT_FLASH=Selectionnez la version de Flash Player
INFO_SELECT_FLEX=Selectionnez la version de Flex
INFO_UNZIPPING=Décompression: 
INFO_VERIFY_FLEX_SDK_DONE=La Signature MD5 des fichiers téléchargés pour le SDK Apache Flex correspond à la référence. Le fichier est valide.
INFO_WINDOW_TITLE=Installer Apache Flex SDK {0} à utiliser avec votre IDE
INSTALL_AGREE=Je suis d'accord, installer
INSTALL_AGREE_ALL=Je suis d'accord pour toutes les options et les licences, installer
INSTALL_DISAGREE=Je suis en désaccord, ne pas installer
SELECT_PATH_PROMPT=Où voulez-vous installer le SDK Flex Apache?
STEP_CREATE_DIRECTORIES=Créer les répertoires
STEP_SELECT_AIR_AND_FLASH_VERSION=Sélectionnez la version de AIR et de Flash Player.
STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK=Apache Flex SDK (requis)
STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK=Adobe AIR SDK (requis)
STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC=Adobe Flash Player playerglobal.swc (requis)
STEP_REQUIRED_INSTALL_SWFOBJECT=SWFObject (requis)
STEP_INSTALL_CONFIG_FILES=Installer les fichiers de configuration du framework
STEP_REQUIRED_INSTALL_OSMF=OSMF (requis)
STEP_REQUIRED_INSTALL_TLF=Adobe Text Layout Framework (requis)
STEP_OPTIONAL_INSTALL_BLAZEDS=Remoting Support (facultatif)
STEP_OPTIONAL_INSTALL_FONTSWF=Bibliothèques Adobe Font embarquées et utilitaires (facultatif)
STEP_REQUIRED_UNZIP_AIR_RUNTIME_KIT=Décompresser Adobe AIR Runtime Kit
STEP_UNZIP_AIR_RUNTIME_KIT=Décompresser Adobe AIR Runtime Kit
STEP_UNZIP_FLEX_SDK=Décompresser Apache Flex SDK
STEP_VERIFY_FLEX_SDK=Vérification de la signature Apache Flex SDK MD5
LICENSE_APACHE_V2=Licence Apache v2
LICENSE_URL_APACHE_V2=http://www.apache.org/licenses/LICENSE-2.0.html
LICENSE_ADOBE_SDK=Licence Adobe Flex SDK
LICENSE_URL_ADOBE_SDK=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
LICENSE_ADOBE_AIR_SDK=Licence Adobe AIR SDK
LICENSE_URL_ADOBE_AIR_SDK=http://www.adobe.com/products/air/sdk-eula.html
LICENSE_SWFOBJECT=Licence MIT
LICENSE_URL_SWFOBJECT=http://opensource.org/licenses/mit-license.php
LICENSE_OSMF=Licence Mozilla Public Version 1.1
LICENSE_URL_OSMF=http://www.mozilla.org/MPL/
LICENSE_TLF=Licence Mozilla Public Version 1.1
LICENSE_URL_TLF=http://www.mozilla.org/MPL/
LICENSE_FONTSWF=Licence Adobe Flex SDK
LICENSE_URL_FONTSWF=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
LICENSE_BLAZEDS=Licence Adobe Flex SDK
LICENSE_URL_BLAZEDS=http://www.adobe.com/products/eulas/pdfs/adobe_flex_software_development_kit-combined-20110916_0930.pdf
INFO_TRACKING=Des statistiques anonymes d'utilisation seront\ncollectées en accord avec notre politique de confidentialité.
INFO_VERSION=version