###############################################################################
# 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/Attic/plugin.properties,v $
# $Revision: 1.4 $  $Date: 2005/08/24 21:07:12 $
#


pluginName=Java EMF Model UI
providerName = Eclipse.org

proxyLaunchGroup.label=Proxy

ActionSet.proxyTools=Proxy Tools
ActionSet.proxyTools.Description=Actions for working with Proxy and Proxy Launchers.
Action.proxyLaunch=Proxy...
Action.proxyLaunchTip=Proxy Launch Manager
Action.selectDefault=Select Default Proxy Configuration...
Action.selectDefaultTip=Select default for {0}.
Menu.run=&Run

Editors.OverrideEditor = Override Editor

# This is the title of the Properties page for setting properties of BeanInfo paths.
BeaninfoPath_Title_UI_ = BeanInfo Path
