# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# core manifest
OpenIDE-Module-Name=\u30b3\u30a2
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3
OpenIDE-Module-Short-Description=NetBeans\u30d9\u30fc\u30b9\u30fb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u57fa\u672c\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3002
OpenIDE-Module-Long-Description=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3001NetBeans\u30d9\u30fc\u30b9\u30fb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u4e2d\u6838\u3068\u306a\u308b\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002

# Notify system
# {0} - class name of exception
# {1} - path to system folder
NTF_ExceptionalException={0}\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\t\u300c\u8a73\u7d30\u3092\u8868\u793a\u300d\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u304b\u3001{1}\u30d5\u30a9\u30eb\u30c0\u306b\u3042\u308bmessages.log\u30d5\u30a1\u30a4\u30eb\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
NTF_ExceptionalExceptionTitle=\u4e88\u671f\u3057\u306a\u3044\u4f8b\u5916
# {0} - class name of exception
NTF_ExceptionWarning={0}\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u305f\u3060\u3057\u3001\u30b7\u30b9\u30c6\u30e0\u306f\u8ffd\u52a0\u7684\u306a\u554f\u984c\u3092\u767a\u751f\u3055\u305b\u308b\u3053\u3068\u306a\u304f\u51e6\u7406\u3092\u7d9a\u884c\u3057\u307e\u3059\u3002\n\u30b9\u30bf\u30c3\u30af\u306e\u30c8\u30ec\u30fc\u30b9\u306b\u306f\u3001\u300c\u8a73\u7d30\u3092\u8868\u793a\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002
NTF_ExceptionWarningTitle=\u8b66\u544a

#startup info messages
MSG_MainWindowInit=\u30e1\u30a4\u30f3\u30fb\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u521d\u671f\u5316\u3057\u3066\u3044\u307e\u3059...
MSG_WindowShowInit=\u30e1\u30a4\u30f3\u30fb\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u958b\u3044\u3066\u3044\u307e\u3059...

# shown in the status line as a notification about saving a DataObject
# {0} = name of the DataObject
CTL_FMT_SavingMessage={0}\u3092\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059...
MSG_AllSaved=\u300c\u3059\u3079\u3066\u3092\u4fdd\u5b58\u300d\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002

CTL_Cannot_save={0}\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093


#NbAuthenticator
CTL_PasswordProtected=\u30d1\u30b9\u30ef\u30fc\u30c9\u4fdd\u8b77\u30b5\u30a4\u30c8

# Shortcuts Editor Controls
ShortcutsEditor.viewByLabel=\u8868\u793a\u57fa\u6e96:
ShortcutsEditor.actionsButton.text=\u30a2\u30af\u30b7\u30e7\u30f3

ShortcutsEditor.shortcutsButton.text=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8

ShortcutsPanel.shortcutTextArea.text=\u30a2\u30af\u30b7\u30e7\u30f3\u5225\u8868\u793a\u3092\u9078\u629e\u3057\u3066\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u7de8\u96c6
ShortcutsPanel.addButton.text=\u8ffd\u52a0...
ShortcutsPanel.removeButton.text=\u524a\u9664
ShortcutsPanel.AddActionTitle=\u65b0\u898f\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8
ActionsPanel.shortcutAddButton.text=\u8ffd\u52a0...

ActionsPanel.shortcutRemoveButton.text=\u524a\u9664

ActionsPanel.ShortcutsTitle=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u306e\u7de8\u96c6
ActionsPanel.AddShortcut=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u306e\u8ffd\u52a0
ActionsPanel.ShortcutLabel=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8:

ACS_ShortcutsPanel.shortcutTextArea.text.a11yName=\u30a2\u30af\u30b7\u30e7\u30f3\u5225\u8868\u793a\u3092\u9078\u629e\u3057\u3066\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u7de8\u96c6
ACS_ShortcutsEditor.actionsButton.text.a11yDesc=\u30a2\u30af\u30b7\u30e7\u30f3\u5225\u8868\u793a\u3092\u9078\u629e\u3057\u3066\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u7de8\u96c6
ACS_ShortcutsEditor.shortcutsButton.text.a11yDesc=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u5225\u8868\u793a\u3092\u9078\u629e\u3002\u305f\u3060\u3057\u3001\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u306e\u7de8\u96c6\u306f\u9078\u629e\u3057\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u5225\u8868\u793a\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
ACS_ShortcutsPanel.addButton.text.a11yDesc=\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u65b0\u898f\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u8ffd\u52a0
ACS_ShortcutsPanel.removeButton.text.a11yDesc=\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u524a\u9664
ACSN_ShortcutsPanel.shortcutsList=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u30fb\u30ea\u30b9\u30c8

