################################################################################
# <copyright>
#
# Copyright (c) 2005, 2010 SAP AG.
# 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:
#    Petya Sabeva - initial API, implementation and documentation
#
# </copyright>
#
################################################################################
AddJPAEntityFeature_basicAttributesShapes=Other Attributes
AddJPAEntityFeature_primaryKeysShape=Primary Key
AddJPAEntityFeature_relationAttributesShapes=Relation Attributes
ClickAddAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
ClickAddAttributeButtonFeature_createAttributeButtonLabel=Create Attribute

ClickRemoveAttributeButtonFeature_createAttributeButtonDescription=Create a new attribute of this entity.
ClickRemoveAttributeButtonFeature_createAttributeButtonlabel=Create Attribute
ClickRemoveAttributeButtonFeature_deleteAttributeQuestion=Do you want to delete attribute "{0}"?

CreateDiagramJob_createDiagramJobName=Creating diagram for: {0}...
CreateDiagramJob_getJPADiagramMonitorTaskName=Get JPA Diagram
CreateJPAEntityFeature_createEntityErrorMsg=Entity could not be created.
CreateJPAEntityFeature_createEntityErrorMsgTitle=Cannot Create Entity
CreateJPAEntityFeature_createEntityErrorStatusMsg=Persistence API library is not into the project's classpath.
CreateJPAEntityFeature_jpaEntityFeatureDescription=Create a new JPA entity.
CreateJPAEntityFeature_jpaEntityFeatureName=Java Entity
CreateJPAEntityFeature_jpaProjectSelectionDialogDescription=Select a JPA project to contain the entity.
CreateJPAEntityFeature_jpaProjectSelectionDialogTitle=Select JPA Project
CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureDescription=Create a new JPA entity that will inherit a new Mapped Superclass.
CreateJPAEntityFromMappedSuperclassFeature_createInheritedEntityFeatureName=Inherited Entity

CreateManyToManyBiDirRelationFeature_manyToManyBiDirFeatureName=Many-to-Many
CreateManyToManyBiDirRelationFeature_manyToManyUniDirFeatureDescription=Create new bidirectional many-to-many relation.

CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureDescription=Create new unidirectional many-to-many relation.
CreateManyToManyUniDirRelationFeature_manyToManyUniDirFeatureName=Many-to-Many

CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureDescription=Create new bidirectional many-to-one relation.
CreateManyToOneBiDirRelationFeature_manyToOneBiDirFeatureName=Many-to-One

CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureDescription=Create new unidirectional many-to-one relation.
CreateManyToOneUniDirRelationFeature_manyToOneUniDirFeatureName=Many-to-One

CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureDescription=Create new unidirectional one-to-many relation.
CreateOneToManyUniDirRelationFeature_oneToManyUniDirFeatureName=One-to-Many

CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureDescription=Create new bidirectional one-to-one relation.
CreateOneToOneBiDirRelationFeature_oneToOneBiDirFeatureName=One-to-One

CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureDescription=Create new unidirectional one-to-one relation.
CreateOneToOneUniDirRelationFeature_oneToOneUniDirFeatureName=One-to-One

DeleteJPAEntityFeature_deleteJPAEntityQuestion=Do you want to delete entity "{0}" from the JPA model?

DeleteRelationFeature_deleteRelationQuestion=Do you want to delete this relation?

DirectEditAttributeFeature_attributeExists=Attribute with name "{0}" already exists.
DirectEditAttributeFeature_classNameMsg=Enter an attribute name.
DirectEditAttributeFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in attribute names.
DirectEditAttributeFeature_spacesNotAllowedMsg=You cannot use spaces in attribute names.

DirectEditJPAEntityFeature_bracesNotAllowedMsg=You cannot use braces in entity names.
DirectEditJPAEntityFeature_classNameMsg=Enter an entity name.
DirectEditJPAEntityFeature_duplicateEntityName=Entity with name "{0}" already exists.
DirectEditJPAEntityFeature_lineBreaksNotAllowedMsg=You cannot use line breaks in entity names.
DirectEditJPAEntityFeature_scpacesNotAllowedMsg=You cannot use spaces in entity names.
DirectEditJPAEntityFeature_invalidSymbolsMsg="{0}" is not a valid entity name.

