#-------------------------------------------------------------------------------
# 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

workflow_export_wizard_title=Kreator eksportu przep\u0142ywu pracy
workflow_export_wizard_text=Kreator umo\u017cliwiaj\u0105cy wyeksportowanie przep\u0142ywu pracy (diagramy dzia\u0142a\u0144)
workflow_export_wizard_processGroup_text=Proces
workflow_export_wizard_capabilityPatternRadioButton_text=Wzorzec mo\u017cliwo\u015bci
workflow_export_wizard_deliveryProcessRadioButton_text=Proces dostarczania
workflow_export_wizard_processNameLabel_text=Proces:
workflow_export_wizard_contextNameLabel_text=Konfiguracja:
workflow_export_wizard_templateGroup_text=Szablon
workflow_export_wizard_templateNameLabel_text=Nazwa pliku:
workflow_export_wizard_dirLabel_text=Katalog:
workflow_export_wizard_browseButton_text=Przegl\u0105daj...
workflow_overwriteTextDialog_title=Nadpisanie
workflow_overwriteText_msg=Czy chcesz nadpisa\u0107 istniej\u0105cy plik?
workflow_export_wizard_activitiesNameLabel_text=Dzia\u0142anie:

open_method_library_error_title=B\u0142\u0105d otwarcia biblioteki metod
open_method_library_error_text=Przed wykonaniem eksportu nale\u017cy otworzy\u0107 bibliotek\u0119 metod.

# Graph Node names

GRAPH_NODE_FORK=W\u0119ze\u0142 rozwidlaj\u0105cy
GRAPH_NODE_INITIAL=W\u0119ze\u0142 pocz\u0105tkowy
GRAPH_NODE_FINAL=W\u0119ze\u0142 ko\u0144cowy
GRAPH_NODE_DECISION=W\u0119ze\u0142 decyzyjny
GRAPH_NODE_FREE_TEXT=Pe\u0142notekstowe
GRAPH_NODE_MERGE=W\u0119ze\u0142 scalaj\u0105cy
GRAPH_NODE_JOIN=W\u0119ze\u0142 \u0142\u0105cz\u0105cy
GRAPH_NODE_LINK=Powi\u0105zanie
