# 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=\u53d6\u6d88\u3057
FileChooser.saveButtonText=\u4fdd\u5b58
FileChooser.openButtonText=\u4e86\u89e3
FileChooser.saveDialogTitleText=\u4fdd\u5b58
FileChooser.openDialogTitleText=\u958b\u304f
FileChooser.updateButtonText=\u66f4\u65b0
FileChooser.helpButtonText=\u30d8\u30eb\u30d7
FileChooser.pathLabelText=\u30d1\u30b9\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u540d\u3092\u5165\u529b:
FileChooser.filterLabelText=\u30d5\u30a3\u30eb\u30bf
FileChooser.foldersLabelText=\u30d5\u30a9\u30eb\u30c0
FileChooser.filesLabelText=\u30d5\u30a1\u30a4\u30eb
FileChooser.enterFileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5165\u529b:
FileChooser.enterFolderNameLabelText=Enter folder name:

FileChooser.cancelButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u7d42\u4e86
FileChooser.saveButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58
FileChooser.openButtonToolTipText=\u9078\u629e\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f
FileChooser.updateButtonToolTipText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u8868\u793a\u3092\u66f4\u65b0
FileChooser.helpButtonToolTipText=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6\u306e\u30d8\u30eb\u30d7