JpaArtifactFactory_CanNotCheckReturnType=Cannot check the return type

JPADiagramEditor_waitingForMoin=Waiting for MOIN connection initialization...

JPADiagramPropertyPage_errSavePropsMsgTitle=Cannot Save Properties
JPADiagramPropertyPage_errSavePropsMsgText=The JPA diagram properties could not be saved

JPAEditorPreferencesPage_pageDescription=Default settings for the JPA diagram editor:
JPAEditorPreferencesPage_DefaultCollectionTypeSectionDescription=Relation attributes, which you generate using the JPA editor,\nare automatically created to be of the specified collection type.
JPAEditorPreferencesPage_DefaultCollectionTypeSectionTittle=Default Collection Type
JPAEditorPreferencesPage_DefaultPackageMsg=Entities, which you generate using the JPA editor palette,\nare automatically created in the specified package.
JPAEditorPreferencesPage_DefaultTableNamePrefixMsg=Entities, which you have created, using the JPA editor palette, are automatically\nannotated with @Table(name=...), where the name of the table is a result of\nconcatenation of the given prefix and the name of the entity. If you set\na blank prefix, the newly created entities are not annotated with @Table.
JPAEditorPreferencesPage_DefaultTableNameLabel=Default &table name prefix:
JPAEditorPreferencesPage_DefaultPackageToUse=Default &Java package for new entities:
JPAEditorPreferencesPage_invalidPackage="{0}" is not a valid Java identifier.
JPAEditorPreferencesPage_invalidTableNamePrefix=Table name prefix may contain letters, digits and underscores only, and must not start with a digit.
JPAEditorPreferencesPage_directEditAffectsClass=&Editing the entity name in the diagram affects the class name in the source file
JPAEditorPreferencesPage_directEditAffectsClassTooltip=If this option is checked and the entity name is appointed\nby the @Entity annotation, direct entity name editing will\naffect the annotation and will cause class name refactoring.\nIf this option is unchecked, direct editing will affect the\nannotation only. If the entity name is not appointed by the\n@Entity annotation, direct editing will cause class name\nrefactoring regardless this option is checked or not.
JPAEditorPreferencesPage_entityAccessTypeButtonGroupTooltip=Entities, which you generate using the JPA editor palette,\nare automatically created with the specified access.
JPAEditorPreferencesPage_entityAccessTypeButtonGroupLabel=Entity access type
JPAEditorPreferencesPage_entityFieldBasedAccessButtonLabel=&Field-based
JPAEditorPreferencesPage_entityPropertyBasedAccessButtonLabel=&Property-based
JPAEditorPreferencesPage_defaultFolderControlTooltip=The newly created diagram file(s) will be stored in this folder
JPAEditorPreferencesPage_defaultFolderControlLabel=Folder for &diagrams:
JPAEditorPreferencesPage_invalidFolder=The folder name must be preceded by "{0}".
JPAEditorPreferencesPage_emptyFolder=The folder name for diagrams must not be empty.
JPAEditorPreferencesPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations in JPA 2.0 projects 
JPAEditorPreferencesPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations in JPA 2.0 projects will be old\n(JPA 1.0) style.  I.e., the corresponding attributes will\nbe created without @JoinColumn(s) annotation.

JPAEditorPropertyPage_oneToManyOldStyle=&One-to-Many unidirectional old (JPA 1.0) style relations
JPAEditorPropertyPage_oneToManyOldStyleTooltip=If this option is checked, the newly created One-to-Many\nunidirectional relations will be old (JPA 1.0) style.\nI.e., the corresponding attributes will be created without\n@JoinColumn(s) annotation.

JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItem=Collapse Attributes Group
JPAEditorToolBehaviorProvider_collapseAttrGroupMenuItemDescr=Collapse the attributes group.
JPAEditorToolBehaviorProvider_collapseCompartToolTip=Double click to collapse "{0}" attributes group.
JPAEditorToolBehaviorProvider_collapseEntityMenuItem=Collapse Entity
JPAEditorToolBehaviorProvider_collapseEntityMenuItemDescr=Collapse entity.
JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItem=Collapse All
JPAEditorToolBehaviorProvider_collapseAllEntitiesMenuItemDescr=Collapse all entities
JPAEditorToolBehaviorProvider_createAttributeButtonDescription=Create new attribute of this entity.
JPAEditorToolBehaviorProvider_createAttributeButtonlabel=Create Attribute
JPAEditorToolBehaviorProvider_customSubMenuDescription=Custom features submenu
JPAEditorToolBehaviorProvider_customSubMenuText=Custom
JPAEditorToolBehaviorProvider_deleteAttributeButtonDescription=Delete this attribute from the model.
JPAEditorToolBehaviorProvider_deleteAttributeButtonlabel=Delete Attribute
JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonDescription=Remove this JPA entity from the diagram and delete it from the JPA model.
JPAEditorToolBehaviorProvider_deleteEntityFromModelButtonLabel=Delete
JPAEditorToolBehaviorProvider_discardChangesMenuItem=Discard Changes
JPAEditorToolBehaviorProvider_discardChangesMenuItemDescr=Discard all changes made to this JPA entity after the last saving.
JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonDescription=Discard all changes made to this JPA entity after the last saving and remove it from the diagram.
JPAEditorToolBehaviorProvider_removeEntityFromDiagramButtonLabel=Discard Changes and Remove
JPAEditorToolBehaviorProvider_saveButtonText=Save
JPAEditorToolBehaviorProvider_saveButtonDescription=Save all changes made to this JPA entity.
JPAEditorToolBehaviorProvider_saveMenuItem=Save
JPAEditorToolBehaviorProvider_saveMenuItemDescr=Save all changes made to this JPA entity.
JPAEditorToolBehaviorProvider_restoreButtonText=Discard Changes
JPAEditorToolBehaviorProvider_restoreButtonDescription=Discard all changes made to this JPA entity after the last saving.
JPAEditorToolBehaviorProvider_removeAndSaveButtonText=Save And Remove
JPAEditorToolBehaviorProvider_removeAndSaveButtonDescription=Save all changes made to this entity and remove it from the diagram.
JPAEditorToolBehaviorProvider_showAllTheEntities=Show All Entities
JPAEditorToolBehaviorProvider_showAllTheEntitiesDesc=Show all entities within the project on the diagram.
JPAEditorToolBehaviorProvider_refactorSubMenu=Refactor Entity Class
JPAEditorToolBehaviorProvider_renameEntityClass=Rename...
JPAEditorToolBehaviorProvider_moveEntityClass=Move...
JPAEditorToolBehaviorProvider_openJPADetailsView=Open JPA Details View
JPAEditorToolBehaviorProvider_openJPADetailsViewDesc=Open the JPA Details view to view/modify the details of the selected persistent object.
JPAEditorToolBehaviorProvider_openMiniatureView=Open Miniature View 
JPAEditorToolBehaviorProvider_openMiniatureViewDesc=Open the Miniature view to display the diagram in a larger scale.
JPAEditorToolBehaviorProvider_applyPattern=Apply Template... 
JPAEditorToolBehaviorProvider_applyPatternDesc=Apply Template
JPAEditorToolBehaviorProvider_expandAttrMenuItem=Expand Attributes Group
JPAEditorToolBehaviorProvider_expandAttrMenuItemDescr=Expand the attributes group.
JPAEditorToolBehaviorProvider_expandCompartToolTip=Double click to expand "{0}" attributes group.
JPAEditorToolBehaviorProvider_expandEntityMenuItem=Expand Entity
JPAEditorToolBehaviorProvider_expandEntitymenuItemDescr=Expand entity.
JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItem=Expand All
JPAEditorToolBehaviorProvider_expandAllEntitiesMenuItemDescr=Expand all entities.
JPAEditorToolBehaviorProvider_refactorAttributeType=Refactor Attribute Type...
JPAEditorToolBehaviorProvider_refactorAttributeTypeDesc=Change the type of the selected attribute.
JPAEditorToolBehaviorProvider_removeAllEntitiesMenu=Remove All Entities From Diagram
JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesAction=...and Save Changes
JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesAction=...and Discard Changes
JPAEditorToolBehaviorProvider_removeAndSaveAllEntitiesConfirmation=Do you want to save the changes and remove all entities from the diagram?
JPAEditorToolBehaviorProvider_removeAndDiscardAllEntitiesConfirmation=Do you want to discard the changes and remove all entities from the diagram?

