#########################################
# (c) Copyright IBM Corp. 2000, 2001.
# All Rights Reserved.
#########################################
#
# Resource strings for Compare Plug-in
#
pluginName= Compare Support
providerName=Eclipse.org

#
# Extension point names
#
structureCreators= Structure Creator
structureMergeViewers= Structure Merge Viewer
contentMergeViewers= Content Merge Viewer
contentViewers= Content Viewer

#
# CompareUIPlugin
#
CompareUIPlugin.dialogTitle=Compare
CompareUIPlugin.noActiveWorkbenchPage=Can't find active workbench page
CompareUIPlugin.compareFailed=Compare Failed
CompareUIPlugin.openEditorError=Problems Opening Editor
CompareUIPlugin.noDifferences=There are no differences between the selected inputs.

#
# Compare Editor
#
defaultCompareEditor.name= Default Compare Editor
CompareEditor.saveError.title= Save Error
CompareEditor.cantSaveError= Can''t save contents ({0})
CompareEditor.invalidInput=Invalid Input: Must be CompareEditorInput

#
# Context menu & actions
#
CompareWithMenu.label= Comp&are With

CompareWithEachOtherAction.label= &Each Other
CompareWithEachOtherAction.tooltip= Compare the Selected Resources

CompareWithPatchAction.label= P&atch...
CompareWithPatchAction.tooltip= Compare the Selected Resource with a Patch

CompareWithHistoryAction.label= &Local History...
CompareWithHistoryAction.tooltip= Compare the Selected Resource with Local History

ReplaceWithMenu.label= Rep&lace With

ReplaceFromHistoryAction.label= &Local History...
ReplaceFromHistoryAction.tooltip= Replace the Selected Resource with Local History

ReplaceWithPreviousFromHistoryAction.label= &Previous From Local History
ReplaceWithPreviousFromHistoryAction.tooltip= Replace the Selected Resource with the Previous from Local History

addFromHistoryAction.label= Restore From Local Histor&y...
addFromHistoryAction.tooltip= Restore Deleted Files From Local History

#
# Preference Page
#
ComparePreferencePage.name= Compare
ComparePreferencePage.initiallyShowAncestorPane.label= Initially show a&ncestor pane
ComparePreferencePage.showPseudoConflicts.label= Show &pseudo conflicts
ComparePreferencePage.synchronizeScrolling.label= Synchronize &scrolling between panes in compare viewers
ComparePreferencePage.textFont.label= Text &font
ComparePreferencePage.showMoreInfo.label= Show additional compare &information in the status line
ComparePreferencePage.preview.label= Preview:
ComparePreferencePage.ancestor.label= Common Ancestor
ComparePreferencePage.left.label= Local
ComparePreferencePage.right.label= Remote
ComparePreferencePage.structureCompare.label= &Open structure compare automatically
ComparePreferencePage.generalTab.label= &General
ComparePreferencePage.textCompareTab.label= &Text Compare
ComparePreferencePage.backgroundColor1.label= Bac&kground Color:
ComparePreferencePage.backgroundColor2.label= S&ystem Default
ComparePreferencePage.backgroundColor3.label= C&ustom
ComparePreferencePage.ignoreWhitespace.label= Ignore &Whitespace
#
# Toolbar actions
#
action.IgnoreWhiteSpace.label=Ignore White Space
action.IgnoreWhiteSpace.tooltip=Ignore White Space Where Applicable
action.IgnoreWhiteSpace.image=etool16/ignorews_edit.gif

action.Next.label=Next Difference
action.Next.tooltip=Go to Next Difference
action.Next.image=elcl16/next_nav.gif

action.Previous.label=Previous Difference
action.Previous.tooltip=Go to Previous Difference
action.Previous.image=elcl16/prev_nav.gif

#
# Built in Structure Creators
#
ZipStructureCreator.name=Zip Archive Compare

#
# Compare Dialog
#
CompareDialog.commit.label=Commit
CompareDialog.saveErrorTitle=Save Error 
CompareDialog.saveErrorMessage=Can't save

#
# Compare With Each Other
#
ResourceCompare.taskName=Operation in Progress...
ResourceCompare.twoWay.title=Compare ({0}-{1})
ResourceCompare.threeWay.title=Compare ({0}-{1}-{2})

#
# DiffTreeViewer & DiffNodes
#
DiffTreeViewer.title= Structure Compare
DiffNode.noName= <no name>
DiffNode.nameFormat= {0} / {1}

#
# Differencing engine
#
Differencer.progressFormat= Comparing {0}

#
# Patch: rejected patch markers
#
rejectedPatchMarker.name= Rejected Patch
