###############################################################################
# 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 API and implementation
###############################################################################
RefactoringDescriptorDiff_diff_string=Pending refactoring ''{0}''
RefactoringHistoryDiff_diff_string=Pending refactorings

RefactoringDescriptorCompareInput_pending_refactoring=Pending Refactoring
RefactoringDescriptorCompareInput_performed_refactoring=Performed Refactoring

RefactoringDescriptorViewer_breaking_change_message=The refactoring may change API.
RefactoringDescriptorViewer_structural_change_message=The refactoring may causes structural changes.
RefactoringDescriptorViewer_closure_change_message=The refactoring may causes changes to multiple files.

AcceptRefactoringsAction_title=&Accept...
AcceptRefactoringsAction_tool_tip=Accept Pending Refactorings
AcceptRefactoringsAction_description=Accept pending refactorings for the local workspace.

RejectRefactoringsAction_title=&Reject
RejectRefactoringsAction_tool_tip=Reject Pending Refactorings
RejectRefactoringsAction_description=Reject pending refactorings for the local workspace.

AcceptRefactoringsAction_wizard_title=Pending Refactorings
AcceptRefactoringsAction_wizard_workspace_caption=Pending refactorings for local workspace:
AcceptRefactoringsAction_wizard_project_pattern=Pending refactorings for project ''{0}'':
AcceptRefactoringsAction_wizard_description=The following refactorings are going to be performed on the local workspace.