# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used be the Windows 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=\uac80\uc0c9 \uc704\uce58:
FileChooser.saveInLabelText=\uc800\uc7a5 \uc704\uce58:
FileChooser.fileNameLabelText=\ud30c\uc77c \uc774\ub984:
FileChooser.folderNameLabelText=Folder name:
FileChooser.filesOfTypeLabelText=\ud30c\uc77c \uc885\ub958:
FileChooser.upFolderToolTipText=\ud55c \ub2e8\uacc4 \uc704\ub85c
FileChooser.upFolderAccessibleName=\uc704
FileChooser.homeFolderToolTipText=\ud648
FileChooser.homeFolderAccessibleName=\ud648
FileChooser.newFolderToolTipText=\uc0c8 \ud3f4\ub354 \uc791\uc131
FileChooser.newFolderAccessibleName=\uc0c8 \ud3f4\ub354
FileChooser.newFolderActionLabelText=\uc0c8 \ud3f4\ub354
FileChooser.listViewButtonToolTipText=\ubaa9\ub85d
FileChooser.listViewButtonAccessibleName=\ubaa9\ub85d
FileChooser.listViewActionLabelText=\ubaa9\ub85d
FileChooser.detailsViewButtonToolTipText=\uc790\uc138\ud788
FileChooser.detailsViewButtonAccessibleName=\uc790\uc138\ud788
FileChooser.viewMenuButtonToolTipText = View Menu
FileChooser.viewMenuButtonAccessibleName = View Menu
FileChooser.detailsViewActionLabelText=\uc790\uc138\ud788
FileChooser.refreshActionLabelText=\uac31\uc2e0
FileChooser.viewMenuLabelText=\ubcf4\uae30
FileChooser.fileNameHeaderText=\uc774\ub984
FileChooser.fileSizeHeaderText=\ud06c\uae30
FileChooser.fileTypeHeaderText=\uc885\ub958
FileChooser.fileDateHeaderText=\uc218\uc815
FileChooser.fileAttrHeaderText=\uc18d\uc131
