# 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Publish Method Configuration

# Select Method Configuration Wizard Page
selectConfigWizardPage_title=Select method configuration
selectConfigWizardPage_text=Select a method configuration that contains the method content and processes which you would like to publish.
configLabel_text=Method configuration:

# Select Method Configuration Content Wizard Page
selectContentWizardPage_title=Select method configuration content
selectContentWizardPage_text=Select the method configuration content to publish. You can choose to publish the entire configuration or only a few select processes in the configuration.
publishConfigRadioButton_text=Publish the entire configuration
publishProcessesRadioButton_text=Publish selected processes:
includeBaseProcessesCheckboxLabel_text=Publish referenced base processes

# Select Publishing Options Wizard Page
selectPublishingOptionsWizardPage_title=Select publishing options
selectPublishingOptionsWizardPage_text=Select the publishing options. These options will be used to customize the look and behavior of the published website.
titleAndLinksGroup_text=Title and links
titleLabel_text=Title:
aboutHTMLLabel_text=About content:
feedbackURLLabel_text=Feedback URL:
glossaryAndIndexGroup_text=Glossary and index
publishGlossaryLabel_text=Publish glossary
publishIndexLabel_text=Publish index
lookAndFeelGroup_text=Look and feel
bannerImageLabel_text=Banner image:
validationGroup_text=Validation
checkExternalLinksLabel_text=Check external hyperlinks
convertBrokenLinksLabel_text=Convert broken hyperlinks to plain text
diagramGroup_text=Diagrams
publishActivityDetailDiagramsLabel_text=Publish activity detail diagrams that have not been manually created
publishExtendedActivityDiagramsLabel_text=Publish activity diagrams for unmodified activity extensions
layoutGroup_text=Layout
publishLightWeightTreeLabel_text=Show relationship sub-folders in navigation trees
publishExtraDescriptorInfoLabel_text=Include method content in descriptor pages
showLinkedPageForDescriptorLabel_text=Replace descriptor page with linked content element page
ignoreDynamicParentsCheckbox_text=Ignore parent relationships for dynamic queries during browsing
excludeUnusedWPDsCheckbox_text=Exclude unused work products in processes when publishing
fulfillDescriptorSlotByContentCheckbox_text=Show all work products that fulfill in the corresponding work product slot element
publishEmptyCategoriesLabel_text=Publish categories with no categorized elements
publishWebSiteGroup_text=Published website
browsingLayoutGroup_text=Browsing layout
wpSlotDpRuleGroup_text=Work product slot descriptor fulfillment rules in process
forbiddenURLCharsGroup_text=Forbidden URL characters
forbiddenURLCharsText_label=Each character entered will be replaced by the underscore "_" in a URL
showRelatedDescriptors_text=Publish process usage in role, task and work product pages linking to related descriptors
showRelatedLinks_text=Show related elements for roles, tasks and work products in navigation trees
showRelatedDescriptors_option_text=Show all indirect (green) occurrences in extended patterns
showDescriptorsInNavigationTree_text=Show task descriptors in navigation trees
selectDefaultActivityTab_text=Default tab for activity pages:

# Select Destination Wizard Page
selectDestinationWizardPage_title=Select destination directory and Web site format
selectDestinationWizardPage_text=Select the destination directory and format for the published Web site.
dirLabel_text=Directory:
webAppGroup_text=Web site format
staticWebSiteRadioButton_text=Static Web site
dynamicWebAppRadioButton_text=Java EE web application packaged in a WAR file (requires Java Servlet 2.3 or above compliant servlet container)
includeSearchCheckbox_text=Include search capability
webApplicationNameLabel_text=Web application name:

destinationDirectoryGroup_text=Destination directory
pathLabel_text=Path:
useDefaultPathCheckbox_text=Use default path
useDefaultFeedbackLabel_text=Use default feedback URL

includeSearchesLabel_text=Include search capability
clientSideSearchRadioButton_text= Client side search (requires Java applet support in browser)
serverSideSearchRadioButton_text= Server side search (requires Container for servlet)
generateWARFileLabel_text=Generate WAR (Web ARchive) file

useAppletCheckbox_text=Support view customization (requires Java applet support in browser)

siteCustomizationWizardPage_title=Customize Website
siteCustomizationWizardPage_text=Customize Website look and feel
themeAndSkinGroup_text=Theme and Skin
showBannerCheckbox_text=Show banner
selectSkinLabel_text=Select skin:

# FIXME! Should these be warning messages?
# Information Message
invalidViewsInfo_msg=The following view(s) in configuration ''{0}'' will not be published:
invalidViewContributorInfo_msg={0}: The view is a contributor
invalidViewSameViewInfo_msg={0}: This view is a duplicate of another view

capabilityPatterns_text=Capability Patterns
deliveryProcesses_text=Delivery Processes

# Publishing Preference Page
preferencePage_defaultPath_text=Default path:

# Role Diagram Preference Page
elementSpacingGroup_text=Spacing between task and work product elements
tasksHorizonalSpacingLabel_text=Horizontal spacing:
tasksVerticalSpacingLabel_text=Vertical spacing:
elementTextLabelGroup_text=Element labels
maxLineOfTextLabel_text=Maximum line of text:

# Role Diagram Preference Page Error Messages
invalidHorizonalSpacingError_msg=Horizontal spacing must be an integer with value ranging from {0} to {1}.
invalidVerticalSpacingError_msg=Vertical spacing must be an integer with value ranging from {0} to {1}.
invalidTextLinesError_msg=Number of text lines must be an integer with value ranging from {0} to {1}.

# Confirmation Dialogs
publishConfigDialog_title=Publish Method Configuration
confirmPathDialog_text=The destination path has been resolved to ''{0}''. Do you want to proceed?
overwriteDialog_text=The destination path ''{0}'' already exists. All files in the folder will be deleted. Do you want to proceed?
cancelPublishConfig_msg=The publishing operation has been cancelled.

# Error Dialogs
previewConfigError_title=Preview Published Method Configuration
viewReportError_title=View Publishing Report

# Error Messages
missingViewError_msg=IUPP0100E: The selected configuration does not contain a valid view. Edit the configuration and add a view, or select another configuration.
cannotPublishError_msg=IUPP0101E: The selected configuration cannot be published.
invalidPathError_msg=IUPP0102E: The destination path is blank or invalid.
invalidPathCharsError_msg=IUPP0103E: The destination path cannot contain these characters: \\ # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: The selected configuration was not published successfully.
previewConfigError_msg=IUPP0105E: Unable to open an HTML browser to preview the published configuration.
viewReportError_msg=IUPP0106E: Unable to open an HTML browser to view the publishing report.
webAppNameError_msg=IUPP0107E: The web application name must be specified.
webAppNameCharsError_msg=IUPP0108E: The web application name cannot contain these characters: \\ # * ? " < > | ! % /
invalidAboutPathError_msg=IUPP0109E: The path is invalid.
invalidAboutPathCharsError_msg=IUPP0110E: The path cannot contain these characters: # * ? " < > | ! % /
missingProcessError_msg=IUPP0111E: The selected configuration does not have any process selected for publishing in its stored publish options. Edit the configuration and add processes to publish, or select another configuration.

# Error Reasons & Recommended Actions
publishConfigError_reason=Click Details for more information.
deleteFilesError_reason=The destination path ''{0}'' contains files that cannot be deleted.\n\nClose this dialog and specify another path.
createDirError_reason=The destination path ''{0}'' cannot be created.\n\nClose this dialog and specify another path.
openBrowserError_reason=The default HTML browser on this system cannot be detected or located.\n\nClose this dialog and open the file ''{0}'' manually with an HTML browser.