# 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=\u67e5\u770b\ufe55
FileChooser.saveInLabelText=\u5132\u5b58\u65bc\uff1a
FileChooser.fileNameLabelText=\u6a94\u6848\u540d\u7a31\ufe55
FileChooser.folderNameLabelText=Folder name:
FileChooser.filesOfTypeLabelText=\u6a94\u6848\u985e\u578b\ufe55
FileChooser.upFolderToolTipText=\u5f80\u4e0a\u4e00\u5c64
FileChooser.upFolderAccessibleName=\u5f80\u4e0a
FileChooser.homeFolderToolTipText=\u4e3b\u76ee\u9304
FileChooser.homeFolderAccessibleName=\u4e3b\u76ee\u9304
FileChooser.newFolderToolTipText=\u5efa\u7acb\u65b0\u8cc7\u6599\u593e
FileChooser.newFolderAccessibleName=\u65b0\u8cc7\u6599\u593e
FileChooser.newFolderActionLabelText=\u65b0\u8cc7\u6599\u593e
FileChooser.listViewButtonToolTipText=\u6e05\u55ae
FileChooser.listViewButtonAccessibleName=\u6e05\u55ae
FileChooser.listViewActionLabelText=\u6e05\u55ae
FileChooser.detailsViewButtonToolTipText=\u8a73\u7d30\u8cc7\u8a0a
FileChooser.detailsViewButtonAccessibleName=\u8a73\u7d30\u8cc7\u8a0a
FileChooser.detailsViewActionLabelText=\u8a73\u7d30\u8cc7\u8a0a
FileChooser.refreshActionLabelText=\u66f4\u65b0
FileChooser.viewMenuLabelText=\u6aa2\u8996
FileChooser.fileNameHeaderText=\u540d\u7a31
FileChooser.fileSizeHeaderText=\u5927\u5c0f
FileChooser.fileTypeHeaderText=\u985e\u578b
FileChooser.fileDateHeaderText=\u5df2\u4fee\u6539
FileChooser.fileAttrHeaderText=\u5c6c\u6027

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