#-------------------------------------------------------------------------------
# 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 metod
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 dotycz\u0105ce tworzenia metod
CheatsheetGetstartedCategoryText=Pierwsze kroki
CheatsheetReusableContentCategoryText=Tworzenie tre\u015bci metody wielokrotnego u\u017cytku
CheatsheetWriteContentCategoryText=Zapisanie tre\u015bci metody
CheatsheetProcessesCategoryText=Praca z procesami
CheatsheetNavigateMethodContent=Poruszanie si\u0119 po tre\u015bci metody
CheatsheetCreateMethodConfiguration=Tworzenie w\u0142asnej konfiguracji metody
CheatsheetCreateMethodPlugin=Tworzenie w\u0142asnej wtyczki metody
CheatsheetAddMethodContent=Dodanie nowej tre\u015bci metody, na przyk\u0142ad roli, zadania, produktu pracy lub wskaz\u00f3wki
CheatsheetTailorMethodElements=Dostosowanie istniej\u0105cych element\u00f3w metod (r\u00f3l, zada\u0144, produkt\u00f3w pracy lub wskaz\u00f3wek) za pomoc\u0105 wk\u0142adu
CheatsheetReplaceMehtodElements=Zast\u0105pienie istniej\u0105cych element\u00f3w metod (r\u00f3l, zada\u0144, produkt\u00f3w pracy lub wskaz\u00f3wek)
CheatsheetAddMethodRefOrHyperlink=Dodanie odwo\u0142ania lub odsy\u0142acza hipertekstowego (adresu URL) do metody
CheatsheetApplyCapabilityPattern=Zastosowanie wzorca mo\u017cliwo\u015bci
CheatsheetCreateProcess=Utworzenie procesu (wzorca mo\u017cliwo\u015bci lub procesu 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

# 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\u00f3wka
_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

