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

# Method Element Names (Singular)
activity_text=Dzia\u0142anie
artifact_text=Artefakt
capabilityPattern_text=Wzorzec mo\u017cliwo\u015bci
checklist_text=Lista kontrolna
checkItem_text=Element kontrolny
compositeRole_text=Rola z\u0142o\u017cona
concept_text=Poj\u0119cie
contentPackage_text=Pakiet tre\u015bci
customCategory_text=Kategoria niestandardowa
deliverable_text=Produkt cz\u0105stkowy
deliveryProcess_text=Proces dostarczania
descriptor_text=Deskryptor
discipline_text=Dyscyplina
disciplineGrouping_text=Grupa dyscyplin
domain_text=Domena
estimate_text=Oszacowanie
estimatingMetric_text=Charakterystyka oszacowania
estimationConsiderations_text=Zagadnienia dotycz\u0105ce szacowania
example_text=Przyk\u0142ad
guidance_text=Wskaz\u00f3wki
guideline_text=Wytyczna
iteration_text=Iteracja
methodConfiguration_text=Konfiguracja metody
methodContent_text=Tre\u015b\u0107 metody
methodLibrary_text=Biblioteka metody
methodPackage_text=Pakiet metody
methodPlugin_text=Wtyczka metody
milestone_text=Kamie\u0144 milowy
outcome_text=Wynik
phase_text=Etap
practice_text=\u0106wiczenie
process_text=Proces
processContribution_text=Proces r\u00f3\u017cnicowy
processFamily_text=Rodzina procesu
processPackage_text=Pakiet procesu
report_text=Raport
reusableAsset_text=Zas\u00f3b wielokrotnego u\u017cytku
roadmap_text=Przewodnik
roleDescriptor_text=Deskryptor roli
role_text=Rola
roleSet_text=Zestaw r\u00f3l
roleSetGrouping_text=Grupa zestaw\u00f3w r\u00f3l
standardCategory_text=Kategoria standardowa
step_text=Krok
supportingMaterial_text=Materia\u0142 pomocniczy
task_text=Zadanie
taskDescriptor_text=Deskryptor zadania
teamProfile_text=Profil zespo\u0142u
template_text=Szablon
termDefinition_text=Definicja terminu
tool_text=Narz\u0119dzie
toolMentor_text=Mentor narz\u0119dzia
whitepaper_text=Opracowanie
workProduct_text=Produkt pracy
workProductDescriptor_text=Deskryptor produktu pracy
workProductElement_text=Sk\u0142adnik produktu pracy
workProductType_text=Typ produktu pracy

