# 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

# Plug-in
pluginName=Interfejs u\u017cytkownika tworzenia danych EPF
providerName=Eclipse.org

# Category
methodCategoryName=Metoda

# Perspective
authoringPerspectiveName=Tworzenie
browsingPerspectiveName=Przegl\u0105danie

# Views
libraryViewName=Biblioteka
configurationViewName=Konfiguracja
contentViewName=Tre\u015b\u0107
configurationErrorLogViewName=Dziennik b\u0142\u0119d\u00f3w konfiguracji

# Editors
methodElementEditorName=Edytor sk\u0142adnik\u00f3w metody
configurationEditorName=Edytor konfiguracji
processEditorName=Edytor proces\u00f3w
activityDiagramEditorName=Edytor diagram\u00f3w dzia\u0142ania
activityDetailDiagramEditorName=Edytor diagram\u00f3w szczeg\u00f3\u0142\u00f3w dzia\u0142ania
workProductDepedencyDiagramEditorName=Edytor diagram\u00f3w zale\u017cno\u015bci produktu pracy

# Wizards
newMethodLibraryWizardName=Biblioteka metody
newMethodLibraryWizardDescription=Utw\u00f3rz now\u0105 bibliotek\u0119 metod.
newMethodPluginWizardName=Wtyczka metody
newMethodPluginWizardDescription=Utw\u00f3rz now\u0105 wtyczk\u0119 metody.
newConfigurationWizardName=Konfiguracja metody
newConfigurationWizardDescription=Utw\u00f3rz now\u0105 konfiguracj\u0119 metody.

# Cheat Sheets
methodAuthoringCheatSheetsName=\u015aci\u0105gawki tworzenia metod
CheatsheetGetstartedCategoryText=Pierwsze kroki
CheatsheetReusableContentCategoryText=Utw\u00f3rz tre\u015b\u0107 metody wielokrotnego u\u017cytku
CheatsheetWriteContentCategoryText=Zapisz tre\u015b\u0107 metody
CheatsheetProcessesCategoryText=Praca z procesami
CheatsheetNavigateMethodContent=Przejd\u017a do tre\u015bci metody
CheatsheetCreateMethodConfiguration=Utw\u00f3rz w\u0142asn\u0105 konfiguracj\u0119 metody
CheatsheetCreateMethodPlugin=Utw\u00f3rz w\u0142asn\u0105 wtyczk\u0119 metody
CheatsheetAddMethodContent=Dodaj now\u0105 tre\u015b\u0107 metody, na przyk\u0142ad role, zadania, produkty pracy lub wskaz\u00f3wki
CheatsheetTailorMethodElements=Przystosuj istniej\u0105ce elementy metod (role, zadania, produkty pracy lub wskaz\u00f3wki) z u\u017cyciem wk\u0142adu
CheatsheetReplaceMehtodElements=Zast\u0105p istniej\u0105ce elementy metod (role, zadania, produkty pracy lub wskaz\u00f3wki)
CheatsheetAddMethodRefOrHyperlink=Dodaj odno\u015bnik lub odsy\u0142acz hipertekstowy (adres URL) do metody
CheatsheetApplyCapabilityPattern=Zastosuj wzorzec mo\u017cliwo\u015bci
CheatsheetCreateProcess=Utw\u00f3rz proces (wzorzec mo\u017cliwo\u015bci lub proces dostarczania)

# Action Set
authoringActionSet=Tworzenie
cheatSheetsActionSet=\u015aci\u0105gawki

# Global Actions
newLibraryAction=&Biblioteka metod
newLibraryActionTooltip=Tworzy now\u0105 bibliotek\u0119 metod
newPluginAction=&Wtyczka metody
newPluginActionTooltip=Tworzy now\u0105 wtyczk\u0119 metody
newConfigAction=&Konfiguracja metody
newConfigActionTooltip=Tworzy now\u0105 konfiguracj\u0119 metody
openLibraryAction=&Biblioteka metod
openLibraryActionTooltip=Otwiera istniej\u0105c\u0105 bibliotek\u0119 metod
openConfigAction=&Konfiguracja metody
openConfigActionTooltip=Otwiera istniej\u0105c\u0105 konfiguracj\u0119 metody
openCheatSheets=&\u015aci\u0105gawki...

# Library View Actions
linkWithEditor=Powi\u0105\u017c z edytorem
linkWithEditorTooltip=Powi\u0105\u017c z edytorem
showPresentationNames=Wy\u015bwietl nazwy prezentacji
showPresentationNamesTooltip=Wy\u015bwietl nazwy prezentacji

# Configuration View Actions
refreshConfig=Od\u015bwie\u017c
refreshConfigTooltip=Od\u015bwie\u017c konfiguracj\u0119

# Preference Page
authoringPreferencePage=Tworzenie
processEditor=Edytor proces\u00f3w
libraryOptions=Opcje biblioteki
startupAndShutdown=Uruchamianie i zamykanie
debug=Debugowanie
modelingOptions=Opcje modelowania
diagramAppearance=Wygl\u0105d diagramu
breakdownElementAttributes=Atrybuty sk\u0142adnika podzia\u0142u
libraryViewOptions=Opcje widoku biblioteki
activityDiagram=Diagram dzia\u0142ania
validation=Sprawdzenie poprawno\u015bci

# Command Handler
selectAll=Wybierz wszystko

# Properties View
_UI_ProcessEditor_menu=Proces
_UI_CreateChild_menu_item=&Nowy element potomny
_UI_CreateSibling_menu_item=N&owe rodze\u0144stwo
_UI_ShowPropertiesView_menu_item=Wy\u015bwietl &widok w\u0142a\u015bciwo\u015bci
_UI_RefreshViewer_menu_item=O&d\u015bwie\u017c
_UI_Properties_General=Og\u00f3lne
_UI_Properties_Documentation=Dokumentacja
_UI_Properties_Guidance=Wskaz\u00f3wki
_UI_Properties_Work_Rollup=Sk\u0142adowa pracy
_UI_Properties_Team_Rollup=Sk\u0142adowa zespo\u0142u
_UI_Properties_WP_Rollup=Sk\u0142adowa produktu pracy
_UI_Properties_Roles=Role
_UI_Properties_WorkProducts=Produkty pracy
_UI_Properties_Steps=Kroki
_UI_Properties_Teams=Zespo\u0142y

RichTextMarkerTypeName=Problemy z HTML
ConfigurationMarkerTypeName=Problemy z konfiguracj\u0105
ExplanationText=Wyja\u015bnienie

ClearAllValidationItems=Wyczy\u015b\u0107 wszystkie elementy sprawdzania poprawno\u015bci
