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

#
# 'Compare with Patch' Action
#
PatchAction.ExceptionTitle=Saving Resources
PatchAction.Exception=Unexpected exception. See log for details
PatchAction.SavingDirtyEditorsTask=Saving dirty editors
PatchAction.AlwaysSaveQuestion=&Always save all modified resources automatically prior to patching
PatchAction.SaveAllQuestion=Save all modified resources
PatchAction.SaveAllDescription=All modified resources have to be saved before this operation.\nClick 'OK' to confirm or click 'Cancel'.

#
# PatchWizard
#
PatchWizard.title=Apply Patch
PatchWizard.unexpectedException.message= Unexpected exception while applying the patch. See log for a detailed error description.

#
# InputPatchPage
#
InputPatchPage.title= Patch Input Specification
InputPatchPage.message= Define the resource to patch and the patch to apply
InputPatchPage.Clipboard=Clipboard
InputPatchPage.SelectInput=Select a single file or folder to patch:
InputPatchPage.PatchErrorDialog.title=Patch Error
InputPatchPage.PatchErrorDialog=Patch Error
InputPatchPage.SelectPatch.title=Select Patch
InputPatchPage.FileButton.text=Fil&e
InputPatchPage.ChooseFileButton.text=&Browse...
InputPatchPage.UseClipboardButton.text=&Clipboard
InputPatchPage.NothingSelected.message=Select a file or folder to be patched
InputPatchPage.ClipboardIsEmpty.message=Clipboard is empty
InputPatchPage.NoTextInClipboard.message=Clipboard does not contain text
InputPatchPage.CouldNotReadClipboard.message=Couldn't retrieve clipboard contents
InputPatchPage.CannotLocatePatch.message=Can't locate patch file: 
InputPatchPage.NoFileName.message=No file name
InputPatchPage.SelectPatchFileDialog.title=Select Patch File
InputPatchPage.PatchFileNotFound.message=Patch file not found.
InputPatchPage.ParseError.message=Error while parsing patch
InputPatchPage.Clipboard.title=Clipboard
InputPatchPage.PatchFile.title=Patch file
InputPatchPage.NoDiffsFound.format={0} does not contain valid patch.
InputPatchPage.SingleFileError.format={0} contains multiple patches. You cannot apply them to a single file.

#
# PreviewPatchPage
#
PreviewPatchPage.title= Verify Patch
PreviewPatchPage.message= The tree shows the contents of the patch.\nA checked item indicates that a patch can be applied successfully. To remove an item, clear its checkbox.
PreviewPatchPage.Left.title= Original
PreviewPatchPage.Right.title= Result
PreviewPatchPage.PatchOptions.title=Patch Options
PreviewPatchPage.IgnoreSegments.text=&Ignore leading path name segments:
PreviewPatchPage.ReversePatch.text=&Reverse patch
PreviewPatchPage.FuzzFactor.text=&Maximum fuzz factor:
PreviewPatchPage.FuzzFactor.tooltip=Allow context to shift this number of lines from the original place
PreviewPatchPage.IgnoreWhitespace.text=Ignore &white space
PreviewPatchPage.NoName.text=no name
PreviewPatchPage.FileExists.error=(file already exists)
PreviewPatchPage.FileDoesNotExist.error=(file doesn't exist)
PreviewPatchPage.NoMatch.error=(no match)
PreviewPatchPage.FileIsReadOnly.error=(file is read only)
PreviewPatchPage.GuessFuzz.text= &Guess
PreviewPatchPage.GuessFuzzProgress.text= Guessing Fuzz Factor...
PreviewPatchPage.GuessFuzzProgress.format= {0} (hunk #{1})

#
# Patcher
#
Patcher.ErrorDialog.title=title
Patcher.DeleteError.message=Error while deleting resource
Patcher.UpdateError.message=Error while updating resource
Patcher.RefreshError.message=Error while refreshing from local
Patcher.Marker.message=Rejected patch
Patcher.Task.message=Patching

#
# PatchCompareInput
#
PatchCompareInput.RightTitle.format= Patch: {0}
