# 
#
#

RestartTitle = Install/Update
RestartMessage = You will need to restart the workbench for the changes to take effect. \
Would you like to restart now?

InstallConfigurationPage.createdOn = Created On
InstallConfigurationPage.currentConfig = \nCurrent Configuration
InstallConfigurationPage.yes = Yes
InstallConfigurationPage.no = No
InstallConfigurationPage.ActivitySection.title=Activities
InstallConfigurationPage.ActivitySection.desc=The following list shows \
activities that caused the creation of this configuration:
InstallConfigurationPage.ActivitySection.headers.date= Date
InstallConfigurationPage.ActivitySection.headers.target= Target
InstallConfigurationPage.ActivitySection.headers.action= Action
InstallConfigurationPage.ActivitySection.headers.status= Status
InstallConfigurationPage.ActivitySection.action.configure= Enabled
InstallConfigurationPage.ActivitySection.action.featureInstall= Feature Installed
InstallConfigurationPage.ActivitySection.action.featureRemove= Feature Removed
InstallConfigurationPage.ActivitySection.action.siteInstall= Site Installed
InstallConfigurationPage.ActivitySection.action.siteRemove= Site Removed
InstallConfigurationPage.ActivitySection.action.unconfigure= Disabled
InstallConfigurationPage.ActivitySection.action.unknown= Unknown
InstallConfigurationPage.ActivitySection.status.ok = Success
InstallConfigurationPage.ActivitySection.status.nok = Failure
InstallConfigurationPage.ActivitySection.action.revert = Revert
InstallConfigurationPage.ActivitySection.action.reconcile = Reconcile
InstallConfigurationPage.ActivitySection.action.addpreserved = Preserved

InstallConfigurationPage.RevertSection.title =Configuration Reversal
InstallConfigurationPage.RevertSection.desc=You can revert from the current \
to any of the previous configurations. Note that the reversal \
will be only partial if some of the features that are part of the \
desired configuration have since been deleted.

InstallConfigurationPage.RevertSection.currentText=This is the current configuration.
InstallConfigurationPage.RevertSection.revertText= \ To revert to the previous one, press:
InstallConfigurationPage.RevertSection.revertButton=Revert
InstallConfigurationPage.RevertSection.restoreText=To restore this configuration, press:
InstallConfigurationPage.RevertSection.restoreButton=Restore
InstallConfigurationPage.RevertSection.dialog.title=Revert/Restore configuration.
InstallConfigurationPage.RevertSection.dialog.message=The configuration has been successfully \
restored. You will need to restart the workbench for the changes to take effect.  \
Would you like to restart the workbench now?


Revert.ProblemDialog.title = Restore Problems

BaseTreeView.Popup.ShowDetails = Show &Details

MyComputer.label = My Computer
MyComputerPage.title= My Computer - {0}
MyComputerPage.desc = Browse the file system in order to find a valid update site.

ExtensionRootPage.title = Product Extension Directory
ExtensionRootPage.desc = <p>Product extension directory is a file system directory \
that is marked as <b>extension root.</b> Extension roots contain plug-ins \
that are designed to augment other applications when they link \
these directories into their configurations.</p>\
<p>You can link this extension root to your application by selecting \
<b>Link Product Extension</b> from the pop-up menu for this object.</p>

VolumeLabelProvider.cdrom = Compact Disc
VolumeLabelProvider.floppy3 = 3.5 Floppy
VolumeLabelProvider.floppy5 = 5.25 Floppy
VolumeLabelProvider.localDisk = Local Disc

CategoryPage.title = Category
CategoryPage.moreInfo = More Info

FeaturePage.provider = Provider
FeaturePage.version = \nVersion
FeaturePage.installedVersion = \nInstalled Version
FeaturePage.pendingVersion = {0} (changes pending)
FeaturePage.size = \nDownload Size
FeaturePage.os = Operating System
FeaturePage.ws = \nWindowing System
FeaturePage.nl = \nSupported Languages
FeaturePage.arch = \nSupported Operating System Architecture
FeaturePage.platforms = Supported Platforms
FeaturePage.description = \nDescription
FeaturePage.infoLink = More Info
FeaturePage.licenseLink = License
FeaturePage.copyrightLink = Copyright
FeaturePage.notInstalled = Not Installed
FeaturePage.sizeValue = {0} KB
FeaturePage.unknownSizeValue = Unknown Size
FeaturePage.doButton.uninstall = Uninstall
FeaturePage.doButton.unconfigure = Disable
FeaturePage.doButton.configure = Enable
FeaturePage.doButton.update = Update
FeaturePage.doButton.install = Install
FeaturePage.dialog.utitle = Uninstall
FeaturePage.dialog.title = Install
FeaturePage.dialog.ctitle = Enable
FeaturePage.dialog.uctitle = Disable

