###############################################################################
# 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
###############################################################################
# ==============================================================================
# (c) Copyright IBM Corp. 2000, 2001, 2002.
# All Rights Reserved.
# ==============================================================================

# package: org.eclipse.ui.views.framelist


# ==============================================================================
# FrameList
# ==============================================================================
Back.text = &Back
Back.toolTip = Back
Back.toolTipOneArg = Back to {0}

Forward.text = &Forward
Forward.toolTip = Forward
Forward.toolTipOneArg = Forward to {0}

GoInto.text = Go &Into
GoInto.toolTip = Go Into

Up.text = &Up One Level
Up.toolTip = Up
Up.toolTipOneArg = Up to {0}