#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Error Messages
invalidNameError_msg=The name ''{0}'' is invalid. Method element name cannot contain these characters: \\ / : * ? " < > |
objNotFoundError_msg=Could not find object with id ''{0}''
loadLibraryError_msg=Errors encountered while loading method library:
loadLibraryError_details=\ \ line: {0}, column: {1}, msg: {2}
restoreResourceError_msg=Could not restore resource ''{0}''
FileManager_fileReadOnly=File ''{0}'' is read-only
ErrMsg_CouldNotDelete=Could not delete {0}. {1}
renameError_msg=Could not rename ''{0}'' to ''{1}''
backupError_msg=Could not backup up resource ''{0}''
marker_err_cannotResolveProxy=Could not resolve proxy {0}
modifyFileError_msg=Cannot modify file ''{0}''
loadResourceError_msg=Could not load resource ''{0}''
loadResourceErrorWithReason_msg=Could not load resource ''{0}''. Reason: {1}
invalidLibraryFileError_msg=Invalid method library file:
fileNotFoundError_msg=Could not locate any method library file in workspace ''{0}''
normalizeURIError_msg=Could not find the normalized URI for ''{0}''
moveError_msg=Could not move ''{0}'' to ''{1}''. The destination already exists.
modifyReadOnlyFileError_msg=Cannot modify read-only file(s): {0}
moveResourceError_msg=Resource ''{0}'' is involved in a persistence operation that has not been committed.
modifyFilesError_msg=Could not modify one or more files
resourceOutOfSynch_msg=Resource is out of synch and needs to be reloaded: {0}

# Progress Messages
loadLibraryTask_name=Loading method library...
moveDataTask_name=Moving the data...
saveLibraryTask_name=Saving method library...
loadResourcesTask_name=Loading all resources into memory...
migrateContentDescriptionsTask_name=Migrating process content descriptions...
fixPresentationNameTask_name=Setting null/empty presentation name of every breakdown element to its name...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Could not resolve proxy ''{0}''
refreshLibraryFilesTask_name=Refreshing library files in workspace
