###############################################################################
#  Copyright (c) 2000, 2015 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
###############################################################################
### Runtime plugin messages

### Authorization
auth_alreadySpecified=The keyring file location has already been specified {0}.
auth_notAvailable = Authorization infrastructure (org.eclipse.core.runtime.compatibility.auth) not installed.

### metadata
meta_appNotInit = The application has not been initialized.
meta_exceptionParsingLog = An exception occurred while parsing the log file: {0}

### plugins
plugin_deactivatedLoad = Attempt to load class \"{0}\" from de-activated plug-in \"{1}\".
plugin_shutdownProblems = Problems encountered shutting down plug-in: \"{0}\".
plugin_startupProblems = Problems encountered starting up plug-in: \"{0}\".

### Preferences
preferences_saveProblems = Problems saving preferences.

### Line Separator Platforms
line_separator_platform_unix = Unix
line_separator_platform_windows = Windows

### Compatibility - parsing/resolving
parse_badPrereqOnFrag = Fragment \"{0}\" requires non-existent plug-in \"{1}\".  Fragment ignored.
parse_duplicateFragment = Duplicate fragment found with id \"{0}\" and version \"{1}\".
parse_duplicateLib = Fragment \"{0}\" for plug-in \"{1}\", has added duplicate library entry \"{2}\" .
parse_duplicatePlugin = Two plug-ins found with the same id: \"{0}\". Ignoring duplicate at \"{1}\".
parse_error = Parsing error: \"{0}\".
parse_errorNameLineColumn = Parsing error in \"{0}\" [line {1}, column {2}]: \"{3}\".
parse_errorProcessing = Error while processing \"{0}\".
parse_extPointDisabled = Extension point \"{0}\" specified in plug-in \"{1}\" is disabled.
parse_extPointUnknown = Unknown extension point \"{0}\" specified in plug-in \"{1}\".
parse_fragmentMissingAttr = Fragment \"{0}\" ignored due to missing attributes.
parse_fragmentMissingIdName = Fragment ignored due to missing attributes (including name and id).
parse_internalStack = Element/end element mismatch for element \"{0}\".
parse_missingFPName = Plug-in name attribute missing from fragment at \"{0}\".
parse_missingFPVersion = Plug-in version attribute missing from fragment at \"{0}\".
parse_missingFragmentPd = Plug-in descriptor \"{0}\" not found for fragment \"{1}\".  Fragment ignored.
parse_missingPluginId = Id attribute missing from plug-in or fragment at \"{0}\".
parse_missingPluginName = Name attribute missing from plug-in or fragment at \"{0}\".
parse_missingPluginVersion = Version attribute missing from plug-in or fragment at \"{0}\".
parse_nullFragmentIdentifier = Fragment not loaded due to missing id or version number: \"{0}\".
parse_nullPluginIdentifier = Plug-in not loaded due to missing id or version number: \"{0}\".
parse_pluginMissingAttr = Plug-in \"{0}\" disabled due to missing attributes.
parse_pluginMissingIdName = Plug-in disabled due to missing attributes (including name and id).
parse_prereqDisabled = Plug-in \"{0}\" was disabled due to missing or disabled prerequisite plug-in \"{1}\".
parse_prereqLoop = Detected prerequisite loop from \"{0}\" to \"{1}\".
parse_prereqOptLoop = Optional prerequisite from \"{0}\" to \"{1}\" produced loop.  Prerequisite ignored.
parse_unknownAttribute = Unknown attribute \"{1}\" for element \"{0}\" ignored.
parse_unknownElement = Unknown element \"{1}\", found within a \"{0}\", ignored.
parse_unknownEntry = Unknown element parsed by plug-in registry: \"{0}\".
parse_unknownLibraryType = Unknown library type \"{0}\" for library \"{1}\".
parse_unknownTopElement = Unknown element \"{0}\", found at the top level, ignored.
parse_unsatisfiedOptPrereq = Optional prerequisite constraint from \"{0}\" to\" {1}\" ignored.
parse_unsatisfiedPrereq = Unable to satisfy prerequisite constraint from \"{0}\" to \"{1}\".
parse_validExport = \"{0}\" is not a valid value for the attribute \"export\".   Use \"true\" or \"false\".
parse_validMatch = \"{0}\" is not a valid value for the attribute \"match\".   Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".

### Compatibility - plugins
plugin_notPluginClass = Supplied runtime class \"{0}\" does not extend class Plugin.
plugin_unableToResolve = Unable to resolve plug-in registry.
plugin_pluginDisabled = Attempt to activate a disabled plug-in: \"{0}\".
plugin_instantiateClassError = Plug-in \"{0}\" was unable to instantiate class \"{1}\".
plugin_loadClassError = Plug-in {0} was unable to load class {1}.
plugin_unableToGetActivator= Could not get activator for \"{0}\" via reflection.
 