# 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 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
activityDiagram=Activity Diagram
validation=Validation

# 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

ClearAllValidationItems=Clear all validation items