# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
#
# Copyright 1997-2010 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-2009 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.

CAP_Implements=\u5b9f\u88c5\u3057\u3066\u3044\u308b
CAP_Overrides=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b
#{0}: implements/overrides what
TP_Implements=\u6b21\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5: {0}
TP_Overrides=\u6b21\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9: {0}
TP_HasImplementations=\u5b9f\u88c5\u3042\u308a
TP_IsOverridden=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b

CAP_HasImplementations=\u5b9f\u88c5\u3042\u308a
CAP_IsOverridden=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b

NAME_AnonynmousInner=\u533f\u540d
NAME_In=\u5185

CTL_IsOverriddenAnnotationAction=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u305f\u6ce8\u91c8
CTL_GoToImplementation=\u5b9f\u88c5\u3078\u79fb\u52d5
goto-implementation=\u5b9f\u88c5\u3078\u79fb\u52d5

LAB_IsOverridenAnnotation-override-is-overridden-combined=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b
TP_COMBINED-override-is-overridden-combined=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b
LAB_IsOverridenAnnotation-implements-is-overridden-combined=\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b
TP_COMBINED-implements-is-overridden-combined=\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b
#XXX: inside interfaces, but this should ideally be overrides/has implementations:
LAB_IsOverridenAnnotation-implements-has-implementations-combined=\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u5b9f\u88c5\u3042\u308a
TP_COMBINED-implements-has-implementations-combined=\u5b9f\u88c5\u3057\u3066\u3044\u308b\u3001\u304b\u3064\u3001\u5b9f\u88c5\u3042\u308a
LAB_IsOverriddenAnnotation=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b
LAB_OverridesAnnotation=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3057\u3066\u3044\u308b
LAB_ImplementsAnnotation=\u5b9f\u88c5\u3057\u3066\u3044\u308b
LAB_HasImplementationsAnnotation=\u5b9f\u88c5\u3042\u308a

LBL_NoMethod=\u30e1\u30bd\u30c3\u30c9\u3082\u578b\u3082\u3042\u308a\u307e\u305b\u3093
LBL_NoOverridingMethod=\u30e1\u30bd\u30c3\u30c9\u306e\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
LBL_NoOverridingType=\u578b\u306e\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
ERR_CycleInDependencies=\u4f9d\u5b58\u6027\u306e\u30b5\u30a4\u30af\u30eb
LBL_ImplementorsOverridersClass=\u5b9f\u88c5/\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u306e\u5b9f\u884c\u5074
LBL_ImplementorsOverridersMethod=\u5b9f\u88c5/\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3055\u308c\u3066\u3044\u308b\u5834\u6240
ERR_NoDependencies=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f9d\u5b58\u6027\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093

