# 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

# Generic Dialog Titles
moveDialog_title=Verschieben
moveDialog_addRefPluginsWarningText=Warnung: Diese Verschiebung kann zu nicht deklarierten Plug-in-Abh\u00e4ngigkeiten f\u00fchren, wenn Sie nicht die erforderlichen Plug-in-Referenzen hinzuf\u00fcgen. Benutzern wird empfohlen, die Bibliotheksvalidierung zu verwenden, um sie nach dem Verschieben zu \u00fcberpr\u00fcfen und manuell zu korrigieren.
moveDialog_addRefPluginsWarningText1=Warnung: Diese Verschiebung f\u00fchrt m\u00f6glicherweise zu nicht deklarierten Abh\u00e4ngigkeiten, die zu Plug-in-Schleifenabh\u00e4ngigkeiten f\u00fchren w\u00fcrden, wenn vom Tool hinzugef\u00fcgt. Benutzern wird empfohlen, die Bibliotheksvalidierung zu verwenden, um sie nach dem Verschieben zu \u00fcberpr\u00fcfen und zu korrigieren.  
moveDialog_addRefPluginsText=Die folgenden Plug-in-Referenzen k\u00f6nnen ohne Verursachen von Schleifenabh\u00e4ngigkeiten hinzugef\u00fcgt werden. Klicken Sie auf "Ja", um fortzufahren. Klicken Sie auf "Nein", um ohne Hinzuf\u00fcgung fortzufahren. Klicken Sie auf "Abbrechen", um die Verschiebung abzubrechen.\n\nPlug-in-Referenzen zum Hinzuf\u00fcgen f\u00fcr
deleteDialog_title=Element l\u00f6schen
errorDialog_title=Fehler
errorDialog_cannotRename={0} ''{1}'' kann nicht in ''{2}'' umbenannt werden. Beheben Sie das in den Details beschriebene Problem, und klicken Sie anschlie\u00dfend auf OK, um die Operation fortzusetzen, oder auf Abbrechen, um die Operation abzubrechen.

# Confirm References Removal Dialog
deleteReferencesDialog_title=Entfernen der Referenzen best\u00e4tigen
deleteReferencesDialog_text=Auf die Elemente, die Sie zum L\u00f6schen ausgew\u00e4hlt haben, verweisen noch andere Elemente in der Methodenbibliothek. Wenn Sie diese Elemente l\u00f6schen, werden die Referenzen auf diese Elemente gel\u00f6scht. Deshalb werden die referenzierenden Elemente ebenfalls aktualisiert. Vergewissern Sie sich vor dem Anklicken von OK, dass Sie berechtigt sind, die referenzierenden Elemente zu aktualisieren. Klicken Sie auf Details, um die Liste der Elemente zu pr\u00fcfen, die auf die Elemente verweisen, die Sie l\u00f6schen m\u00f6chten.

# Resolve Name Conflict Dialog
resolveNameConflictDialog_title=Konflikt bei Elementnamen beheben
resolveNameConflictDialog_text={0} (neu) f\u00fcr ''{1}'' eingeben:

# Select Deliverables Dialog
selectDeliverablesDialog_title=Liefergegenst\u00e4nde ausw\u00e4hlen
selectDeliverablesDialog_text=W\u00e4hlen Sie einen Liefergegenstand aus, dem Sie das Arbeitsergebnis ''{0}'' zuordnen m\u00f6chten.

# New Process Component Dialog
newProcessComponentDialog_title=Neue Prozesskomponente
nameLabel_text=Name:
defaultConfigLabel_text=Standardkonfiguration:
baseProcessLabel_text=Basisprozess:
basedOnProcessesLabel_text=Basiert auf Prozessen:
SpecifyNameText=Geben Sie einen g\u00fcltigen Namen an.

# Role Association Dialog
selectAssociationLabel_text=Zuordnung f\u00fcr die Aufgabe ''{0}'' ausw\u00e4hlen

