###############################################################################
# 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 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
###############################################################################

#
# '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=Cannot retrieve clipboard contents
InputPatchPage.CannotLocatePatch.message=Cannot locate patch file: 
InputPatchPage.NoFileName.message=No file name
#SI - Select 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 Location
PreviewPatchPage.IgnoreWhitespace.text=Ignore &white space
PreviewPatchPage.NoName.text=no name
PreviewPatchPage.FileExists.error=(file already exists)
PreviewPatchPage.FileDoesNotExist.error=(file does not 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}
