# 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.acceptAllFileFilter.textAndMnemonic=*
FileChooser.cancelButton.textAndMnemonic=Cancelar
FileChooser.saveButton.textAndMnemonic=Guardar
FileChooser.openButton.textAndMnemonic=Aceptar
FileChooser.saveDialogTitle.textAndMnemonic=Guardar
FileChooser.openDialogTitle.textAndMnemonic=Abrir
FileChooser.updateButton.textAndMnemonic=Actualizar
FileChooser.helpButton.textAndMnemonic=Ayuda
FileChooser.pathLabel.textAndMnemonic=Introducir nombre de ruta de acceso o car&peta:
FileChooser.filterLabel.textAndMnemonic=Filt&ro
FileChooser.foldersLabel.textAndMnemonic=Carpe&tas
FileChooser.filesLabel.textAndMnemonic=Arch&ivos
FileChooser.enterFileNameLabel.textAndMnemonic=I&ntroducir nombre de archivo:
FileChooser.enterFolderNameLabel.textAndMnemonic=Introducir nombre de carpeta:

FileChooser.cancelButtonToolTip.textAndMnemonic=Abortar cuadro de di\u00E1logo del selector de archivos.
FileChooser.saveButtonToolTip.textAndMnemonic=Guardar archivo seleccionado.
FileChooser.openButtonToolTip.textAndMnemonic=Abrir archivo seleccionado.
FileChooser.updateButtonToolTip.textAndMnemonic=Actualizar lista de directorios.
FileChooser.helpButtonToolTip.textAndMnemonic=Ayuda del selector de archivos.
