#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 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. A 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}''
modifyFileError_msg=Cannot modify file ''{0}''
filePathNameTooLong_msg=Cannot save resource. File path name too long (exceeding 255) ''{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=Can not find the the resource for  the element identified by ''{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}
resourceAutoRefreshJob_name=Resource Auto-Refresh
loadConfiguration_couldNotLoad_logMsg=Could not load file: {0}. The method configuration in this file has duplicate GUID.
loadConfiguration_notConfigFile_logMsg=Not a method configuration file: {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...
migratingDiagram_name=Migrating diagrams...
migrateContentDescriptionsTask_name=Migrating process content descriptions...
fixPresentationNameTask_name=Fixing empty presentation names...
UnresolvedProxyMarkerManager_couldNotResolveProxy=Can not locate the element identified by ''{0}''
refreshLibraryFilesTask_name=Refreshing library files in workspace
cannot_create_dir_msg=Cannot create directory ''{0}''.
unresolvedProxyLoggerJob_name=Creating load error markers
