###############################################################################
# Copyright (c) 2000, 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

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