#******************************************************************************
# * Copyright (c) 2007 Sybase, Inc.
# * 
# * All rights reserved. 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/
# * 
# * Contributors: brianf - initial API and implementation
#******************************************************************************

#Properties file for org.eclipse.datatools.connectivity.ui.templates
Bundle-Name.0 = DTP Connectivity Templates Plug-in
Plugin.ProviderName = Eclipse Data Tools Platform
wizard.name.profile = Plug-in with a DTP connection profile
wizard.name.profile.description=\
This wizard creates a plug-in for a DTP Connection Profile.\
<p><b>Extension Used</b></p>\
<li>org.eclipse.datatools.connectivity.connectionProfile</li>
wizard.name.driver = Plug-in with a DTP driver template
wizard.name.driver.description=\
This wizard creates a plug-in for a DTP Driver Template.\
<p><b>Extension Used</b></p>\
<li>org.eclipse.datatools.connectivity.driverTemplate</li>
template.name.profile = DTP Connection Profile
template.name.driver = DTP Driver Template
template.connectionProfile.name = DTP Connection Profile
template.driverTemplate.name = DTP Driver Template
template.connectionProfile.desc = \
This template creates a plug-in for a DTP Connection Profile.\
<p><b>Extension Used</b></p>\
<li>org.eclipse.datatools.connectivity.connectionProfile</li>
template.driverTemplate.desc = \
This template creates a plug-in for a DTP Driver Template.\
<p><b>Extension Used</b></p>\
<li>org.eclipse.datatools.connectivity.driverTemplate</li>

PluginSampleTemplateWizard = Plug-in with a DTP JDBC Connection Profile
PluginSampleTemplate = DTP Sample Profile

PluginSampleTemplateWizard.profile.description=\
This wizard creates a plug-in for a DTP JDBC Connection Profile\
with a wizard and property page.\
<p><b>Extensions Used</b></p>\
<li>org.eclipse.datatools.connectivity.connectionProfile</li>\
<li>org.eclipse.ui.propertyPages</li>
