###############################################################################
# Copyright (c) 2007, 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
###############################################################################
artifact_not_found=Artifact requested not found {0}.
available_already_in=The artifact is already available in the repository {0}.
downloading=Downloading {0}.
error_closing_stream=Error closing the output stream for {0} on repository {1}. 

FileDownloadError=Error downloading {0} to {1}. 
io_failedRead=Unable to read repository at {0}.
io_parseError=\
	Error parsing simple artifact repository.
io_incompatibleVersion=\
	Simple artifact repository has incompatible version {0}; expected {1}.
mirroring=Mirroring: 

repoFailedWrite=Unable to write to repository: {0}.
repoReadOnly=Cannot write because repository is read only: {0}

repoMan_exists=Repository already exists at {0}.
repoMan_failedRead=The repository could not be read: {0}.
repoMan_internalError=Internal error.
repoMan_notExists=No repository found at {0}.
repoMan_unknownType=Unknown repository type at {0}.

SignatureVerification_failedRead=Error reading signed content: 
SignatureVerification_invalidContent=Invalid content: 
SignatureVerification_invalidFileContent=File has invalid content: 
	
sar_downloading=Download {0} artifacts
sar_downloadJobName=Install download 
sar_failedMkdir=Failed to create directory {0}.
sar_reportStatus=Problems downloading artifact: {0}.
