###############################################################################
# Copyright (c) 2000, 2003 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

AddBookmarksAction.add=Add Bookmark...
AddBookmarksAction.new=New Bookmark

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.

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

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 = Jar 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= Warning: 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= Warning: 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.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

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 .eclipseproduct 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 .eclipseproduct 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.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.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.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 = Install Location
InstallWizard.TargetPage.desc = Choose the location where the features will be installed.
InstallWizard.TargetPage.jobsLabel = Features to &install:
InstallWizard.TargetPage.siteLabel = A&vailable sites:
InstallWizard.TargetPage.new = &Add Site...
InstallWizard.TargetPage.delete = &Remove Site
InstallWizard.TargetPage.requiredSpace = Required space:
InstallWizard.TargetPage.availableSpace = Free space:
InstallWizard.TargetPage.location = Target 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 site as "{1}"
InstallWizard.TargetPage.patchError2 = Patch "{0}" must be installed in the same site 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.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
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.

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:
