###############################################################################
# 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
###############################################################################

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================
pluginName= Dali Java Persistence Tools - JPA UI
providerName=Eclipse Web Tools Platform

JPA_PLATFORM_UI="JPA Platform UI"

jpaNavigatorContent=JPA Content

jpaWizardCategoryName = JPA
newJpaProjectWizardName = JPA Project
newJpaProjectWizardDesc = Create a JPA project
newJpaEntityWizardName = JPA Entity
newJpaEntityWizardDesc = Create a JPA Entity 
newJpaMappingFileWizardName = JPA ORM Mapping File
newJpaMappingFileWizardDesc = Create a JPA ORM Mapping File
newJpaEntityFromTableWizardName = JPA Entities from Tables
newJpaEntityFromTableWizardDesc = Create JPA Entities from database tables 

upgradeToLatestVersion = Upgrade Document Version
jpaStructureViewCommandCategory = JPA Structure View
addPersistentClass = Add Class...
removePersistentClass = Remove Class
addPersistentAttributeToXml = Add Attribute to XML
addPersistentAttributeToXmlAndMap = Add Attribute to XML and Map...
removePersistentAttributeFromXml = Remove Attribute from XML
mapAs=Map As
mapAsMnemonic=M
mapAsParameterName=mapping key
mapAsSpecifiedMappingParameterName=specified mapping key
mapAsDefaultMappingParameterName=default mapping key
convertJavaProjectToJpaCommandName=Convert to JPA Project...

jpaMenuName = JPA Tools
generateEntities = Generate Entities from Tables...
generateDDL = Generate Tables from Entities...
synchronizeClasses = Synchronize Class List
makePersistent = Make Persistent...
persistenceEditor=Persistence XML Editor

javaPersistenceNode = Java Persistence
jpaNode = JPA
jpaProblemSeveritiesNode = Errors/Warnings

jpaPerspective = JPA
jpaPerspectiveDescription = This perspective is designed to support Java Persistence (JPA) development. It offers a Project Explorer, JPA Details, JPA Structure and a Data Source Explorer.
jpaDetails = JPA Details
jpaStructure = JPA Structure
JpaProposalCategory = JPA Proposals

JptCreationActionSet.label = Jpt Creation
JptCreationActionSet.description = Jpt Creation Action Set

NewEntityAction.label = New Entity