# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright 1997-2013 Oracle and/or its affiliates. All rights reserved.
#
# Oracle and Java are registered trademarks of Oracle and/or its affiliates.
# Other names may be trademarks of their respective owners.
#
# The contents of this file are subject to the terms of either the GNU
# General Public License Version 2 only ("GPL") or the Common
# Development and Distribution License("CDDL") (collectively, the
# "License"). You may not use this file except in compliance with the
# License. You can obtain a copy of the License at
# http://www.netbeans.org/cddl-gplv2.html
# or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
# specific language governing permissions and limitations under the
# License.  When distributing the software, include this License Header
# Notice in each file and include the License file at
# nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the GPL Version 2 section of the License file that
# accompanied this code. If applicable, add the following below the
# License Header, with the fields enclosed by brackets [] replaced by
# your own identifying information:
# "Portions Copyrighted [year] [name of copyright owner]"
#
# Contributor(s):
#
# The Original Software is NetBeans. The Initial Developer of the Original
# Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
# Microsystems, Inc. All Rights Reserved.
#
# If you wish your version of this file to be governed by only the CDDL
# or only the GPL Version 2, indicate your decision by adding
# "[Contributor] elects to include this software in this distribution
# under the [CDDL or GPL Version 2] license." If you do not indicate a
# single choice of license, a recipient has the option to distribute
# your version of this file under either the CDDL, the GPL Version 2 or
# to extend the choice of license to its licensees as provided above.
# However, if you add GPL Version 2 code and therefore, elected the GPL
# Version 2 license, then the option applies only if the new code is
# made subject to such option by the copyright holder.

CTL_ReporterResultAction=\u4f8b\u5916\u30ec\u30dd\u30fc\u30bf(&X)
CTL_ReporterResultTopComponent=\u4f8b\u5916\u30ec\u30dd\u30fc\u30bf
HINT_ReporterResultTopComponent=\u3053\u308c\u306f\u4f8b\u5916\u30ec\u30dd\u30fc\u30bf\u30fb\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059





ReportPanel.jLabel1.text=\u30e6\u30fc\u30b6\u30fc\u540d(&U):
ReportPanel.jLabel3.text=\u3053\u306e\u554f\u984c\u306e\u72b6\u614b\u306b\u3064\u3044\u3066\u901a\u77e5\u3092\u53d7\u3051\u305f\u3044\u5834\u5408\u306f\u3001\u767b\u9332\u30e6\u30fc\u30b6\u30fc\u306b\u306a\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
ReportPanel.jLabel2.text=\u767b\u9332\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u30b2\u30b9\u30c8\u3068\u3057\u3066\u30ec\u30dd\u30fc\u30c8\u3092\u9001\u4fe1\u3059\u308b\u304b\u3001\u4eca\u3059\u3050\u767b\u9332\u3057\u3066\u304f\u3060\u3055\u3044\u3002
ReportPanel.jLabel6.text=<html><a href="#">\u767b\u9332</a></html>

ReportPanel.AccessibleContext.accessibleDescription=\u554f\u984c\u30ec\u30dd\u30fc\u30c8\u7528\u306e\u30c0\u30a4\u30a2\u30ed\u30b0

ReportPanel.AccessibleContext.accessibleName=\u30ec\u30dd\u30fc\u30c8\u30fb\u30c0\u30a4\u30a2\u30ed\u30b0

ReportPanel.loginField.AccessibleContext.accessibleName=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30fc\u540d

ReportPanel.loginField.AccessibleContext.accessibleDescription=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30fc\u540d\u3067\u3059\u3002\u767b\u9332\u30e6\u30fc\u30b6\u30fc\u306e\u5834\u5408\u306f\u3001\u3053\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002

ReportPanel.summaryField.AccessibleContext.accessibleDescription=\u4f8b\u5916\u306b\u3064\u3044\u3066\u306e\u77ed\u3044\u30b5\u30de\u30ea\u30fc\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044

