# 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

# Method Element Names (Singular)
activity_text=Aktivit\u00e4t
artifact_text=Artefakt
capabilityPattern_text=Prozessmuster
checklist_text=Pr\u00fcfliste
checkItem_text=Pr\u00fcflisteneintrag
compositeRole_text=Kombinierte Rolle
concept_text=Konzept
contentPackage_text=Inhaltspaket
customCategory_text=Angepasste Kategorie
deliverable_text=Liefergegenstand
deliveryProcess_text=Bereitstellungsprozess
descriptor_text=Deskriptor
discipline_text=Disziplin
disciplineGrouping_text=Zusammenfassung von Disziplinen
domain_text=Dom\u00e4ne
estimate_text=Sch\u00e4tzen
estimatingMetric_text=Sch\u00e4tzmetrik
estimationConsiderations_text=Hinweise zum Sch\u00e4tzen
example_text=Beispiel
guidance_text=Anleitung
UDT_text=Benutzerdefinierter Datentyp
guideline_text=Richtlinie
iteration_text=Iteration
methodConfiguration_text=Methodenkonfiguration
methodContent_text=Methodeninhalt
methodLibrary_text=Methodenbibliothek
methodPackage_text=Methodenpaket
methodPlugin_text=Methoden-Plug-in
milestone_text=Meilenstein
outcome_text=Resultat
phase_text=Phase
practice_text=Verfahren
process_text=Prozess
processContribution_text=Unterschiedlicher Prozess
processFamily_text=Prozessfamilie
processPackage_text=Prozesspaket
report_text=Bericht
reusableAsset_text=Wiederverwendbares Asset
roadmap_text=Roadmap
roleDescriptor_text=Rollendeskriptor
role_text=Rolle
roleSet_text=Rollengruppe
roleSetGrouping_text=Zusammenfassung von Rollengruppen
standardCategory_text=Standardkategorie
step_text=Schritt
supportingMaterial_text=Unterst\u00fctzendes Material
task_text=Aufgabe
taskDescriptor_text=Aufgabendeskriptor
teamProfile_text=Teamprofil
template_text=Vorlage
termDefinition_text=Begriffsdefinition
tool_text=Tool
toolMentor_text=Toolmentor
whitepaper_text=White Paper
workProduct_text=Arbeitsergebnis
workProductDescriptor_text=Arbeitsergebnisdeskriptor
workProductElement_text=Arbeitsergebniselement
workProductType_text=Art des Arbeitsergebnisses

