# 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=\u53c2\u7167:
FileChooser.saveInLabelText=\u4fdd\u5b58:
FileChooser.fileNameLabelText=\u30d5\u30a1\u30a4\u30eb\u540d:
FileChooser.folderNameLabelText=Folder name:
FileChooser.filesOfTypeLabelText=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
FileChooser.upFolderToolTipText=1 \u30ec\u30d9\u30eb\u4e0a\u3078
FileChooser.upFolderAccessibleName=\u4e0a\u3078
FileChooser.homeFolderToolTipText=\u30db\u30fc\u30e0
FileChooser.homeFolderAccessibleName=\u30db\u30fc\u30e0
FileChooser.newFolderToolTipText=\u30d5\u30a9\u30eb\u30c0\u306e\u65b0\u898f\u4f5c\u6210
FileChooser.newFolderAccessibleName=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
FileChooser.newFolderActionLabelText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0
FileChooser.listViewButtonToolTipText=\u30ea\u30b9\u30c8
FileChooser.listViewButtonAccessibleName=\u30ea\u30b9\u30c8
FileChooser.listViewActionLabelText=\u30ea\u30b9\u30c8
FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30
FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30
FileChooser.detailsViewActionLabelText=\u8a73\u7d30
FileChooser.refreshActionLabelText=\u66f4\u65b0
FileChooser.viewMenuLabelText=\u8868\u793a
FileChooser.fileNameHeaderText=\u540d\u524d
FileChooser.fileSizeHeaderText=\u30b5\u30a4\u30ba
FileChooser.fileTypeHeaderText=\u578b
FileChooser.fileDateHeaderText=\u4fee\u6b63\u65e5
FileChooser.fileAttrHeaderText=\u5c5e\u6027

############ Used by MetalTitlePane if rendering window decorations############
# All mnemonics are KeyEvent.VK_XXX as integers
MetalTitlePane.restoreTitle=\u5fa9\u5143(R)
MetalTitlePane.restoreMnemonic=82
MetalTitlePane.iconifyTitle=\u6700\u5c0f\u5316(E)
MetalTitlePane.iconifyMnemonic=69
MetalTitlePane.maximizeTitle=\u6700\u5927\u5316(X)
MetalTitlePane.maximizeMnemonic=88
MetalTitlePane.closeTitle=\u9589\u3058\u308b(C)
MetalTitlePane.closeMnemonic=67
