# Refer to the note in basic.properties for a description as to what
# the mnemonics correspond to and how to calculate them.



# GTK specific properties

# GTK color chooser properties:
GTKColorChooserPanel.nameText=GTK Color Chooser
# mnemonic as a VK_ constant
GTKColorChooserPanel.mnemonic=71
# Can also define GTKColorChooserPanel.dispalyedMnemonicIndex if you
# want an index other than would normally be underlined by
# GTKColorChooserPanel.mnemonic to be underlined. This is only useful
# if GTKColorChooserPanel.nameText defines the mnemonic character more
# than once and you want a character other than the first underlined.

# Text and mnemonics for the spinner. You can also defined a different
# index for the mnemonic via xxxMnemonicIndex, for example
# GTKColorChooserPanel.hueMnemonicIndex=1 would indicate the second
# character of GTKColorChooserPanel.hueText should be underlined to
# represent the mnemonic.
GTKColorChooserPanel.hueText=Hue:
GTKColorChooserPanel.hueMnemonic=72

GTKColorChooserPanel.redText=Red:
GTKColorChooserPanel.redMnemonic=69

GTKColorChooserPanel.saturationText=Saturation:
GTKColorChooserPanel.saturationMnemonic=83

GTKColorChooserPanel.greenText=Green:
GTKColorChooserPanel.greenMnemonic=71

GTKColorChooserPanel.valueText=Value:
GTKColorChooserPanel.valueMnemonic=86

GTKColorChooserPanel.blueText=Blue:
GTKColorChooserPanel.blueMnemonic=66

GTKColorChooserPanel.colorNameText=Color Name:
GTKColorChooserPanel.colorNameMnemonic=78



############ FILE CHOOSER STRINGS #############

FileChooser.acceptAllFileFilterText=All Files
FileChooser.newFolderButtonText=New Folder
FileChooser.newFolderButtonMnemonic=78
FileChooser.newFolderDialogText=Folder name:
FileChooser.newFolderNoDirectoryErrorTitleText=Error
FileChooser.newFolderNoDirectoryErrorText=Error creating directory "{0}": No such file or directory
FileChooser.deleteFileButtonText=Delete File
FileChooser.deleteFileButtonMnemonic=76
FileChooser.renameFileButtonText=Rename File
FileChooser.renameFileButtonMnemonic=82
FileChooser.cancelButtonText=Cancel
FileChooser.cancelButtonMnemonic=67
FileChooser.saveButtonText=OK
FileChooser.saveButtonMnemonic=79
FileChooser.openButtonText=OK
FileChooser.openButtonMnemonic=79
FileChooser.saveDialogTitleText=Save
FileChooser.openDialogTitleText=Open
FileChooser.pathLabelText=Selection:
FileChooser.filterLabelText=Filter:
FileChooser.pathLabelMnemonic=83
FileChooser.foldersLabelText=Folders
FileChooser.foldersLabelMnemonic=68
FileChooser.filesLabelText=Files
FileChooser.filesLabelMnemonic=70

FileChooser.cancelButtonToolTipText=Abort file chooser dialog.
FileChooser.saveButtonToolTipText=Save selected file.
FileChooser.openButtonToolTipText=Open selected file.

FileChooser.renameFileDialogText=Rename file "{0}" to
FileChooser.renameFileErrorTitle=Error 
FileChooser.renameFileErrorText=Error renaming file "{0}" to "{1}"

OptionPane.okButtonMnemonic=79
OptionPane.cancelButtonMnemonic=67
