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

# @(#)TextMergeViewerResources.properties
#
# Resource strings for TextMergeViewer.java

title= Text Compare

saveDialog.title= Save Resource
saveDialog.message= Resource has been modified. Save changes?

compareProgressTask.title= Computing Differences...

tooComplexError.title= Error
tooComplexError.format= Too many differences. Turn on the ''Ignore White Space'' option or do a structure compare first.

#####################################################
# Toolbar actions
#####################################################

action.CopyLeftToRight.label=Copy Left to Right
action.CopyLeftToRight.tooltip=Copy All from Left to Right
action.CopyLeftToRight.image=copy_r_co.gif

action.CopyRightToLeft.label=Copy Right to Left
action.CopyRightToLeft.tooltip=Copy All Non-Conflicting Changes from Right to Left
action.CopyRightToLeft.image=copy_l_co.gif

action.CopyDiffLeftToRight.label=Copy Current Diff
action.CopyDiffLeftToRight.tooltip=Copy Current Change from Left to Right
action.CopyDiffLeftToRight.image=copycont_r_co.gif

action.CopyDiffRightToLeft.label=Copy Current Diff
action.CopyDiffRightToLeft.tooltip=Copy Current Change from Right to Left
action.CopyDiffRightToLeft.image=copycont_l_co.gif

action.NextDiff.label=Next
action.NextDiff.tooltip=Select Next Change
action.NextDiff.image=next_nav.gif

action.PrevDiff.label=Previous
action.PrevDiff.tooltip=Select Previous Change
action.PrevDiff.image=prev_nav.gif

action.EnableAncestor.label=Enable Ancestor Pane
action.EnableAncestor.tooltip.unchecked=Show Ancestor Pane
action.EnableAncestor.tooltip.checked=Hide Ancestor Pane
action.EnableAncestor.description.unchecked=Show Ancestor Pane
action.EnableAncestor.description.checked=Hide Ancestor Pane
action.EnableAncestor.image=ancestorpane_co.gif

action.IgnoreAncestor.label=Ignore Ancestor
action.IgnoreAncestor.tooltip.unchecked=Two-Way Compare (Ignore Ancestor)
action.IgnoreAncestor.tooltip.checked=Three-Way Compare
action.IgnoreAncestor.description.unchecked=Two-Way Compare (Ignore Ancestor)
action.IgnoreAncestor.description.checked=Three-Way Compare
action.IgnoreAncestor.image=twowaycompare_co.gif


#####################################################
# Context menu actions
#####################################################

action.undo.label=Undo@Ctrl+Z
action.undo.tooltip=Undo Last Operation

action.redo.label=Redo@Ctrl+Y
action.redo.tooltip=Redo Last Operation

action.cut.label=Cut@Ctrl+X
action.cut.tooltip=Cut Text Selection to Clipboard

action.copy.label=Copy@Ctrl+C
action.copy.tooltip=Copy Text Selection to Clipboard

action.paste.label=Paste@Ctrl+V
action.paste.tooltip=Replace Text Selection with Clipboard

action.delete.label=Delete
action.delete.tooltip=Delete Current Text Selection

action.find.label=Find...@Ctrl+F
action.find.tooltip=Find Occurrence

action.selectAll.label=Select All@Ctrl+A
action.selectAll.tooltip=Select All Changes

action.save.label=Save@Ctrl+S
action.save.tooltip=Save Changes
