# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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

# Complete new strings need translation.
previous_name_null1=No se puede deshacer el cambio de nombre si el nombre anterior es nulo.
err_name_empty=El nombre no puede estar vac\u00edo. Especifique un nombre v\u00e1lido.
moveAction_label=Mover

AbstractDiagram_Select_text=Seleccionar
AbstractDiagram_Select_tooltip=Seleccionar nodo o enlace
AbstractDiagram_AddNode_title=A\u00f1adir nodo
AbstractDiagram_AddNode_err_msg=IXRD0002W: La adici\u00f3n de un nodo al diagrama ha fallado
AbstractDiagram_Link_text=Enlace
AbstractDiagram_Link_select=Seleccionar enlace
AbstractDiagram_Link_tooltip=Crear un nuevo enlace
ActivityDiagram_StartNode_text=Nodo de inicio
ActivityDiagram_StartNode_tooltip=Crear un nodo de inicio
AbstractDiagram_FreeText_text=Texto libre
AbstractDiagram_FreeText_tooltip=Crear un nuevo texto libre
ActivityDiagram_SyncBar_text=Barra de sincronizaci\u00f3n
ActivityDiagram_SyncBar_tooltip=Crear una nueva barra de sincronizaci\u00f3n
ActivityDiagram_DecisionNode_text=Nodo de decisi\u00f3n
ActivityDiagram_DecisionNode_tooltip=Crear un nodo de decisi\u00f3n
ActivityDiagram_EndNode_text=Nodo de fin
ActivityDetailDiagram_prefix=Detalle de la actividad:
ActivityDiagram_EndNode_tooltip=Crear un nodo final
ActivityDiagram_Activity_text=Actividad
ActivityDiagram_Activity_tooltip=Crear una actividad
ActivityDiagram_Iteration_text=Iteraci\u00f3n
ActivityDiagram_Iteration_tooltip=Crear una iteraci\u00f3n
ActivityDiagram_Phase_text=Fase
ActivityDiagram_Phase_tooltip=Crear una fase
AbstractDiagram_TaskDescriptor_text=Descriptor de tareas
AbstractDiagram_RoleDescriptor_text=Descriptor de roles
WorkProductDependencyDiagram_prefix=Diagrama de dependencia del producto de trabajo:
AbstractDiagram_RoleDescriptor_tooltip=Crear un descripci\u00f3n de rol
AbstractDiagram_TaskDescriptor_tooltip=Crear un descriptor de tarea
ActvitivityDiagram_DeliveryProcess_text=Proceso de entrega
ActvitivityDiagram_CapabilityPattern_text=Patr\u00f3n de posibilidad
ActvitivityDiagram_Phase_tex=Fase
ActvitivityDiagram_Iteration_text=Iteraci\u00f3n
ActvitivityDiagram_Activity_text=Actividad
AbstractDiagram_WorkProductDescriptor_text=Descriptor de productos de trabajo
AbstractDiagram_WorkProductDescriptor_tooltip=Crear un descriptor de producto de trabajo

AbstractDiagramEditor_alignMenu_text=Alinear
AbstractDiagramEditor_refreshFromBaseActivity_text=Renovar desde actividad b\u00e1sica
AbstractDiagramEditor_formatTextBoxActivity_text=Formatear recuadro de texto...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontalmente hasta el promedio
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontalmente hasta la primera selecci\u00f3n
AbstractDiagramEditor_vAlignAverageAction_text=Verticalmente hasta el promedio
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Verticalmente hasta la primera selecci\u00f3n
AbstractDiagramEditor_Save_text=Guardar
AbstractDiagramEditor_Save_message=Guardando {0}
AbstractDiagramEditor_MoveNode_label=Mover nodo
AbstractDiagramEditorrefreshfrombase=Renovar desde actividad b\u00e1sica
AbstractDiagram_BendPoint_create=Crear punto de inflexi\u00f3n

ActivityDiagram_openActivityDetailDiagram_text=Abrir diagrama de detalles de la actividad
refreshAction_label=Renovar
refreshFromBaseCmd_label=Renovar desde actividad b\u00e1sica
diagram_saveError=IUPD0001W: La acci\u00f3n de guardar el diagrama ha fallado

