###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# 
#
#
RestartTitle = Install/Update
RestartMessage = You will need to restart the workbench for the changes to take effect. \
Would you like to restart now?

OptionalRestartMessage = It is recommended you restart the workbench for the changes to take effect, \
but it may be possible to apply the changes to the current configuration without restarting.\
Would you like to restart now?

ApplyChanges=Apply Changes


ConfigurationManagerAction.title=Product Configuration
ConfigurationManagerWindow.fileMenu=&File
ConfigurationManagerWindow.properties=&Properties
ConfigurationManagerWindow.close=&Close

EditBookmarksAction.edit=Edit Bookmarks...
EditBookmarksAction.title=Bookmarks

InstallWizardAction.title=Install/Update
InstallWizard.retryTitle = Problem occurred
InstallWizard.retry = Do you want to retry?

WebBookmarksDialog.label=Current Bookmarks:
WebBookmarksDialog.add=Add...
WebBookmarksDialog.new=New Bookmark
WebBookmarksDialog.edit=Edit...
WebBookmarksDialog.editTitle=Edit Bookmark
WebBookmarksDialog.remove=Remove

DiscoveryFolder.name=Sites to Visit
FeatureAdapter.failure=<failure>
SiteBookmark.connecting = Connecting to "{0}"...
SiteBookmark.downloading = Downloading:\ 
SiteCategory.other.label = Other
SiteCategory.other.description = Features found under this category are either not categorized or their categories could not be found on server.

MainPreferencePage.checkSignature = Check digital &signatures of downloaded archives
MainPreferencePage.historySize = &Maximum number of 'History' configurations:
MainPreferencePage.updateVersions = Valid updates
MainPreferencePage.updateVersions.equivalent = e&quivalent (1.0.1 -> 1.0.2 - only service increments)
MainPreferencePage.updateVersions.compatible = &compatible (1.0.9 -> 1.1.0 - service and minor increments)
MainPreferencePage.updatePolicy = &Update Policy
MainPreferencePage.updatePolicyURL = Po&licy URL:
MainPreferencePage.proxyGroup = Proxy settings
MainPreferencePage.enableHttpProxy = E&nable HTTP proxy connection
MainPreferencePage.httpProxyHost = &HTTP proxy host address:
MainPreferencePage.httpProxyPort =  HTTP &proxy host port:
MainPreferencePage.digitalSignature.title = Digital Signature Check
MainPreferencePage.digitalSignature.message = You have chosen to disable digital signature \
checks for downloaded archives. Note that unsigned archives may \
contain software that can harm your computer.
MainPreferencePage.invalidPort = Port must be a number in the range 0-65535

UpdateSettingsPreferencePage.description=Settings for automatic feature update
UpdateSettingsPreferencePage.label=Address &Mappings URL:
UpdateSettingsPreferencePage.invalid=Invalid mappings URL

ConfigurationActivitiesPropertyPage.label=Activities that caused the creation of this configuration:

ConfiguredSitePropertyPage.path=Location path: 
ConfiguredSitePropertyPage.type=Location type: 
ConfiguredSitePropertyPage.enabled=Enabled: 
ConfiguredSitePropertyPage.yes=yes
ConfiguredSitePropertyPage.no=no
ConfiguredSitePropertyPage.private=private
ConfiguredSitePropertyPage.extension=product extension
ConfiguredSitePropertyPage.product=product
ConfiguredSitePropertyPage.unknown=unknown

FeatureCopyrightPropertyPage.showInBrowser=&Show in Browser
FeatureCopyrightPropertyPage.noCopyright=Feature does not contain a copyright statement

FeatureGeneralPropertyPage.name=Name:
FeatureGeneralPropertyPage.id=Identifier:
FeatureGeneralPropertyPage.version=Version:
FeatureGeneralPropertyPage.provider=Provider:
FeatureGeneralPropertyPage.size=Size:
FeatureGeneralPropertyPage.platforms=Supported Platforms
FeatureGeneralPropertyPage.ws=Windowing System: 
FeatureGeneralPropertyPage.arch=CPU Architecture: 
FeatureGeneralPropertyPage.nl=Languages: 
FeatureGeneralPropertyPage.all=all
FeatureGeneralPropertyPage.os=Operating System:
FeatureGeneralPropertyPage.desc=Description
FeatureGeneralPropertyPage.Kilobytes = KB

