###############################################################################
# Copyright (c) 2008 Sybase, Inc. and others.
# 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:
#     Sybase, Inc. - initial API and implementation
###############################################################################
! Properties file for component:  SQL Scrapbook

pluginName   = Eclipse Data Tools Platform Sqlscrapbook Plug-in
providerName = Eclipse Data Tools Platform

_UI_MENU_SELECT_CONNECTION= Select &Connection

# SQL Scrapbook
SQLScrapbookAction.title_UI_       = Open In SQL Editor

ExceptionDialog.seeErrorLogMessage = See error log for more details.
SQLScrapbookPlugin.internal_error  = Internal error

# ------- NewSQLScrapbookFileWizardPage------- 
NewWizardCategoryName=SQL Development
NewSQLScrapbookPage.label=SQL File
NewSQLScrapbookPage.description=Create a SQL File

NewSQLScrapbookFileCreationWizard.title=New SQL File
NewSQLScrapbookFileWizardPage.title=Create SQL File
NewSQLScrapbookFileWizardPage.description=Create a new SQL file

NewSQLScrapbookFileWizardPage.error.AlreadyExists=A file with the specified path already exists.
NewSQLScrapbookFileWizardPage.open_error.message=Error occurred while opening SQL File Editor
NewFileWithProfilePage.error.profile=Select a database connection profile for this resource

ScrapbookEditor.name=SQL File Editor

datatools.preferences.sqlfile.name=SQL Files/Scrapbooks

DatabaseManagement.command.attach=Set Connection Information

sql_scrapbook=SQL Scrapbook
open_sql_scrapbook=Open SQL Scrapboo&k
open_sql_scrapbook_tooltip=Open scrapbook to edit SQL statements

DatabaseManagement.ExecuteSQLFile=E&xecute SQL Files
DatabaseManagement.SetConnectionInfo=&Set Connection Info

AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...