###############################################################################
# Copyright (c) 2003, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
ear_validator_UI_=Enterprise Application (1.x) Validator
war_validator_UI_=WAR Validator
application_client_validator_UI_=Application Client (1.x) Validator
validation_UI_=Migration Of Validation
_UI_ParamValue_type=Param:
EAR_VALIDATION_PROBLEMMARKER_NAME=Enterprise Application Validator Message
EAR_FACET_LABEL=EAR
EAR_FACET_DESCRIPTION=Enables the project to be deployed as an EAR module.
EAR_FACET_TEMPLATE=EAR Project
UTILITY_FACET_LABEL=Utility Module
UTILITY_FACET_DESCRIPTION=Enables the project to be referenced by Java EE modules.
UTILITY_FACET_TEMPLATE=Java Utility Project
APPCLIENT_FACET_LABEL=Application Client module
APPCLIENT_FACET_DESCRIPTION=Enables the project to be deployed as a Java EE Application Client module.
APPCLIENT_FACET_TEMPLATE=Application Client Project
differentRuntimesDetectedMarkerName = Faceted Project Problem (Mismatched Runtimes)
Bundle-Vendor.0 = Eclipse Web Tools Platform
Bundle-Name.0 = Java EE Component
classpath_component_dependency_validator_UI_=Classpath Dependency Validator
classpath_dependency_validator_problemmarker_name=Classpath Dependency Validator Message
ejbEditorContentType=EJB Project Content
webEditorContentType=Web Project Content
earEditorContentType=EAR project Content
appclientEditorContentType=Application Client Content
ConnectorContentType=Connector Content
