#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used in Swing
# Currently, it contains the additional strings needed for the Aqua versions of these components:
#
#    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.

############ FILE CHOOSER STRINGS #############
FileChooser.fileDescription.textAndMnemonic=\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB
FileChooser.directoryDescription.textAndMnemonic=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
FileChooser.newFolderError.textAndMnemonic=\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
FileChooser.newFolderErrorSeparator= :
FileChooser.acceptAllFileFilter.textAndMnemonic=\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB
FileChooser.cancelButton.textAndMnemonic=\u53D6\u6D88
FileChooser.saveButton.textAndMnemonic=\u4FDD\u5B58
FileChooser.openButton.textAndMnemonic=\u958B\u304F
FileChooser.saveDialogTitle.textAndMnemonic=\u4FDD\u5B58
FileChooser.openDialogTitle.textAndMnemonic=\u958B\u304F
FileChooser.updateButton.textAndMnemonic=\u66F4\u65B0
FileChooser.helpButton.textAndMnemonic=\u30D8\u30EB\u30D7
FileChooser.directoryOpenButton.textAndMnemonic=\u958B\u304F

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

# Mac-specific strings
FileChooser.saveTitle.textAndMnemonic=\u4FDD\u5B58
FileChooser.openTitle.textAndMnemonic=\u958B\u304F
FileChooser.newFolderExistsError.textAndMnemonic=\u305D\u306E\u540D\u524D\u306F\u3059\u3067\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059
FileChooser.chooseButton.textAndMnemonic=\u9078\u629E

FileChooser.newFolderButton.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
FileChooser.newFolderTitle.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0
FileChooser.fileNameLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB:
FileChooser.saveDialogFileNameLabel.textAndMnemonic=\u5225\u540D\u4FDD\u5B58:
FileChooser.filesOfTypeLabel.textAndMnemonic=\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F:

FileChooser.desktopName=\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7
FileChooser.newFolderPrompt.textAndMnemonic=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u540D\u524D:
FileChooser.untitledFolderName=\u7121\u984C\u306E\u30D5\u30A9\u30EB\u30C0
FileChooser.untitledFileName=\u7121\u984C
FileChooser.createButton.textAndMnemonic=\u4F5C\u6210

FileChooser.byDate.textAndMnemonic=\u5909\u66F4\u65E5
FileChooser.by.textAndMnemonic=\u540D\u524D
FileChooser.newFolderAccessibleName=\u65B0\u898F\u30D5\u30A9\u30EB\u30C0

FileChooser.mac.newFolder=\u7121\u984C\u306E\u30D5\u30A9\u30EB\u30C0
FileChooser.mac.newFolder.subsequent=\u7121\u984C\u306E\u30D5\u30A9\u30EB\u30C0{0}


############ 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.hsb.textAndMnemonic=HSB(&H)
ColorChooser.hsbHue.textAndMnemonic=H
ColorChooser.hsbSaturation.textAndMnemonic=S
ColorChooser.hsbBrightness.textAndMnemonic=B
ColorChooser.hsbRed.textAndMnemonic=R
ColorChooser.hsbGreen.textAndMnemonic=G
ColorChooser.hsbBlue.textAndMnemonic=B
ColorChooser.rgb.textAndMnemonic=RGB(&G)
ColorChooser.rgbRed.textAndMnemonic=\u8D64(&D)
ColorChooser.rgbGreen.textAndMnemonic=\u7DD1(&N)
ColorChooser.rgbBlue.textAndMnemonic=\u9752(&B)

############ 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.cancelButton.textAndMnemonic=\u53D6\u6D88
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