# Remove Association dialog
removeAssociationDialog_text=Zuordnung entfernen

# Select Teams Dialog
selectTeamsDialog_title=Teams ausw\u00e4hlen
selectTeamsDialog_text=W\u00e4hlen Sie ein Team aus, dem Sie eine Rolle ''{0}'' zuordnen m\u00f6chten.

# Task Selection Dialog
taskSelectionDialog_title=Aufgabenauswahl
titleLabel_text=Aufgaben ausw\u00e4hlen...

# Error Messages
emptyElementNameError_msg=IUPL0100E: Der Name f\u00fcr {0} fehlt.\nAlle Methoden- und Prozesselemente m\u00fcssen einen Namen haben.\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
emptyElementNameError_simple_msg=Der Name muss angegeben werden. Geben Sie einen g\u00fcltigen Namen an.
duplicateElementNameError_msg=IUPL0101E: Der Name ''{0}'' ist bereits vorhanden.\nEin Methodenelement muss einen eindeutigen Namen haben.\nGeben Sie einen anderen Namen ein, und wiederholen Sie den Vorgang.
duplicateElementNameError_msg2=Geben Sie einen anderen Namen ein, und wiederholen Sie den Vorgang.
duplicateElementNameError_simple_msg=Der Name ist bereits vorhanden. Geben Sie einen anderen Namen an.
invalidElementNameError1_msg=IUPL0102E: Der Name ''{0}'' ist ung\u00fcltig.\nDer Name eines Methodenelements darf nicht mit einem Leerzeichen beginnen.\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
invalidElementNameError2_msg=IUPL0103E: Der Name ''{0}'' ist ung\u00fcltig.\nDer Name eines Methodenelements darf nicht mit einem Punkt enden.\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
invalidElementNameError3_msg=IUPL0104E: Der Name ''{0}'' ist ung\u00fcltig.\nDie folgenden Zeichen sind in Namen von Methodenelementen nicht zul\u00e4ssig: \\ / : * ? " < > ; | [ ] #\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
invalidElementNameError4_msg=IUPL0105E: Der Name ''{0}'' ist ung\u00fcltig.\nDas folgende Zeichen ist in Namen von Methodenelementen nicht zul\u00e4ssig: &\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
invalidPluginNameError_msg=IUPL0121E: Der Name ''{0}'' ist ung\u00fcltig.\nDie folgenden Zeichen sind in Namen von Methoden-Plug-ins nicht zul\u00e4ssig: \\ / : * ? " < > ; | # % ''\nGeben Sie einen g\u00fcltigen Namen ein, und wiederholen Sie den Vorgang.
filePathNameTooLong_msg=Der Dateipfadname ist zu lang (l\u00e4nger als ''{0}'' Zeichen). 
noConfigError_msg=Die aktuelle Methodenbibliothek enth\u00e4lt keine Methodenkonfiguration.\nZum Erstellen eines neuen Prozesses ist eine Methodenkonfiguration erforderlich.\nErstellen Sie eine Methodenkonfiguration, und wiederholen Sie den Vorgang.
noDeliveryProcessError_msg=IUPL0106E: Die aktuelle Methodenbibliothek enth\u00e4lt keine Bereitstellungsprozesse.\nZum Erstellen eines neuen Prozessbeitrags ist ein Basisbereitstellungsprozess erforderlich.\nErstellen Sie einen Bereitstellungsprozess, und wiederholen Sie den Vorgang.
noDefaultConfigError_msg=IUPL0107E: Es wurde keine Methodenkonfiguration ausgew\u00e4hlt.\nDem neuen Prozess muss eine Standardmethodenkonfiguration zugeordnet werden.\nW\u00e4hlen Sie eine Methodenkonfiguration aus, und wiederholen Sie den Vorgang.
noBaseProcessError_msg=IUPL0108E: Es wurde kein Bereitstellungsprozess ausgew\u00e4hlt.\nEin Prozessbeitrag setzt einen Basisbereitstellungsprozess voraus.\nW\u00e4hlen Sie einen Bereitstellungsprozess aus, und wiederholen Sie den Vorgang.
createProcessError_msg=IUPL0109E: Der Prozess kann nicht fehlerfrei erstellt werden.
createElementError_msg=IUPL0110E: Das Element kann nicht fehlerfrei erstellt werden.
deleteElementError_msg=IUPL0111E: Das Element kann nicht fehlerfrei gel\u00f6scht werden.
duplicateContentFileError_msg=IUPL0112E: Die Inhaltsdatei f\u00fcr das Element kann nicht erstellt oder nicht dem Elementnamen entsprechend umbenannt werden.\n\nDie Datei ''{0}'' ist bereits vorhanden.\n\nGeben Sie einen anderen Namen ein, und wiederholen Sie den Vorgang.
duplicateContentFileError_simple_msg=Es ist bereits eine Inhaltsdatei mit diesem Namen vorhanden. Geben Sie einen anderen Namen an.
undoCommandError_msg=IUPL0113E: Der Widerrufbefehl ''{0}'' kann nicht ausgef\u00fchrt werden.\n\nEs ist ein Fehler aufgetreten: {1}
invalidPredecessorError_msg=IUPL0114E: Der angegebene Vorg\u00e4ngerindex ist ung\u00fcltig.\n\nEin Vorg\u00e4ngerindex muss ein ganzzahliger Wert aus der Spalte 'Index' sein.\n\nGeben Sie einen g\u00fcltigen Wert ein, und wiederholen Sie den Vorgang.
UserInteractionHelper_errRelationshipExists=IUPL0100W: ''{0}'' ist bereits ''{1}'' zugeordnet. Es ist nur eine Zuordnung dieser Art zul\u00e4ssig. Wenn Sie ''{0}'' ''{2}'' zuordnen m\u00f6chten, m\u00fcssen Sie das Element erst aus ''{1}'' entfernen.
error_msgWithDetails=IUPL0116E: Es ist ein Fehler aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
error_msg=IUPL0117E: Es ist ein Fehler aufgetreten. Suchen Sie in der Protokolldatei nach weiteren Einzelheiten.
Suppression_nameDuplication=IUPL0118E: Nach dieser Operation tritt eine Namensunvertr\u00e4glichkeit auf. \u00dcberpr\u00fcfen Sie, ob der Elementname bereits vorhanden ist, und wiederholen Sie dann die Operation.
Suppression_presentationNameDuplication=IUPL0119E: Nach dieser Operation tritt eine Namensunvertr\u00e4glichkeit auf. \u00dcberpr\u00fcfen Sie, ob der Pr\u00e4sentationsname des Elements bereits vorhanden ist, und wiederholen Sie dann die Operation.