# Method Element Names (Plural)
activity_text_plural=Dzia\u0142ania
artifact_text_plural=Artefakty
capabilityPattern_text_plural=Wzorce mo\u017cliwo\u015bci
checklist_text_plural=Listy kontrolne
checkItem_text_plural=Elementy kontrolne
compositeRole_text_plural=Role z\u0142o\u017cone
concept_text_plural=Poj\u0119cia
contentPackage_text_plural=Pakiety tre\u015bci
customCategory_text_plural=Kategorie niestandardowe
deliverable_text_plural=Produkty cz\u0105stkowe
deliveryProcess_text_plural=Procesy dostarczania
descriptor_text_plural=Deskryptory
discipline_text_plural=Dyscypliny
disciplineGrouping_text_plural=Grupy dyscyplin
domain_text_plural=Domeny
estimate_text_plural=Oszacowania
estimatingMetric_text_plural=Charakterystyki oszacowa\u0144
estimationConsiderations_text_plural=Zagadnienia dotycz\u0105ce szacowania
example_text_plural=Przyk\u0142ady
guidance_text_plural=Wskaz\u00f3wki
guideline_text_plural=Wytyczne
iteration_text_plural=Iteracje
methodConfiguration_text_plural=Konfiguracje metod
methodContent_text_plural=Tre\u015bci metod
methodLibrary_text_plural=Biblioteki metod
methodPackage_text_plural=Pakiety metod
methodPlugin_text_plural=Wtyczki metod
milestone_text_plural=Kamienie milowe
outcome_text_plural=Wyniki
phase_text_plural=Etapy
practice_text_plural=\u0106wiczenia
process_text_plural=Procesy
processContribution_text_plural=Procesy r\u00f3\u017cnicowe
processFamily_text_plural=Rodziny proces\u00f3w
processPackage_text_plural=Pakiety proces\u00f3w
report_text_plural=Raporty
reusableAsset_text_plural=Zasoby wielokrotnego u\u017cytku
roadmap_text_plural=Przewodniki
roleDescriptor_text_plural=Deskryptory r\u00f3l
role_text_plural=Role
roleSet_text_plural=Zestawy r\u00f3l
roleSetGrouping_text_plural=Grupy zestaw\u00f3w r\u00f3l
standardCategory_text_plural=Kategorie standardowe
step_text_plural=Kroki
supportingMaterial_text_plural=Materia\u0142y pomocnicze
task_text_plural=Zadania
taskDescriptor_text_plural=Deskryptory zada\u0144
teamProfile_text_plural=Profile zespo\u0142\u00f3w
template_text_plural=Szablony
termDefinition_text_plural=Definicje termin\u00f3w
tool_text_plural=Narz\u0119dzia
toolMentor_text_plural=Mentory narz\u0119dzi
whitepaper_text_plural=Opracowania
workProduct_text_plural=Produkty pracy
workProductDescriptor_text_plural=Deskryptory produkt\u00f3w pracy
workProductElement_text_plural=Sk\u0142adniki produktu pracy
workProductType_text_plural=Typy produkt\u00f3w pracy

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Otw\u00f3rz bibliotek\u0119 metod
openLibraryMainWizardPage_title=Podaj \u015bcie\u017ck\u0119 do biblioteki metod
openLibraryMainWizardPage_title_2=Wybierz bibliotek\u0119 metod
openLibraryMainWizardPage_text={0} zapisuje metody i procesy w folderze okre\u015blanym jako\nbiblioteka metod. Wybierz folder biblioteki metod, kt\u00f3ry ma by\u0107 u\u017cywany podczas tej sesji.
pathLabel_text=\u015acie\u017cka:
nameLabel_text=Nazwa:
uriLabel_text=Identyfikator URI:
openUnlistedLibraryCheckbox_text=Otw\u00f3rz bibliotek\u0119 metod, kt\u00f3ra nie jest wy\u015bwietlona poni\u017cej
libraryTypeLabel_text=Typ:
libraryLabel_text=Biblioteka:
browseButton_text=Przegl\u0105daj...
promptForLibraryCheckbox_text=U\u017cyj tego ustawienia jako domy\u015blnego i nie pytaj ponownie.
openLibraryDialog_newLibrary_text=W katalogu ''{0}'' nie istnieje \u017cadna biblioteka metod.\nNowa biblioteka metod zostanie utworzona i otwarta w okre\u015blonym katalogu.\n\nKliknij przycisk OK, aby kontynuowa\u0107, albo przycisk Anuluj w celu okre\u015blenia innej \u015bcie\u017cki do biblioteki metod.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Wyb\u00f3r biblioteki metod
selectLibraryFolderDialog_text=Wybierz folder biblioteki metod.

