###############################################################################
# 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
###############################################################################
#
# Update UI plugin.xml resources
#
pluginName = Install/Update UI
providerName = Eclipse.org
fragmentNameWin = Install/Update UI for Windows

updateMenu.label = &Software Updates
actionSets.softwareUpdates.label = Software Updates
actionSets.newUpdates.label = &New Updates
actionSets.pendingChanges.label = &Pending Changes...
actionSets.updateManager.label = &Update Manager

searchCategory.name = Search Category
searchCategories.updates = Available Updates
searchCategories.updates.desc = <form><p>Search for updates to \
features currently installed in this application. Updates are \
features that have the same identifier as the installed features, \
but newer versions.</p>\
<p>Use scope settings to control the \
extent of the search and the update sites that will be visited.</p>\
<p>Note that the settings in <b>Preferences</b> affect whether the new feature \
versions will be considered valid as updates.</p></form>

searchCategories.expression = Regular Expressions
searchCategories.expression.desc = <form><p>Search for features that \
contain desired text or reqular expression. Use the query settings \
to configure search options.</p></form>

searchCategories.plugin = Plug-ins in Features
searchCategories.plugin.desc = <form><p>Look for plug-ins that \
are packaged in the features. This search category is useful \
when required plug-ins of the feature you wanted to install \
were not found in this application.</p></form>

mainPreference.name = Install/Update
appServerPreference.name = Web-triggered Updates

views.category.label = Update Manager
views.updates.label = Feature Updates
views.configuration.label = Install Configuration
views.preview.label = Preview
views.webBrowser.label = External Preview
views.searchResults.label = Feature Search Results
views.updateItems.label = Selected Updates
perspective.label = Install/Update
properties.site.label = Site Info
properties.folder.label = Folder Info
properties.search.label = Search Info
properties.configuration.label = Configuration
properties.preserved.label = Preserved Configuration