###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

RefactoringCorePlugin.internal_error=Internal Error
RefactoringCorePlugin.listener_removed=Listener removed due to the following exception
RefactoringCorePlugin.participant_removed=Participant {0} removed due to the following exception

Resources.outOfSyncResources= Some resources are out of sync
Resources.outOfSync= Resource ''{0}'' is out of sync with file system.
Resources.modifiedResources= There are modified resources
Resources.fileModified= File ''{0}'' has been modified since the beginning of the operation

NullChange.name= No operation change

TextChanges.error.existing=The file ''{0}'' already exists in the workspace
TextChanges.error.not_existing=''{0}'' does not exist anymore
TextChanges.error.content_changed=The content of ''{0}'' has changed
TextChanges.error.unsaved_changes=The file ''{0}'' has unsaved changes
TextChanges.error.read_only=The file ''{0}'' is read-only
TextChanges.error.outOfSync= The file ''{0}'' is out of sync with the underlying file system
TextChanges.error.document_content_changed= The content of the document has changed
TextChanges.error.missing_stamp= The content of ''{0}'' has changed

CheckConditionContext.error.checker_exists= A checker of type ''{0}'' already exists

CompositeChange.performingChangesTask.name=Performing changes...

ProcessorBasedRefactoring.initial_conditions=Check conditions...
ProcessorBasedRefactoring.final_conditions=Check conditions...
ProcessorBasedRefactoring.create_change=Creating workspace modifications...

ParticipantDescriptor.correct=Syntactically correct rename participant element
ParticipantDescriptor.error.id_missing=Disabling refactoring participant: the id attribute is missing
ParticipantDescriptor.error.name_missing=Disabling refactoring participant: Refactoring participant ''{0}'' is missing ''name'' attribute. 
ParticipantDescriptor.error.class_missing=Disabling refactoring participant: Refactoring participant ''{0}'' is missing ''class'' attribute.

ParticipantExtensionPoint.participant_removed= The participant ''{0}'' has caused a problem and has been removed from the system. Consult the log for details.
ParticipantExtensionPoint.wrong_type= The participant ''{0}'' does not extend the required type ''{1}''.