FeaturePage.missing.title = Missing Plug-ins
FeaturePage.missing.message = The feature you want to install requires plug-ins \
that cannot be found in the current configuration. You can search for features that \
contain required plug-ins and install them before this one or abort.

FeaturePage.missing.search = &Search
FeaturePage.missing.abort = &Abort
FeaturePage.missing.searchObjectName = Missing plug-ins of {0}

ActivityConstraints.rootMessage = Requested operation cannot be performed because it would invalidate the current configuration. See details for more information.
ActivityConstraints.primary = Platform or primary feature must never be disabled.
ActivityConstraints.prereq = About to loose required plug-in "{0}".
ActivityConstraints.childMessage = {0} ({1}): {2}

DetailsView.home.label=Go Home
DetailsView.backward.label=Go Backward
DetailsView.forward.label=Go Forward

DetailsView.home.tooltip=Go to the Update Manager home page
DetailsView.backward.tooltip=Go Back
DetailsView.forward.tooltip=Go Forward

InfoGroup.plainTextVersion = Plain Text Version
InfoGroup.htmlVersion = HTML Version

InstallableSitePage.title = Install Location
InstallableSitePage.desc = <form><p>Install location is the place on your \
disk where features are installed. This location is chosen in the \
<b>Install</b> wizard.</p></form>

LocalSitePage.title = Current Configuration
ConfigurationView.current = Current Configuration
ConfigurationView.showUnconfFeatures = Show Disabled Features
ConfigurationView.showUnconfFeatures.tooltip = Show Disabled Features
ConfigurationView.Popup.restore = &Restore
ConfigurationView.Popup.preserve = &Save
ConfigurationView.Popup.removePreserved=&Remove
ConfigurationView.Popup.unlink = &Unlink
ConfigurationView.Popup.showStatus = Sho&w Status...
ConfigurationView.historyFolder = Configuration History
ConfigurationView.savedFolder = Saved Configurations
ConfigurationView.statusTitle = Feature Status
ConfigurationView.statusDefault = Feature "{0}" is valid.

HomePage.title = Welcome to Eclipse Update

HomePage.updates.title= Feature Updates
HomePage.updates.desc=<form><p>To check for updates for features you \
have installed, go to <img href="image1"/> <a href="action1">Feature Updates</a> and select \
<b>Available Updates</b>. <b>Search</b> page will \
be shown allowing you to initiate and customize the search.</p></form>

HomePage.installs.title = Installing New Features
HomePage.installs.desc = <form><p>To install new features, open \
<img href="image1"/> <a href="action1">Feature Updates</a> view and expand the desired site \
(this operation may take time). Select features and read about \
them in the <b>Preview</b>.</p>\
<p>If you have a removable device (e.g. a CD-ROM) that containes updates, \
you can navigate to them from <b>My Computer</b> object. You can also create \
configurable searches in order to locate features that match a specific query. To \
create a search, select <b>New</b>, <b>Search...</b> from the pop-up menu in <b>Feature Updates</b></p></form>

HomePage.uninstalls.title = Working With Installed Features
HomePage.uninstals.desc = <form><p>Features that have been previously installed can be \
<b>disabled</b> to make them invisible to you application, or re-enabled.</p>\
<p>Disabled feature is still physically present on your computer. To permanently \
remove it, you need to <b>uninstall</b> it.</p>\
<p>To view the currently enabled features, expand <b>Current Configuration</b> object in \
<img href="image1"/> <a href="action1">Install Configurations</a> view.</p></form>

HomePage.history.title = Installation History
HomePage.history.desc = <form><p>The history of your activity is kept in the <b>installation history</b>. \
You can review it by expanding <b>History</b> folder in the <a href="action1">Install Configurations</a> view. \
Only a limited number of history objects are kept. You can preserve stable configurations \
in order to be able to recreate them at a later date.</p></form>

NewSiteDialog.title = New Site Bookmark
NewSiteDialog.url = &Site URL:
NewSiteDialog.name = Site &Name:

NewFolderDialog.title = New Folder
NewFolderDialog.name= &Folder Name:

NewSearchDialog.title = New Search
NewSearchDialog.name = &Search Name:
NewSearchDialog.category = Search &Category:

ConfirmDelete.title = Confirm Delete
ConfirmDelete.multiple = Are you sure you want to delete these {0} items?
ConfirmDelete.single = Are you sure you want to delete "{0}"?

SiteBookmarkPropertyPage.name = Name:
SiteBookmarkPropertyPage.address = Address:
ConfigurationPropertyPage.name = Configuration Name:
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.

