###############################################################################
# Copyright (c) 2004, 2012 Actuate Corporation.
# 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:
#  Actuate Corporation  - initial API and implementation
#
###############################################################################
# Plug-in Profile Configuration
#
oda.data.source.id=org.eclipse.datatools.connectivity.oda.flatfile
oda.parent.category.id=org.eclipse.datatools.connectivity.oda.profileCategory
#
###############################################################################
# NLS String
###############################################################################
plugin.name=Eclipse Data Tools Platform Flat File ODA Runtime Driver
datasource.name=Flat File Data Source
dataset.name=Flat File Data Set
oda.data.source.category.name=Flat File Data Source
connection.profile.name=ODA Flat File Data Source Connection Profile

datasource.property.home=Home &Folder
datasource.property.csvdelimitertype=CSV &Type
datasource.property.charset=&Character Set
datasource.property.incltypeline=Use Second Line as &Data Type Indicator
datasource.property.inclcolumnnameline=Use First Line as Column &Name Indicator
datasource.property.trailnullcols=Use trailing nu&ll columns
datasource.property.uri=File U&RI

dataset.property.savedcolumnsinfo=The Information about Each Column

property.value.yes=Yes
property.value.no=No
property.value.comma=COMMA
property.value.semicolon=SEMICOLON
property.value.pipe=PIPE
property.value.tab=TAB
#
#  Below NLS messages apply to all ODA data sources; should be re-factored
#
oda.connection.factory.name=ODA Connection Factory
