###############################################################################
# Copyright (c) 2003, 2005 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
###############################################################################
#
# $Source: /cvsroot/webtools/jeetools.move/webtools.javaee.git/plugins/org.eclipse.jem.ui/ui/org/eclipse/jem/internal/ui/proxy/remote/Attic/messages.properties,v $
# $Revision: 1.8 $  $Date: 2005/08/24 21:07:12 $
#

LocalLaunchProjectTab_name                        = &Project
LocalLaunchProjectTab_Project                     = &Project
LocalLaunchProjectTab_Browse                      = &Browse...
LocalLaunchProjectTab_Project_Selection           = Project Selection
LocalLaunchProjectTab_ChooseProject               = Choose a &project to for the launch:
LocalLaunchProjectTab_ProjectNotExist_ERROR_      = IWAV0174E Project "{0}" doesn''t exist.
LocalLaunchProjectTab_ProjectNotOpen_ERROR_       = IWAV0175E Project "{0}" is not open.
LocalLaunchProjectTab_ProjectValidateError_ERROR_ = IWAV0176E Project validation error. Msg is "{0}."