# Open Library Progress Message
openingLibraryTask_name=Otwieranie biblioteki metod...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Nie mo\u017cna utworzy\u0107 biblioteki metod.
openLibraryInternlError_reason=Wyst\u0105pi\u0142 b\u0142\u0105d wewn\u0119trzny.
openLibraryError_reason1=Podana \u015bcie\u017cka do biblioteki metod ''{0}'' jest niepoprawna.
openLibraryError_reason2=Biblioteka metod ju\u017c istnieje w katalogu ''{0}''.
openLibraryError_reason3=Nie mo\u017cna utworzy\u0107 podanego folderu biblioteki metod ''{0}''.
openLibraryError_reason4=Podany folder biblioteki metod jest wtyczk\u0105 lub folderem eksportu specyfikacji konfiguracji.
openLibraryError_advice=Kliknij przycisk OK, aby poda\u0107 inn\u0105 \u015bcie\u017ck\u0119 do biblioteki metod.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: Nie mo\u017cna otworzy\u0107 podanej biblioteki metod.
invalidLibraryPath_reason=Wybrany folder biblioteki metod jest niepoprawny, nie istnieje lub brak odpowiednich uprawnie\u0144 dost\u0119pu do tego folderu.\n\nKliknij przycisk OK, aby wybra\u0107 inny folder.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: Plik ''{0}'' jest tylko do odczytu. Przed wykonaniem dalszych czynno\u015bci usu\u0144 zabezpieczenie przed zapisem.
retryButton_text=Spr\u00f3buj ponownie
cancelButton_text=Anuluj

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: Nie mo\u017cna otworzy\u0107 wybranej biblioteki. Aby otworzy\u0107 t\u0119 bibliotek\u0119, nale\u017cy zaktualizowa\u0107 {0} do wersji {1} lub nowszej.
versionMismatchDialog_text_unknown=IUPL306E: Nie mo\u017cna otworzy\u0107 wybranej biblioteki. Aby otworzy\u0107 t\u0119 bibliotek\u0119, nale\u017cy zaktualizowa\u0107 {0} do nowszej wersji.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Aktualizacja biblioteki metod
upgradeLibraryDialog_text=Nale\u017cy zaktualizowa\u0107 wybran\u0105 bibliotek\u0119 do nowej struktury biblioteki.\n\nCzy kontynuowa\u0107 aktualizowanie?
upgradingLibraryTask_name=Aktualizowanie biblioteki metod...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Aktualizowanie biblioteki metod nie powiod\u0142o si\u0119. Szczeg\u00f3\u0142owe informacje zawiera plik dziennika.

# Switch Configuration Dialog
switchConfigDialog_title=Prze\u0142\u0105czanie konfiguracji
switchConfigDialog_text=Czy chcesz prze\u0142\u0105czy\u0107 bie\u017c\u0105c\u0105 konfiguracj\u0119 na konfiguracj\u0119 domy\u015bln\u0105 ''{0}'' powi\u0105zan\u0105 z wybranym procesem?
	
# Configuration Combo
currentConfigLabel_text=Bie\u017c\u0105ca konfiguracja:
selectConfigLabel_text=Wybierz konfiguracj\u0119

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=Podana \u015bcie\u017cka ''{0}'' ju\u017c istnieje. Wszystkie pliki w folderze zostan\u0105 usuni\u0119te. Czy chcesz kontynuowa\u0107?

# Paths/Files Error Messages
deleteFilesError_reason=W \u015bcie\u017cce ''{0}'' znajduje si\u0119 co najmniej jeden plik, kt\u00f3rego nie mo\u017cna usun\u0105\u0107.\n\nWybierz inn\u0105 \u015bcie\u017ck\u0119 i spr\u00f3buj ponownie.
createPathError_reason=Nie mo\u017cna utworzy\u0107 \u015bcie\u017cki ''{0}''.\n\nWybierz inn\u0105 \u015bcie\u017ck\u0119 i spr\u00f3buj ponownie.
invalidPath_msg=Podana \u015bcie\u017cka jest niepoprawna.
overrideCurrentLibraryError_msg0=Nie mo\u017cna eksportowa\u0107 do \u015bcie\u017cki zawieraj\u0105cej bie\u017c\u0105c\u0105 bibliotek\u0119 metod. Wybierz inn\u0105 \u015bcie\u017ck\u0119 i spr\u00f3buj ponownie.

# Backup Library Dialog
backupLibraryDialog_title=Tworzenie kopii zapasowej biblioteki
backupLibraryDialog_text=Zaleca si\u0119 utworzenie kopii zapasowej bie\u017c\u0105cej biblioteki metod przed wykonaniem kolejnych czynno\u015bci.\n\nKliknij przycisk OK, aby utworzy\u0107 kopi\u0119 zapasow\u0105 biblioteki w podanym katalogu. Kliknij przycisk Pomi\u0144, aby kontynuowa\u0107 bez tworzenia kopii zapasowej.
backingUpLibraryTask_name=Tworzenie kopii zapasowej plik\u00f3w biblioteki...

