###############################################################################
# Copyright (c) 2000, 2014 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Fraunhofer FIRST - extended API and implementation
#     Technical University Berlin - extended API and implementation
#     Harry Terkelsen (het@google.com) - Bug 449262 - Allow the use of third-party Java formatters
###############################################################################
providerName=Eclipse.org - Object Teams
pluginName=Object Teams Development Tooling Core
javaNatureName=Java
javaBuilderName=Java Builder
javaProblemName=Java Problem
buildPathProblemName=Build Path Problem
transientJavaProblemName=Transient Java Problem
classpathVariableInitializersName=Classpath Variable Initializers
classpathContainerInitializersName=Classpath Container Initializers
codeFormattersName=Source Code Formatters
compilationParticipantsName=Compilation Participants
annotationProcessorManagerName=Java 6 Annotation Processor Manager
javaTaskName=Java Task
javaPropertiesName=Java Properties File
javaSourceName=Java Source File
javaClassName=Java Class File
jarManifestName=JAR Manifest File
traceComponentLabel=JDT Core
javaFormatterName=Java Formatter
defaultJavaFormatterName=Eclipse [built-in]
