#------------------------------------------------------------------------------
# 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=No se ha podido cargar el archivo del modelo {0}
DiagramDiagramEditorUtil_CreateDiagramProgressTask=Crear archivos del modelo y del diagrama
DiagramDiagramEditorUtil_CreateDiagramCommandLabel=Crear diagrama y modelo
DiagramDocumentProvider_isModifiable=No se ha podido actualizar la memoria cach\u00e9
DiagramDocumentProvider_handleElementContentChanged=No se ha podido renovar la jerarqu\u00eda del recurso cambiado
DiagramDocumentProvider_IncorrectInputError={1}
DiagramDocumentProvider_UnableToLoadResourceError=No se ha podido cargar el recurso del diagrama
DiagramDocumentProvider_NoDiagramInResourceError=El diagrama no est\u00e1 presente en el recurso
DiagramDocumentProvider_DiagramLoadingError=Error al cargar el diagrama
DiagramDocumentProvider_UnsynchronizedFileSaveError=El archivo se ha cambiado en el sistema de archivos
DiagramDocumentProvider_SaveDiagramTask=Guardar diagrama
DiagramDocumentProvider_SaveNextResourceTask=Guardando {0}
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogTitle=Error
DiagramInitDiagramFileAction_InitDiagramFileResourceErrorDialogMessage=No se ha podido cargar el archivo del modelo
DiagramInitDiagramFileAction_InitDiagramFileWizardTitle=Inicializar nuevo archivo del diagrama {0}
DiagramInitDiagramFileAction_OpenModelFileDialogTitle=Seleccionar modelo de dominio
DiagramNewDiagramFileWizard_CreationPageName=Inicializar nuevo archivo de diagrama
DiagramNewDiagramFileWizard_CreationPageTitle=Archivo de diagrama
DiagramNewDiagramFileWizard_CreationPageDescription=Crear nuevo diagrama basado en el contenido del modelo {0}
DiagramNewDiagramFileWizard_RootSelectionPageName=Seleccionar elemento ra\u00edz del diagrama
DiagramNewDiagramFileWizard_RootSelectionPageTitle=Elemento root del diagrama
DiagramNewDiagramFileWizard_RootSelectionPageDescription=Seleccionar elemento de modelo sem\u00e1ntico que se mostrar\u00e1 en el diagrama
DiagramNewDiagramFileWizard_RootSelectionPageSelectionTitle=Seleccionar elemento root del diagrama:
DiagramNewDiagramFileWizard_RootSelectionPageNoSelectionMessage=El elemento root del diagrama no est\u00e1 seleccionado
DiagramNewDiagramFileWizard_RootSelectionPageInvalidSelectionMessage=El elemento root del diagrama no es v\u00e1lido
DiagramNewDiagramFileWizard_InitDiagramCommand=Inicializando el contenido del diagrama
DiagramNewDiagramFileWizard_IncorrectRootError=Objeto de modelo incorrecto almacenado como objeto de recurso root
Model1Group_title=modelo
ControlFlow1CreationTool_title=Flujo de control
ControlFlow1CreationTool_desc=Crear nuevo flujo de control
WorkProductDescriptor2CreationTool_title=Descriptor de productos de trabajo
WorkProductDescriptor2CreationTool_desc=Crear un nuevo descriptor de productos de trabajo

CommandName_OpenDiagram=Abrir diagrama
################################################################################
# END NO TRANSLATION
################################################################################