JPAEditorDiagramTypeProvider_cantMakeDiagramWritableTitle=Can't Make Diagram Writable
JPAEditorDiagramTypeProvider_cantMakeDiagramWritableMsg=Cannot make the JPA diagram file writable:\n\n{0}
JPAEditorDiagramTypeProvider_JPADiagramReadOnlyTitle=JPA Diagram Read-Only
JPAEditorDiagramTypeProvider_JPADiagramReadOnlyMsg=The JPA diagram file is read-only and cannot be synchronized with the model. In order to open the diagram, the JPA editor must make this file writable.
JPAEditorDiagramTypeProvider_JPADiagramReadOnlyHasToAddMsg=Cannot show the selected entity in the JPA diagram, because the diagram file is read-only. In order to show the entity, the JPA editor must make this file writable.

OpenJpaDiagramActionDelegate_openJPADiagramErrorMsgTitle=Cannot Open Diagram
OpenJpaDiagramActionDelegate_openJPADiagramErrorMsg=Cannot open the JPA diagram editor
OpenJpaDiagramActionDelegate_jpaSupportWarningTitle=JPA Support
OpenJpaDiagramActionDelegate_jpaSupportWarningMsg=JPA Diagram Editor has partial  JPA 2.0  support only.   When you use it with  JPA 2.0 enabled projects you should visualize JPA 1.0 compliant entities only. Otherwise, the editor behavior will become erratic. 
OpenJpaDiagramActionDelegate_noPersistenceUnitTitle=No Persistence Unit
OpenJpaDiagramActionDelegate_noPersistenceUnitMsg=The JPA Diagram Editor can not be open, because the persistence unit does not exist or is corrupted. 

JPAEditorUtil_fullnameTooltipText=\ Class Name: {0} 
JPAEditorUtil_typeTooltipText=\ Type: {0} 
JPAEditorUtil_applyChangesJobName=Apply changes to persistence.xml.
JPAEditorUtil_inheritTypeTooltipText=\ Class Name: {0} \n This entity inherits {1}

PaletteCompartment_Connections=Relations
PaletteCompartment_Objects=Entities

BTN_OK=OK
BTN_CANCEL=Cancel

SelectTypeDialog_chooseAttributeTypeDialogText=Select a primitive type for the attribute "{0}" of the entity "{1}" or choose the "Browse" button to select a class type.
SelectTypeDialog_browseBtnTxt=&Browse...
SelectTypeDialog_browseBtnDesc=Browse to select a class.
SelectTypeDialog_typeLabel=&Type:
SelectTypeDialog_chooseAttributeTypeDialogWindowTitle=Select Type
SelectTypeDialog_chooseAttributeTypeDialogTitle=Select New Attribute Type
SelectTypeDialog_invalidTypeMsgTitle=Invalid Type
SelectTypeDialog_invalidTypeMsgText="{0}" is not valid java type or primitive.
SelectTypeDialog_emptyTypeErrorText=The new type name must not be empty

JPASolver_closeWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will not lose those changes. Close the other editor(s), where the entity "{0}" is open and try again!
JPASolver_closeEditors=Close Editors  

RemoveJPAEntityFeature_discardWarningMsg=The entity "{0}" is open elsewhere with identical changes. Using this button will remove the entity from the diagram, but will not lose those changes. In order to lose the changes you need first to close the other editor(s), where the entity "{0}" is open and try again!\n\nDo you want to continue with removing anyway?



