# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used be the Metal Look and Feel.
# Currently, the following components need this for support:
#
#    FileChooser
#
# When this file is read in, the strings are put into the 
# defaults table.  This is an implementation detail of the current
# workings of Swing.  DO NOT DEPEND ON THIS.  
# This may change in future versions of Swing as we improve localization 
# support.
#
# Refer to the note in basic.properties for a description as to what
# the mnemonics correspond to and how to calculate them.
#
# @author Steve Wilson


############ FILE CHOOSER STRINGS #############

FileChooser.lookInLabelText=Rechercher dans :
FileChooser.saveInLabelText=Enregistrer dans :
FileChooser.fileNameLabelText=Nom de fichier :
FileChooser.folderNameLabelText=Folder name:
FileChooser.filesOfTypeLabelText=Fichiers du type :
FileChooser.upFolderToolTipText=Remonte d'un niveau.
FileChooser.upFolderAccessibleName=Vers le haut
FileChooser.homeFolderToolTipText=R\u00e9pertoire d'accueil
FileChooser.homeFolderAccessibleName=Accueil
FileChooser.newFolderToolTipText=Cr\u00e9e un nouveau dossier.
FileChooser.newFolderAccessibleName=Nouveau dossier
FileChooser.newFolderActionLabelText=Nouveau dossier
FileChooser.listViewButtonToolTipText=Liste
FileChooser.listViewButtonAccessibleName=Liste
FileChooser.listViewActionLabelText=Liste
FileChooser.detailsViewButtonToolTipText=D\u00e9tails
FileChooser.detailsViewButtonAccessibleName=D\u00e9tails
FileChooser.detailsViewActionLabelText=D\u00e9tails
FileChooser.refreshActionLabelText=Actualiser
FileChooser.viewMenuLabelText=Affichage
FileChooser.fileNameHeaderText=Nom
FileChooser.fileSizeHeaderText=Taille
FileChooser.fileTypeHeaderText=Type
FileChooser.fileDateHeaderText=Modifi\u00e9
FileChooser.fileAttrHeaderText=Attributs

############ Used by MetalTitlePane if rendering window decorations############
# All mnemonics are KeyEvent.VK_XXX as integers
MetalTitlePane.restoreTitle=Restaurer
MetalTitlePane.restoreMnemonic=82
MetalTitlePane.iconifyTitle=R\u00e9duire
MetalTitlePane.iconifyMnemonic=68
MetalTitlePane.maximizeTitle=Agrandir
MetalTitlePane.maximizeMnemonic=65
MetalTitlePane.closeTitle=Fermer
MetalTitlePane.closeMnemonic=70
