################################################################################
# Copyright (c) 2006, 2010 Oracle. 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:
#     Oracle - initial API and implementation
################################################################################

ChooserPane_browseButton=Browse...

AccessTypeComposite_access=Access:
AccessTypeComposite_field=Field
AccessTypeComposite_property=Property

AddPersistentAttributeDialog_title=Add Attribute
AddPersistentAttributeDialog_attributeLabel=Attribute:
AddPersistentAttributeDialog_mappingLabel=Map as:
AddPersistentAttributeDialog_noMappingKeyError=You must specify a mapping type

AddPersistentClassDialog_title=Add Class
AddPersistentClassDialog_classLabel=Class:
AddPersistentClassDialog_classDialog_title=Persistent Class Selection
AddPersistentClassDialog_classDialog_message=Choose a class:
AddPersistentClassDialog_mappingLabel=Map as:
AddPersistentClassDialog_noClassError=You must specify a class
AddPersistentClassDialog_duplicateClassWarning=File already contains that persistent class
AddPersistentClassDialog_classNotFoundWarning=Cannot resolve class
AddPersistentClassDialog_noMappingKeyError=You must specify a mapping type

AddRemovePane_AddButtonText=Add...
AddRemovePane_RemoveButtonText=Remove

ClassChooserPane_dialogMessage=&Enter type name prefix or pattern (*, ?, or camel case):
ClassChooserPane_dialogTitle=Class Selection

DatabaseSchemaWizardPage_title=Database Schema
DatabaseSchemaWizardPage_desc=Select a database schema
DatabaseSchemaWizardPage_schemaSettings=Schema settings
DatabaseSchemaWizardPage_addConnectionToProject=<a>Add a connection to JPA project...</a>
DatabaseSchemaWizardPage_connectLink=<a>Connect</a>
DatabaseSchemaWizardPage_schema=Schema:
DatabaseSchemaWizardPage_connectionInfo=(Note: JPA project must have a connection and it must be active to select a schema)
DatabaseSchemaWizardPage_schemaInfo=(Note: Must have active connection to select schema)

EnumComboViewer_default=Default ()
EnumComboViewer_defaultWithDefault=Default ({0})

Error_openingEditor=Error Opening Editor

General_browse=Br&owse...
General_revert=Revert
General_deselectAll=Deselect All
General_selectAll=Select All

GenerateDDLWizard_title=DDL Generation

GenerateEntitiesWizard_generateEntities=Generate Entities
GenerateEntitiesWizardPage_chooseEntityTable=Choose tables to generate entities from.
GenerateEntitiesWizardPage_generateEntities=Generate Entities from Tables
GenerateEntitiesWizardPage_synchronizeClasses=Synchronize classes in persistence.xml
GenerateEntitiesWizardPage_tables=Tables:
GenerateEntitiesWizardPage_tableColumn=Table
GenerateEntitiesWizardPage_entityNameColumn=Entity Name

EntitiesGenerator_jobName=Generating Entities

GenericPlatformUiDialog_notSupportedMessageTitle=DDL Generation
GenericPlatformUiDialog_notSupportedMessageText=DDL Generation is not supported by the Generic Platform.

JpaContent_label=JPA Content

JpaStructureView_structureNotAvailable=JPA structure is not available.
JpaStructureView_linkWithEditorText=Link with Editor
JpaStructureView_linkWithEditorDesc=Link with Active Editor
JpaStructureView_linkWithEditorTooltip=Link with Editor
JpaStructureView_numItemsSelected={0} items selected

JpaDetailsView_viewNotAvailable=Details are not available for the current selection.

JpaFacetWizardPage_title=JPA Facet
JpaFacetWizardPage_description=Configure JPA settings.
JpaFacetWizardPage_platformLabel=&Platform
JpaFacetWizardPage_connectionLabel=&Connection
JpaFacetWizardPage_connectionLink=<a>Add connection ...</a>
JpaFacetWizardPage_connectLink=<a>Connect</a>
JpaFacetWizardPage_addDriverLibraryLabel=&Add driver library to build path
JpaFacetWizardPage_driverLibraryLabel=&Driver:
JpaFacetWizardPage_overrideDefaultCatalogLabel=&Override default catalog from connection
JpaFacetWizardPage_defaultCatalogLabel=Catalo&g:
JpaFacetWizardPage_overrideDefaultSchemaLabel=O&verride default schema from connection
JpaFacetWizardPage_defaultSchemaLabel=&Schema:
JpaFacetWizardPage_jpaImplementationLabel=JPA implementation
JpaFacetWizardPage_userServerLibLabel=Implementation provided by server runtime
JpaFacetWizardPage_specifyLibLabel=Implementation library:
JpaFacetWizardPage_jpaPrefsLink=<a>Configure default JPA implementation library ...</a>
JpaFacetWizardPage_userLibsLink=<a>Configure user libraries ...</a>
JpaFacetWizardPage_persistentClassManagementLabel=Persistent class management
JpaFacetWizardPage_discoverClassesButton=Discover annotated classes a&utomatically
JpaFacetWizardPage_listClassesButton=Annotated classes must be &listed in persistence.xml
JpaFacetWizardPage_createOrmXmlButton=Create &mapping file (orm.xml)
JpaFacetWizardPage_metamodelLabel=Canonical metamodel (JPA 2.0)
JpaFacetWizardPage_metamodelSourceFolderLink=<a>Source fol&der:</a>
JpaFacetWizardPage_none=<None>

JpaPreferencesPage_Description=Expand the tree to edit preferences for a specific feature.

JpaProblemSeveritiesPage_Description=Select the severity level for the following optional Java Persistence validation problems:
JpaProblemSeveritiesPage_Error=Error
JpaProblemSeveritiesPage_Ignore=Ignore
JpaProblemSeveritiesPage_Info=Info
JpaProblemSeveritiesPage_Warning=Warning

MappingFileWizard_title=New Mapping File
MappingFileWizardPage_title=Mapping file
MappingFileWizardPage_desc=Specify mapping file location and properties
MappingFileWizardPage_projectLabel=&Project:
MappingFileWizardPage_sourceFolderLabel=Source fol&der:
MappingFileWizardPage_filePathLabel=File pat&h:
MappingFileWizardPage_accessLabel=Default a&ccess:
MappingFileWizardPage_addToPersistenceUnitButton=&Add to persistence unit
MappingFileWizardPage_persistenceUnitLabel=Persistence &unit:
MappingFileWizardPage_incorrectSourceFolderError=Selection must be a valid source folder
MappingFileWizardPage_accessLabel_sourceFolderDialogTitle=Source Folder Selection
MappingFileWizardPage_accessLabel_sourceFolderDialogDesc=Choose a source folder:

NewJpaProjectWizard_title=New JPA Project
NewJpaProjectWizard_firstPage_title=JPA Project
NewJpaProjectWizard_firstPage_description=Configure JPA project settings.

OrmItemLabelProviderFactory_entityMappingsLabel=Entity Mappings

PackageChooserPane_dialogTitle=Package Selection
PackageChooserPane_dialogMessage=Choose a folder: 

PersistenceItemLabelProviderFactory_persistenceLabel=Persistence

OverwriteConfirmerDialog_title=Overwrite Existing Class
OverwriteConfirmerDialog_text=Overwrite source code for the class ''{0}''?
