###############################################################################
# Copyright (c) 2007, 2013 EclipseSource 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:
#    Innoopract Informationssysteme GmbH - initial API and implementation
#    EclipseSource - ongoing development
################################################################################
InstallDialog_ShellTitle=RAP Target Platform Installation
InstallDialog_switchTarget=&Activate the target after installation (recommended)
InstallDialog_TargetDescription=If you don't activate the RAP target now, you can also do that \
  manually in the preferences.
InstallRAPTargetAction_FailedExecuteCommand=Failed execute command: {0}
InstallRAPTargetHandler_InstallFailed=Failed to install target platform.
InstallRAPTargetHandler_SwitchTargetInterrupted=InterruptedException occured while switching \
  to RAP target platform. 
InstallTargetDialog_TargetDescriptionMsg=RAP applications have to be compiled against \
  a RAP target platform. This installer will download and install the latest RAP {0} \
  target platform from the RAP repository.
TargetProvider_Installing=Installing RAP target platform
TargetProvider_Creating_Definition=Creating RAP target definition
TargetSwitcher_NoInternetConnectionAvailableErrorMsg=No internet connection available. RAP \
  target installation needs internet connection to download the target.
TargetSwitcher_TargedDefinitionErrorMessage=Failed to create target definition
TargetSwitcher_TargetRepositoryProblemErrorMsg=RAP target installation failed to download \
  the target. There are problems with the RAP target repository.
