#-------------------------------------------------------------------------------
# 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Methodenkonfiguration ver\u00f6ffentlichen
publishConfigWizard_selectConfigPage_title=Methodenkonfiguration ausw\u00e4hlen
publishConfigWizard_selectConfigPage_text=W\u00e4hlen Sie die zu ver\u00f6ffentlichende Methodenkonfiguration aus.
publishConfigWizard_selectOptionsPage_title=Ver\u00f6ffentlichungsoptionen angeben
publishConfigWizard_selectOptionsPage_text=Geben Sie das Zielverzeichnis und die Ver\u00f6ffentlichungsoptionen an.
publishConfigWizard_methodConfig_text=Methodenkonfiguration:
publishConfigWizard_destinationGroup_text=Zielverzeichnis
publishConfigWizard_directory_text=Pfad:
publishConfigWizard_useDefaultPath_text=Standardpfad verwenden
publishConfigWizard_webSite_text=Ver\u00f6ffentlichte Website
publishConfigWizard_title_text=Titel:
publishConfigWizard_bannerImage_text=Banner-Grafik:
publishConfigWizard_aboutHTML_text=Informationen zum Inhalt:
publishConfigWizard_feedbackURL_text=Feedback-URL:
publishConfigWizard_includeIndex_text=Indexseite ver\u00f6ffentlichen
publishConfigWizard_includeGlossary_text=Glossarseite ver\u00f6ffentlichen
publishConfigWizard_includeSearch_text=Suchfunktionen einschlie\u00dfen (setzt Unterst\u00fctzung f\u00fcr Java-Applets im Browser voraus)
publishConfigWizard_useApplet_text=Anpassung von Sichten unterst\u00fctzen (setzt Unterst\u00fctzung f\u00fcr Java-Applets im Browser voraus)
publishConfigWizard_validationGroup_text=Validierung
publishConfigWizard_checkHyperlinks_text=Externe Hyperlinks pr\u00fcfen
publishConfigWizard_diagramGroup_text=Diagramme
publishConfigWizard_publish_unopen_activity_dd_text=Aktivit\u00e4tsdetaildiagramme ver\u00f6ffentlichen, die im Prozesseditor nicht erstellt wurden.
publishConfigWizard_publish_extend_activity_diagram=Aktivit\u00e4tsdiagramme f\u00fcr nicht ge\u00e4nderte Aktivit\u00e4tserweiterungen ver\u00f6ffentlichen
publishConfigWizard_convertBrokenLinks_text=Defekte Links in Klartext konvertieren
publishConfigWizard_layout_text=Layout
publishConfigWizard_extraDescriptorInfo_text=Deskriptoren mit dem vollst\u00e4ndigen Inhalt des zugeh\u00f6rigen Methodeninhaltselements ver\u00f6ffentlichen
publishConfigWizard_lightWeightTree_text=Untergeordnete Baumstruktur f\u00fcr Aufgaben-, Rollen-, Arbeitsergebnis- und Disziplinelemente ohne Ordner generieren
publishConfigWizard_includeEmptyCategories_text=Kategorien ohne kategorisierte Elemente ver\u00f6ffentlichen

# publish process wizard page
PublishConfigSelectProcessPage_title=Ver\u00f6ffentlichungstyp ausw\u00e4hlen
PublishConfigSelectProcessPage_text=Sie k\u00f6nnen die ausgew\u00e4hlte Konfiguration oder die angegebenen Prozesse in der Konfiguration ver\u00f6ffentlichen.
PublishConfigSelectProcessPage_label_capability_pattern=Prozessmuster
PublishConfigSelectProcessPage_label_delivery_process=Bereitstellungsprozesse
PublishConfigSelectProcessPage_label_selectType=Ver\u00f6ffentlichungstyp ausw\u00e4hlen
PublishConfigSelectProcessPage_label_type_processes=Folgende ausgew\u00e4hlte Prozesse ver\u00f6ffentlichen:
PublishConfigSelectProcessPage_label_type_config=Ausgew\u00e4hlte Konfiguration ver\u00f6ffentlichen
PublishConfigSelectProcessPage_label_publish_base_processes=Referenzierte Basisprozesse ver\u00f6ffentlichen

# Publishing Preference Page
preferencePage_defaultPath_text=Standardpfad:

# Confirmation Dialogs
publishConfigDialog_title=Methodenkonfiguration ver\u00f6ffentlichen
confirmPathDialog_text=Der Zielpfad wurde in ''{0}'' aufgel\u00f6st. Fortfahren?
overwriteDialog_text=Der Zielpfad ''{0}'' ist bereits vorhanden. Es werden alle Dateien im Ordner gel\u00f6scht. Fortfahren?
cancelPublishConfig_msg=Die Ver\u00f6ffentlichungsoperation wurde abgebrochen.

# Error Dialogs
previewConfigError_title=Ver\u00f6ffentlichte Methodenkonfiguration voranzeigen
viewReportError_title=Ver\u00f6ffentlichungsbericht anzeigen

# Error Messages
missingViewError_msg=IUPP0100W: Die ausgew\u00e4hlte Konfiguration enth\u00e4lt keine g\u00fcltige Sicht. Bearbeiten Sie die Konfiguration und f\u00fcgen Sie eine Sicht hinzu oder w\u00e4hlen Sie eine andere Konfiguration aus.
cannotPublishError_msg=IUPP0101E: Die ausgew\u00e4hlte Konfiguration kann nicht ver\u00f6ffentlicht werden.
invalidPathError_msg=IUPP0102E: Der Zielpfad ist leer oder ung\u00fcltig.
invalidPathCharsError_msg=IUPP0103E: Der Zielpfad darf die folgenden Zeichen nicht enthalten: \\ # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: Die ausgew\u00e4hlte Konfiguration wurde nicht ordnungsgem\u00e4\u00df ver\u00f6ffentlicht.
previewConfigError_msg=IUPP0105E: Es kann kein HTML-Browser f\u00fcr die Voranzeige der ver\u00f6ffentlichten Konfiguration ge\u00f6ffnet werden.
viewReportError_msg=IUPP0106E: Es kann kein HTML-Browser zum Anzeigen des Ver\u00f6ffentlichungsberichts ge\u00f6ffnet werden.

# Error Reasons & Recommended Actions
publishConfigError_reason=IUPP0107E: Es ist ein Fehler aufgetreten. Klicken Sie auf die Schaltfl\u00e4che Details, um weitere Informationen zu erhalten.
deleteFilesError_reason=Der Zielpfad ''{0}'' enth\u00e4lt Dateien, die nicht gel\u00f6scht werden k\u00f6nnen.\n\nSchlie\u00dfen Sie den Dialog und geben Sie einen anderen Pfad an.
createDirError_reason=Der Zielpfad ''{0}'' kann nicht erstellt werden.\n\nSchlie\u00dfen Sie den Dialog und geben Sie einen anderen Pfad an.
openBrowserError_reason=Der HTML-Standard-Browser auf diesem System wurde nicht gefunden.\n\nSchlie\u00dfen Sie den Dialog und \u00f6ffnen Sie die Datei ''{0}'' manuell in einem HTML-Browser.