# Error Reasons
error_reason=Es ist ein Fehler aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
saveProcessError_reason=Beim Speichern des Prozesses ''{0}'' ist ein Fehler aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
deleteReferencesError_reason=Beim Entfernen der Referenzen, die diesem Element zugeordnet sind, ist ein Fehler aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
saveFileError_reason=Beim Speichern der Datei ''{0}'' ist ein Fehler aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
invalidReferencesError_reason=Es wurden Methodenelemente mit ung\u00fcltigen Referenzen gefunden, die auf eine Plug-in-\u00fcbergreifende Kopieroperation zur\u00fcckzuf\u00fchren sind.\nDiese Referenzen werden entfernt. Fortfahren?
unresolvedObjectError_reason=Ein nicht aufgel\u00f6stes Objekt kann nicht ge\u00e4ndert werden: {0}(URI = {1}){2}

# Warning messages
MethodElementAddCommand_originalNotFoundWarning_msg=IUPL0118W: Mindestens ein Quellenelement wurde nicht gefunden. Die zugeordneten Dateien im Ressourcenordner werden nicht kopiert.
ActivityAddCommand_originalNotFoundWarning_msg=IUPL0119W: Mindestens ein Quellenelement wurde nicht gefunden. Die zugeordneten Prozesspakete werden nicht kopiert.
ActivityDropCommand_deepCopy_promptConfigurationMsg=M\u00f6chten Sie alle Deskriptoren kopieren?\n\nWenn Sie auf Nein klicken, werden nur die Deskriptoren kopiert, die zur aktuellen Konfiguration geh\u00f6ren.
deepCopy_promptMsg=Sie erhalten eine Kopie aller dynamisch verkn\u00fcpften Elemente, die Sie ab sofort separat verwalten m\u00fcssen. Fortfahren?
deepCopy_title=Tiefe Kopie

