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

# @(#)AddFromHistoryAction.properties
#
# Resources for AddFromHistoryAction.java

title= Restore from Local History

memberPaneTitle= {0} - Available Files in Local History:

treeTitleFormat= Local History of ''{0}''
dateIcon= obj16/day_obj.gif
timeIcon= obj16/resource_obj.gif

memberDescription= Check files to restore from the local history:
editionDescription= Select an edition of a file:

treeFormat= {0}
workspaceTreeFormat= {0} (Workspace File)
parseErrorFormat= {0} (Parse Error)

editionLabel= Local History ({0})
workspaceEditionLabel= Workspace File

targetLabel= {0}

todayFormat= Today ({0})
yesterdayFormat= Yesterday ({0})
dayFormat= {0}

buttonLabel= Restore

noLocalHistoryError= No deleted resources in local history for selected container.
replaceError=Can''t replace resource (reason: {0}).

taskName=Restoring