#-------------------------------------------------------------------------------
# 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=Disziplingruppierungen
domain_text=Dom\u00e4ne
estimate_text=Sch\u00e4tzen
estimatingMetric_text=Sch\u00e4tzmetrik
estimationConsiderations_text=Hinweise zum Sch\u00e4tzen
example_text=Beispiel
guidance_text=Anleitung
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.

# 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 auf 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 kann nicht beschrieben werden. Klicken Sie auf Kopieren, um eine beschreibbare Kopie der Bibliothek im angegebenen Verzeichnis zu erstellen. Klicken Sie auf \u00dcberspringen, um den Vorgang ohne Erstellung der Sicherung fortzusetzen.
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

