###############################################################################
# Copyright (c) 2000, 2010 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
###############################################################################

ExtensionsRegistry_error_extensionPointNotFound= Extension point "{0}" not found.
ExtensionsRegistry_error_contentTypeDoesNotExist= The content type with id "{0}" specified in the extension point does not exist.

ResourceFileBuffer_error_fileDoesNotExist= The file does not exist.
ResourceFileBuffer_warning_fileIsDerived= This file is derived and does not allow to be modified.
ResourceFileBuffer_stateValidationFailed= State validation failed.

FileBuffer_error_outOfSync= The file is not synchronized with the local file system.

FileBuffer_status_error= Error
FileBuffer_error_queryContentDescription= Could not query content description for: {0}

FileBufferManager_error_canNotCreateFilebuffer= Cannot create file buffer.

ResourceTextFileBuffer_error_illegal_encoding_message_arg= Character encoding "{0}" is not a legal character encoding.
ResourceTextFileBuffer_error_unsupported_encoding_message_arg= Character encoding "{0}" is not supported by this platform.
ResourceTextFileBuffer_error_charset_mapping_failed_message_arg=Some characters cannot be mapped using "{0}" character encoding.\nEither change the encoding or remove the characters which are not supported by the "{0}" character encoding.
ResourceTextFileBuffer_task_saving= Saving

ResourceFileBuffer_task_creatingFileBuffer=creating file buffer

JavaTextFileBuffer_error_closeStream= Could not close stream.

TextFileBufferManager_error_documentSetupFailed= A document setup participant failed to setup the document.
TextFileBufferManager_error_documentFactoryFailed= A document factory failed to create the document.
TextFileBufferManager_warning_documentSetupInstallsDefaultPartitioner= ''{0}'' must not install a default partitioner.\n\tWhen a ''org.eclipse.core.filebuffers.documentSetup'' extension wants to install partitioning on the document, it must use the ''org.eclipse.jface.text.IDocumentExtension3'' API and use a unique partitioning. 

DocumentInputStream_error_streamClosed= Stream closed
