# 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

# 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
activityDiagram=Aktivit\u00e4tsdiagramm
validation=Validierung

# 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

ClearAllValidationItems=Alle Validierungselemente l\u00f6schen
