#-------------------------------------------------------------------------------
# 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
pluginName=EPF - Bibliothek bearbeiten
providerName=Eclipse.org

_UI_Content_group=Methodeninhalt

_UI_Disciplines_group=Disziplinen
_UI_Domains_group=Dom\u00e4nen
_UI_WorkProductTypes_group=Arten von Arbeitsergebnissen
_UI_Role_Sets_group=Rollengruppen
_UI_Tools_group=Tools
_UI_Standard_Categories_group=Standardkategorien
_UI_Custom_Categories_group=Angepasste Kategorien
_UI_MethodContent_group=Inhaltspakete
_UI_Categories_group=Kategorien

_UI_Processes_group=Prozesse
_UI_PlanningTemplates_group=Planungsvorlagen

_UI_CapabilityPatterns_text=Prozessmuster
_UI_DeliveryProcesses_text=Bereitstellungsprozesse
_UI_ProcessContributions_text=Unterschiedliche Prozesse
_UI_PlanningTemplates_text=Planungsvorlagen

_UI_CapabilityPattern_text=Prozessmuster
_UI_DeliveryProcess_text=Bereitstellungsprozess
_UI_ProcessContribution_text=Unterschiedlicher Prozess

_UI_Configurations_text=Konfigurationen

_UI_ProcessFamilies_text=Prozessfamilien

_UI_Uncategorized_text=Nicht kategorisiert
_UI_Uncategorized_Tasks_text=Nicht kategorisierte Aufgaben
_UI_Uncategorized_Roles_text=Nicht kategorisierte Rollen

_UI_Guidances_group=Anleitung
_UI_Guidances_Checklists=Pr\u00fcflisten
_UI_Guidances_Concepts=Konzepte
_UI_Guidances_Examples=Beispiele
_UI_Guidances_EstimationConsiderations=Hinweise zum Sch\u00e4tzen
_UI_Guidances_Practices=Verfahren
_UI_Guidances_Reports=Berichte
_UI_Guidances_ReusableAssets=Wiederverwendbare Assets
_UI_Guidances_Roadmap=Roadmap
_UI_Guidances_SupportingMaterials=Unterst\u00fctzendes Material
_UI_Guidances_Techniques=Techniken
_UI_Guidances_Templates=Vorlagen
_UI_Guidances_TermDefinitions=Begriffsdefinitionen
_UI_Guidances_ToolMentors=Toolmentoren
_UI_Guidances_Whitepapers=White Paper
_UI_Guidances_WorkProductGuidelines=Richtlinien
_UI_Key_Concepts=Schl\u00fcsselkonzepte


_UI_Roles_group=Rollen
_UI_Tasks_group=Aufgaben
_UI_WorkProducts_group=Arbeitsergebnisse
_UI_Activities_group=Aktivit\u00e4ten

# Breakdown structure column display names
BS_Column_name=Name
BS_Column_prefix=Pr\u00e4fix
BS_Column_id=Index
BS_Column_predecessors=Vorg\u00e4nger
BS_Column_is_repeatable=Wiederholt anwendbar
BS_Column_is_ongoing=Fortlaufend
BS_Column_is_event_driven=Ereignisgesteuert
BS_Column_entry_state=Anfangszustand
BS_Column_exit_state=Endzustand
BS_Column_teams=Team
BS_Column_type=Typ
BS_Column_model_info=Modellinfo
BS_Column_presentation_name=Pr\u00e4sentationsname
BS_Column_deliverable=Liefergegenstand
BS_Column_is_optional=Optional
BS_Column_is_planned=Geplant
BS_Column_has_multiple_occurrences=Mehrere Vorkommen