FeatureLicensePropertyPage.showInBrowser=&Show in Browser
FeatureLicensePropertyPage.noLicense=Feature does not contain a license.

FeatureStatusPropertyPage.pendingChanges=The feature has pending changes.  Therefore, its status cannot be determined until you restart the workbench.
FeatureStatusPropertyPage.reason=Reason:
FeatureStatusPropertyPage.missingOptional=This optional feature is currently not installed.
FeatureStatusPropertyPage.missing=Referenced feature not found.
FeatureStatusPropertyPage.goodConfiguration=The feature is configured properly.

JarVerificationDialog.wtitle = Verification
JarVerificationDialog.Title= Feature Verification
JarVerificationDialog.Verification=Verification
JarVerificationDialog.ComponentNotInstalled=This feature will not be installed.

JarVerificationDialog.AboutToInstall.File=Warning: You are about to install an unsigned feature file.
JarVerificationDialog.NotDigitallySigned.File= This feature file has not been digitally signed.
JarVerificationDialog.CannotVerifyProvider.File=The provider of this feature file cannot be verified.
JarVerificationDialog.CorruptedContent.File=The content of this feature file has been corrupted
JarVerificationDialog.SignedComponent.File=You are about to install a signed feature file.
JarVerificationDialog.UnknownCertificate.File=The certificates used to authenticate this feature file are not recognized.
JarVerificationDialog.UnableToVerifyProvider.File=The provider of this feature file cannot be verified.
JarVerificationDialog.ProviderKnown.File=The provider of this feature file has been validated by a trusted third party.
JarVerificationDialog.KnownCertificate.File=One of the certificates used to authenticate this feature file was recognized.

JarVerificationDialog.AboutToInstall.Feature=Warning: You are about to install an unsigned feature.
JarVerificationDialog.NotDigitallySigned.Feature= This feature has not been digitally signed.
JarVerificationDialog.CannotVerifyProvider.Feature=The provider of this feature cannot be verified.
JarVerificationDialog.CorruptedContent.Feature=The content of this feature has been corrupted
JarVerificationDialog.SignedComponent.Feature=You are about to install a signed feature.
JarVerificationDialog.UnknownCertificate.Feature=The certificates used to authenticate this feature are not recognized.
JarVerificationDialog.UnableToVerifyProvider.Feature=The provider of this feature cannot be verified.
JarVerificationDialog.ProviderKnown.Feature=The provider of this feature has been validated by a trusted third party.
JarVerificationDialog.KnownCertificate.Feature=One of the certificates used to authenticate this feature was recognized.

JarVerificationDialog.Caution=\r\nCaution: \"{0}\" asserts that the content of this feature is safe. \r\nYou should only install this feature if you trust \"{0}\" to make that assertion
JarVerificationDialog.FileName=File Identifier:
JarVerificationDialog.FeatureName=Feature name:
JarVerificationDialog.FeatureIdentifier=Feature Identifier:
JarVerificationDialog.Provider=	Provider:
JarVerificationDialog.MayChooseToInstall=You may choose to install the feature or cancel its installation.
JarVerificationDialog.MayChooseToContinue=You may choose to continue to install the feature or cancel its installation.
JarVerificationDialog.Install=&Install
JarVerificationDialog.InstallAll=Install &All
JarVerificationDialog.Continue=C&ontinue
JarVerificationDialog.Cancel=&Cancel
JarVerificationDialog.RootCA= According to: 
JarVerificationDialog.SubjectCA= File signed by: 
JarVerificationDialog.CertificateInfo= Certificate:

UserVerificationDialog.PasswordRequired=Password Required
UserVerificationDialog.ConnectTo=Connect to: 
UserVerificationDialog.Password=Password:
UserVerificationDialog.UserName=User name:

ConfigurationPreviewForm.configDescription=This is the description of the current configuration.
ConfigurationPreviewForm.install=Install Location
ConfigurationPreviewForm.AvailableTasks=Available Tasks

ConfigurationView.missingFeature = {0} (not installed)
ConfigurationView.current=Current Configuration
ConfigurationView.pending=\ (pending changes)
ConfigurationView.error=Error
ConfigurationView.collapseLabel=Collapse All
ConfigurationView.collapseTooltip=Collapse All
ConfigurationView.revertLabel=Revert...
ConfigurationView.installHistory =Installation History
ConfigurationView.extLocation=Extension Location...
ConfigurationView.uninstall=Uninstall
ConfigurationView.install=Install
ConfigurationView.anotherVersion=&Another Version...
ConfigurationView.findUpdates=Find Updates...
ConfigurationView.showNestedFeatures=Show Nested Features
ConfigurationView.showNestedTooltip=Show Nested Features
ConfigurationView.showInstall=Show Install Locations
ConfigurationView.showInstallTooltip=Show Install Locations
ConfigurationView.showDisabled=Show Disabled Features
ConfigurationView.showDisabledTooltip=Show Disabled Features
ConfigurationView.new=New
ConfigurationView.replaceWith=Replace with
ConfigurationView.revertPreviousLabel=Revert to Previous
ConfigurationView.revertPreviousDesc=You can revert to one of the previous configurations if you are having problems with the current one.
ConfigurationView.updateLabel=Scan for Updates
ConfigurationView.updateDesc=Search for updates for all the installed features.
ConfigurationView.detectedChanges=Detected Changes...
ConfigurationView.detectedLabel=Process Detected Changes
ConfigurationView.detectedDesc=Process configuration changes that were detected by the configuration manager.
ConfigurationView.installHistLabel=View Installation History
ConfigurationView.installHistDesc=View all activities since the installation of the product.
ConfigurationView.activitiesLabel=Show Activities
ConfigurationView.activitiesDesc=View the activities that caused the creation of this configuration.
ConfigurationView.enableLocDesc=You can enable or disable an entire install location. Disabling a location is equivalent to disabling every feature in it.
ConfigurationView.extLocLabel=Add an Extension Location
ConfigurationView.extLocDesc=Locate and add an extension location to the current configuration. An extension location contains features and plugins previously installed.
ConfigurationView.propertiesLabel=Show Properties
ConfigurationView.installPropDesc=View the properties of the install location.
ConfigurationView.replaceVersionLabel=Replace With Another Version
ConfigurationView.replaceVersionDesc=Disables the current version of the feature and replaces it with another version from the list of the currently disabled features.
ConfigurationView.enableFeatureDesc=You can enable or disable a feature. Function provided by the feature will be removed but the feature itself will still be present to be enabled later.
ConfigurationView.installOptionalLabel=Install from Originating Server
ConfigurationView.installOptionalDesc=This optional feature was not originally installed. You can install it now by connecting to the originating server of the parent.
ConfigurationView.uninstallLabel=Uninstall
ConfigurationView.uninstallDesc=This feature is currently not used and can be uninstalled from the product.
ConfigurationView.uninstallDesc2=Uninstall the feature from the product. This will disable the feature from the current configuration and remove it from the disk.
ConfigurationView.scanLabel=Scan for Updates
ConfigurationView.scanDesc=Search for updates for this feature.
ConfigurationView.featurePropLabel=Show Properties
ConfigurationView.featurePropDesc=View properties of the feature such as version, provider name, license agreement etc.

Actions.brokenConfigQuestion=The current configuration contains errors and this operation can have unpredictable results. Do you want to continue ?

FeatureStateAction.disable=Disable
FeatureStateAction.enable=Enable
FeatureStateAction.disableQuestion=Do you want to disable this feature?
FeatureStateAction.EnableQuestion=Do you want to enable this feature?
FeatureStateAction.dialogTitle=Current Configuration

FeatureUninstallAction.uninstall=Uninstall
FeatureUninstallAction.uninstallQuestion=Do you want to uninstall this feature?
FeatureUninstallAction.dialogTitle=Current Configuration

SiteStateAction.dialogTitle=Current Configuration
SiteStateAction.disableLabel=Disable
SiteStateAction.disableMessage=Do you want to disable all the features in "{0}"?
SiteStateAction.enableLabel=Enable
SiteStateAction.enableMessage=Do you want to enable features in "{0}"?

FindUpdatesAction.updates=Updates

InstallationHistoryAction.title=Installation History
InstallationHistoryAction.desc=The list below represents the history of your update activities from the product installation to date. Each operation carries a date it commenced, as well as activities performed. Operations are sorted by date in ascending order.
InstallationHistoryAction.activity=ACTIVITY
InstallationHistoryAction.dateTime=Date / Time
InstallationHistoryAction.target=Target
InstallationHistoryAction.action=Action
InstallationHistoryAction.status=Status
InstallationHistoryAction.errors=Errors while creating installation history file.

NewExtensionLocationAction.selectExtLocation=Select an extension location. An extension location is a directory named eclipse, which contains the .eclipseextension marker file, as well the features and plugins folders.
NewExtensionLocationAction.extInfoTitle=Invalid Extension
NewExtensionLocationAction.extInfoMessage=Selected location does not contain a product extension. An extension should consist of a directory named eclipse, which contains a marker file called .eclipseextension and the features and plugins folders.  Please select another location.

ActivitiesTableViewer.enabled=Enabled
ActivitiesTableViewer.featureInstalled=Feature Installed
ActivitiesTableViewer.featureRemoved=Feature Removed
ActivitiesTableViewer.siteInstalled=Site Installed
ActivitiesTableViewer.siteRemoved=Site Removed
ActivitiesTableViewer.disabled=Disabled
ActivitiesTableViewer.revert=Revert
ActivitiesTableViewer.reconcile=Reconcile
ActivitiesTableViewer.unknown=unknown
ActivitiesTableViewer.date=Date
ActivitiesTableViewer.target=Target
ActivitiesTableViewer.action=Action

DeltaFeatureAdapter.shortName = {0} ({1})
DeltaFeatureAdapter.longName = {0} ({1}) in {2}

DuplicateConflictsDialog.title = Duplicate Conflicts
DuplicateConflictsDialog.message = If you continue with the update/install, \
the resulting configuration will contain duplication conflicts \
that may cause parts of the product to be unusable. Do you want to \
continue?
DuplicateConflictsDialog.treeLabel = &Detected conflicts:

InstallDeltaWizard.wtitle = Configuration Changes
InstallDeltaWizard.processing = Processing pending changes:
InstallDeltaWizard.title = Pending Configuration Changes
InstallDeltaWizard.desc = Check the changes you wish to process now. Remove changes that should never be processed.
InstallDeltaWizard.label = Detected &changes:
InstallDeltaWizard.delete = &Remove
InstallDeltaWizard.errors = &Error Details...
InstallDeltaWizard.message = Selected update will result in an invalid configuration.

ModeSelectionPage.title=Feature Updates
ModeSelectionPage.desc=Choose the way you want to search for features to install
ModeSelectionPage.updates=Search for &updates of the currently installed features
ModeSelectionPage.newFeatures=&Search for new features to install

MoreInfoGenerator.notInstalled=not installed
MoreInfoGenerator.all=all
MoreInfoGenerator.license=License
MoreInfoGenerator.HTMLlicense=HTML version of the license agreement
MoreInfoGenerator.licenseAvailable=is also available.
MoreInfoGenerator.copyright=Copyright
MoreInfoGenerator.HTMLcopyright=HTML version of the copyright
MoreInfoGenerator.copyrightAvailable=is also available.
MoreInfoGenerator.platforms=Supported Platforms
MoreInfoGenerator.footprint=Footprint
MoreInfoGenerator.downloadSize=Download size:
MoreInfoGenerator.installSize=Install size:
MoreInfoGenerator.downloadTime=Estimated download time:
MoreInfoGenerator.lessthanone=less than one minute
MoreInfoGenerator.desc=Description
MoreInfoGenerator.moreInfo=More info...

NewUpdateSiteDialog.name=Name: 
NewUpdateSiteDialog.url=URL: 

InstallWizard.isRunningTitle=Install/Update in progress
InstallWizard.isRunningInfo=Another install/update job is in progress. Please cancel it and then re-launch this action.
InstallWizard.jobName=Update Manager
InstallWizard.download=Download and install selected features.
InstallWizard.anotherJob = There is another update/install task running in the background. Do you want to kill it and continue the current tasks instead?
InstallWizard.anotherJobTitle=Installer is running
InstallWizard.wtitle=Install
InstallWizard.OptionalFeaturesPage.title= Optional Features
InstallWizard.OptionalFeaturesPage.desc = Some of the features that are included in this feature are optional.
InstallWizard.OptionalFeaturesPage.treeLabel = &Available optional features:
InstallWizard.OptionalFeaturesPage.selectAll = &Select All
InstallWizard.OptionalFeaturesPage.deselectAll = &Deselect All

InstallWizard.ReviewPage.counter = {0} of {1} selected.
InstallWizard.ReviewPage.title=Search Results
InstallWizard.ReviewPage.desc=Select features to install from the search result list.
InstallWizard.ReviewPage.searching=Searching for features is in progress. Click on Cancel if you want to stop it.\nYou may need to wait a few seconds for cancellation to happen.
InstallWizard.ReviewPage.zeroUpdates=No updates for the currently installed feature(s)found, try again later.
InstallWizard.ReviewPage.zeroFeatures=No features found on the selected site\(s\). Choose a different site or site category.
InstallWizard.ReviewPage.label=Select the features to &install:
InstallWizard.ReviewPage.selectAll=&Select All
InstallWizard.ReviewPage.deselectAll=&Deselect All
InstallWizard.ReviewPage.moreInfo=&More Info
InstallWizard.ReviewPage.properties=&Properties
InstallWizard.ReviewPage.showStatus=&Error Details...
InstallWizard.ReviewPage.filterFeatures=\ Fil&ter features included in other features on the list
InstallWizard.ReviewPage.filterPatches=\ Fil&ter patches included in other patches on the list
InstallWizard.ReviewPage.filterOlderFeatures=\ Show the latest &version of a feature only
InstallWizard.ReviewPage.feature=Feature
InstallWizard.ReviewPage.version=Version
InstallWizard.ReviewPage.provider=Provider
InstallWizard.ReviewPage.prop=&Properties
InstallWizard.ReviewPage.invalid.long=Invalid combination - select \"Show Status...\" for details.
InstallWizard.ReviewPage.invalid.short=Invalid combination
InstallWizard.ReviewPage.cycle=Cycle starting at {0}

InstallWizard.LicensePage.accept = I &accept the terms in the license agreement
InstallWizard.LicensePage.accept2 = I &accept the terms in the license agreements
InstallWizard.LicensePage.decline = I &do not accept the terms in the license agreement
InstallWizard.LicensePage.decline2 = I &do not accept the terms in the license agreements
InstallWizard.LicensePage.desc = This feature has a license \
agreement that you need to accept before proceeding with \
the installation.
InstallWizard.LicensePage.desc2 = Some of the features have license \
agreements that you need to accept before proceeding with \
the installation.
InstallWizard.LicensePage.down=Next &License
InstallWizard.LicensePage.header={0} out of {1}: {2} ({3})
InstallWizard.LicensePage.title = Feature License
InstallWizard.LicensePage.up=&Previous License

InstallWizard.TargetPage.title = Installation
InstallWizard.TargetPage.desc = The following features will be install. You can select a feature and change the location where the feature will be installed.
InstallWizard.TargetPage.jobsLabel = Features to &install:
InstallWizard.TargetPage.siteLabel = A&vailable installation locations:
InstallWizard.TargetPage.new = &Add Location...
InstallWizard.TargetPage.delete = &Remove Location
InstallWizard.TargetPage.requiredSpace = Required space:
InstallWizard.TargetPage.availableSpace = Free space:
InstallWizard.TargetPage.location = Install Location
InstallWizard.TargetPage.location.change = Change Location ...
InstallWizard.TargetPage.location.message = Select a new install location
InstallWizard.TargetPage.location.empty = Target install location must be selected. If none is available, create a new one.
InstallWizard.TargetPage.location.exists = Target location already exists.
InstallWizard.TargetPage.location.error.title = Invalid Location
InstallWizard.TargetPage.location.error.message = The selected location cannot be used to install features: {0}
InstallWizard.TargetPage.location.error.reason = Reason: {0}
InstallWizard.TargetPage.size = {0}KB
InstallWizard.TargetPage.unknownSize = Unknown
InstallWizard.TargetPage.patchError = Patch "{0}" must be installed in the same location as "{1}"
InstallWizard.TargetPage.patchError2 = Patch "{0}" must be installed in the same location as "{1}" : {2}

