#-------------------------------------------------------------------------------
# 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

# Plug-in
pluginName=EPF - Benutzerschnittstelle f\u00fcr Authoring
providerName=Eclipse.org

# Category
methodCategoryName=Methode

# Perspective
authoringPerspectiveName=Authoring
browsingPerspectiveName=Browsing

# Views
libraryViewName=Bibliothek
configurationViewName=Konfiguration
contentViewName=Inhalt
configurationErrorLogViewName=Konfigurationsfehlerprotokoll

# Editors
methodElementEditorName=Editor f\u00fcr Methodenelemente
configurationEditorName=Konfigurationseditor
processEditorName=Prozesseditor
activityDiagramEditorName=Editor f\u00fcr Aktivit\u00e4tsdiagramme
activityDetailDiagramEditorName=Editor f\u00fcr Aktivit\u00e4tsdetaildiagramme
workProductDepedencyDiagramEditorName=Editor f\u00fcr Arbeitsergebnisabh\u00e4ngigkeitsdiagramme

# Wizards
newMethodLibraryWizardName=Methodenbibliothek
newMethodLibraryWizardDescription=Eine neue Methodenbibliothek erstellen.
newMethodPluginWizardName=Methoden-Plug-in
newMethodPluginWizardDescription=Ein neues Methoden-Plug-in erstellen.
newConfigurationWizardName=Methodenkonfiguration
newConfigurationWizardDescription=Eine neue Methodenkonfiguration erstellen.

# Cheat Sheets
methodAuthoringCheatSheetsName=Spickzettel f\u00fcr Methoden-Authoring
CheatsheetGetstartedCategoryText=Erste Schritte
CheatsheetReusableContentCategoryText=Wiederverwendbaren Methodeninhalt erstellen
CheatsheetWriteContentCategoryText=Methodeninhalt schreiben
CheatsheetProcessesCategoryText=Mit Prozessen arbeiten
CheatsheetNavigateMethodContent=Im Methodeninhalt navigieren
CheatsheetCreateMethodConfiguration=Eigene Methodenkonfiguration erstellen
CheatsheetCreateMethodPlugin=Eigenes Methoden-Plug-in erstellen
CheatsheetAddMethodContent=Neuen Methodeninhalt wie Rollen, Aufgaben, Arbeitsergebnisse oder Anleitungen hinzuf\u00fcgen
CheatsheetTailorMethodElements=Vorhandene Methodenelemente (Rollen, Aufgaben, Arbeitsergebnisse oder Anleitungen) mit Beitr\u00e4gen anpassen
CheatsheetReplaceMehtodElements=Vorhandene Methodenelemente (Rollen, Aufgaben, Arbeitsergebnisse oder Anleitungen) ersetzen
CheatsheetAddMethodRefOrHyperlink=Methodenreferenz oder Hyperlink (URL) hinzuf\u00fcgen
CheatsheetApplyCapabilityPattern=Prozessmuster anwenden
CheatsheetCreateProcess=Prozess erstellen (Prozessmuster oder Bereitstellungsprozess)

# Action Set
authoringActionSet=Authoring
cheatSheetsActionSet=Spickzettel

# Global Actions
newLibraryAction=Methodenbib&liothek
newLibraryActionTooltip=Neue Methodenbibliothek erstellen
newPluginAction=Methoden-&Plug-in
newPluginActionTooltip=Neues Methoden-Plug-in erstellen
newConfigAction=Methoden&konfiguration
newConfigActionTooltip=Neue Methodenkonfiguration erstellen
openLibraryAction=Methodenbib&liothek
openLibraryActionTooltip=Vorhandene Methodenbibliothek \u00f6ffnen
openConfigAction=Methoden&konfiguration
openConfigActionTooltip=Vorhandene Methodenkonfiguration \u00f6ffnen
openCheatSheets=Spick&zettel...

# Library View Actions
linkWithEditor=Mit Editor verlinken
linkWithEditorTooltip=Mit Editor verlinken
showPresentationNames=Pr\u00e4sentationsnamen anzeigen
showPresentationNamesTooltip=Pr\u00e4sentationsnamen anzeigen

# Configuration View Actions
refreshConfig=Aktualisieren
refreshConfigTooltip=Konfiguration aktualisieren

# Preference Page
authoringPreferencePage=Authoring
processEditor=Prozesseditor
libraryOptions=Bibliotheksoptionen
startupAndShutdown=Starten und beenden
debug=Debugging
modelingOptions=Modellierungsoptionen
diagramAppearance=Diagrammdarstellung
breakdownElementAttributes=Attribute des Strukturelements
libraryViewOptions=Optionen f\u00fcr Bibliothekssicht

# Command Handler
selectAll=Alles ausw\u00e4hlen

# Properties View
_UI_ProcessEditor_menu=Prozess
_UI_CreateChild_menu_item=&Neuer untergeordneter Eintrag
_UI_CreateSibling_menu_item=N&euer gleichgeordneter Eintrag
_UI_ShowPropertiesView_menu_item=E&igenschaftensicht anzeigen
_UI_RefreshViewer_menu_item=A&ktualisieren
_UI_Properties_General=Allgemein
_UI_Properties_Documentation=Dokumentation
_UI_Properties_Guidance=Anleitung
_UI_Properties_Work_Rollup=Arbeits-Rollup
_UI_Properties_Team_Rollup=Team-Rollup
_UI_Properties_WP_Rollup=Arbeitserg.-Rollup
_UI_Properties_Roles=Rollen
_UI_Properties_WorkProducts=Arbeitsergebnisse
_UI_Properties_Steps=Schritte
_UI_Properties_Teams=Teams

RichTextMarkerTypeName=HTML-Probleme
ConfigurationMarkerTypeName=Konfigurationsprobleme
ExplanationText=Erl\u00e4uterung