ACS_ActionsPanel.ShortcutLabel.a11yName=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u306e\u5165\u529b
ACS_ActionsPanel.ShortcutLabel.a11yDesc=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u30ad\u30fc\u306e\u7d44\u5408\u305b\u3067\u5165\u529b

ACSN_ActionsPanel.shortcutsList=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u30fb\u30ea\u30b9\u30c8



ACSD_ActionsPanel.Dialog=\u9078\u629e\u3057\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u306b\u65b0\u898f\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\u3092\u8ffd\u52a0


# {0} = name of the action already bound to the new shortcut
FMT_ActionsPanel.AlreadyBound=\u3053\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8({0})\u306b\u306f\u3059\u3067\u306b\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u30d0\u30a4\u30f3\u30c9\u3055\u308c\u3066\n\u3044\u307e\u3059\u3002\u304b\u308f\u308a\u306b\u65b0\u305f\u306b\u9078\u629e\u3057\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u304b\u3002

CTL_ExitTitle=\u4fdd\u5b58
# Note that the '&' goes just before the mnemonic character
CTL_Save=\u4fdd\u5b58(&S)
ACSD_Save=\u4fdd\u5b58\u3057\u307e\u3059\u3002
# Note that the '&' goes just before the mnemonic character
CTL_SaveAll=\u3059\u3079\u3066\u4fdd\u5b58(&A)
ACSD_SaveAll=\u3059\u3079\u3066\u3092\u4fdd\u5b58\u3057\u307e\u3059\u3002
# Note that the '&' goes just before the mnemonic character
CTL_DiscardAll=\u3059\u3079\u3066\u3092\u7834\u68c4(&D)
ACSD_DiscardAll=\u3059\u3079\u3066\u3092\u7834\u68c4\u3057\u307e\u3059\u3002
EXC_Save=\u4fdd\u5b58\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
# NotifyException
CTL_Title_Exception=\u4f8b\u5916
CTL_NextException=\u6b21(&N) >
CTL_PreviousException=< \u524d(&P)
CTL_Exception_Hide_Details=\u8a73\u7d30\u306e\u975e\u8868\u793a(&H)
CTL_Exception_Show_Details=\u8a73\u7d30\u306e\u8868\u793a(&S)








ACSN_ListOfChangedFiles=\u30ea\u30b9\u30c8
ACSD_ListOfChangedFiles=\u4fdd\u5b58\u3059\u308b\u5909\u66f4\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u30ea\u30b9\u30c8
ACSD_ExitDialog=\u3059\u3079\u3066\u306e\u5909\u66f4\u3092\u4fdd\u5b58\u3059\u308b\u30c0\u30a4\u30a2\u30ed\u30b0

# ???
#MSG_Err_Load_Metal_LF=Failed loading Metal Look and Feel

# NbErrorManager



# UIModePropertyEditor
CTL_SdiMode=SDI\u30e2\u30fc\u30c9
CTL_MdiMode=MDI\u30e2\u30fc\u30c9

# NbPlaces
CTL_NoWorkspaces=\u30ef\u30fc\u30af\u30b9\u30da\u30fc\u30b9\u306a\u3057

# NotifyExcPanel



# blocked event queue
LOG_EventQueueBlocked=AWT\u30a4\u30d9\u30f3\u30c8\u9001\u4fe1\u30b9\u30ec\u30c3\u30c9\u304c{0}\u30df\u30ea\u79d2\u9593\u30d6\u30ed\u30c3\u30af\u3055\u308c\u307e\u3057\u305f



# NbAuthenticator
CTL_Authentication=\u8a8d\u8a3c\u304c\u5fc5\u8981



# NbAuthenticatorPanel
NbAuthenticatorPanel.userNameLbl.text=\u30e6\u30fc\u30b6\u30fc\u540d(&U):
NbAuthenticatorPanel.passwordLbl.text=\u30d1\u30b9\u30ef\u30fc\u30c9(&P):
# {0} - realm (domain name?)
NbAuthenticatorPanel.password.description={0}\u306e\u30d1\u30b9\u30ef\u30fc\u30c9

ProxySettings.password.description=\u30d7\u30ed\u30ad\u30b7\u30fb\u30d1\u30b9\u30ef\u30fc\u30c9

Title_WebBrowser=Web\u30d6\u30e9\u30a6\u30b6








NTF_ExceptionalExceptionReport=\u554f\u984c\u306e\u8868\u793a\u304a\u3088\u3073\u5831\u544a

