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

Boolean_False=False
Boolean_True=True
EntityMappingsDetailsPage_access=Access:
EntityMappingsDetailsPage_catalog=Catalog:
EntityMappingsDetailsPage_field=Field
EntityMappingsDetailsPage_package=Package:
EntityMappingsDetailsPage_property=Property
EntityMappingsDetailsPage_schema=Schema:
EntityMappingsPage_catalogDefault=Default ({0}
EntityMappingsPage_catalogNoDefaultSpecified=Default
EntityMappingsPage_schemaDefault=Default ({0})
EntityMappingsPage_schemaNoDefaultSpecified=Default
MetadataCompleteComposite_metadataComplete=Metadata complete
MetadataCompleteComposite_metadataCompleteWithDefault=Metadata complete ({0})
OrmGeneratorsComposite_addTableGenerator=Add Table...
OrmGeneratorsComposite_addTableGeneratorDescription=Create a new table generator, a table generator defines a primary key generator that may be referenced by name when a generator element is specified.
OrmGeneratorsComposite_addTableGeneratorDescriptionTitle=Create new table generator
OrmGeneratorsComposite_addTableGeneratorTitle=New Table Generator
OrmGeneratorsComposite_addSequenceGenerator=Add Sequence...
OrmGeneratorsComposite_addSequenceGeneratorDescription=Create a new sequence generator, a sequence generator defines a primary key generator that may be referenced by name when a generator element is specified.
OrmGeneratorsComposite_addSequenceGeneratorDescriptionTitle=Create new sequence generator
OrmGeneratorsComposite_addSequenceGeneratorTitle=New Sequence Generator
OrmGeneratorsComposite_displayString=<Name not set> {0}
OrmGeneratorsComposite_edit=Edit...
OrmGeneratorsComposite_editSequenceGeneratorTitle=Edit Sequence Generator
OrmGeneratorsComposite_editSequenceGeneratorDescription=Edit the name of the sequence generator.
OrmGeneratorsComposite_editSequenceGeneratorDescriptionTitle=Edit sequence generator
OrmGeneratorsComposite_editTableGeneratorTitle=Edit Table Generator
OrmGeneratorsComposite_editTableGeneratorDescription=Edit the name of the table generator.
OrmGeneratorsComposite_editTableGeneratorDescriptionTitle=Edit named table generator
OrmGeneratorsComposite_groupBox=Generators
OrmGeneratorsComposite_label=&Name:
OrmJavaAttributeChooser_javaAttribute=Java attribute:
OrmJavaClassChooser_javaClass=Java class:
OrmQueriesComposite_groupBox=Queries
OrmSequenceGeneratorComposite_sequence=Sequence:
OrmSequenceGeneratorComposite_name=Name:
OrmTableGeneratorComposite_name=Name:
OrmTableGeneratorComposite_table=Table:
OrmTableGeneratorComposite_tableGenerator=Table Generator
OrmTableGeneratorComposite_pkColumn=Primary key column:
OrmTableGeneratorComposite_valueColumn=Value column:
OrmTableGeneratorComposite_pkColumnValue=Primary key column value:
OrmTableGeneratorComposite_default=Default
PersistenceUnitMetadataComposite_access=Access:
PersistenceUnitMetadataComposite_cascadePersistCheckBox=Cascade persist
PersistenceUnitMetadataComposite_catalog=Catalog:
PersistenceUnitMetadataComposite_field=Field
PersistenceUnitMetadataComposite_persistenceUnitSection=Persistence Unit
PersistenceUnitMetadataComposite_property=Property
PersistenceUnitMetadataComposite_schema=Schema:
PersistenceUnitMetadataComposite_xmlMappingMetadataCompleteCheckBox=XML mapping metadata complete
PersistenceUnitMetadataSection_catalogDefault=Default ({0})
PersistenceUnitMetadataSection_schemaDefault=Default ({0})