# Progress messages
creatingProcessComponentTask_name=Prozesskomponente ''{0}'' wird erstellt...
processingReferencesTask_name=Referenzen werden verarbeitet...
deletingElementsTask_name=Elemente und zugeordnete Dateien werden gel\u00f6scht...
checkingReferencesTask_name=Referenzen werden gesucht...
removingReferencestask_name=Referenzen werden entfernt...
savingModifiedFilesTask_name=Ge\u00e4nderte Dateien werden gespeichert...
checkAffectedResourcesTask_name=Betroffene Ressourcen werden gepr\u00fcft...
movingTask_name=Verschieben...
movingFilesTask_name=Dateien werden verschoben...
copyingResourcesTask_name=Ressourcen werden kopiert...
copyingActivities_msg=Aktivit\u00e4t ''{0}'' wird kopiert
savingFileTask_name=Datei ''{0}'' wird gespeichert...
savingResources_msg=Ressourcen werden gespeichert
scope_defualtName=-- Ohne --
scope_PluginsName=Ausgew\u00e4hlte Plug-ins

# UI Text
element_text=Element
createElement_text=Element erstellen
createProcess_text=Prozess erstellen
contributesTo_text=Beitrag zu
localContributesTo_text=Lokaler Beitrag zu
extends_text=Erweiterung
replaces_text=Ersetzung
extends_replaces_text=Erweiterung und Ersetzung
localReplaces_text=Lokale Ersetzung f\u00fcr
localReplacementAndDeepCopy_text=Lokale Ersetzung und tiefe Kop&ie
elementType_text={0}: {1}
deliverables_text=Liefergegenst\u00e4nde
contributeToActivity_text=Beitrag zu Aktivit\u00e4t
ActivityDropCommand_label=Aktivit\u00e4t l\u00f6schen
replaceActivity_text=Aktivit\u00e4t ersetzen
file_text=Datei
directory_text=Verzeichnis
unresolved_text=(''{0}'' nicht aufgel\u00f6st)
assists_text=Unterst\u00fctzt von
unknown_text=Unbekannt
command_done=Fertig

