# 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

################################################################################
# BEGIN NO TRANSLATION
################################################################################

# Role diagram fonts and layout
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ja=\u30c0\u30a4\u30a2\u30ed\u30b0
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_ko=\ub300\ud654 \uc0c1\uc790
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh=\u5bf9\u8bdd\u6846
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_zh_TW=Dialog
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32=Arial
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ja=MS Gothic
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_ko=\uad74\ub9bc\uccb4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh=\u9ed1\u4f53
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_name_win32_zh_TW=\u7d30\u660e\u9ad4
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagramFont_size_win32=10
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xMargin=200
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_xSpacing=70
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
roleDiagram_ySpacing=30

################################################################################
# END NO TRANSLATION
################################################################################

unknown_text=Nieznane

# Error Reasons
emptyLibraryPathError_reason=\u015acie\u017cka do biblioteki metod jest pusta.
missingLibraryFileError_reason=Brak pliku modelu biblioteki metod.
unresolvedProxyError_reason=Wybrana biblioteka metod zawiera odniesienia do nierozstrzygni\u0119tych element\u00f3w. Jest to zazwyczaj spowodowane brakiem plik\u00f3w XMI w folderze biblioteki lub przeniesieniem tych plik\u00f3w.\n\nZamknij to okno dialogowe i przejd\u017a do widoku Problemy, aby zidentyfikowa\u0107 nierozstrzygni\u0119te odniesienia. Aby unikn\u0105\u0107 uszkodzenia biblioteki, zaleca si\u0119 rozstrzygni\u0119cie tych odniesie\u0144 przed wprowadzeniem kolejnych zmian w bibliotece.

# Warning Messages
configClosureWarning_msg1=IUPL0007W: W co najmniej jednym sk\u0142adniku potomnym brakuje odniesie\u0144
configClosureWarning_msg2=IUPL0008W: Ten sk\u0142adnik nale\u017cy wybra\u0107 w celu rozstrzygni\u0119cia co najmniej jednego brakuj\u0105cego odniesienia
configClosureWarning_msg3=IUPL0009W: Ten sk\u0142adnik odnosi si\u0119 do co najmniej jednego sk\u0142adnika w pakiecie, kt\u00f3ry nie zosta\u0142 wybrany.

ElementError_missing_element=''{0}'' odnosi si\u0119 do brakuj\u0105cego sk\u0142adnika ''{1}''
ElementError_contributor_missing_base=''{0}'' wnosi do brakuj\u0105cego sk\u0142adnika podstawowego ''{1}''
ElementError_extender_missing_base=''{0}'' rozszerza brakuj\u0105cy sk\u0142adnik podstawowy ''{1}''
ElementError_replacer_missing_base=''{0}'' zast\u0119puje brakuj\u0105cy sk\u0142adnik podstawowy ''{1}''
ElementError_missing_primary_performer=''{0}'' odnosi si\u0119 do brakuj\u0105cego wykonawcy podstawowego ''{1}''
ElementError_missing_mandatory_input=''{0}'' odnosi si\u0119 do brakuj\u0105cych obowi\u0105zkowych danych wej\u015bciowych ''{1}''
ElementError_missing_output=''{0}'' odnosi si\u0119 do brakuj\u0105cych danych wyj\u015bciowych ''{1}''
ElementError_missing_responsible_for_workProduct=''{0}'' odnosi si\u0119 do brakuj\u0105cej informacji o odpowiedzialno\u015bci za produkt pracy ''{1}''
ElementError_having_multiple_replacers=''{0}'' ma wiele element\u00f3w zast\u0119puj\u0105cych: ''{1}''