# Method Element Names (Plural)
activity_text_plural=Aktivit\u00e4ten
artifact_text_plural=Artefakte
capabilityPattern_text_plural=Prozessmuster
checklist_text_plural=Pr\u00fcflisten
checkItem_text_plural=Pr\u00fcflisteneintr\u00e4ge
compositeRole_text_plural=Kombinierte Rollen
concept_text_plural=Konzepte
contentPackage_text_plural=Inhaltspakete
customCategory_text_plural=Angepasste Kategorien
deliverable_text_plural=Liefergegenst\u00e4nde
deliveryProcess_text_plural=Bereitstellungsprozesse
descriptor_text_plural=Deskriptoren
discipline_text_plural=Disziplinen
disciplineGrouping_text_plural=Disziplingruppierungen
domain_text_plural=Dom\u00e4nen
estimate_text_plural=Sch\u00e4tzungen
estimatingMetric_text_plural=Sch\u00e4tzmetriken
estimationConsiderations_text_plural=Hinweise zum Sch\u00e4tzen
example_text_plural=Beispiele
guidance_text_plural=Anleitungen
guideline_text_plural=Richtlinien
iteration_text_plural=Iterationen
methodConfiguration_text_plural=Methodenkonfigurationen
methodContent_text_plural=Methodeninhalt
methodLibrary_text_plural=Methodenbibliotheken
methodPackage_text_plural=Methodenpakete
methodPlugin_text_plural=Methoden-Plug-ins
milestone_text_plural=Meilensteine
outcome_text_plural=Resultate
phase_text_plural=Phasen
practice_text_plural=Verfahren
process_text_plural=Prozesse
processContribution_text_plural=Unterschiedliche Prozesse
processFamily_text_plural=Prozessfamilien
processPackage_text_plural=Prozesspakete
report_text_plural=Berichte
reusableAsset_text_plural=Wiederverwendbare Assets
roadmap_text_plural=Roadmaps
roleDescriptor_text_plural=Rollendeskriptoren
role_text_plural=Rollen
roleSet_text_plural=Rollengruppen
roleSetGrouping_text_plural=Zusammenfassungen von Rollengruppen
standardCategory_text_plural=Standardkategorien
step_text_plural=Schritte
supportingMaterial_text_plural=Unterst\u00fctzendes Material
task_text_plural=Aufgaben
taskDescriptor_text_plural=Aufgabendeskriptoren
teamProfile_text_plural=Teamprofile
template_text_plural=Vorlagen
termDefinition_text_plural=Begriffsdefinitionen
tool_text_plural=Tools
toolMentor_text_plural=Toolmentoren
whitepaper_text_plural=White Paper
workProduct_text_plural=Arbeitsergebnisse
workProductDescriptor_text_plural=Arbeitsergebnisdeskriptoren
workProductElement_text_plural=Arbeitsergebniselemente
workProductType_text_plural=Arten von Arbeitsergebnissen

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Methodenbibliothek \u00f6ffnen
openLibraryMainWizardPage_title=Pfad mit einer Methodenbibliothek angeben
openLibraryMainWizardPage_title_2=Methodenbibliothek ausw\u00e4hlen
openLibraryMainWizardPage_text={0} speichert Methoden und Prozesse in einem Ordner, der\nals Methodenbibliothek bezeichnet wird. W\u00e4hlen Sie einen Methodenbibliotheksordner f\u00fcr diese Sitzung aus.
pathLabel_text=Pfad:
nameLabel_text=Name:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=\u00d6ffnen Sie eine Methodenbibliothek, die nicht oben in der Liste enthalten ist.
libraryTypeLabel_text=Typ:
libraryLabel_text=Bibliothek:
browseButton_text=Durchsuchen...
promptForLibraryCheckbox_text=Als Standard verwenden und nicht erneut anfragen.
openLibraryDialog_newLibrary_text=Es ist keine Methodenbibliothek in ''{0}'' vorhanden.\nEs wird eine neue Methodenbibliothek im angegebenen Verzeichnis erstellt und ge\u00f6ffnet.\n\nKlicken Sie auf OK, um die Operation fortzusetzen, oder klicken Sie auf Abbrechen,\num einen anderen Methodenbibliothekspfad anzugeben.
convertToSynProcessLib_msg=In automatisch synchronisierte Bibliothek konvertieren

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Methodenbibliothek ausw\u00e4hlen
selectLibraryFolderDialog_text=W\u00e4hlen Sie einen Methodenbibliotheksordner aus.

