#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# Export Microsoft Project Wizard
exportMSPWizard_title=Export nach Microsoft Projekt

# Select Process Wizard Page
selectProcessWizardPage_title=Prozess und Exportoptionen ausw\u00e4hlen
selectProcessWizardPage_text=W\u00e4hlen Sie einen zu exportierenden Prozess aus und geben Sie die Exportoptionen an.
processGroup_text=Prozess
capabilityPatternRadioButton_text=Prozessmuster
deliveryProcessRadioButton_text=Bereitstellungsprozess
optionsGroup_text=Exportoptionen
processNameLabel_text=Name:
contextNameLabel_text=Konfiguration:
publishConfigurationCheckBox_text=Ausgew\u00e4hlte Konfiguration ver\u00f6ffentlichen
exportOnlyPlannedElementsCheckBox_text=Nur die geplanten Strukturelemente exportieren

# Select Publishing Options Wizard Page
selectPublishOptionsWizardPage_title=Ver\u00f6ffentlichungsoptionen ausw\u00e4hlen
selectPublishOptionsWizardPage_text=W\u00e4hlen Sie die Ver\u00f6ffentlichungsoptionen aus, die f\u00fcr die Ver\u00f6ffentlichung der angegebenen Konfiguration verwendet werden.

# Select Export Directory Wizard page
selectExportDirWizardPage_title=Projektnamen und Exportverzeichnis angeben
selectExportDirWizardPage_text=Geben Sie den Microsoft-Project-Namen und das Exportverzeichnis an.
projectNameLabel_text=Name:
dirLabel_text=Verzeichnis:
browseButton_text=Durchsuchen...

# Progress Messages
exportMSPTask_name=Ausgew\u00e4hlter Prozess wird nach Microsoft Project exportiert...

# Confirmation Messages
overwriteText_msg=Es ist bereits eine Microsoft-Project-Datei mit dem Namen ''{0}'' in ''{1}'' vorhanden.\nM\u00f6chten Sie diese Datei \u00fcberschreiben?
completedText_msg=Der ausgew\u00e4hlte Prozess ''{0}'' wurde erfolgreich in die Microsoft-Project-XML-Datei ''{1}'' exportiert.

# Error Messages
exportMSPError_msg=Beim Exportieren des ausgew\u00e4hlten Prozesses ''{0}'' in die Microsoft-Project-Datei ''{1}'' ist ein Fehler aufgetreten.
exportMSPError_reason=Klicken Sie auf Details, um weitere Informationen zu erhalten.
