###############################################################################
# Copyright (c) 2007, 2010 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
###############################################################################
#
# Provisioning UI plugin resources
#
providerName = Eclipse.org - Equinox
bundleName=Equinox Provisioning Platform Update Support
Update.command=Check for Updates
Update.command.mnemonic=U
Install.command=Install New Software...
Install.command.mnemonic=S
TempInstallView.command=Installation Information
TempInstallView.mnemonic=I
provisioningPrefPage = Install/Update
sitesPrefPage = Available Software Sites
installedSoftwarePage = Installed Software
installHistoryPage = Installation History
preferenceKeywords.general=automatic update schedule download site software install import bundle
preferences=Update and Install Preferences
classicCategoryName=Classic Update
classicCategoryDesc=Enables classic update functionality