# Error Messages
loadResourcesError_msg=IUPL0000E: Biblioteka metod zosta\u0142a za\u0142adowana, jednak wykryto b\u0142\u0119dy.
unsupportedGuidanceTypeError_msg=IUPL0001E: Tych wskaz\u00f3wek nie mo\u017cna przekszta\u0142ci\u0107 w inny typ.
convertGuidanceError_msg=IUPL0002E: Tych wskaz\u00f3wek nie mo\u017cna przekszta\u0142ci\u0107 w typ docelowy.
saveConvertedGuidanceError_msg=IUPL0003E: Nie mo\u017cna zapisa\u0107 przekszta\u0142conych wskaz\u00f3wek ''{0}''.

# Convert activity
convertActivityError_title=B\u0142\u0105d przekszta\u0142cania typu dzia\u0142ania
convertActivityError_msg=IUPL0006E: Tego dzia\u0142ania nie mo\u017cna przekszta\u0142ci\u0107 w typ docelowy.
saveConvertedActivityError_msg=IUPL0007E: Nie mo\u017cna zapisa\u0107 przekszta\u0142conego dzia\u0142ania ''{0}''.

# Error Reasons
error_reason=IUPL0004E: Wyst\u0105pi\u0142 b\u0142\u0105d. Aby uzyska\u0107 wi\u0119cej informacji, kliknij przycisk OK.
unsupportedGuidanceTypeError_reason=Nie istnieje zgodny typ wskaz\u00f3wek dla {0}.
invalidLibraryPathError_reason=Niepoprawna \u015bcie\u017cka do biblioteki. Nie mo\u017cna utworzy\u0107 pliku .project.
couldNotLockLibrary_reason=Nie mo\u017cna zablokowa\u0107 biblioteki.

# Progress Messages
copyingAttachmentsTask_name=Kopiowanie za\u0142\u0105cznik\u00f3w...

# Convert Guidance Dialog
convertGuidanceDialog_title=Przekszta\u0142canie typu wskaz\u00f3wek
convertGuidanceDialog_text=Wybierz docelowy typ wskaz\u00f3wek.

# Guidance type names for Convert Guidance Dialog
checklist_text=Lista kontrolna
concept_text=Poj\u0119cie
example_text=Przyk\u0142ad
guideline_text=Wytyczna
estimate_text=Oszacowanie
estimatingMetric_text=Charakterystyka oszacowania
estimationConsiderations_text=Zagadnienia dotycz\u0105ce szacowania
report_text=Raport
template_text=Szablon
supportingMaterial_text=Materia\u0142 pomocniczy
toolMentor_text=Mentor narz\u0119dzia
whitepaper_text=Opracowanie
termDefinition_text=Definicja terminu
practice_text=\u0106wiczenie
reusableAsset_text=Zas\u00f3b wielokrotnego u\u017cytku

#activity breakdown info strings
ActivityLayout_primaryTasks_text=Wykonuje jako w\u0142a\u015bciciel
ActivityLayout_additionalTasks_text=Wykonuje jako dodatkowy
ActivityLayout_assistTasks_text=Wykonuje jako asystent
ActivityLayout_performAs_text=Wykonuje jako {0}

# Convert Guidance Error Messages
convertGuidanceError_title=B\u0142\u0105d podczas przekszta\u0142cania typu wskaz\u00f3wek

# Load Resources Error Dialog
loadResourcesError_title=B\u0142\u0105d podczas otwierania biblioteki metod
loadResourcesError_reason=Nie mo\u017cna za\u0142adowa\u0107 niekt\u00f3rych zasob\u00f3w biblioteki.\n\nKliknij opcj\u0119 Szczeg\u00f3\u0142y, aby przejrze\u0107 i usun\u0105\u0107 b\u0142\u0119dy przed wykonaniem kolejnych zmian w bibliotece.

# Role Diagrams
roleDiagramPerforms_text=wykonuje
roleDiagramResponsibleFor_text=odpowiedzialny za

