###############################################################################
# Copyright (c) 2001, 2004 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
###############################################################################

#
# Messages for EclipseScheme
#
MSG_INVALID_PLATFORM_URL=Invalid URL: {0} for an Eclipse platform.

#
# Messages for ResouceUtils
#
MSG_ERROR_PATH_NOT_ABSOLUTE=IWAB0003E Path {0} is not absolute for creating a file.
MSG_ERROR_PATH_EMPTY=IWAB0004E Path {0} is empty while creating a file.
MSG_ERROR_PATH_NOT_FOLDER=IWAB0005E Path {0} is not a folder for creating a file.
MSG_ERROR_FOLDER_CREATION_DISABLED=IWAB0007E Folder creation has been disabled for parent folder {0} and child {1}.
MSG_ERROR_RESOURCE_NOT_FOLDER=IWAB0008E Resource {0} is not a folder.
MSG_WARN_FILE_OVERWRITE_DISABLED=IWAB0009W Can not overwrite file {1} in folder {0}.
MSG_ERROR_FILE_CHECKOUT_DISABLED=IWAB0010E Can not checkout file {1} in folder {0}.
MSG_ERROR_RESOURCE_NOT_FILE=IWAB0011E The following path is not a resource: {0}.
MSG_ERROR_FOLDER_HAS_CHILDREN=IWAB0012E Can not create folder: {0} that already has children.
MSG_ERROR_IO=IWAB0006E An input/output error occurred while processing the resource "{0}".
MSG_ERROR_FILE_OVERWRITE_DISABLED=IWAB0164E Cannot create the file "{1}" relative to the path "{0}" because automatic file overwriting has not been enabled. Do you want to enable it for this file?
MSG_ERROR_FILE_CHECKOUT_DISABLED=IWAB0061E Cannot create the file "{1}" relative to the path "{0}" because automatic file check out has not been enabled. Do you want to enable it for this file?

LABEL_YES=Yes
LABEL_YES_TO_ALL=Yes All
LABEL_CANCEL=Cancel

TITLE_WARNING=Warning:
TITLE_ERROR=Error:
TITLE_INFO=Info:



