###############################################################################
# Copyright (c) 2007, 2009 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 API and implementation
###############################################################################

ProfileChangeRequestBuildingRequest=Processing request
ProfileElement_InvalidProfile=Invalid profile ID {0}
ProfileModificationAction_InvalidSelections=Problem determining user request.  Profile id: {0}, Selection count: {1}
ProfileModificationAction_NoChangeRequestProvided=Could not interpret the request
ProfileModificationAction_NoExplanationProvided=Unexpected error while processing the request.
ProfileModificationAction_ResolutionOperationLabel=Calculating Requirements
ProfileModificationWizardPage_DetailsLabel=Details
ProfileModificationWizardPage_ResolutionOperationLabel=Calculating Requirements
ProfileModificationWizardPage_UnexpectedError=An unexpected error occurred.  This wizard is no longer valid with the current selections.
ProfileSnapshots_Label=Installation History
ProvisioningUtil_InstallPlanConfigurationError=A problem was encountered while preparing the system for the installation
ProvisioningUtil_NoRepositoryManager=No repository manager was found
ProvisioningUtil_LoadRepositoryFailure=Unable to load the repository {0}
ProvisioningUtil_NoProfileRegistryFound=No profile registry was found
ProvisioningUtil_NoPlannerFound=No provisioning planner was found
ProvisioningUtil_NoDirectorFound=No provisioning director was found
ProvisioningUtil_NoEngineFound=No provisioning engine was found

ProvisioningOperationRunner_CannotApplyChanges=The changes could not be applied while the application is running.  You must restart the application for the changes to take effect.
ProvisioningOperationRunner_ErrorExecutingOperation=Unexpected error while trying to run {0}
InstalledSoftwarePage_NoProfile=This installation has not been configured for showing the installed software.  See the error log for details.
InstallIUOperationLabel=Install
InstallIUCommandLabel=&Install...
InstallIUCommandTooltip=Install the selected items
InstallIUProgress=Installing...
UninstallDialog_UninstallMessage=Check the items that you wish to uninstall.
UninstallIUOperationLabel=Uninstall
UninstallIUCommandLabel=&Uninstall...
UninstallIUCommandTooltip=Uninstall the selected items
UninstallIUProgress=Uninstalling...
UninstallWizardPage_Description=Review and confirm the items to be uninstalled.
UninstallWizardPage_Title=Uninstall Details
ServiceUI_Cancel=Cancel
ServiceUI_LoginDetails=Please provide login details for {0}
ServiceUI_LoginRequired=Login required
ServiceUI_OK=OK
ServiceUI_unsigned_message=Warning: You are installing software that contains unsigned content. The authenticity or validity of this software cannot be established. Do you want to continue with the installation?
ServiceUI_unsigned_title=Installing unsigned content
ServiceUI_warning_title=Security Warning
UpdateIUOperationLabel=Update
UpdateIUCommandLabel=Up&date...
UpdateIUCommandTooltip=See if updates are available for the selected items
UpdateIUProgress=Updating...
RefreshAction_Label=Refres&h
RefreshAction_Tooltip=Refresh
RemoveColocatedRepositoryAction_Label=&Remove Sites...
RemoveColocatedRepositoryAction_OperationLabel=Remove
RemoveColocatedRepositoryAction_Tooltip=Remove selected sites from the available software site list
RevertIUCommandLabel=&Revert...
RevertIUCommandTooltip=Revert to a previously installed configuration
ProvDropAdapter_NoIUsToDrop=No items were available to be dropped
ProvDropAdapter_InvalidDropTarget=Invalid drop target
ProvDropAdapter_UnsupportedDropOperation=Unsupported drop operation

IUCopyrightPropertyPage_NoCopyright=No copyright information has been provided.
IUCopyrightPropertyPage_ViewLinkLabel=View full copyright:
IUPropertyPage_NoIUSelected=There was nothing selected to show in the properties.
IUDetailsLabelProvider_KB={0} KB
IUDetailsLabelProvider_Bytes={0} Bytes
IUDetailsLabelProvider_ComputingSize=Computing size...
IUDetailsLabelProvider_Unknown=Unknown
IUGeneralInfoPropertyPage_ContactLabel=Contact:
IUGeneralInfoPropertyPage_CouldNotOpenBrowser=Could not open the web browser.
IUGeneralInfoPropertyPage_DescriptionLabel=Description
IUGeneralInfoPropertyPage_DocumentationLink=Documentation is available:
IUGeneralInfoPropertyPage_IdentifierLabel=Identifier:
IUGeneralInfoPropertyPage_NameLabel=Name:
IUGeneralInfoPropertyPage_ProviderLabel=Provider:
IUGeneralInfoPropertyPage_VersionLabel=Version:
IULicensePropertyPage_NoLicense=No license information has been provided.
IULicensePropertyPage_ViewLicenseLabel=View full license:

RepositoryDetailsLabelProvider_Disabled=Disabled
RepositoryDetailsLabelProvider_Enabled=Enabled
RepositoryGroup_LocalRepoBrowseButton=L&ocal...
RepositoryGroup_ArchivedRepoBrowseButton=&Archive...
RepositoryGroup_SelectRepositoryDirectory=Select a repository root directory:
RepositoryGroup_RepositoryFile=Repository archive
RepositoryGroup_URLRequired=Must specify a location
RepositoryManipulationPage_Add=&Add...
RepositoryManipulationPage_ContactingSiteMessage=Contacting {0}
RepositoryManipulationPage_DefaultFilterString=type filter text
RepositoryManipulationPage_Description=Enabled sites will be used to find available software.  Disabled sites are ignored.
RepositoryManipulationPage_DisableButton=&Disable
RepositoryManipulationPage_EnableButton=E&nable
RepositoryManipulationPage_EnabledColumnTitle=Enabled
RepositoryManipulationPage_Export=E&xport...
RepositoryManipulationPage_Import=&Import...
RepositoryManipulationPage_LocationColumnTitle=Location
RepositoryManipulationPage_NameColumnTitle=Name
RepositoryManipulationPage_RefreshOperationCanceled=Operation canceled.
RepositoryManipulationPage_Edit=&Edit
RepositoryManipulationPage_RefreshConnection=Test &Connection
RepositoryManipulationPage_Remove=&Remove
RepositoryManipulationPage_RemoveConfirmMessage=Are you sure you want to remove the selected items?
RepositoryManipulationPage_RemoveConfirmSingleMessage=Are you sure you want to remove {0}?
RepositoryManipulationPage_RemoveConfirmTitle=Remove Sites
RepositoryManipulationPage_TestConnectionSuccess={0} is available.
RepositoryManipulationPage_TestConnectionTitle=Test Connection
RepositoryManipulationPage_Title=Available Software Sites
RepositoryManipulatorDropTarget_DragAndDropJobLabel=Drag and Drop Operation
RepositoryManipulatorDropTarget_DragSourceNotValid={0} was not accepted as a valid software site location.  Check the details.
RepositoryNameAndLocationDialog_Title=Edit Site
ResolutionReport_SummaryStatus=Operation details
ResolutionWizardPage_Canceled=The operation was cancelled.
ResolutionWizardPage_ErrorStatus=The operation cannot be completed.  See the details.
ResolutionWizardPage_NoSelections=There were no installable units selected when the plan was computed.
ResolutionWizardPage_WarningInfoStatus=Your original request has been modified.  See the details.

AcceptLicensesWizardPage_AcceptMultiple=I &accept the terms of the license agreements
AcceptLicensesWizardPage_AcceptSingle=I &accept the terms of the license agreement
AcceptLicensesWizardPage_ItemsLabel=&Items with licenses:
AcceptLicensesWizardPage_LicenseTextLabel=&License text:
AcceptLicensesWizardPage_NoLicensesDescription=There are no licenses to review.  Either the software does not specify a license, or the license has already been reviewed and approved.
AcceptLicensesWizardPage_RejectMultiple=I &do not accept the terms of the license agreements
AcceptLicensesWizardPage_RejectSingle=I &do not accept the terms of the license agreement
AcceptLicensesWizardPage_ReviewExtraLicensesDescription=Licenses must be reviewed before the software can be installed.  This includes licenses for software required to complete the install.
AcceptLicensesWizardPage_ReviewLicensesDescription=Licenses must be reviewed and accepted before the software can be installed.
AcceptLicensesWizardPage_Title=Review Licenses
AddRepositoryDialog_Title=Add Repository
AddRepositoryDialog_DuplicateURL=Duplicate location
AddRepositoryDialog_InvalidURL=The provided location is not valid
AddRepositoryDialog_LocationLabel=&Location:
AddRepositoryDialog_NameLabel=&Name:

UpdateAction_UpdatesAvailableMessage=Check the updates that you wish to install.
UpdateAction_UpdatesAvailableTitle=Available Updates
UpdateOperation_NothingToUpdate=There is nothing to update.
UpdateOrInstallWizardPage_Size=Size: {0}
URLValidator_UnrecognizedURL=The location {0} is not a valid software site location.
UpdateManagerCompatibility_ExportSitesTitle=Export Sites
UpdateManagerCompatibility_ImportSitesTitle=Import Sites
UpdateManagerCompatibility_InvalidSiteFileMessage=The selected file does not contain any updates sites.  Please select another file.
UpdateManagerCompatibility_InvalidSitesTitle=Invalid Sites File
UpdateManagerCompatibility_UnableToOpenFindAndInstall=Unable to open the Classic Update Manager 'Find and Install' wizard.
UpdateManagerCompatibility_UnableToOpenManageConfiguration=Unable to open the Classic Update Manager 'Manage Configuration' dialog.
Updates_Label=Updates Available
UpdateWizardPage_Description=Review and confirm the updates.
UpdateWizardPage_Title=Update Details
UserValidationDialog_PasswordLabel=Password:
UserValidationDialog_SavePasswordButton=Save password
UserValidationDialog_UsernameLabel=Username:
ColocatedRepositoryManipulator_AddSiteOperationLabel=Add Site
ColocatedRepositoryManipulator_GotoPrefs=Go to the <a>Available Software Sites</a> preferences
ColocatedRepositoryManipulator_ManageSites=&Manage Sites...
ColocatedRepositoryManipulator_RemoveSiteOperationLabel=Remove Site
RevertProfilePage_NoProfile=This installation has not been configured properly for accessing the installation history.  See the error log for details.
RevertProfilePage_RevertLabel=Re&vert
RevertProfilePage_RevertTooltip=Revert to the selected install configuration.
InstallWizardPage_NoCheckboxDescription=Review the items to be installed.
InstallWizardPage_Title=Install Details
PreselectedIUInstallWizard_Title=Install
PreselectedIUInstallWizard_Description=Check the items that you wish to install.

PlanAnalyzer_IgnoringInstall="{0}" is not applicable to the current configuration and will not be installed.
PlanAnalyzer_LockedImpliedUpdate0={0} will be ignored because it is already installed, and updates are not permitted.
PlanAnalyzer_PartialInstall="{0}" is already present because other installed software requires it.  It will be added to the installed software list.
PlanAnalyzer_PartialUninstall= "{0}" cannot be fully uninstalled because other installed software requires it.  The parts that are not required will be uninstalled.
PlanAnalyzer_SideEffectInstall="{0}" will also be installed in order to complete this operation.
PlanAnalyzer_SideEffectUninstall="{0}" must be uninstalled in order to complete this operation.
PlannerResolutionOperation_UnexpectedError=Unexpected error.  Unable to calculate requirements and dependencies.
PlanStatusHelper_IgnoringImpliedDowngrade="{0}" will be ignored because a newer version is already installed. 
PlanStatusHelper_ImpliedUpdate="{0}" is already installed, so an update will be performed instead.
PlanStatusHelper_Items=Items
PlanStatusHelper_NothingToDo=Cannot complete the request.  See the error log for details.
PlanStatusHelper_AlreadyInstalled="{0}" will be ignored because it is already installed.
PlanStatusHelper_AnotherOperationInProgress=Cannot continue the operation.  There is another install operation in progress.
PlanStatusHelper_Launch=Launch...
PlanStatusHelper_RequestAltered=Your original request has been modified.
PlanStatusHelper_RequiresUpdateManager=Cannot continue the operation.  One or more items requires support from the old Update Manager.
PlanStatusHelper_UnexpectedError=Unexpected error code {0} encountered for {1}.
PlanStatusHelper_UpdateManagerPromptTitle=Unsupported Install
PlatformUpdateTitle = Software Updates
PlatformRestartMessage = You will need to restart {0} for the changes to take effect. \
Would you like to restart now?
ApplicationInRestartDialog = the application
ProvUI_ErrorDuringApplyConfig=Error while attempting to apply changes.  You must restart the application for changes to take effect.
ProvUI_InformationTitle=Information
ProvUI_InstallDialogError=Unable to open the Installation Information.
ProvUI_NameColumnTitle=Name
ProvUI_IdColumnTitle=Id
ProvUI_LoadErrorTitle=Error Contacting Site
ProvUI_PromptForSiteEdit=No software site found at {0}.  Do you wish to edit the location?
ProvUI_VersionColumnTitle=Version
ProvUI_WarningTitle=Warning
ProvUIActivator_ExceptionDuringProfileChange=Exception while handling profile change event.
ProvUILicenseManager_ParsingError=Error parsing the accepted license registry
ProvUIMessages_NotAccepted_EnterFor_0=Login details were not accepted. Please provide login details for {0}
ProvUIMessages_SavedNotAccepted_EnterFor_0=Saved login details were not accepted. Please provide login details for {0}

OptionalPlatformRestartMessage = It is strongly recommended you restart {0} for the changes to take effect. \
For some add-ons, it may be possible to apply the changes you have made without restarting. \
Would you like to restart now?
ApplyProfileChangesDialog_ApplyChanges=Apply Changes
AvailableIUElement_ProfileNotFound=Could not find profile to use for size computation.
AvailableIUGroup_LoadingRepository=Loading {0}
AvailableIUGroup_NoSitesConfiguredDescription=This product was not configured with any software sites.  Contact your systems administrator.
AvailableIUGroup_NoSitesConfiguredExplanation=There are no software sites available.
ColocatedRepositoryManipulator_NoContentExplanation=You may select a site in the combo box at the top.  You may also type or paste a site name into the combo box and press Enter.  You may also drag a site URL into the combo box or software list.
AvailableIUGroup_NoSitesExplanation=There is no site selected.
AvailableIUsPage_AddButton=&Add...
AvailableIUsPage_AllSites=--All Available Sites--
AvailableIUsPage_Description=Check the items that you wish to install.
AvailableIUsPage_GotoInstallInfo=What is <a>already installed</a>?
AvailableIUsPage_GotoProperties=<a>More...</a>
AvailableIUsPage_GroupByCategory=&Group items by category
AvailableIUsPage_HideInstalledItems=&Hide items that are already installed
AvailableIUsPage_LocalSites=--Only Local Sites--
# Usage is when a site's name is shown adjacent to its URL, such as "http://update.example.com - Example Site"
AvailableIUsPage_NameWithLocation={0} - {1}
AvailableIUsPage_NoSites=type or select a site
AvailableIUsPage_RepoFilterInstructions=You can type a new site location and press 'Enter' to view software from that site.
AvailableIUsPage_RepoFilterLabel=&Work with:
AvailableIUsPage_ResolveAllCheckbox=&Contact all update sites during install to find required software
AvailableIUsPage_SelectASite=Select a site or enter the location of a site.
AvailableIUsPage_ShowLatestVersions=Show only the &latest versions of available software
AvailableIUsPage_Title=Available Software
AvailableIUWrapper_AllAreInstalled=All items are installed
IUViewQueryContext_AllAreInstalledDescription=You can uncheck the 'Hide items that are already installed' check box to see all items.
DefaultQueryProvider_ErrorRetrievingProfile=Error retrieving profile {0}
DeferredFetchFilteredTree_RetrievingList=Retrieving List
ElementUtils_UpdateJobTitle=Updating Repository Information
Label_Profiles=All Software Profiles
Label_Repositories=Known Repositories
MetadataRepositoryElement_NotFound=This repository is currently not available.
MetadataRepositoryElement_RepositoryLoadError=Error loading repository {0}
IUViewQueryContext_NoCategorizedItemsDescription=You can uncheck the 'Group items by category' check box to see items without categories.
QueriedElementWrapper_NoCategorizedItemsExplanation=There are no categorized items
QueriedElementWrapper_NoItemsExplanation=There are no items available
QueriedElementWrapper_SiteNotFound=Could not find {0}
ColocatedRepositoryManipulator_SiteNotFoundDescription=The site's location may be entered incorrectly, or the site might be offline.  You can correct the location in the 'Available Software Sites' preferences by removing the site and adding it with the proper location.  If the site name appears to be correct, you can test the connection in the 'Available Software Sites' preferences.  The site may be unreachable, or you may have a problem with your network connection.
QueryableMetadataRepositoryManager_LoadRepositoryProgress=Contacting {0}
QueryableMetadataRepositoryManager_MultipleRepositoriesNotFound=Some sites could not be found.  See the error log for more detail.
QueryableProfileRegistry_QueryProfileProgress=Getting profiles
QueryableUpdates_UpdateListProgress=Assembling list of updates
SelectableIUsPage_Select_All=Select &All
SelectableIUsPage_Deselect_All=&Deselect All
SizeComputingWizardPage_SizeJobTitle=Computing size
SizingPhaseSet_PhaseSetName=Compute sizes

RevertDialog_ConfigContentsLabel=Con&figuration contents:
RevertDialog_ConfigsLabel=&Previous configurations:
RevertDialog_ConfirmRestartMessage=This operation requires restarting the workbench.  Would you like to proceed?
RevertDialog_RevertOperationLabel=Revert configuration
RevertDialog_Title=Revert Software Configuration

RollbackProfileElement_CurrentInstallation=Current Installation
RollbackProfileElement_InvalidSnapshot=The configuration snapshot is no longer valid.
TrustCertificateDialog_Details=Details
TrustCertificateDialog_Title=Do you trust these certificates?

PlanStatusHelper_PromptForUpdateManagerUI=A feature that you have selected uses install procedures that are not compatible with the current installation support.  This feature can only be installed by the older Update Manager.  \
\
Do you want to launch the older Update Manager?
