###############################################################################
# Copyright (c) 2013 Ericsson
#
# 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:
#     Bernd Hufmann - Initial API and implementation
###############################################################################

#Properties file for org.eclipse.linuxtools.tracing.rcp.ui
Bundle-Vendor = Eclipse Linux Tools
Bundle-Name = Linux Tools Trace Viewer UI Plug-in

menu.main.file = File
menu.main.window = Window
menu.main.help = Help
product.name = Linux Tools Trace Viewer
activity.description = Linux Tools Tracing RCP
activity.name = Linux Tools Tracing RCP
activity.description.javaPerspective = (Unwanted) Java Perspective
activity.name.javaPerspective = Unwanted Java Perspective
activity.description.teamPerspective = (Unwanted) Team Perspective
activity.name.teamPerspective = Unwanted Team Perspective
activity.description.debugPerspective = (Unwanted) Debug Perspective
activity.name.debugPerspective = Unwanted Debug Perspective
activity.description.pluginDevPerspective = (Unwanted) PluginDev Perspective
activity.name.pluginDevPerspective = Unwanted PluginDev Perspective
activity.description.resourcePerspective = (Unwanted) Resource Perspective
activity.name.resourcePerspective = Unwanted Resource Perspective
activity.description.search = (Unwanted) Search Perspective
activity.name.search = Unwanted Search Perspective
command.OpenFile.label = Open Trace...
command.import = Import...
command.batch_import = Batch Import...
menu.mnemonic = F
menu.label = Open
menu.mnemonic.0 = H