RevertConfigurationWizard.wtitle=Revert to a Previous Configuration
RevertConfigurationWizardPage.title=Revert to a Previous Configuration
RevertConfigurationWizardPage.desc=Choose a stable configuration to which you would like to revert
RevertConfigurationWizardPage.label=&Past configurations:
RevertConfigurationWizardPage.activities=&Activities that caused the creation of this configuration:
RevertConfigurationWizardPage.question=This operation requires restarting the workbench.  Would you like to proceed?

Revert.ProblemDialog.title = Restore Problems

ShowActivitiesDialog.title = Current Configuration
ShowActivitiesDialog.date = Date:
ShowActivitiesDialog.loc = Location: 
ShowActivitiesDialog.label = Activities that caused the creation of the current configuration:

SitePage.title=Update sites to visit
SitePage.desc=Select update sites to visit while looking for new features.
SitePage.label=&Sites to include in search:
SitePage.addUpdateSite=New Remo&te Site...
SitePage.addLocalSite=New &Local Site...
SitePage.addLocalZippedSite=New &Archived Site...
SitePage.edit=&Edit...
SitePage.remove=&Remove
SitePage.import=I&mport sites...
SitePage.export=E&xport sites...
SitePage.ignore=&Ignore features not applicable to this environment
SitePage.new=New Update Site
SitePage.dialogEditLocal=Edit Local Site
SitePage.dialogEditUpdateSite=Edit Remote Site
SitePage.connecting=Connecting
SitePage.remove.location.conf.title=Remove Location
SitePage.remove.location.conf=Are you sure you want to remove this location?

SearchRunner.connectionError=Connection error

LocalSiteSelector.dialogMessage=Select a local update site.
LocalSiteSelector.dirInfoTitle=Invalid Site
LocalSiteSelector.dirInfoMessage=Selected location does not contain an update site.  Please select another location.
LocalSiteSelector.dialogMessagezip=Select Local Site Archive
LocalSiteSelector.zipInfoTitle=Invalid Site
LocalSiteSelector.zipInfoMessage=Selected archive does not contain an update site.  Please select another archive.
LocalSiteSelector.dialogMessageImport=Import Sites Bookmarks
LocalSiteSelector.importInfoTitle=Invalid Bookmarks File
LocalSiteSelector.importInfoMessage=Selected file does not contain update sites bookmarks.  Please select another file.
LocalSiteSelector.dialogMessageExport=Export Sites Bookmarks

InstallServlet.unknownServerURL=Update server URL is unknown.
InstallServlet.noFeatures=No features to install.
InstallServlet.inProgress = Another install session is already in progress.
InstallServlet.incorrectURLFormat=Update server URL has incorrect format: {0}
InstallServlet.contactWebmaster=Contact Web master that maintains the page that initiated this operation.

MissingFeature.provider = N/A
MissingFeature.desc.unknown = The feature was not loaded due to errors. Open feature properties for details.
MissingFeature.desc.optional = This optional feature has not been installed.
InstallDeltaWizard.reminder=To process these changes at a later time, go to Help->Software Updates->Manage Configuration...
SwapFeatureWizard.title=Replace With Another Version
SwapFeatureWizardPage.title=Replace With Another Version
SwapFeatureWizardPage.desc=Disable the current version of the feature and replace it with one of the versions from the list
SwapFeatureWizardPage.label=&Available disabled versions:

MirrorsDialog.text=The content of the update site "{0}" is also available on the mirrors listed below. You may choose to select a mirror instead of the default update site.
MirrorsDialog.title=Update Site Mirrors