###############################################################################
# Copyright (c) 2011 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:
#     Sonatype - initial API and implementation
###############################################################################
pluginName=Equinox Provisioning Import and Export
providerName=Eclipse.org - Equinox
category.name=Install
export.name=Installed Software Items to File
import.name=Install Software Items from File
importfrominstallation.name=From Existing Installation
export.description=Export the list of your installed software to the local file system.
import.description=Install a set of software from a description file.
importfrominstance.description=Install software from another product.