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

# ====================================================================
# 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= Java Persistence API Tools - UI
providerName=Eclipse.org

JPA_PLATFORM_UI="JPA Platform UI"

jpaNavigatorContent=JPA Content

jpaWizardCategoryName = JPA
newJpaProjectWizardName = JPA Project
newJpaProjectWizardDesc = Create a JPA project
newJpaEntityWizardName = Entity
newJpaEntityWizardDesc = Create a JPA Entity 
newJpaMappingFileWizardName = Mapping File
newJpaMappingFileWizardDesc = Create a JPA Mapping File

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

jpaMenuName = JPA Tools
generateEntities = Generate Entities from Tables...
generateDDL = Generate Tables from Entities...
migrateJavaProject = Convert to JPA Project ...
synchronizeClasses = Synchronize Class List

persistenceEditor=Persistence XML Editor

jpaPreferencePage = Java Persistence

jpaProjectPropertiesPage = Java Persistence

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