SiteBookmarkPropertySource.url.label=Site URL
SiteBookmarkPropertySource.url.desc=a URL of the update site
SiteBookmarkPropertySource.name.label=Site name
SiteBookmarkPropertySource.name.desc=a display name of the update site

SitePage.desc = <form><p>Expand the site folder to browse the \
features available for download. By default, features are categorized if \
category information exists on the site.</p><p>To view features in \
a flat list, uncheck <b>Show Site Categories</b> option available on \
the pull-down menu of the <img href="updateSites"/> <b>Feature Updates</b> view.</p>\
<p>Features can be designed to work on certain platforms only. These features \
will not show up in the <b>Feature Updates</b> view unless you uncheck \
<b>Show Matching Features Only</b> option on the same pull-down menu.\
</p></form>
SitePage.link = Site home page

UpdatesView.Popup.new=&New
UpdatesView.Popup.newSite = Site &Bookmark...
UpdatesView.Popup.newFolder = &Folder...
UpdatesView.Popup.newSearch = &Search...
UpdatesView.Popup.newLocalSite = Bookmark &Location...
UpdatesView.Popup.delete = &Delete
UpdatesView.Popup.refresh = &Refresh
UpdatesView.Popup.refresh.tooltip = Refresh
UpdatesView.Popup.linkExtension = Link Product &Extension
UpdatesView.menu.showFiles = &Show My Computer Files
UpdatesView.menu.showCategories = Show Site &Categories
UpdatesView.menu.filterEnvironment = Show &Matching Features Only
UpdatesView.newSearch.title = New Search
UpdatesView.newBookmark.title = New Site Bookmark
UpdatesView.newFolder.title = New Folder

DiscoveryFolder = Sites to Visit
DiscoveryFolderPage.title = Sites to Visit
DiscoveryFolderPage.desc = This folder contains links to the update sites provided by features \
installed in this application. Feature providers include them to let you know about sites \
that contain features you might want to try out.

BaseNewWizardPage.name = &Name:
BaseNewWizardPage.createIn = &Create in:
BaseNewWizardPage.existing = &Existing folders:
BaseNewWizardPage.invalid = Container path is invalid

NewFolderWizardPage.title = Create New Folder
NewFolderWizardPage.desc = You can \
choose an existing folder as a container or create a new root folder.

NewSearchWizardPage.title = New Feature Search
NewSearchWizardPage.desc = Create a new search for features. Use folders to organize \
your search objects.
NewSearchWizardPage.category = &Category:

NewSiteBookmarkWizardPage.title = New Update Site Bookmark
NewSiteBookmarkWizardPage.desc = Bookmark an update site. Use folders to organize \
your bookmarks.
NewSiteBookmarkWizardPage.url = &URL:
NewSiteBookmarkWizardPage.http = http://
NewSiteBookmarkWizardPage.invalid = Invalid URL format

UpdatesPage.title = Available Updates
SearchPage.title = Search
SearchPage.lastSearch = Last search: {0}
SearchPage.noLastSearch = Last search: n/a
SearchPage.searchNow = Search Now
SearchPage.cancel = Cancel
SearchPage.desc=<form><p>Search the update sites for features using various search criteria.\
</p></form>
SearchPage.query.label= Query Settings
SearchPage.query.category= Search Category:
SearchPage.options.label = Scope Settings
SearchPage.options.myComputerCheck = Include My Computer in the search
SearchPage.options.myComputerSettings.title = Search Settings
SearchPage.options.myComputerSettings = Settings...
SearchPage.options.fullModeCheck = Show results in extended form
SearchPage.options.bookmarkCheck = Search bookmarked sites
SearchPage.options.discoveryCheck = Search sites in "Sites to Visit" folder
SearchPage.options.filterCheck = Only include features applicable to this environment

MyComputerSearchDialog.label = Select the volumes that should be searched:

ExpressionSearchCategory.expression = Expression:
ExpressionSearchCategory.case = Case sensitive
ExpressionSearchCategory.look = Look for expression in:
ExpressionSearchCategory.name = Feature name
ExpressionSearchCategory.provider = Feature provider
ExpressionSearchCategory.description = Feature description

UpdatesSearchCategory.currentSearch = Available Feature Updates
PluginSearchCategory.new = Add...
PluginSearchCategory.new.title = New Plug-in
PluginSearchCategory.delete = Delete

AvailableUpdates.name = Available Updates
Search.begin = Searching for updates:
Search.myComputer = Scanning My Computer:
Search.contacting = Contacting site "{0}" ...
Search.checking = Running the queries...