# Open Library Progress Message
openingLibraryTask_name=Methodenbibliothek wird ge\u00f6ffnet...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Die Methodenbibliothek kann nicht erstellt werden.
openLibraryInternlError_reason=Es ist ein interner Fehler aufgetreten.
openLibraryError_reason1=Der angegebene Pfad f\u00fcr die Methodenbibliothek, ''{0}'', ist ung\u00fcltig.
openLibraryError_reason2=Es ist bereits eine Methodenbibliothek in ''{0}'' vorhanden.
openLibraryError_reason3=Der angegebene Ordner f\u00fcr die Methodenbibliothek, ''{0}'', kann nicht erstellt werden.
openLibraryError_reason4=Der angegebene Methodenbibliotheksordner ist ein Exportordner f\u00fcr ein Plug-in oder eine Konfigurationsspezifikation.
openLibraryError_advice=W\u00e4hlen Sie OK aus, um einen anderen Methodenbibliothekspfad anzugeben.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: Die angegebene Methodenbibliothek kann nicht ge\u00f6ffnet werden.
invalidLibraryPath_reason=Der ausgew\u00e4hlte Methodenbibliotheksordner ist ung\u00fcltig, nicht vorhanden, oder Sie sind nicht berechtigt, auf den Ordner zuzugreifen.\n\nKlicken Sie auf OK, um einen anderen Bibliotheksordner auszuw\u00e4hlen.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' ist schreibgesch\u00fctzt. Bevor Sie den Vorgang fortsetzen, m\u00fcssen Sie daf\u00fcr sorgen, dass in die Datei geschrieben werden kann.
retryButton_text=Wiederholen
cancelButton_text=Abbrechen

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: Die ausgew\u00e4hlte Bibliothek kann nicht ge\u00f6ffnet werden. Sie m\u00fcssen einen Upgrade von {0} auf Version {1} oder h\u00f6her durchf\u00fchren, um diese Bibliothek \u00f6ffnen zu k\u00f6nnen.
versionMismatchDialog_text_unknown=IUPL306E: Die ausgew\u00e4hlte Bibliothek kann nicht ge\u00f6ffnet werden. Sie m\u00fcssen einen Upgrade von {0} auf eine h\u00f6here Version durchf\u00fchren, um diese Bibliothek \u00f6ffnen zu k\u00f6nnen.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Upgrade der Methodenbibliothek durchf\u00fchren
upgradeLibraryDialog_text=Die ausgew\u00e4hlte Bibliothek muss f\u00fcr die neue Bibliotheksstruktur aktualisiert werden.\n\nM\u00f6chten Sie den Upgrade fortsetzen?
upgradingLibraryTask_name=Upgrade f\u00fcr Methodenbibliothek wird durchgef\u00fchrt...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Fehler beim Upgrade der Methodenbibliothek. Suchen Sie in der Protokolldatei nach weiteren Einzelheiten.

# Switch Configuration Dialog
switchConfigDialog_title=Konfiguration wechseln
switchConfigDialog_text=M\u00f6chten Sie von der aktuellen Konfiguration zur Standardkonfiguration ''{0}'', die dem ausgew\u00e4hlten Prozess zugeordnet ist, wechseln?
	
# Configuration Combo
currentConfigLabel_text=Aktuelle Konfiguration:
selectConfigLabel_text=W\u00e4hlen Sie eine Konfiguration aus.

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=Der angegebene Pfad ''{0}'' ist bereits vorhanden. Es werden alle Dateien im Ordner gel\u00f6scht. Fortfahren?

# Paths/Files Error Messages
deleteFilesError_reason=Der Pfad ''{0}'' enth\u00e4lt mindestens eine Datei, die nicht gel\u00f6scht werden kann.\n\nW\u00e4hlen Sie einen anderen Pfad aus, und wiederholen Sie den Vorgang.
createPathError_reason=Der Pfad ''{0}'' kann nicht erstellt werden.\n\nW\u00e4hlen Sie einen anderen Pfad aus, und wiederholen Sie den Vorgang.
invalidPath_msg=Der angegebene Pfad ist nicht g\u00fcltig.
overrideCurrentLibraryError_msg0=Sie k\u00f6nnen nicht in ein Verzeichnis exportieren, das die aktuelle Methodenbibliothek enth\u00e4lt. W\u00e4hlen Sie ein anderes Verzeichnis aus, und wiederholen Sie den Vorgang.

# Backup Library Dialog
backupLibraryDialog_title=Sicherungsbibliothek
backupLibraryDialog_text=Es wird dringend empfohlen, die aktuelle Methodenbibliothek zu sichern, bevor Sie den Vorgang fortsetzen.\n\nKlicken Sie auf OK, um eine Sicherungskopie der Bibliothek im angegebenen Verzeichnis zu erstellen. Klicken Sie auf \u00dcberspringen, um den Vorgang ohne Erstellung der Sicherung fortzusetzen.
backingUpLibraryTask_name=Bibliotheksdateien werden gesichert...

# Copy Library Dialog
copyLibraryDialog_title=Bibliothek kopieren
copyLibraryDialog_text_readOnlyLib=Die Bibliothek, die Sie gerade \u00f6ffnen, ist eine mit RMC gelieferte Standardbibliothek. Es wird dringend empfohlen, dass Sie zum Bearbeiten eine Arbeitskopie dieser Bibliothek erstellen.\n\nGeben Sie eine Speicherposition und einen Bibliotheksnamen f\u00fcr die neue Bibliothek ein, und klicken Sie auf "Kopieren", um eine Arbeitskopie zu erstellen.\n\nKlicken Sie auf "\u00dcberspringen", um mit der Bearbeitung der Standardbibliothek in der aktuellen Speicherposition fortzufahren. Die Bearbeitungsfunktionalit\u00e4t f\u00fcr die Standardbibliothek ist aufgrund von Zugriffseinschr\u00e4nkungen Ihrer Plattform eingeschr\u00e4nkt.
copyLibraryTask_name=Kopie der Bibliotheksdateien wird erstellt ...
copyLibraryDialog_copyButton_text=Kopieren

# Path Selection Dialog
pathSelectionError_msg=Verzeichnis kann nicht erstellt werden
okButton_text=OK
skipButton_text=\u00dcberspringen

# Process Editor preferences
alwaysButton_text=Immer
neverButton_text=Nie
promptButton_text=Anfrage

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Datei
elementLink_name=Methodenelement
elementLinkWithType_name=Methodenelement mit Typpr\u00e4fix
elementLinkWithUserText_name=Methodenelement mit benutzerdefiniertem Text

# Convert Activity Type Dialog
convertActivityDialog_title=Aktivit\u00e4tstyp konvertieren
convertActivityDialog_text=W\u00e4hlen Sie den Zielaktivit\u00e4tstyp aus.
unsupportedActivityType_msg=IUPL0307E: Diese Aktivit\u00e4t kann nicht in einen anderen Typ konvertiert werden.
unsupportedActivityType_reason=Es gibt keinen kompatiblen Aktivit\u00e4tstyp f\u00fcr {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Prozess ausw\u00e4hlen
selectProcessWizardPage_text=W\u00e4hlen Sie ein Prozessmuster oder einen Bereitstellungsprozess f\u00fcr den Export aus.
processesLabel_text=Prozesse:
briefDescriptionLabel_text=Kurzbeschreibung:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Es ist derzeit keine Methodenbibliothek ge\u00f6ffnet. Klicken Sie auf Abbrechen, um eine Methodenbibliothek zu \u00f6ffnen oder eine neue Methodenbibliothek zu erstellen, und f\u00fchren Sie anschlie\u00dfend den Assistenten erneut aus. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Fehler
MethodElementDeleteAction_deleteconfirm_text=''{0}'' wirklich l\u00f6schen?
confirmDeleteDialog_title=L\u00f6schen best\u00e4tigen
confirmDeleteDialog_msg=''{0}'' wirklich l\u00f6schen?
confirmDeleteDialog_msgWithReference=''{0}'' wirklich l\u00f6schen?\n\nDie folgenden Elemente enthalten Referenzen auf die zu l\u00f6schenden Eintr\u00e4ge: {1}
ProcessDeleteAction_deletecofirm_text=Mit dieser Aktion wird der aktuelle Editor gespeichert und die \u00c4nderung permanent festgeschrieben. ''{0}'' wirklich l\u00f6schen?

# Save Method Library Dialog
saveLibraryDialog_title=Methodenbibliothek speichern
saveLibraryDialog_text=Die aktuelle Methodenbibliothek wurde ge\u00e4ndert. \u00c4nderungen speichern?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: Die Methodenbibliothek kann nicht gespeichert werden.
error_reason=Es ist ein Fehler aufgetreten.\n\nKlicken Sie auf Details, um weitere Informationen zu erhalten.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Methodeninhalt
elementTCProvider_contentPackages=Inhaltspakete
elementTCProvider_standardCategories=Standardkategorien
elementTCProvider_disciplines=Disziplinen
elementTCProvider_domains=Dom\u00e4nen
elementTCProvider_workProductTypes=Arbeitsergebnistypen
elementTCProvider_roleSets=Rollengruppen
elementTCProvider_tools=Tools
elementTCProvider_customCategories=Angepasste Kategorien
elementTCProvider_processes=Prozesse
elementTCProvider_capabilityPatterns=Prozessmuster
elementTCProvider_deliveryProcesses=Bereitstellungsprozesse