ReportPanel.commentArea.AccessibleContext.accessibleDescription=\u3053\u306e\u554f\u984c\u767a\u751f\u6642\u306b\u884c\u306a\u3063\u3066\u3044\u305f\u64cd\u4f5c\u3092\u3053\u3053\u306b\u8a18\u8ff0\u3067\u304d\u307e\u3059\u3002
ReportPanel.jLabel9.text=\u30b5\u30de\u30ea\u30fc(&M):

ReportPanel.jLabel4.text=\u554f\u984c\u767a\u751f\u6642\u306b\u884c\u3063\u3066\u3044\u305f\u64cd\u4f5c\u3092\u8a18\u8ff0\u3057\u3066\u304f\u3060\u3055\u3044(&D):
ReportPanel.summaryField.AccessibleContext.accessibleName=\u554f\u984c\u306e\u30b5\u30de\u30ea\u30fc

ReportPanel.commentArea.AccessibleContext.accessibleName=\u30b3\u30e1\u30f3\u30c8\u9818\u57df




ReportPanel.jLabel8.text_1=\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u554f\u984c\u306e\u524d\u306b\u53ce\u96c6\u3055\u308c\u305fUI\u30b8\u30a7\u30b9\u30c1\u30e3\u30fb\u30c7\u30fc\u30bf\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
ReportPanel.jLabel5.text_1=\u30d1\u30b9\u30ef\u30fc\u30c9(&P):
jCheckBox1.text=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u4fdd\u5b58(&E)
ReportPanel.jLabel10.text=\u30e6\u30fc\u30b6\u30fc\u540d\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093
ReportPanel.checking_password=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059

ReportPanel.jLabel11.text=(MyApplication.org\u30e6\u30fc\u30b6\u30fc\u540d)
ReportPanel.asAGuestCheckBox.text=\u30b2\u30b9\u30c8\u3068\u3057\u3066\u30ec\u30dd\u30fc\u30c8\u3092\u9001\u4fe1(&R)
ReportPanel.jPasswordField1.AccessibleContext.accessibleName=\u30d1\u30b9\u30ef\u30fc\u30c9\u30fb\u30d5\u30a3\u30fc\u30eb\u30c9
ReportPanel.jPasswordField1.AccessibleContext.accessibleDescription=MyApplication.org\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044

ReporterResultTopComponent.jButton1.text=\u81ea\u5206\u306e\u554f\u984c\u3092\u8868\u793a
no_data_found=<p><a href="{0}">{0}</a>\u3067\u30c7\u30fc\u30bf\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002<p>\u3053\u306e\u554f\u984c\u306f\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u63a5\u7d9a\u306e\u5207\u65ad\u307e\u305f\u306f\u30b5\u30fc\u30d0\u30fc\u5074\u3067\u767a\u751f\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3042\u3068\u3067\u518d\u5ea6\u554f\u984c\u3092\u5831\u544a\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u554f\u984c\u304c\u7e70\u308a\u8fd4\u3057\u767a\u751f\u3059\u308b\u5834\u5408\u306f\u3001<a href="https://myapplication.org/bugzilla/enter_bug.cgi?product=app&component=Report%20Exception">https://myapplication.org/bugzilla/enter_bug.cgi</a>\u3067\u4e0d\u5177\u5408\u3092\u4f8b\u5916\u30ec\u30dd\u30fc\u30bf\u306b\u63d0\u51fa\u3057\u3066\u304f\u3060\u3055\u3044\u3002
LoadingMessage=\u30ed\u30fc\u30c9\u4e2d 
ReportPanel.oomInfo.text=\u3053\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u306b\u306f\u30d2\u30fc\u30d7\u30fb\u30c0\u30f3\u30d7\u304c\u5fc5\u8981\u3067\u3059\u3002\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u30fb\u30b5\u30a4\u30ba\u306f\u6700\u592730MB\u306b\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002

ExceptionsSettings.password.description=\u4f8b\u5916\u30ec\u30dd\u30fc\u30bf\u30fb\u30ed\u30b0\u30a4\u30f3
ReportPanel.commentArea.text=<\u554f\u984c\u306e\u8aac\u660e\u307e\u305f\u306f\u518d\u73fe\u3059\u308b\u30b9\u30c6\u30c3\u30d7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044>

