###############################################################################
# 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
###############################################################################
#
# This string is the name of one of the validators.
# The name is displayed in the validation properties page
# and also in subtask messages (e.g. "Invoking Map Validator on <file name>")
#
#
# Version 1.6
#
EJB_VALIDATOR=EJB Validator
validation_UI_=Validation

DEPLOY_TASK_UI_=EJB Deployment Message
EJB_VALIDATION_PROBLEMMARKER_NAME=EJB Validator Message
EJB_FACET_LABEL=EJB Module
EJB_FACET_DESCRIPTION=Enables the project to be deployed as an EJB module.
EJB_FACET_TEMPLATE=EJB Project

Bundle-Vendor.0 = Eclipse.org
Bundle-Name.0 = EJB component Plug-in
