#-------------------------------------------------------------------------------
# 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 Search Page
searchStringLabel_text=Tekst (* = dowolny \u0142a\u0144cuch, ? = dowolny znak):
caseSensitiveCheckbox_text=Rozr\u00f3\u017cnianie wielko\u015bci liter
elementNameLabel_text=Wzorzec nazwy sk\u0142adnika metody lub nazwy prezentacji:
scopeGroup_text=Zakres
roleCheckbox_text=Rola
taskCheckbox_text=Zadanie
workProductCheckbox_text=Produkt pracy

# Method Search Query
searchQuery_text=Wyszukiwanie metody

# Method Search Progress Dialog
scanLibraryTask_name=Skanowanie biblioteki metod...
scanElementTask_name=Skanowanie sk\u0142adnika metody ''{0}''...

# Method Search Error Dialog
searchError_title=Wyszukiwanie metody
searchError_msg=IUPS0100E: Nie mo\u017cna kontynuowa\u0107 operacji wyszukiwania.
searchError_reason=Obecnie nie jest otwarta \u017cadna biblioteka metod.\n\nOtw\u00f3rz bibliotek\u0119 metod i pon\u00f3w pr\u00f3b\u0119.

# Method Search Result
searchResult_methodContent=Tre\u015b\u0107 metody
searchResult_contentPackages=Pakiety tre\u015bci
searchResult_standardCategories=Kategorie standardowe
searchResult_disciplines=Dyscypliny
searchResult_domains=Domeny
searchResult_workProductTypes=Typy produktu pracy
searchResult_roleSets=Zestawy r\u00f3l
searchResult_tools=Narz\u0119dzia
searchResult_customCategories=Kategorie niestandardowe
searchResult_processes=Procesy
searchResult_capabilityPatterns=Wzorce mo\u017cliwo\u015bci
searchResult_deliveryProcesses=Procesy dostarczania
searchResult_match=''{0}'' - 1 zgodny element
searchResult_matches=''{0}'' - liczba zgodnych element\u00f3w: {1}