DeleteDiagram_text=Suprimir diagrama
DeleteDiagram_prompt=\u00bfEst\u00e1 seguro de que desea cerrar y suprimir este diagrama?\nEste cambio es permanente y no se puede deshacer.
DeleteDiagram_AD=Diagrama de la actividad
DeleteDiagram_ADD=Diagrama de detalles de la actividad
DeleteDiagram_WPDD=Diagrama de dependencia del producto de trabajo
DeleteDiagram_prompt_new=\u00bfEst\u00e1 seguro de que desea suprimir el {0}?\nEste cambio es permanente y no se puede deshacer.
align_bend_point_text=Alinear punto de inflexi\u00f3n
ConfigurationEditorInput_configeditor0=Editor de configuraci\u00f3n
diagram_node_property_value_problem_msg=Se ha producido un error en el valor de la propiedad del nodo.
diagram_errorDialog_title=Error

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Restablecer dise\u00f1o de diagrama
errorDialog_title=Error
command_cannotEdit=IUPD0003E: No se puede editar el diagrama

AbstractDiagramEditor_ParentEditorClose_title=Editor padre cerrado
AbstractDiagramEditor_ParentEditorClose_text={0} se ha cerrado. \u00bfDesea cerrar tambi\u00e9n {1}?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: No se puede conectar
DiagramValidation_err_samepredandsuc_text=IUPA0033W: No puede tener el mismo elemento de desglose que el predecesor o el sucesor
DiagramValidation_err_cannot_delete_text=No se puede suprimir
deleteCommand_label=Suprimir
deleteLinkCommand_label=Suprimir conexi\u00f3n

ActivityDiagram_Milestone_text=Objetivo
ActivityDiagram_Milestone_tooltip=Crear un objetivo
ActivityDiagram_Join_Node_text=Nodo de uni\u00f3n
ActivityDiagram_Join_Node_tooltip=Crear un nodo de uni\u00f3n
ActivityDiagram_Merge_Node_text=Nodo de fusi\u00f3n
ActivityDiagram_Merge_Node_tooltip=Crear un nodo de fusi\u00f3n
ActivityDiagram_Fork_Node_text=Nodo de bifurcaci\u00f3n
ActivityDiagram_Fork_Node_tooltip=Crear un nodo de bifurcaci\u00f3n
ActivityDiagram_Partition_Node_text=Partici\u00f3n de actividad
ActivityDiagram_Palette_flows_title=Flujos
ActivityDiagram_Palette_nodes_titles=Nodos
ActivityDiagram_Palette_flows_create_text=Herramienta de creaci\u00f3n para flujos
ActivityDiagram_Palette_nodes_group_text=Grupo de herramientas de creaci\u00f3n para nodos
ActivityDiagram_Palette_control_flow_text=Flujo de control
ActivityDiagram_Palette_control_flow_create_text=Crear un control de flujo
ActivityDiagram_Partition_Node_tooltip=Crear una partici\u00f3n de actividad

ActivityDiagram_New_Task_Descriptor=Nuevo descriptor de tareas
ActivityDiagram_New_Milestone=Nuevo objetivo
WPDD_New_WorkProductDescriptor=Nuevo descriptor de productos de trabajo
ActivityDiagram_New_Activity=Nueva actividad
ActivityDiagram_New_Phase=Nueva fase
ActivityDiagram_New_Iteration=Nueva iteraci\u00f3n
Progress_Saving_message=Guardando {0}
Warning_Saving_Diagram=IUPD0001W: La acci\u00f3n de guardar el diagrama ha fallado

ActivityDiagram_kind=Diagrama de la actividad
ActivityDetail_Diagram_kind=Diagrama de detalles de la actividad
WorkProductDependency_Diagram_kind=Diagrama de dependencia del producto de trabajo
WPDD_Palette_control_flow_text=Dependencia del producto de trabajo
WPDD_Palette_control_flow_create_text=Crear una dependencia del producto de trabajo 
