###############################################################################
# Copyright (c) 2006, 2012 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 JPA 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...
moveToXml = Move to XML
convertJavaQueries = Java Queries...
convertJavaGenerators = Java Generators...
moveJavaQueriesToXML = Move Java Queries to XML...
moveJavaGeneratorsToXML = Move Java Generators to XML...
jpaMetadataConversionCommandCategory=JPA Metadata Conversion
synchronizeClasses = Synchronize Class List
makePersistent = Make Persistent...
persistenceEditor = Persistence XML Editor

javaPersistenceNode = Java Persistence
jpaNode = JPA
jpaEntityGenNode = Entity Generation
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 = JPA Element Creation
JptCreationActionSet.description = Command group for creating JPA elements

NewEntityAction.label = New Entity

jpaJpqlHyperlinkTarget = JPQL Editor
jpaJpqlHyperlinkDetector = JPQL Query