# 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

#START NON-TRANSLATABLE
################################################################################
# START NO TRANSLATION
################################################################################
preferences.general=AD Diagram
preferences.appearance=Appearance
preferences.printing=Printing
preferences.rulersAndGrid=Rulers & Grid
preferences.pathmaps=Path Maps

editorName=AD Diagram Editor
newWizardName=AD Diagram
newWizardDesc=Creates AD diagram.

initDiagramActionLabel=Initialize xmi diagram file
loadResourceActionLabel=Load Resource...

navigatorContentName=*.xmi diagram contents

metatype.name.Activity_79=Undefined
metatype.name.ActivityFinalNode_1001=ActivityFinalNode
metatype.name.MergeNode_1002=MergeNode
metatype.name.ForkNode_1003=ForkNode
metatype.name.InitialNode_1004=InitialNode
metatype.name.DecisionNode_1005=DecisionNode
metatype.name.JoinNode_1006=JoinNode
metatype.name.StructuredActivityNode_1007=StructuredActivityNode
metatype.name.ActivityPartition_1008=ActivityPartition
metatype.name.ActivityParameterNode_1009=ActivityParameterNode
metatype.name.StructuredActivityNode_1010=StructuredActivityNode
metatype.name.StructuredActivityNode_1011=StructuredActivityNode
metatype.name.ActivityParameterNode_1012=ActivityParameterNode
metatype.name.ActivityPartition_2001=ActivityPartition
metatype.name.ControlFlow_3001=ControlFlow
################################################################################
# END NO TRANSLATION
################################################################################
#END NON-TRANSLATABLE

pluginName=Diagrama de la actividad EPF
providerName=Eclipse.org

#Needs Translation
open_add_text=Abrir diagrama de detalles de la actividad
element_type_activity_partition=Partici\u00f3n de actividad
element_type_end_node=Nodo de fin
element_type_merge_node=Nodo de fusi\u00f3n
element_type_fork_node=Nodo de bifurcaci\u00f3n
element_type_start_node=Nodo de inicio
element_type_decision_node=Nodo de decisi\u00f3n
element_type_join_node=Nodo de uni\u00f3n
element_type_activity=Actividad
element_type_phase=Fase
element_type_iteration=Iteraci\u00f3n
element_type_task_descriptor=Descriptor de tareas
element_type_milestone=Objetivo
element_type_control_flow=Flujo de control

preferences.connections=Conexiones


