#******************************************************************************
# * 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 v1.0 which
# * accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# * 
# * 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>
