###############################################################################
# Copyright (c) 2007, 2009 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 Automatic Update plugin resources
#
providerName = Eclipse.org - Equinox
bundleName=Equinox Provisioning Platform Automatic Update Support
IU.general=General Information
IU.license=License Agreement
IU.copyright=Copyright
automaticUpdatesPrefPage = Automatic Updates
preferenceKeywords.general=automatic update schedule download software install import bundle