#------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# 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:
# IBM Corporation - initial implementation
#------------------------------------------------------------------------------
#NLS_MESSAGEFORMAT_VAR
################################################################################
# START NO TRANSLATION
################################################################################
# TODO: manually put keys and values
DiagramDiagramEditorUtil_OpenModelResourceErrorDialogTitle=Error
DiagramDiagramEditorUtil_OpenModelResourceErrorDialogMessage=Failed to load model file {0}
DiagramDiagramEditorUtil_CreateDiagramProgressTask=Creating diagram and model files
DiagramDiagramEditorUtil_CreateDiagramCommandLabel=Creating diagram and model
DiagramDocumentProvider_isModifiable=Updating cache failed
DiagramDocumentProvider_handleElementContentChanged=Failed to refresh hierarchy for changed resource
DiagramDocumentProvider_IncorrectInputError={1}
DiagramDocumentProvider_UnableToLoadResourceError=Unable to load diagram resource
DiagramDocumentProvider_NoDiagramInResourceError=Diagram is not present in resource
DiagramDocumentProvider_DiagramLoadingError=Error loading diagram
DiagramDocumentProvider_UnsynchronizedFileSaveError=The file has been changed on the file system
DiagramDocumentProvider_SaveDiagramTask=Saving diagram
DiagramDocumentProvider_SaveNextResourceTask=Saving {0}
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogTitle=Error
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogMessage=Model file loading failed
DiagramInitDiagramFileAction_InitDiagramFileWizardTitle=Initialize new {0} diagram file
DiagramInitDiagramFileAction_OpenModelFileDialogTitle=Select domain model
DiagramNewDiagramFileWizard_CreationPageName=Initialize new diagram file
DiagramNewDiagramFileWizard_CreationPageTitle=Diagram file
DiagramNewDiagramFileWizard_CreationPageDescription=Create new diagram based on {0} model content
DiagramNewDiagramFileWizard_RootSelectionPageName=Select diagram root element
DiagramNewDiagramFileWizard_RootSelectionPageTitle=Diagram root element
DiagramNewDiagramFileWizard_RootSelectionPageDescription=Select semantic model element to be depicted on diagram
DiagramNewDiagramFileWizard_RootSelectionPageSelectionTitle=Select diagram root element:
DiagramNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=Diagram root element is not selected
DiagramNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=Invalid diagram root element is selected
DiagramNewDiagramFileWizard_InitDiagramCommand=Initializing diagram contents
DiagramNewDiagramFileWizard_IncorrectRootError=Incorrect model object stored as a root resource object
Model1Group_title=model
ControlFlow1CreationTool_title=Control Flow
ControlFlow1CreationTool_desc=Create new Control Flow
WorkProductDescriptor2CreationTool_title=Work Product Descriptor
WorkProductDescriptor2CreationTool_desc=Create new work product descriptor

CommandName_OpenDiagram=Open Diagram
################################################################################
# END NO TRANSLATION
################################################################################
