###############################################################################
# Copyright (c) 2005, 2008 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
###############################################################################
Advisor_Canceled=Install canceled
Advisor_Preparing=Preparing to install
App_Error=An error occurred during installation
App_FailedStart=Unable to start provisioning infrastructure
App_InvalidSite=Invalid install site: 
App_LaunchFailed=Failed to launch the product: 
App_Launching=Launching {0}
App_NoInstallLocation=Install failed because the install location was not set
App_NoSite=No install site provided
Dialog_BrowseButton=&Browse...
Dialog_CancelButton=&Cancel
Dialog_CloseButton=&Close
Dialog_ExplainShared=In a shared install, common components are stored together, allowing them to be shared across multiple products.
Dialog_ExplainStandalone=In a stand-alone install, each product is installed in its own directory without any sharing between products
Dialog_InstallButton=&Install
Dialog_InstalllingProgress=Installing...
Dialog_InternalError=An internal error has occurred
Dialog_LaunchButton=&Launch
Dialog_LayoutGroup=Layout
Dialog_LocationField=Location
Dialog_LocationLabel=Select the product install directory:
Dialog_LocationPrompt=Select where you want {0} to be installed
Dialog_PromptStart=Install complete. Do you want to start {0} immediately?
Dialog_SelectLocation=Select the install location
Dialog_SharedButton=&Shared install
Dialog_ShellTitle=Installer
Dialog_StandaloneButton=Stand-&alone install
Op_Cleanup=Some final housekeeping
Op_InstallComplete=Install complete
Op_Installing=Installing {0}
Op_IUNotFound=Installable unit not found: 
Op_NoId=Installable unit id not specified
Op_NoService=Install requires a service that is not available: 
Op_NoServiceImpl=Install requires a service implementation that is not available: 
Op_Preparing=Preparing to install
Op_UpdateComplete=Update complete
Op_Updating=Updating {0}