# The following UI text should be reviewed.
Util_labelpath_variabilitywithplugin_info={0} ({1} ''{2}'' in ''{3}'')
Util_labelpath_variability_info={0} ({1} ''{2}'')
ui_ref_delete=Der Deskriptor ''{0}'' hat die folgenden Referenzen, die nicht verwendet werden.\nW\u00e4hlen Sie die Referenzen aus, die Sie l\u00f6schen m\u00f6chten:
ui_ref_delete2=Die folgenden Referenzen werden nicht verwendet.\nW\u00e4hlen Sie die Referenzen aus, die Sie l\u00f6schen m\u00f6chten:
ui_references=Referenzen
ui_workproduct_descriptor_description=Der Arbeitsergebnisdeskriptor ''{0}'' ist (der Ausgabe von) Aufgabendeskriptor ''{1}'' zugeordnet.
ui_workproductdescriptor_options=Optionen
ui_workproductdescriptor_outputlabel=Arbeitsergebnisdeskriptor als Ausgabe des Aufgabendeskriptors entfernen
ui_workproductdescriptor_delete_task=Aufgabendeskriptor aus Aktivit\u00e4t l\u00f6schen
ui_UserInteractionHelper_defaultconfigcheck=Das ausgew\u00e4hlte Element ''{0}'' ist nicht in der Standardkonfiguration des Prozesses enthalten.\nM\u00f6chten Sie das Element und die Abh\u00e4ngigkeiten der Standardkonfiguration hinzuf\u00fcgen?
ui_UserInteractionHelper_genericErr_message_text=Es sind Fehler in der Operation aufgetreten. Klicken Sie auf Details, um weitere Informationen zu erhalten.
ProcessAutoSynchronizeAction_noDescriptorToSynch=Es wurde kein Deskriptor mit dem verlinkten Methodenelement gefunden, der synchronisiert werden k\u00f6nnte.
util_configurablecomposedadapter_refershingviewer=Fehler beim Aktualisieren des Viewer
confirm_remove_references_text=Die unter Details aufgef\u00fchrten Elemente enthalten nach der Konvertierung m\u00f6glicherweise ung\u00fcltige Referenzen auf diese Anleitung. Klicken Sie auf OK, wenn Sie sie l\u00f6schen und fortfahren m\u00f6chten.
confirmDescriptorsDeletion_title=L\u00f6schen von Deskriptoren best\u00e4tigen
confirmDescriptorsDeletion_msg=Auf die Elemente, die Sie zum L\u00f6schen ausgew\u00e4hlt haben, verweisen noch Deskriptoren in der Methodenbibliothek. Klicken Sie auf Ja, wenn Sie diese Deskriptoren ebenfalls l\u00f6schen m\u00f6chten. Vergewissern Sie sich vor dem Anklicken von Ja, dass Sie berechtigt sind, die Deskriptoren zu l\u00f6schen. Klicken Sie auf Details, um die Liste der Deskriptoren zu pr\u00fcfen, die die Elemente referenzieren, die Sie l\u00f6schen m\u00f6chten.
util_configurablecomposedadapter_unhandled_exception=Nicht behandelte Ausnahme
util_ProcessUtil_err_same_breakdown_element=Ein Strukturelement kann nicht gleichzeitig Vorg\u00e4nger und Nachfolger sein.
ui_UserInteractionHelper_wplistdlg_msg=Das Arbeitsergebnis ''{0}'' ist eine Ausgabe f\u00fcr die folgenden Aufgaben.\nW\u00e4hlen Sie die Aufgaben aus, f\u00fcr die Sie die entsprechenden Deskriptoren erstellen m\u00f6chten.
ui_UserInteractionHelper_rolelistdlg_msg=Die Rolle ''{0}'' ist f\u00fcr die folgenden Arbeitsergebnisse verantwortlich.\nW\u00e4hlen Sie die Arbeitsergebnisse aus, f\u00fcr die Sie die entsprechenden Deskriptoren erstellen m\u00f6chten.
util_configurablecomposedadapter_fatalerr=Schwerwiegender Fehler
ui_UserInteractionHelper_workproducts=Arbeitsergebnisse
util_ProcessUtil_err_same_sub_element=Ein Strukturelement kann nicht mit einem seiner Unterelemente verlinkt werden.
util_ProcessUtil_err_wrong_element=Verlinken ist nur mit einem Projektstrukturelement m\u00f6glich.
util_ProcessUtil_err_child_element=Ein Strukturelement kann nicht mit einem seiner Unterelemente verlinkt werden.
ui_UserInteractionHelper_tasks=Aufgaben
ui_association_task_selection=Aufgabenauswahl...
util_ProcessUtil_childadapter=\ \ untergeordneter Adapter: 
util_ProcessUtil_err_setparent=\u00dcbergeordneter Eintrag f\u00fcr Eintrag konnte nicht gesetzt werden.
util_tngutil_cannot_edit_resource=Ressource kann nicht bearbeitet werden.
util_ProcessUtil_contributesto=ist ein Beitrag zu ''{0}''
util_ProcessUtil_localContributesto=Lokaler Beitrag f\u00fcr ''{0}''
process_extends=Erweiterung f\u00fcr ''{0}''
process_replaces=ersetzt ''{0}''
process_localReplaces=Lokale Ersetzung f\u00fcr ''{0}''
# Filter constants externalized strings.
FilterConstants_disciplines_text=Disziplinen
FilterConstants_disciplinegroupings_text=Disziplingruppierungen
FilterConstants_whitepapers_text=White Paper
FilterConstants_toolmentors_text=Toolmentoren
FilterConstants_tools_text=Tools
FilterConstants_roles_text=Rollen
FilterConstants_tasks_text=Aufgaben
FilterConstants_reusableassets_text=Wiederverwendbare Assets
FilterConstants_all_text=Aktuell
FilterConstants_processes_text=Prozesse
FilterConstants_activities_text=Aktivit\u00e4ten
FilterConstants_practices_text=Verfahren
FilterConstants_UDTs_text=Benutzerdefinierte Datentypen
FilterConstants_templates_text=Vorlagen
FilterConstants_workproducts_text=Arbeitsergebnisse
FilterConstants_checklists_text=Pr\u00fcflisten
FilterConstants_guidelines_text=Richtlinien
FilterConstants_rolesets_text=Rollengruppen
FilterConstants_guidance_text=Anleitung
FilterConstants_concepts_text=Konzepte
FilterConstants_examples_text=Beispiele
FilterConstants_contentpackages_text=Inhaltspakete
FilterConstants_roledescriptors_text=Rollendeskriptoren
FilterConstants_rolesetgropuings_text=Zusammenfassungen von Rollengruppen
FilterConstants_taskdescriptors_text=Aufgabendeskriptoren
FilterConstants_contentelements_text=Inhaltselemente
ProcessAutoSynchronizeAction_prepare=Synchronisation wird vorbereitet...
FilterConstants_workproductdescriptors_text=Arbeitsergebnisdeskriptoren
FilterConstants_allcontentelements_text=Alle Inhaltselemente
FilterConstants_supportingmaterials_text=Unterst\u00fctzendes Material
MethodElementAddCommand_errorSavingFiles=Fehler beim Speichern der Datei(en)
FilterConstants_customcategories_text=Angepasste Kategorien
FilterConstants_workproducttypes_text=Arten von Arbeitsergebnissen
DeleteMethodElementCommand_warningMsg=L\u00f6schvorgang mit Warnung abgeschlossen
FilterConstants_methodplugins_text=Methoden-Plug-ins
UserInteractionHelper_lockedPlugin=IUPL0120E: Das Plug-in ''{0}'' ist gesperrt.
FilterConstants_domains_text=Dom\u00e4nen
FilterConstants_roadmap_text=Roadmaps
FilterConstants_reports_text=Berichte
AutoSynchronizeCommand_label=&Standardsynchronisation aus Methodeninhalt
ManualSynchronizeCommand_label=Angepasste Synchron&isation...
SynchronizeCompleteDialog_Title=Synchronisation abgeschlossen
AutoSynchronizeCommand_sucessful=Die Synchronisation wurde fehlerfrei durchgef\u00fchrt.
selectDescriptorsToDelete_msg=Die folgenden Deskriptoren werden nach dem L\u00f6schen der ausgew\u00e4hlten Elemente nirgendwo mehr verwendet.\nW\u00e4hlen Sie die zu l\u00f6schenden Deskriptoren aus.

CreateProcessComponentCommand_Message=Geben Sie den Namen und die Standardkonfiguration f\u00fcr die Erstellung von {0} an.
DeliveryProcessLabel=Bereitstellungsprozess
CapabilityPatternLabel=Prozessmuster

# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Name:

# MethodCreateChildCommand
newElement_text={0} - Neu
update_outofsynch_title=Aktualisierungskonflikt
update_outofsynch_msg=Die Datei(en) wurde(n) im Dateisystem ge\u00e4ndert. M\u00f6chten Sie die \u00c4nderungen speichern?
duplicateFeatureValue=Es ist nicht zul\u00e4ssig, 2 Elemente unter ''{0}'' zu definieren, die denselben Wert f\u00fcr ''{1}'' haben.
apply_pattern_error_msg=Die Aktivit\u00e4t ''{0}'' kann nicht auf den Prozess ''{1}'' angewendet werden, das dies zu einer Schleifenabh\u00e4ngigkeit f\u00fchren w\u00fcrde.
apply_pattern_error_msg1=Die Aktivit\u00e4t ''{0}'' kann nicht auf den Prozess ''{1}'' angewendet werden, das ''{0}'' bereits eine oder mehrere zus\u00e4tzliche oder ersetzte Aktivit\u00e4ten als untergeordnete Elemente enth\u00e4lt.
activity_variability_error_msg1=Die Aktivit\u00e4t ''{0}'' kann keine Variabilit\u00e4t mit einer ihrer direkten \u00fcbergeordneten Elemente setzen.
activity_variability_error_msg2=Die Aktivit\u00e4t ''{0}'' kann keine Variabilit\u00e4t mit ''{1}'' setzen, da dies zu einer Schleifenabh\u00e4ngigkeit f\u00fchren w\u00fcrde.
activity_variability_error_msg3=Ein Ausgangsprozess kann nicht durch eine Aktivit\u00e4t ersetzt werden.
activity_deep_copy_variability_prompt=Die Quellenaktivit\u00e4t hat m\u00f6glicherweise externe Beitr\u00e4ge oder Ersetzungen.\nM\u00f6chten Sie diese ebenfalls kopieren?\n\nWenn Sie auf 'Nein' klicken, wird nur die urspr\u00fcngliche Aktivit\u00e4t kopiert.
activity_variability_error_msg=Die Aktivit\u00e4t ''{0}'' kann keine Variabilit\u00e4t mit ''{1}'' setzen, da ''{1}'' bereits eine oder mehrere zus\u00e4tzliche oder ersetzte Aktivit\u00e4ten als untergeordnete Elemente enth\u00e4lt.
variability_error_msg=Das Variabilit\u00e4tselement ''{0}'' kann keine Variabilit\u00e4t mit ''{1}'' setzen, da dies zu einer Schleifenabh\u00e4ngigkeit f\u00fchren w\u00fcrde.
circular_dependency_error_msg=Die Operation kann nicht durchgef\u00fchrt werden, weil sie zu einer Schleifenabh\u00e4ngigkeit f\u00fchren w\u00fcrde.

# Validation messages
variability_element_circular_loop_error_msg=Es wurde eine Schleifenabh\u00e4ngigkeit gefunden...
replacing_ancestor_error_msg=Bei dem Versuch, einen Vorg\u00e4nger zu ersetzen, wurde ein Fehler gefunden.
cannot_copy_or_extend_delivery_process=Ein Bereitstellungsprozess oder eine seiner Aktivit\u00e4ten kann nicht kopiert oder erweitert werden.

# Sort options
SortType_Label=Sortierungstyp:
SortType_Manual=Manuell
SortType_Alphabetic=Alphabetisch
SortType_ReverseAlphabetic=Alphabetisch in umgekehrter Reihenfolge
SortType_MethodType=Elementtyp

WorkOrderTypeAbbreviation_FINISH_TO_START=EA
WorkOrderTypeAbbreviation_FINISH_TO_FINISH=EE
WorkOrderTypeAbbreviation_START_TO_FINISH=AE
WorkOrderTypeAbbreviation_START_TO_START=AA
add_to_default_config_dlg_title=Zur Standardkonfiguration hinzuf\u00fcgen
