###############################################################################
# Copyright (c) 2000, 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
###############################################################################
### Boot plugin message catalog

### Platform Configuration
cfig_unableToLoad_noURL=Configuration file location not specified
cfig_unableToSave_noURL=Configuration file save location not specified
cfig_unableToSave=Unable to save configuration file \"{0}\"

InstalledSiteParser_UnableToCreateURL= Internal Error. Unable to create URL from \"{0}\".
InstalledSiteParser_UnableToCreateURLForFile= Unable to create URL from \"{0}\".
InstalledSiteParser_ErrorParsingFile= Unable to parse file \"{0}\".
InstalledSiteParser_ErrorAccessing= Unable to access file \"{0}\".
InstalledSiteParser_date = Invalid date attribute {0}
BundleManifest_noVersion = {0} attribute not found in manifest for bundle \"{1}\".  Bundle will be ignored.

FeatureParser_IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty: unique identifier=\"{0}\" version=\"{1}\".

BundleGroupProvider=Update Manager Configurator

ConfigurationActivator_initialize=Cannot initialize the Update Configurator
ConfigurationActivator_createConfig=Cannot create configuration in {0}
ConfigurationActivator_uninstallBundle=Could not uninstall unused bundle {0}
ConfigurationParser_cannotLoadSharedInstall=Could not load from shared install
ConfigurationActivator_installBundle=Could not install bundle {0}
PluginEntry_versionError=Unable to create versioned identifier: {0} {1}

IniFileReader_MissingDesc = Cannot find plugin for feature {0}
IniFileReader_OpenINIError = Cannot open branding file {0}
IniFileReader_ReadIniError = Error reading branding file {0}
IniFileReader_ReadPropError = Error reading branding properties file {0}
IniFileReader_ReadMapError = Error reading mapping files {0}

SiteEntry_computePluginStamp = Cannot compute plugins change stamp for site {0} because it does not support plugin detection.
SiteEntry_cannotFindFeatureInDir=Unable to find feature.xml in directory: {0}
SiteEntry_duplicateFeature=Duplicate feature found on site {0} : {1}
SiteEntry_pluginsDir = {0} is not a valid plugins directory.
PlatformConfiguration_expectingPlatformXMLorDirectory=Either specify the configuration directory or a file named platform.xml
PlatformConfiguration_cannotBackupConfig=Cannot backup current configuration
PlatformConfiguration_cannotCloseStream=Could not close output stream for
PlatformConfiguration_cannotCloseTempFile=Could not close output stream for temp file
PlatformConfiguration_cannotRenameTempFile=Could not rename configuration temp file
PlatformConfiguration_cannotLoadConfig=Cannot load configuration from
PlatformConfiguration_cannotLoadDefaultSite=Cannot load default site
PlatformConfiguration_cannotFindConfigFile=Platform configuration file cannot be found
PlatformConfiguration_cannotSaveNonExistingConfig=Configuration cannot be saved because it does not exist

PluginParser_plugin_no_id = Plugin does not have a valid identifier: {0}
PluginParser_plugin_no_version = Plugin does not have a valid version: {0}
XMLPrintHandler_unsupportedNodeType=Unsupported XML Node Type.
