###############################################################################
# Copyright (c) 2007, 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
#		Sonatype Inc. - Ongoing development
###############################################################################
artifact_repo_manager_not_registered=ArtifactRepositoryManager not registered.
errorLoadingRepository=Error occurred while loading repository at {0}.
errorProcessingConfg=Exception while processing configuration.
metadata_repo_manager_not_registered=MetadataRepositoryManager not registered.
error_reading_link = Error occurred while reading link file at {0}.
error_resolving_link = Error occurred while resolving linked folder {0} from {1}.
remove_root = The installable unit {0} version {1} has been uninstalled during the reconciliation.
remove_all_roots = The reconciliation has been aborted because the changes made to the installation are causing the loss of all roots.