# Copy Library Dialog
copyLibraryDialog_title=Kopiowanie biblioteki
copyLibraryDialog_text_readOnlyLib=Biblioteka nie jest dost\u0119pna do zapisu. Kliknij przycisk Kopiuj, aby utworzy\u0107 dost\u0119pn\u0105 do zapisu kopi\u0119 biblioteki w podanym katalogu. Kliknij przycisk Pomi\u0144, aby kontynuowa\u0107 bez tworzenia kopii.
copyLibraryTask_name=Tworzenie kopii plik\u00f3w biblioteki...
copyLibraryDialog_copyButton_text=Kopiuj

# Path Selection Dialog
pathSelectionError_msg=Nie mo\u017cna utworzy\u0107 katalogu
okButton_text=OK
skipButton_text=Pomi\u0144

# Process Editor preferences
alwaysButton_text=Zawsze
neverButton_text=Nigdy
promptButton_text=Pytaj

# Add Link Dialog
linkToURL_name=Adres URL
linkToFile_name=Plik
elementLink_name=Sk\u0142adnik metody
elementLinkWithType_name=Sk\u0142adnik metody z przedrostkiem typu
elementLinkWithUserText_name=Sk\u0142adnik metody z tekstem niestandardowym

# Convert Activity Type Dialog
convertActivityDialog_title=Przekszta\u0142canie typu dzia\u0142ania
convertActivityDialog_text=Wybierz docelowy typ dzia\u0142ania.
unsupportedActivityType_msg=IUPL0307E: Tego dzia\u0142ania nie mo\u017cna przekszta\u0142ci\u0107 w inny typ.
unsupportedActivityType_reason=Nie istnieje zgodny typ dzia\u0142ania dla {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Wybierz proces
selectProcessWizardPage_text=Wybierz wzorzec mo\u017cliwo\u015bci lub proces dostarczania do eksportu.
processesLabel_text=Procesy:
briefDescriptionLabel_text=Kr\u00f3tki opis:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Obecnie nie jest otwarta \u017cadna biblioteka metod. Kliknij przycisk Anuluj, otw\u00f3rz bibliotek\u0119 metod lub utw\u00f3rz now\u0105 i ponownie uruchom ten kreator. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=B\u0142\u0105d
MethodElementDeleteAction_deleteconfirm_text=Czy na pewno chcesz usun\u0105\u0107 ''{0}''?
confirmDeleteDialog_title=Potwierdzenie usuni\u0119cia
confirmDeleteDialog_msg=Czy na pewno chcesz usun\u0105\u0107 ''{0}''?
confirmDeleteDialog_msgWithReference=Czy na pewno chcesz usun\u0105\u0107 ''{0}''?\n\nNast\u0119puj\u0105ce sk\u0142adniki zawieraj\u0105 odniesienia do element\u00f3w, kt\u00f3re maj\u0105 zosta\u0107 usuni\u0119te: {1}
ProcessDeleteAction_deletecofirm_text=Spowoduje to zapisanie bie\u017c\u0105cego edytora, a zmiany b\u0119d\u0105 trwa\u0142e. Czy na pewno chcesz usun\u0105\u0107 ''{0}''?

# Save Method Library Dialog
saveLibraryDialog_title=Zapisywanie biblioteki metod
saveLibraryDialog_text=Bie\u017c\u0105ca biblioteka metod zosta\u0142a zmodyfikowana. Czy chcesz zapisa\u0107 zmiany?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: Nie mo\u017cna zapisa\u0107 biblioteki metod.
error_reason=Wyst\u0105pi\u0142 b\u0142\u0105d.\n\nKliknij opcj\u0119 Szczeg\u00f3\u0142y, aby uzyska\u0107 wi\u0119cej informacji.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Tre\u015b\u0107 metody
elementTCProvider_contentPackages=Pakiety tre\u015bci
elementTCProvider_standardCategories=Kategorie standardowe
elementTCProvider_disciplines=Dyscypliny
elementTCProvider_domains=Domeny
elementTCProvider_workProductTypes=Typy produktu pracy
elementTCProvider_roleSets=Zestawy r\u00f3l
elementTCProvider_tools=Narz\u0119dzia
elementTCProvider_customCategories=Kategorie niestandardowe
elementTCProvider_processes=Procesy
elementTCProvider_capabilityPatterns=Wzorce mo\u017cliwo\u015bci
elementTCProvider_deliveryProcesses=Procesy dostarczania