DefaultContentValidator_MSG0=Sk\u0142adnik, do kt\u00f3rego istnieje odniesienie: {0}
DefaultContentValidator_MSG1=Informacja: {0}
DefaultContentValidator_MSG4=Ostrze\u017cenie: {0}
DefaultContentValidator_MSG7=B\u0142\u0105d: {0}
DefaultContentValidator_MSG10=Brakuj\u0105cy sk\u0142adnik, do kt\u00f3rego istnieje odniesienie {0}
DefaultContentValidator_MSG11=Nie mo\u017cna znale\u017a\u0107 sk\u0142adnika o identyfikatorze GUID {0}
DefaultContentValidator_MSG12=Plik ''{0}'' odnosi si\u0119 do brakuj\u0105cego zasobu ''{1}''
DefaultContentValidator_MSG15=brakuj\u0105cy plik zasobu ''{0}''
DefaultContentValidator_MSG17=Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia z adresem URL ''{0}''
DefaultContentValidator_MSG19=Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia z adresem URL ''{0}'': {1}
ImportExportUtil_MSG8=Nie mo\u017cna znale\u017a\u0107 pliku ''{0}''.
ImportExportUtil_MSG9=Nie mo\u017cna utworzy\u0107 katalogu tymczasowego ''{0}''.
unknownGuidance_text=Nieznane

CopyAttachmentsToNewLocation_log_noContentPath=CopyAttachmentsToNewLocation.HandleAttachmentsPlugin: brak elementu contentPath dla {0}
LibraryModificationHelper_cannotUpdate=IUPL0006W: Nie mo\u017cna zaktualizowa\u0107 {0} {1}
warningDlg_title=Ostrze\u017cenie
errorDlg_title=B\u0142\u0105d
errorDlg_saveError=IUPL0005E: B\u0142\u0105d podczas zapisywania zmian do pliku ''{0}''

# activity diagram names
activityDiagramName=Diagram dzia\u0142ania: {0}
activityDetailDiagramName=Diagram szczeg\u00f3\u0142\u00f3w dzia\u0142ania: {0}
wpDependencyDiagramName=Diagram zale\u017cno\u015bci produktu pracy: {0}

# localize the value based on locale.  for example, 
# for English, the value is ". "
#colon_with_space=: 
# for French, the value is " . ", you need to use a \ to preserve the leading space
#colon_with_space=\ : 
# for Chinese, the colon should be double bytes
# Don't trim the spaces after the colon.
colon_with_space=: 

oldToolVersion_err_msg=Wersja {0} nie jest zgodna z plikiem biblioteki ''{2}''. Aby mo\u017cna go by\u0142o otworzy\u0107, nale\u017cy zaktualizowa\u0107 {0} do wersji {1} lub nowszej.
toolVersionMismatch_err_msg=Wersja {0} nie jest zgodna z plikiem biblioteki ''{2}''. Aby mo\u017cna go by\u0142o otworzy\u0107, nale\u017cy zaktualizowa\u0107 {0} do nowszej wersji.
libUpgradeRequired_err_msg=Nale\u017cy zaktualizowa\u0107 podan\u0105 bibliotek\u0119 do nowej struktury biblioteki. Otw\u00f3rz bibliotek\u0119, aby j\u0105 zaktualizowa\u0107, i spr\u00f3buj ponownie.

WorkProductSlot_text=Gniazdo produktu pracy

libraryProblemMonitor=Monitor problem\u00f3w z bibliotek\u0105

references_unresolved_base_txt=odnosi si\u0119 do nierozstrzygni\u0119tej wtyczki podstawowej

configFreeProcessView_title=Wolny widok procesu konfiguracji
systemCreatedCustomCategory_brief=To jest utworzona przez system kategoria niestandardowa s\u0142u\u017c\u0105ca do grupowania element\u00f3w tego samego typu.

UndeclaredDep_MarkerTxt0=Niezadeklarowana zale\u017cno\u015b\u0107 wtyczki
UndeclaredDep_MarkerTxt1=Niezadeklarowana zale\u017cno\u015b\u0107 wtyczki od {0} do
UndeclaredDep_MarkerTxt2=Elementy powoduj\u0105ce problem:

