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

# @(#)ImageMergeViewerResources.properties
#
# Resource strings for ImageMergeViewer.java

title= Image Compare

#####################################################
# Actions
#####################################################

action.CopyLeftToRight.label= Copy Left to Right
action.CopyLeftToRight.tooltip= Copy Image from Left to Right
action.CopyLeftToRight.image= elcl16/copy_r_co.gif

action.CopyRightToLeft.label= Copy Right to Left
action.CopyRightToLeft.tooltip= Copy Image from Right to Left
action.CopyRightToLeft.image= elcl16/copy_l_co.gif

action.EnableAncestor.label= Enable Ancestor Pane
action.EnableAncestor.tooltip= Control Visibility of Ancestor Pane
action.EnableAncestor.image= elcl16/ancestorpane_co.gif
