# <copyright>
#------------------------------------------------------------------------------
# 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
#------------------------------------------------------------------------------
# </copyright>
#
# $Id: plugin_es.properties,v 1.1 2007/08/29 00:08:56 jtham Exp $

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================
# NLS_MESSAGEFORMAT_VAR

pluginName=Soporte de edici\u00f3n de diagramas de EPF
providerName=Eclipse.org

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Cree {0} nuevo en la caracter\u00edstica {1}
_UI_CreateChild_description = Cree un hijo nuevo de tipo {0} para la caracter\u00edstica {1} del {2} seleccionado.
_UI_CreateSibling_description = Cree un igual nuevo de tipo {0} para el {2} seleccionado, en la caracter\u00edstica {1} del padre.

_UI_PropertyDescriptor_description = El {0} del {1}

_UI_Diagram_type = Diagrama
_UI_Link_type = Enlace
_UI_LinkedObject_type = Objeto enlazado
_UI_NamedNode_type = Nodo nombrado
_UI_Node_type = Nodo
_UI_ActivityDiagram_type = Diagrama de la actividad
_UI_TypedNode_type = Nodo escrito
_UI_WorkProductDependencyDiagram_type = Diagrama de dependencia del producto de trabajo
_UI_WorkProductNode_type = Nodo de producto de trabajo
_UI_ActivityDetailDiagram_type = Diagrama de detalles de la actividad
_UI_NodeContainer_type = Contenedor de nodos
_UI_RoleNode_type = Nodo de rol
_UI_RoleTaskComposite_type = Composici\u00f3n de tareas de rol
_UI_TaskNode_type = Nodo de tarea
_UI_WorkProductDescriptorNode_type = Nodo de descriptor de productos de trabajo
_UI_WorkBreakdownElementNode_type = Nodo de elemento de desglose de trabajo
_UI_WorkProductComposite_type = Composici\u00f3n de producto de trabajo
_UI_Unknown_type = Objeto

_UI_Unknown_datatype= Valor

_UI_Link_source_feature = Origen
_UI_Link_target_feature = Destino
_UI_Link_bendpoints_feature = Puntos de inflexi\u00f3n
_UI_Link_sourceEndPoint_feature = Punto final de origen
_UI_Link_targetEndPoint_feature = Punto final de destino
_UI_LinkedObject_linkedElement_feature = Elemento enlazado
_UI_LinkedObject_object_feature = Objeto
_UI_NamedNode_name_feature = Nombre
_UI_Node_location_feature = Ubicaci\u00f3n
_UI_Node_width_feature = Ancho
_UI_Node_height_feature = Altura
_UI_Node_incomingConnections_feature = Conexiones de entrada
_UI_Node_outgoingConnections_feature = Conexiones de salida
_UI_Node_readOnly_feature = S\u00f3lo lectura
_UI_TypedNode_type_feature = Tipo
_UI_WorkProductNode_type_feature = Tipo
_UI_NodeContainer_nodes_feature = Nodos
_UI_WorkProductComposite_type_feature = Tipo
_UI_Unknown_feature = Sin especificar

_UI_Link_name_feature = Nombre
_UI_ActivityDetailDiagram_autoLayout_feature = Dise\u00f1o autom\u00e1tico
_UI_TaskNode_index_feature = \u00cdndice
_UI_RoleTaskComposite_rowIndex_feature = \u00cdndice de filas
