#-------------------------------------------------------------------------------
# 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
#
# Message ID Range: IUPP0000E - IUPP0099E
#

# Progress Messages
publishingConfigurationTask_name=Publikowanie konfiguracji...
initializingDirTask_name=Inicjowanie katalogu docelowego...
copyingFilesTask_name=Kopiowanie plik\u00f3w...
generatingBookmarksTask_name=Generowanie zak\u0142adek...
generatingBookmarkTask_name=Generowanie zak\u0142adki ''{0}''...
generatingBookmarkIndexTask_name=Generowanie indeksu zak\u0142adek...
publishingLinkedElementTask_name=Publikowanie element\u00f3w metod: opublikowano: {0}, pozosta\u0142o: {1}
publishingElementTask_name=Publikowanie elementu metody: {0}:{1}
generatingGlossaryTask_name=Generowanie glosariusza...
generatingSearchIndexTask_name=Generowanie indeksu wyszukiwania...
generatingWARFileTask_name=Generowanie pliku WAR...
buildingProcessClosureTask_name=Budowanie domkni\u0119cia procesu...
buildingElementClosureTask_name=Budowanie domkni\u0119cia elementu dla ''{0}''...
loadLibraryTask_name=\u0141adowanie tre\u015bci biblioteki...

# Error Messages logged in the Publishing Report
publishElementError_msg=IUPP0000E: B\u0142\u0105d publikowania elementu: {0}
serverError_msg=IUPP0001E: Serwer nie zwr\u00f3ci\u0142 \u017cadnych danych.
invalidHttpResponseError_msg=IUPP0002E: Niepoprawna odpowied\u017a z http://{0}:{1}:{2}

# Warning Messages logged in the Publishing Report
invalidElementWarning_msg=IUPP0003W: Element nie zosta\u0142 opublikowany, poniewa\u017c nie jest poprawnym elementem w tej konfiguracji.
invalidMethodElementWarning_msg=IUPP0004W: Element nie zosta\u0142 opublikowany, poniewa\u017c nie jest elementem metody: {0}
copyFileWarning_msg=IUPP0005W: Nie mo\u017cna skopiowa\u0107 pliku z ''{0}'' do ''{1}''.
missingIconFileWarning_msg=IUPP0006W: Plik ikony w\u0119z\u0142a ''{0}'' nie istnieje.
missingIconNameWarning_msg=IUPP0007W: Nie mo\u017cna odtworzy\u0107 nazwy ikony w\u0119z\u0142a.
externalUrl_msg={0} minisekund trwa odwo\u0142anie do zewn\u0119trznego adresu URL: {1}
discaredCategoryWarning_msg=Pusty element kategorii tre\u015bci nie zosta\u0142 opublikowany.

# Error Details
createSearchIndexError_msg=IUPP0008E: Nie utworzono pliku indeksu wyszukiwania.

# Process Tree Nodes
referenceWorkflowsNode_text=Przep\u0142ywy pracy odniesie\u0144
taskNode_text=Zadania
primarilyPerformsNode_text=Wykonania g\u0142\u00f3wne
additionallyPerformsNode_text=Dodatkowo wykonuje
performingRolesNode_text=Role wykonuj\u0105ce
inputWorkProductsNode_text=Wej\u015bciowe produkty pracy
outputWorkProductsNode_text=Wyj\u015bciowe produkty pracy
responsibleForNode_text=Odpowiedzialno\u015b\u0107 za
modifiesNode_text=Modyfikuje
responsibleRoleNode_text=Rola odpowiedzialna
containingWorkProductNode_text=Zawieraj\u0105cy produkt pracy
containedWorkProductsNode_text=Zawarte produkty pracy
guidanceNode_text=Wskaz\u00f3wki
inputToNode_text=Wej\u015bcie do
outputFromNode_text=Wyj\u015bcie z

# HTML Title for Index Page
indexLabel_text=Indeks
