################################################################################
# Copyright (c) 2012, 2013 Oracle. All rights reserved.
# 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/.
# 
# Contributors:
#     Oracle - initial API and implementation
################################################################################

# JptCommonCoreMessages

DALI_JOB_NAME=Dali
DALI_EVENT_HANDLER_THREAD_NAME=Dali Event Handler
GENERATION_CREATING_LAUNCH_CONFIG_TASK=Creating launch configuration
GENERATION_SAVING_LAUNCH_CONFIG_TASK=Saving launch configuration
GENERATION_LAUNCHING_CONFIG_TASK=Launching configuration
PREFERENCES_FLUSH_JOB_NAME=Flush Preferences: {0}
REGISTRY_MISSING_ATTRIBUTE=Missing required attribute ''{0}'' for element ''{1}'' in extension ''{2}'' from plug-in ''{3}''.
REGISTRY_INVALID_VALUE=Invalid value ''{0}'' for ''{1}'' in extension ''{2}'' from plug-in ''{3}''.
REGISTRY_MISSING_BUNDLE=Missing bundle ''{0}''.
REGISTRY_DUPLICATE=The extension of ''{0}'' contributed by ''{1}'' with the ''{2}'' value of ''{3}'' is a duplicate of a previously registered extension.
REGISTRY_FAILED_CLASS_LOAD=Unable to load the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}''.
REGISTRY_FAILED_INTERFACE_ASSIGNMENT=Unable to assign the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}'' to the interface ''{3}''.
REGISTRY_FAILED_INSTANTIATION=Unable to instantiate the class ''{0}'' declared for the extension point ''{1}'' in the plug-in ''{2}''.
MULTIPLE_LIBRARY_VALIDATOR_ENABLEMENTS=Multiple library validator enablement elements in extension ''{0}'' from plug-in ''{1}''.
USER_LIBRARY_VALIDATOR__CLASS_NOT_FOUND=The class ''{0}'' is required to be in the selected libraries.
OSGI_BUNDLES_LIBRARY_VALIDATOR__BUNDLE_NOT_FOUND=The bundle ''{0}'' could not be found.
OSGI_BUNDLES_LIBRARY_VALIDATOR__IMPROPER_BUNDLE_VERSION=The version of bundle ''{0}'' does not meet platform requirements.
MULTIPLE_RESOURCE_LOCATOR_ENABLEMENTS=Multiple resource locator enablement elements in extension ''{0}'' from plug-in ''{1}''.
INVALID_RESOURCE_LOCATOR_PRIORITY=Invalid resource locator priority ''{0}'' in extension ''{1}'' from plug-in ''{2}''.
VALIDATE_CONTAINER_NOT_SPECIFIED=Parent folder must be specified
VALIDATE_FILE_NAME_NOT_SPECIFIED=File name must be specified
VALIDATE_FILE_ALREADY_EXISTS=File already exist
RESOURCE_TYPE_INVALID_CONTENT_TYPE=Invalid content type ''{0}'' for resource type ''{1}'' in extension ''{2}'' from plug-in ''{3}''.
RESOURCE_TYPE_INVALID_BASE_TYPE=Invalid base type ''{0}'' for resource type ''{1}'' in extension ''{2}'' from plug-in ''{3}''.
