###############################################################################
# Copyright (c) 2000, 2006 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
###############################################################################

JavaBrowsingPart_toolTip= Working Set: {0}
JavaBrowsingPart_toolTip2= {0} - Working Set: {1}

LexicalSortingAction_label= Sort
LexicalSortingAction_tooltip= Sort
LexicalSortingAction_description= Enable Sorting

PackagesView_flatLayoutAction_label= &Flat
PackagesView_HierarchicalLayoutAction_label= &Hierarchical
PackagesView_LayoutActionGroup_layout_label= &Package Presentation

# the first argument is the string to which the second one is appended
StatusBar_concat= {0}, {1}
