################################################################################
# Copyright (c) 2006, 2008 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...

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

AddPersistentClassDialog_title=Add Persistent 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

DatabaseReconnectWizardPage_database=Database Settings
DatabaseReconnectWizardPage_databaseConnection=Database Connection
DatabaseReconnectWizardPage_reconnectToDatabase=Reconnect to the database.
DatabaseReconnectWizardPage_connection=Connection:
DatabaseReconnectWizardPage_schema=Schema:
DatabaseReconnectWizardPage_schemaInfo=(Note:  Must have active connection to select schema)
DatabaseReconnectWizardPage_addConnectionLink=<a>Add connections...</a>
DatabaseReconnectWizardPage_reconnectLink=<a>Reconnect...</a>

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

Error_openingEditor=Error Opening Editor

General_browse=Browse...
General_deselectAll=Deselect All
General_selectAll=Select All

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

JpaPreferencePage_defaultJpaLib=Default JPA implementation library:
JpaPreferencePage_userLibsLink=<a>Configure user libraries ...</a>
JpaPreferencePage_invalidJpaLib=Invalid Library:  Must contain javax.persistence classes.

JpaStructureView_structureNotAvailable=JPA structure is not available.
JpaStructureView_linkWithEditorText=Link with Editor
JpaStructureView_linkWithEditorDesc=Link with Active Editor
JpaStructureView_linkWithEditorTooltip=Link with Editor

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_overrideDefaultSchemaLabel=Override default schema from connection
JpaFacetWizardPage_defaultSchemaLabel=Schema:
JpaFacetWizardPage_jpaImplementationLabel=JPA implementation
JpaFacetWizardPage_userServerLibLabel=Use implementation provided by server runtime
JpaFacetWizardPage_specifyLibLabel=Use 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 automatically
JpaFacetWizardPage_listClassesButton=Annotated classes must be listed in persistence.xml
JpaFacetWizardPage_createOrmXmlButton=Create orm.xml
JpaFacetWizardPage_none=<None>

MapAsComposite_basic=basic
MapAsComposite_basic_default=basic (default)
MapAsComposite_basic_default2=Basic (Default)
MapAsComposite_changeMappingType=here
MapAsComposite_default=Default
MapAsComposite_dialogTitle=Mapping Type Selection
MapAsComposite_embedded=embedded
MapAsComposite_embedded_default=embedded (default)
MapAsComposite_embedded_default2=Embedded (Default)
MapAsComposite_embeddedid=embedded id
MapAsComposite_embeddable=embeddable
MapAsComposite_entity=entity
MapAsComposite_id=id
MapAsComposite_labelText=&Enter mapping type or pattern (*, ?, or camel case):
MapAsComposite_manytomany=many to many
MapAsComposite_manytoone=many to one
MapAsComposite_mappedsuperclass=mapped superclass
MapAsComposite_mappedAttributeText=Attribute ''{0}'' is mapped as {1}.
MapAsComposite_mappedTypeText=Type ''{0}'' is mapped as {1}.
MapAsComposite_onetomany=one to many
MapAsComposite_onetoone=one to one
MapAsComposite_transient=transient
MapAsComposite_unmappedAttributeText=Attribute ''{0}'' is not mapped, click here to change the mapping type.
MapAsComposite_unmappedTypeText=Type ''{0}'' is not mapped, click here to change the mapping type.
MapAsComposite_version=version
MapAsComposite_virtualAttributeText=Attribute ''{0}'' is not mapped.

MappingFileWizard_title=New Mapping File
MappingFileWizardPage_title=Mapping file
MappingFileWizardPage_desc=Specify mapping file location and properties
MappingFileWizardPage_projectLabel=Project:
MappingFileWizardPage_sourceFolderLabel=Source folder:
MappingFileWizardPage_filePathLabel=File path:
MappingFileWizardPage_accessLabel=Default access:
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
PersistentAttributePage_mapAs=Map As:

PersistentTypePage_mapAs=Map As:

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