################################################################################
# Copyright (c) 2008 by SAP AG, Walldorf. 
# 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:
#     SAP AG - initial API and implementation
#     Dimiter Dimitrov, d.dimitrov@sap.com - initial API and implementation     
################################################################################

ENTITY_WIZARD_TITLE=New JPA Entity
ADD_ENTITY_WIZARD_PAGE_TITLE=Entity class
ADD_ENTITY_WIZARD_PAGE_DESCRIPTION=Specify package, class name, and inheritance properties.
DEFAULT_PACKAGE_WARNING=The usage of the default package is not recommended.
ENTITY_PROPERTIES_TITLE=Entity Properties
ENTITY_PROPERTIES_DESCRIPTION=Set entity name, table name, fields, and access type.
ENTITY=Entity
MAPPED_AS_SUPERCLASS=Mapped Superclass
INHERITANCE_GROUP=Inheritance
XML_STORAGE_GROUP=XML Entity Mappings
XML_SUPPORT=Add to entity mappings in XML
CHOOSE_XML=Choose XML :
MAPPING_XML_TITLE=Mapping XML
XML_NAME_TITLE=XML name:
CHOOSE_MAPPING_XML_MESSAGE=Choose mapping XML or create new one
INCORRECT_XML_NAME=Incorrect XML name
TYPE_DIALOG_TITLE=Choose Type
TYPE_DIALOG_DESCRIPTION=Choose the type of the entity field.
ENTITY_NAME=Entity Name :
TABLE_NAME=Table Name :
USE_DEFAULT=Use default
ENTITY_FIELDS=Entity Fields
KEY=Key
NAME=Name
TYPE=Type
BROWSE_BUTTON_LABEL=Browse...
ADD_BUTTON_LABEL=Add...
EDIT_BUTTON_LABEL=Edit...
REMOVE_BUTTON_LABEL=Remove
DUPLICATED_ENTITY_NAMES_MESSAGE=There are duplicate names on created entity fields. Please resolve the duplication.
ACCESS_TYPE=Access Type :
FIELD_BASED=Field-based
PROPERTY_BASED=Property-based
NO_JPA_PROJECTS=No JPA projects in the workspace
APPLY_CHANGES_TO_PERSISTENCE_XML=Apply changes to persistence XML
ADD_MAPPED_SUPERCLASS_TO_XML=Add mapped superclass to XML
ADD_ENTITY_TO_XML=Add entity to XML
