#-------------------------------------------------------------------------------
# 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=EPF - Bibliothek bearbeiten

_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
_UI_UdtElements_group=Benutzerdefinierte Datentypen

# 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