UpdatesPage.SearchResultSection.title = Search Results
UpdatesPage.SearchResultSection.desc = The following features satisfy the search criteria ({0}):
UpdatesPage.SearchResultSection.nodesc = No features found.
UpdatesPage.SearchResultSection.startdesc = Search in progress ...
UpdatesPage.SearchResultSection.resultEntry = \
<form><p><a href="openFeature">{0}</a></p>\
<p>Provider: <b>{1}</b></p>\
<p addVerticalSpace="false">Found at: <a href="openSite">{2}</a></p>\
{3}\
</form>

BrowserPage.address = Address:
BrowserPage.stop = Stop
BrowserPage.go = Go
BrowserPage.refresh = Refresh

WebBrowserView.notAvailable = Embedded Web browser is not available. \
Requiests for opening URLs are processed using Web browser registered to handle \
Web pages on your system.
WebBrowserView.address = Address:
WebBrowserView.stop = Stop
WebBrowserView.go = Go
WebBrowserView.refresh = Refresh
WebBrowserView.backward = Go Back
WebBrowserView.forward = Go Forward


NewUpdates.noUpdates.title = New Updates
NewUpdates.noUpdates.message = There are no new updates for the installed features.
NewUpdatesWizard.installing = Installing updates...
NewUpdatesWizard.MainPage.title = Available Updates 
NewUpdatesWizard.MainPage.desc = New updates have been found for the installed features. \
Select the updates you want to install.
NewUpdatesWizard.MainPage.selectAll = &Select All
NewUpdatesWizard.MainPage.deselectAll = Deselect &All
NewUpdatesWizard.MainPage.column.feature = Feature
NewUpdatesWizard.MainPage.column.version = Version
NewUpdatesWizard.MainPage.column.provider = Provider
NewUpdatesWizard.MainPage.column.size = Size
NewUpdatesWizard.MainPage.column.sizeUnknown = N/A
NewUpdatesWizard.MainPage.counter = {0} out of {1} selected.


InstallWizard.LicensePage.title = Feature License
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.up=&Previous License
InstallWizard.LicensePage.down=Next &License
InstallWizard.LicensePage.header={0} out of {1}: {2} ({3})
InstallWizard.LicensePage.accept = I &accept the terms in the license agreement
InstallWizard.LicensePage.decline = I &do not accept the terms in the license agreement
InstallWizard.LicensePage.accept2 = I &accept the terms in the license agreements
InstallWizard.LicensePage.decline2 = I &do not accept the terms in the license agreements

InstallWizard.ReviewPage.title = Feature Install
InstallWizard.ReviewPage.desc =This wizard helps you install \
new, update or uninstall existing features of your product.
InstallWizard.ReviewPage.about.install = You are about to install the following feature:
InstallWizard.ReviewPage.about.uninstall = You are about to uninstall the following feature:
InstallWizard.ReviewPage.about.unconfigure = You are about to disable the following feature:
InstallWizard.ReviewPage.about.configure = You are about to enable the following feature:
InstallWizard.ReviewPage.name = Name:
InstallWizard.ReviewPage.provider = Provider:
InstallWizard.ReviewPage.version = Version:
InstallWizard.ReviewPage.correct.install = \nIf that is correct, select Next to continue.
InstallWizard.ReviewPage.correct.uninstall = \nIf that is correct, select Finish.

InstallWizard.TargetPage.title = Install Location
InstallWizard.TargetPage.desc = Choose the location where the feature will be installed.
InstallWizard.TargetPage.new = &Add...
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.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.error.unable=Unable to locate configuration site for the feature
InstallWizard.error.old= Error while updating the old feature version

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...

MainPreferencePage.description = General settings for Install/Update Manager.
MainPreferencePage.historySize = &Maximum number of 'History' configurations:
MainPreferencePage.browserChoice = When opening Web links, use: 
MainPreferencePage.browserChoice.embedded = &Embedded Browser
MainPreferencePage.browserChoice.system = &Default System Browser
MainPreferencePage.updateVersions = When searching for new updates, consider only features that are:
MainPreferencePage.updateVersions.equivalent = e&quivalent (1.0.2 > 1.0.1 - only service increments)
MainPreferencePage.updateVersions.compatible = &compatible (1.1.0 > 1.0.9 - service and minor increments)
MainPreferencePage.topicColor = &Section Title Color:

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.EnterNameAndPassword=Enter user name and password for: 
UserVerificationDialog.Domain=At the following domain: 
UserVerificationDialog.Password=Password:
UserVerificationDialog.UserName=User name:

NewPluginEntryDialog.id=&Plug-in Id:
NewPluginEntryDialog.version=Plug-in &Version:

