# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used be the Motif 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.acceptAllFileFilterText=*
FileChooser.cancelButtonText=Cancel
FileChooser.saveButtonText=Save
FileChooser.openButtonText=OK
FileChooser.saveDialogTitleText=Save
FileChooser.openDialogTitleText=Open
FileChooser.updateButtonText=Update
FileChooser.helpButtonText=Help
FileChooser.pathLabelText=Enter path or folder name:
FileChooser.filterLabelText=Filter
FileChooser.foldersLabelText=Folders
FileChooser.filesLabelText=Files
FileChooser.enterFileNameLabelText=Enter file name:
FileChooser.enterFolderNameLabelText=Enter folder name:

FileChooser.cancelButtonToolTipText=Abort file chooser dialog.
FileChooser.saveButtonToolTipText=Save selected file.
FileChooser.openButtonToolTipText=Open selected file.
FileChooser.updateButtonToolTipText=Update directory listing.
FileChooser.helpButtonToolTipText=FileChooser help.
