#############################################################################
# Copyright (c) 2007 Anyware Technologies
# 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: 
#   Anyware Technologies - initial API and implementation
#
# $Id: messages.properties,v 1.8 2009/02/02 08:39:08 jlescot Exp $
#############################################################################

# TODO: manually put keys and values
EcoreCreationWizardTitle=New Ecore Diagram
EcoreCreationWizard_DiagramModelFilePageTitle=Create Ecore Diagram
EcoreCreationWizard_DiagramModelFilePageDescription=Select file that will contain diagram model.
EcoreCreationWizard_DomainModelFilePageTitle=Create Ecore Diagram
EcoreCreationWizard_DomainModelFilePageDescription=Select file that will contain domain model.
EcoreCreationWizardOpenEditorError=Error opening diagram editor
EcoreCreationWizardCreationError=Creation Problems
EcoreCreationWizardPageExtensionError=File name should have {0} extension.
EcoreDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Error
EcoreDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Failed to load model file {0}
EcoreDiagramEditorUtil_CreateDiagramProgressTask=Creating diagram and model files
EcoreDiagramEditorUtil_CreateDiagramCommandLabel=Creating diagram and model
EcoreDocumentProvider_isModifiable=Updating cache failed
EcoreDocumentProvider_handleElementContentChanged=Failed to refresh hierarchy for changed resource
EcoreDocumentProvider_IncorrectInputError={1}
EcoreDocumentProvider_NoDiagramInResourceError=Diagram is not present in resource
EcoreDocumentProvider_DiagramLoadingError=Error loading diagram
EcoreDocumentProvider_UnsynchronizedFileSaveError=The file has been changed on the file system
EcoreDocumentProvider_SaveDiagramTask=Saving diagram
EcoreDocumentProvider_SaveNextResourceTask=Saving {0}
EcoreDocumentProvider_SaveAsOperation=Saving {0} diagram as
InitDiagramFile_ResourceErrorDialogTitle=Error
InitDiagramFile_ResourceErrorDialogMessage=Model file loading failed
InitDiagramFile_WizardTitle=Initialize new {0} diagram file
InitDiagramFile_OpenModelFileDialogTitle=Select domain model
EcoreNewDiagramFileWizard_CreationPageName=Initialize new diagram file
EcoreNewDiagramFileWizard_CreationPageTitle=Diagram file
EcoreNewDiagramFileWizard_CreationPageDescription=Create new diagram based on {0} model content
EcoreNewDiagramFileWizard_RootSelectionPageName=Select diagram root element
EcoreNewDiagramFileWizard_RootSelectionPageTitle=Diagram root element
EcoreNewDiagramFileWizard_RootSelectionPageDescription=Select semantic model element to be depicted on diagram
EcoreNewDiagramFileWizard_RootSelectionPageSelectionTitle=Select diagram root element:
EcoreNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=Diagram root element is not selected
EcoreNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Invalid diagram root element is selected
EcoreNewDiagramFileWizard_InitDiagramCommand=Initializing diagram contents
EcoreNewDiagramFileWizard_IncorrectRootError=Incorrect model object stored as a root resource object
EcoreDiagramEditor_SavingDeletedFile=The original file "{0}" has been deleted.
EcoreDiagramEditor_SaveAsErrorTitle=Problem During Save As...
EcoreDiagramEditor_SaveAsErrorMessage=Save could not be completed. Target file is already open in another editor.
EcoreDiagramEditor_SaveErrorTitle=Save Problems
EcoreDiagramEditor_SaveErrorMessage=Could not save file.
EcoreElementChooserDialog_SelectModelElementTitle=Select model element
ModelElementSelectionPageMessage=Select model element:
ValidateActionMessage=Validate
Objects1Group_title=Objects
Objects1Group_desc=Diagram Nodes
Connections2Group_title=Connections
Connections2Group_desc=Links
EPackage1CreationTool_title=EPackage
EPackage1CreationTool_desc=Create Package
EClass2CreationTool_title=EClass
EClass2CreationTool_desc=Create Class
EDataType3CreationTool_title=EDataType
EDataType3CreationTool_desc=Create DataType
EEnum4CreationTool_title=EEnum
EEnum4CreationTool_desc=Create Enumeration
EAnnotation5CreationTool_title=EAnnotation
EAnnotation5CreationTool_desc=Create Annotation
EOperation7CreationTool_title=EOperation
EOperation7CreationTool_desc=Create Operation
EAttribute8CreationTool_title=EAttribute
EAttribute8CreationTool_desc=Create Attribute
EEnumLiteral9CreationTool_title=EEnumLiteral
EEnumLiteral9CreationTool_desc=Create Enumeration literal
DetailsEntry10CreationTool_title=Details Entry
DetailsEntry10CreationTool_desc=Create Annotation details
EReference1CreationTool_title=EReference
EReference1CreationTool_desc=Create Association link
Inheritance2CreationTool_title=Inheritance
Inheritance2CreationTool_desc=Create Generalization link
EAnnotationlink3CreationTool_title=EAnnotation link
EAnnotationlink3CreationTool_desc=Create Annotation reference link
EClassAttributesEditPart_title=attributes
EClassOperationsEditPart_title=operations
EPackageContentsEditPart_title=contents
EClassAttributes2EditPart_title=attributes
EClassOperations2EditPart_title=operations
EEnumLiteralsEditPart_title=literals
EAnnotationDetailsEditPart_title=details
EEnumLiterals2EditPart_title=literals

CommandName_OpenDiagram=Open Diagram
NavigatorGroupName_EPackage_79_links=links
NavigatorGroupName_EClass_1001_incominglinks=incoming links
NavigatorGroupName_EClass_1001_outgoinglinks=outgoing links
NavigatorGroupName_EPackage_1002_incominglinks=incoming links
NavigatorGroupName_EAnnotation_1003_incominglinks=incoming links
NavigatorGroupName_EAnnotation_1003_outgoinglinks=outgoing links
NavigatorGroupName_EDataType_1004_incominglinks=incoming links
NavigatorGroupName_EEnum_1005_incominglinks=incoming links
NavigatorGroupName_EAttribute_2001_incominglinks=incoming links
NavigatorGroupName_EOperation_2002_incominglinks=incoming links
NavigatorGroupName_EClass_2003_incominglinks=incoming links
NavigatorGroupName_EClass_2003_outgoinglinks=outgoing links
NavigatorGroupName_EDataType_2004_incominglinks=incoming links
NavigatorGroupName_EEnum_2005_incominglinks=incoming links
NavigatorGroupName_EEnumLiteral_2006_incominglinks=incoming links
NavigatorGroupName_EAnnotationReferences_3001_target=target
NavigatorGroupName_EAnnotationReferences_3001_source=source
NavigatorGroupName_EReference_3002_target=target
NavigatorGroupName_EReference_3002_source=source
NavigatorGroupName_EClassESuperTypes_3003_target=target
NavigatorGroupName_EClassESuperTypes_3003_source=source
NavigatorActionProvider_OpenDiagramActionName=Open Diagram
AbstractParser_UnexpectedValueType=Value of type {0} is expected
AbstractParser_WrongStringConversion=String value does not convert to {0} value
AbstractParser_UnknownLiteral=Unknown literal: {0}
MessageFormatParser_InvalidInputError=Invalid input at {0}
EcoreModelingAssistantProviderTitle=Select domain model element
EcoreModelingAssistantProviderMessage=Available domain model elements:
