# 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

# Plug-in
providerName=Eclipse.org
pluginName=Edycja biblioteki EPF

_UI_Content_group=Tre\u015b\u0107 metody

_UI_Disciplines_group=Dyscypliny
_UI_Domains_group=Domeny
_UI_WorkProductTypes_group=Typy produkt\u00f3w pracy
_UI_Role_Sets_group=Zestawy r\u00f3l
_UI_Tools_group=Narz\u0119dzia
_UI_Standard_Categories_group=Kategorie standardowe
_UI_Custom_Categories_group=Kategorie niestandardowe
_UI_MethodContent_group=Pakiety tre\u015bci
_UI_Categories_group=Kategorie

_UI_Processes_group=Procesy
_UI_PlanningTemplates_group=Szablony planowania

_UI_CapabilityPatterns_text=Wzorce mo\u017cliwo\u015bci
_UI_DeliveryProcesses_text=Procesy dostarczania
_UI_ProcessContributions_text=Procesy r\u00f3\u017cnicowe
_UI_PlanningTemplates_text=Szablony planowania

_UI_CapabilityPattern_text=Wzorzec mo\u017cliwo\u015bci
_UI_DeliveryProcess_text=Proces dostarczania
_UI_ProcessContribution_text=Proces r\u00f3\u017cnicowy

_UI_Configurations_text=Konfiguracje

_UI_ProcessFamilies_text=Rodziny proces\u00f3w

_UI_Uncategorized_text=Nieskategoryzowane
_UI_Uncategorized_Tasks_text=Nieskategoryzowane zadania
_UI_Uncategorized_Roles_text=Nieskategoryzowane role

_UI_Guidances_group=Wskaz\u00f3wki
_UI_Guidances_Checklists=Listy kontrolne
_UI_Guidances_Concepts=Poj\u0119cia
_UI_Guidances_Examples=Przyk\u0142ady
_UI_Guidances_EstimationConsiderations=Zagadnienia dotycz\u0105ce szacowania
_UI_Guidances_Practices=Procedury
_UI_Guidances_Reports=Raporty
_UI_Guidances_ReusableAssets=Zasoby wielokrotnego u\u017cytku
_UI_Guidances_Roadmap=Przewodnik
_UI_Guidances_SupportingMaterials=Materia\u0142y pomocnicze
_UI_Guidances_Techniques=Techniki
_UI_Guidances_Templates=Szablony
_UI_Guidances_TermDefinitions=Definicje termin\u00f3w
_UI_Guidances_ToolMentors=Mentory narz\u0119dzi
_UI_Guidances_Whitepapers=Opracowania
_UI_Guidances_WorkProductGuidelines=Wytyczne
_UI_Key_Concepts=Kluczowe poj\u0119cia


_UI_Roles_group=Role
_UI_Tasks_group=Zadania
_UI_WorkProducts_group=Produkty pracy
_UI_Activities_group=Dzia\u0142ania

# Breakdown structure column display names
BS_Column_name=Nazwa
BS_Column_prefix=Przedrostek
BS_Column_id=Indeks
BS_Column_predecessors=Poprzednicy
BS_Column_is_repeatable=Powtarzalne
BS_Column_is_ongoing=Aktualne
BS_Column_is_event_driven=Sterowane zdarzeniami
BS_Column_entry_state=Stan wej\u015bciowy
BS_Column_exit_state=Stan wyj\u015bciowy
BS_Column_teams=Zesp\u00f3\u0142
BS_Column_type=Typ
BS_Column_model_info=Informacja o modelu
BS_Column_presentation_name=Nazwa prezentacji
BS_Column_deliverable=Produkt cz\u0105stkowy
BS_Column_is_optional=Opcjonalne
BS_Column_is_planned=Planowane
BS_Column_has_multiple_occurrences=Wielokrotne wyst\u0105pienia
