# 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=Diagram dzia\u0142ania EPF
providerName=Eclipse.org

#Needs Translation
open_add_text=Otw\u00f3rz diagram szczeg\u00f3\u0142\u00f3w dzia\u0142ania
element_type_activity_partition=Partycja dzia\u0142ania
element_type_end_node=W\u0119ze\u0142 ko\u0144cowy
element_type_merge_node=W\u0119ze\u0142 scalenia
element_type_fork_node=W\u0119ze\u0142 rozwidlenia
element_type_start_node=W\u0119ze\u0142 pocz\u0105tkowy
element_type_decision_node=W\u0119ze\u0142 decyzji
element_type_join_node=W\u0119ze\u0142 \u0142\u0105czenia
element_type_activity=Dzia\u0142anie
element_type_phase=Etap
element_type_iteration=Iteracja
element_type_task_descriptor=Deskryptor zadania
element_type_milestone=Kamie\u0144 milowy
element_type_control_flow=Przep\u0142yw sterowania

preferences.connections=Po\u0142\u0105czenia


