###############################################################################
# Copyright (c) 2009 Tasktop Technologies 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:
#      Tasktop Technologies - initial API and implementation
###############################################################################
BundleDiscoveryStrategy_3={0}: {1}
BundleDiscoveryStrategy_categoryDisallowed=Cannot create category ''{0}'' with id ''{1}'' from {2}: disallowed
BundleDiscoveryStrategy_task_loading_local_extensions=Loading local extensions
BundleDiscoveryStrategy_task_processing_extensions=Processing extensions
BundleDiscoveryStrategy_unexpected_element=unexpected element ''{0}''
ConnectorDiscoveryExtensionReader_Documents=Documents
ConnectorDiscoveryExtensionReader_Tasks=Tasks
ConnectorDiscoveryExtensionReader_unexpected_element_icon=Unexpected element icon
ConnectorDiscoveryExtensionReader_unexpected_element_overview=Unexpected element overview
ConnectorDiscoveryExtensionReader_unexpected_value_kind=Unexpected value for kind
ConnectorDiscoveryExtensionReader_Version_Control=Version Control
DirectoryParser_no_directory=Unexpected content: no directory available
DirectoryParser_unexpected_element=Unexpected element ''{0}''
DiscoveryRegistryStrategy_cannot_load_bundle=Cannot load bundle {0} from url {1}: {2}
DiscoveryRegistryStrategy_missing_pluginxml=no plugin.xml in bundle
RemoteBundleDiscoveryStrategy_cannot_download_bundle=Cannot download bundle at {0}: {1}
RemoteBundleDiscoveryStrategy_empty_directory=Discovery directory is empty
RemoteBundleDiscoveryStrategy_Invalid_source_specified_Error=Invalid source location specified: ''{0}''
RemoteBundleDiscoveryStrategy_io_failure_discovery_directory=IO failure: cannot load discovery directory
RemoteBundleDiscoveryStrategy_io_failure_temp_storage=IO failure: cannot create temporary storage area
RemoteBundleDiscoveryStrategy_task_remote_discovery=remote discovery
RemoteBundleDiscoveryStrategy_unexpectedError=Unexpected error
RemoteBundleDiscoveryStrategy_unknown_host_discovery_directory=Cannot access {0}: unknown host: please check your Internet connection and try again.
RemoteBundleDiscoveryStrategy_unrecognized_discovery_url=Unrecognized discovery bundle URL: {0}
