#-------------------------------------------------------------------------------
# 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=Undo of a name change is not allowed if the previous name is null.
err_name_empty=The name cannot be empty. Please specify a valid name.
moveAction_label=Move

AbstractDiagram_Select_text=Select
AbstractDiagram_Select_tooltip=Select node or link
AbstractDiagram_AddNode_title=Add Node
AbstractDiagram_AddNode_err_msg=IXRD0002W: Adding a node to diagram failed
AbstractDiagram_Link_text=Link
AbstractDiagram_Link_select=Select Link
AbstractDiagram_Link_tooltip=Create new link
ActivityDiagram_StartNode_text=Start Node
ActivityDiagram_StartNode_tooltip=Create a Start Node
AbstractDiagram_FreeText_text=Free Text
AbstractDiagram_FreeText_tooltip=Create new free text
ActivityDiagram_SyncBar_text=Synchronization Bar
ActivityDiagram_SyncBar_tooltip=Create new synchronization bar
ActivityDiagram_DecisionNode_text=Decision Node
ActivityDiagram_DecisionNode_tooltip=Create a Decision Node
ActivityDiagram_EndNode_text=End Node
ActivityDetailDiagram_prefix=Activity Detail:
ActivityDiagram_EndNode_tooltip=Create an End Node
ActivityDiagram_Activity_text=Activity
ActivityDiagram_Activity_tooltip=Create an Activity
ActivityDiagram_Iteration_text=Iteration
ActivityDiagram_Iteration_tooltip=Create an Iteration
ActivityDiagram_Phase_text=Phase
ActivityDiagram_Phase_tooltip=Create a Phase
AbstractDiagram_TaskDescriptor_text=Task Descriptor
AbstractDiagram_RoleDescriptor_text=Role Descriptor
WorkProductDependencyDiagram_prefix=Work Product Dependency Diagram:
AbstractDiagram_RoleDescriptor_tooltip=Create a Role Descriptor
AbstractDiagram_TaskDescriptor_tooltip=Create a Task Descriptor
ActvitivityDiagram_DeliveryProcess_text=Delivery Process
ActvitivityDiagram_CapabilityPattern_text=Capability Pattern
ActvitivityDiagram_Phase_tex=Phase
ActvitivityDiagram_Iteration_text=Iteration
ActvitivityDiagram_Activity_text=Activity
AbstractDiagram_WorkProductDescriptor_text=Work Product Descriptor
AbstractDiagram_WorkProductDescriptor_tooltip=Create a Work Product Descriptor

AbstractDiagramEditor_alignMenu_text=Align
AbstractDiagramEditor_refreshFromBaseActivity_text=Refresh from Base Activity
AbstractDiagramEditor_formatTextBoxActivity_text=Format Text Box...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontally to Average
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontally to First Selected
AbstractDiagramEditor_vAlignAverageAction_text=Vertically to Average
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Vertically to First Selected
AbstractDiagramEditor_Save_text=Save
AbstractDiagramEditor_Save_message=Saving {0}
AbstractDiagramEditor_MoveNode_label=Move Node
AbstractDiagramEditorrefreshfrombase=Refresh From Base
AbstractDiagram_BendPoint_create=Create Bendpoint

ActivityDiagram_openActivityDetailDiagram_text=Open Activity Detail Diagram
refreshAction_label=Refresh
refreshFromBaseCmd_label=Refresh From Base
diagram_saveError=IUPD0001W: Saving diagram failed

DeleteDiagram_text=Delete Diagram
DeleteDiagram_prompt=Are you sure you want to close and delete this diagram?\nThis change is permanent and cannot be undone.
DeleteDiagram_AD=Activity Diagram
DeleteDiagram_ADD=Activity Detail Diagram
DeleteDiagram_WPDD=Work Product Dependency Diagram
DeleteDiagram_prompt_new=Are you sure you want to delete the {0}?\nThis change is permanent and cannot be undone.
align_bend_point_text=Align Bend Point
ConfigurationEditorInput_configeditor0=Configuration Editor
diagram_node_property_value_problem_msg=Error in the node's property value.
diagram_errorDialog_title=Error

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Reset Diagram Layout
errorDialog_title=Error
command_cannotEdit=IUPD0003E: Cannot edit diagram

AbstractDiagramEditor_ParentEditorClose_title=Parent Editor Closed
AbstractDiagramEditor_ParentEditorClose_text={0} has closed. Would you also like to close {1}?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: Cannot connect
DiagramValidation_err_samepredandsuc_text=IUPA0033W: Cannot have the same breakdown element as predecessor and successor
DiagramValidation_err_cannot_delete_text=Cannot delete
deleteCommand_label=Delete
deleteLinkCommand_label=Delete Connection

ActivityDiagram_Milestone_text=Milestone
ActivityDiagram_Milestone_tooltip=Create a Milestone
ActivityDiagram_Join_Node_text=Join Node
ActivityDiagram_Join_Node_tooltip=Create a Join Node
ActivityDiagram_Merge_Node_text=Merge Node
ActivityDiagram_Merge_Node_tooltip=Create a Merge Node
ActivityDiagram_Fork_Node_text=Fork Node
ActivityDiagram_Fork_Node_tooltip=Create a Fork Node
ActivityDiagram_Partition_Node_text=Activity Partition
ActivityDiagram_Palette_flows_title=Flows
ActivityDiagram_Palette_nodes_titles=Nodes
ActivityDiagram_Palette_flows_create_text=Creation tool for flows
ActivityDiagram_Palette_nodes_group_text=Creation tool group for nodes
ActivityDiagram_Palette_control_flow_text=Control Flow
ActivityDiagram_Palette_control_flow_create_text=Create a Control Flow
ActivityDiagram_Partition_Node_tooltip=Create an Activity Partition

ActivityDiagram_New_Task_Descriptor=New Task Descriptor
ActivityDiagram_New_Milestone=New Milestone
WPDD_New_WorkProductDescriptor=New Work Product Descriptor
ActivityDiagram_New_Activity=New Activity
ActivityDiagram_New_Phase=New Phase
ActivityDiagram_New_Iteration=New Iteration
Progress_Saving_message=Saving {0}
Warning_Saving_Diagram=IUPD0001W: Saving diagram failed

ActivityDiagram_kind=Activity Diagram
ActivityDetail_Diagram_kind=Activity Detail Diagram
WorkProductDependency_Diagram_kind=Work Product Dependency Diagram
WPDD_Palette_control_flow_text=Work Product Dependency
WPDD_Palette_control_flow_create_text=Create a Work Product Dependency 
