# 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 Atividades do EPF
providerName=Eclipse.org

#Needs Translation
open_add_text=Abrir Diagrama de Detalhes de Atividades
element_type_activity_partition=Parti\u00e7\u00e3o de Atividade
element_type_end_node=N\u00f3 de Extremidade
element_type_merge_node=N\u00f3 de Combina\u00e7\u00e3o
element_type_fork_node=N\u00f3 de Bifurca\u00e7\u00e3o
element_type_start_node=N\u00f3 de In\u00edcio
element_type_decision_node=N\u00f3 de Decis\u00e3o
element_type_join_node=N\u00f3 de Jun\u00e7\u00e3o
element_type_activity=Atividade
element_type_phase=Fase
element_type_iteration=Itera\u00e7\u00e3o
element_type_task_descriptor=Descritor de Tarefas
element_type_milestone=Marco
element_type_control_flow=Fluxo de Controle

preferences.connections=Conex\u00f5es


