#-------------------------------------------------------------------------------
# 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 Authoring UI
providerName=Eclipse.org

# Category
methodCategoryName=Method

# Perspective
authoringPerspectiveName=Authoring
browsingPerspectiveName=Browsing

# Views
libraryViewName=Library
configurationViewName=Configuration
contentViewName=Content
configurationErrorLogViewName=Configuration Error Log

# Editors
methodElementEditorName=Method Element Editor
configurationEditorName=Configuration Editor
processEditorName=Process Editor
activityDiagramEditorName=Activity Diagram Editor
activityDetailDiagramEditorName=Activity Detail Diagram Editor
workProductDepedencyDiagramEditorName=Work Product Dependency Diagram Editor

# Wizards
newMethodLibraryWizardName=Method Library
newMethodLibraryWizardDescription=Create a new method library.
newMethodPluginWizardName=Method Plug-in
newMethodPluginWizardDescription=Create a new method plug-in.
newConfigurationWizardName=Method Configuration
newConfigurationWizardDescription=Create a new method configuration.

# Cheat Sheets
methodAuthoringCheatSheetsName=Method Authoring Cheat Sheets
CheatsheetGetstartedCategoryText=Getting Started
CheatsheetReusableContentCategoryText=Create Reusable Method Content
CheatsheetWriteContentCategoryText=Write Method Content
CheatsheetProcessesCategoryText=Work with Processes
CheatsheetNavigateMethodContent=Navigate Method Content
CheatsheetCreateMethodConfiguration=Create your own Method Configuration
CheatsheetCreateMethodPlugin=Create your own Method Plug-in
CheatsheetAddMethodContent=Add new Method Content such as Roles, Tasks, Work Products, or Guidance
CheatsheetTailorMethodElements=Tailor existing Method Elements (Roles, Tasks, Work Products or Guidance) Using Contribution
CheatsheetReplaceMehtodElements=Replace existing Method Elements (Roles, Tasks, Work Products or Guidance)
CheatsheetAddMethodRefOrHyperlink=Add a Method Reference or Hyperlink (URL)
CheatsheetApplyCapabilityPattern=Apply a Capability Pattern
CheatsheetCreateProcess=Create a Process (Capability Pattern or Delivery Process)

# Action Set
authoringActionSet=Authoring
cheatSheetsActionSet=Cheat Sheets

# Global Actions
newLibraryAction=Method &Library
newLibraryActionTooltip=Create a new Method Library
newPluginAction=Method &Plug-in
newPluginActionTooltip=Create a new Method Plug-in
newConfigAction=Method &Configuration
newConfigActionTooltip=Create a new Method Configuration
openLibraryAction=Method &Library
openLibraryActionTooltip=Open an existing Method Library
openConfigAction=Method &Configuration
openConfigActionTooltip=Open an existing Method Configuration
openCheatSheets=&Cheat Sheets...

# Library View Actions
linkWithEditor=Link with Editor
linkWithEditorTooltip=Link with Editor
showPresentationNames=Show Presentation Names
showPresentationNamesTooltip=Show Presentation Names

# Configuration View Actions
refreshConfig=Refresh
refreshConfigTooltip=Refresh Configuration

# Preference Page
authoringPreferencePage=Authoring
processEditor=Process Editor
libraryOptions=Library Options
startupAndShutdown=Startup and Shutdown
debug=Debug
modelingOptions=Modeling Options
diagramAppearance=Diagram Appearance
breakdownElementAttributes=Breakdown Element Attributes
libraryViewOptions=Library View Options

# Command Handler
selectAll=Select All

# Properties View
_UI_ProcessEditor_menu=Process
_UI_CreateChild_menu_item=&New Child
_UI_CreateSibling_menu_item=N&ew Sibling
_UI_ShowPropertiesView_menu_item=Show Properties &View
_UI_RefreshViewer_menu_item=Re&fresh
_UI_Properties_General=General
_UI_Properties_Documentation=Documentation
_UI_Properties_Guidance=Guidance
_UI_Properties_Work_Rollup=Work Rollup
_UI_Properties_Team_Rollup=Team Rollup
_UI_Properties_WP_Rollup=Work Product Rollup
_UI_Properties_Roles=Roles
_UI_Properties_WorkProducts=Work Products
_UI_Properties_Steps=Steps
_UI_Properties_Teams=Teams

RichTextMarkerTypeName=HTML Problems
ConfigurationMarkerTypeName=Configuration Problems
ExplanationText=Explanation

