###############################################################################
# Copyright (c) 2008, 2010 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

exception_inputFileIsDirectory= Illegal Argument: inputFile {0} must not be a directory.
exception_fwConfigLocationName = Illegal State: Framework Configuration location "{0}" does not match {1}.
exception_failedToCreateDir = Failed to create directory {0}.
exception_failedToRename=Failed to rename {0} to {1}.
exception_launcherLocationNotSet=The launcher location has not been set.
exception_noInstallArea=Unable to determine osgi.install.area.
exception_fileURLExpected= The property {0} = {1} is expected to be a \"file:\" URL.
exception_bundleManifest= Unable to get bundle manifest for: {0}
exception_createAbsoluteURI=Failed to create absolute URI from \"{0}\" and \"{1}\".
exception_nullConfigArea=The configuration area is not set.
exception_noFrameworkLocation = Unable to determinate the osgi.framework location.
exception_errorSavingConfigIni = Error saving config.ini.
exception_errorReadingFile = An error occured while reading {0}.

log_configFile= Configuration file ({0}) has been read successfully.
log_configProps= Configuration properties is empty.
log_renameSuccessful= Successfully renamed {0} to {1}.
log_propertiesSaved= File {0} was saved successfully.
log_launcherConfigSave= Launcher Configuration was saved successfully in {0}.
log_shared_config_url=Failed creating shared configuration url for {0}.
log_shared_config_relative_url=Failed creating shared configuration url for root: {0} and sharedConfiguration: {1}.
log_shared_config_file_missing=Failed creating shared configuration. File missing: {0}.
log_failed_reading_properties=Failed reading properties from file: {0}.
log_failed_make_absolute=Failed to create absolute path for {0}.
log_failed_make_relative=Failed to create relative path for {0}.

exception_unexpectedfwConfigLocation=The specified framework configuration ({0}) location is not a directory but its name does NOT equal \"{1}\".
exception_persistantLocationNotEqualConfigLocation=The framework persistent data location ({0}) is not the same as the framework configuration location ({1}).
exception_noLocations=No locations are set (framework configuration, persistent data, or launcher home).
