# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used in Swing
# Currently, the following components need this for support:
#
#    ColorChooser
#    FileChooser
#    OptionPane
#
# 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.
#
#                        MNEMONIC NOTE:
# Many of strings in this file are used by widgets that have a
# mnemonic, for example:
#   ColorChooser.rgbNameTextAndMnemonic=R&GB
#
# Indicates that the tab in the ColorChooser for RGB colors will have
# the text 'RGB', further the mnemonic character will be 'g' and that
# a decoration will be provided under the 'G'. This will typically
# look like:  RGB
#              -
#
# One important thing to remember is that the mnemonic MUST exist in
# the String, if it does not exist you should add text that makes it
# exist. This will typically take the form 'XXXX (M)' where M is the
# character for the mnemonic.
#
# @author Steve Wilson

############ FILE CHOOSER STRINGS #############
FileChooser.fileDescription.textAndMnemonic=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB
FileChooser.directoryDescription.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
FileChooser.newFolderError.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u30A8\u30E9\u30FC
FileChooser.newFolderErrorSeparator= :
FileChooser.newFolderParentDoesntExistTitle.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093
FileChooser.newFolderParentDoesntExist.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\n\n\u6307\u5B9A\u3057\u305F\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002
FileChooser.renameErrorTitle.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D\u5909\u66F4\u30A8\u30E9\u30FC
FileChooser.renameError.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093
FileChooser.renameErrorFileExists.textAndMnemonic={0}\u306E\u540D\u524D\u3092\u5909\u66F4\u3067\u304D\u307E\u305B\u3093: \u6307\u5B9A\u3057\u305F\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u5225\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002 
FileChooser.acceptAllFileFilter.textAndMnemonic=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB
FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88
FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58(&S)
FileChooser.openButton.textAndMnemonic=\u958B\u304F(&O)
FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58
FileChooser.openDialogTitle.textAndMnemonic=\u958B\u304F
FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0(&U)
FileChooser.helpButton.textAndMnemonic=\u30D8\u30EB\u30D7(&H)
FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u304F(&O)

# File Size Units
FileChooser.fileSizeKiloBytes={0} KB
FileChooser.fileSizeMegaBytes={0} MB
FileChooser.fileSizeGigaBytes={0} GB

# These strings are platform dependent not look and feel dependent.
FileChooser.win32.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
FileChooser.win32.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0({0})
FileChooser.other.newFolder=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
FileChooser.other.newFolder.subsequent=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0}


## file chooser tooltips ###
FileChooser.cancelButtonToolTip.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u30FB\u30C1\u30E5\u30FC\u30B6\u30FB\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86\u3057\u307E\u3059
FileChooser.saveButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3057\u307E\u3059
FileChooser.openButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304D\u307E\u3059
FileChooser.updateButtonToolTip.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3092\u66F4\u65B0\u3057\u307E\u3059
FileChooser.helpButtonToolTip.textAndMnemonic=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059
FileChooser.directoryOpenButtonToolTip.textAndMnemonic=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059

FileChooser.filesListAccessibleName=\u30D5\u30A1\u30A4\u30EB\u30FB\u30EA\u30B9\u30C8
FileChooser.filesDetailsAccessibleName=\u30D5\u30A1\u30A4\u30EB\u306E\u8A73\u7D30

############ COLOR CHOOSER STRINGS #############
ColorChooser.preview.textAndMnemonic=\u30D7\u30EC\u30D3\u30E5\u30FC
ColorChooser.ok.textAndMnemonic=OK
ColorChooser.cancel.textAndMnemonic=\u53D6\u6D88
ColorChooser.reset.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8(&R)
ColorChooser.sample.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8  \u30B5\u30F3\u30D7\u30EB\u30FB\u30C6\u30AD\u30B9\u30C8
ColorChooser.swatches.textAndMnemonic=\u30B5\u30F3\u30D7\u30EB(&S)
ColorChooser.swatchesRecent.textAndMnemonic=\u6700\u65B0:
ColorChooser.hsv.textAndMnemonic=HSV(&H)
ColorChooser.hsvHue.textAndMnemonic=\u8272\u76F8
ColorChooser.hsvSaturation.textAndMnemonic=\u5F69\u5EA6
ColorChooser.hsvValue.textAndMnemonic=\u5024
ColorChooser.hsvTransparency.textAndMnemonic=\u900F\u660E\u5EA6
ColorChooser.hsl.textAndMnemonic=HSL(&L)
ColorChooser.hslHue.textAndMnemonic=\u8272\u76F8
ColorChooser.hslSaturation.textAndMnemonic=\u5F69\u5EA6
ColorChooser.hslLightness.textAndMnemonic=\u660E\u5EA6
ColorChooser.hslTransparency.textAndMnemonic=\u900F\u660E\u5EA6
ColorChooser.rgb.textAndMnemonic=RGB(&G)
ColorChooser.rgbRed.textAndMnemonic=\u8D64(&D)
ColorChooser.rgbGreen.textAndMnemonic=\u7DD1(&N)
ColorChooser.rgbBlue.textAndMnemonic=\u9752(&B)
ColorChooser.rgbAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1
ColorChooser.rgbHexCode.textAndMnemonic=\u8272\u30B3\u30FC\u30C9(&C)
ColorChooser.cmyk.textAndMnemonic=C&MYK
ColorChooser.cmykCyan.textAndMnemonic=\u30B7\u30A2\u30F3
ColorChooser.cmykMagenta.textAndMnemonic=\u30DE\u30BC\u30F3\u30BF
ColorChooser.cmykYellow.textAndMnemonic=\u9EC4
ColorChooser.cmykBlack.textAndMnemonic=\u9ED2
ColorChooser.cmykAlpha.textAndMnemonic=\u30A2\u30EB\u30D5\u30A1

############ OPTION PANE STRINGS #############
# We only define mnemonics for YES/NO, but for completeness you can
# define mnemonics for any of the buttons.
OptionPane.yesButton.textAndMnemonic=\u306F\u3044(&Y)
OptionPane.noButton.textAndMnemonic=\u3044\u3044\u3048(&N)
OptionPane.okButton.textAndMnemonic=OK
#OptionPane.okButtonMnemonic=0
OptionPane.cancelButton.textAndMnemonic=\u53D6\u6D88
#OptionPane.cancelButtonMnemonic=0
OptionPane.title.textAndMnemonic=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E
# Title for the dialog for the showInputDialog methods. Only used if
# the developer uses one of the variants that doesn't take a title.
OptionPane.inputDialog.titleAndMnemonic=\u5165\u529B
# Title for the dialog for the showMessageDialog methods. Only used if
# the developer uses one of the variants that doesn't take a title.
OptionPane.messageDialog.titleAndMnemonic=\u30E1\u30C3\u30BB\u30FC\u30B8

############ Printing Dialog Strings ############
PrintingDialog.titleProgress.textAndMnemonic=\u5370\u5237\u3057\u3066\u3044\u307E\u3059
PrintingDialog.titleAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059

PrintingDialog.contentInitial.textAndMnemonic=\u5370\u5237\u4E2D...

# The following string will be formatted by a MessageFormat
# and {0} will be replaced by page number being printed
PrintingDialog.contentProgress.textAndMnemonic=\u30DA\u30FC\u30B8{0}\u3092\u5370\u5237\u3057\u307E\u3057\u305F...

PrintingDialog.contentAborting.textAndMnemonic=\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059...

PrintingDialog.abortButton.textAndMnemonic=\u4E2D\u6B62(&A)
PrintingDialog.abortButtonToolTip.textAndMnemonic=\u5370\u5237\u306E\u4E2D\u6B62

############ Internal Frame Strings ############
InternalFrame.iconButtonToolTip=\u6700\u5C0F\u5316
InternalFrame.maxButtonToolTip=\u6700\u5927\u5316
InternalFrame.restoreButtonToolTip=\u5FA9\u5143
InternalFrame.closeButtonToolTip=\u9589\u3058\u308B

############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u5143
InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5
InternalFrameTitlePane.sizeButton.textAndMnemonic=\u30B5\u30A4\u30BA
InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316
InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316
InternalFrameTitlePane.closeButton.textAndMnemonic=\u9589\u3058\u308B

############ Text strings #############
# Used for html forms
FormView.submitButton.textAndMnemonic=\u554F\u5408\u305B\u306E\u5B9F\u884C
FormView.resetButton.textAndMnemonic=\u30EA\u30BB\u30C3\u30C8
FormView.browseFileButton.textAndMnemonic=\u53C2\u7167...

############ Abstract Document Strings ############
AbstractDocument.styleChange.textAndMnemonic=\u30B9\u30BF\u30A4\u30EB\u5909\u66F4
AbstractDocument.addition.textAndMnemonic=\u8FFD\u52A0
AbstractDocument.deletion.textAndMnemonic=\u524A\u9664
AbstractDocument.undo.textAndMnemonic=\u5143\u306B\u623B\u3059
AbstractDocument.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057

############ Abstract Button Strings ############
AbstractButton.click.textAndMnemonic=\u30AF\u30EA\u30C3\u30AF

############ Abstract Undoable Edit Strings ############
AbstractUndoableEdit.undo.textAndMnemonic=\u5143\u306B\u623B\u3059
AbstractUndoableEdit.redo.textAndMnemonic=\u3084\u308A\u76F4\u3057

############ Combo Box Strings ############
ComboBox.togglePopup.textAndMnemonic=\u30C8\u30B0\u30EB\u30FB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7

############ Progress Monitor Strings ############
ProgressMonitor.progress.textAndMnemonic=\u9032\u884C\u4E2D...

############ Split Pane Strings ############
SplitPane.leftButton.textAndMnemonic=\u5DE6\u30DC\u30BF\u30F3
SplitPane.rightButton.textAndMnemonic=\u53F3\u30DC\u30BF\u30F3
# Used for Isindex
IsindexView.prompt=\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:

############ InternalFrameTitlePane Strings ############
InternalFrameTitlePane.iconifyButtonAccessibleName=\u30A2\u30A4\u30B3\u30F3\u5316
InternalFrameTitlePane.maximizeButtonAccessibleName=\u6700\u5927\u5316
InternalFrameTitlePane.closeButtonAccessibleName=\u9589\u3058\u308B
