###############################################################################
# Copyright (c) 2016 EfficiOS Inc. and others
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
###############################################################################

PreferencePage_WindowDescription=Multi-binary symbol mapping configuration for LTTng-UST 2.8+ trace "{0}"
PreferencePage_TabTitle= LTTng - {0}

PreferencePage_CheckboxLabel = Use custom target root directory
PreferencePage_CheckboxTooltip = \
By default, paths to binaries and libraries found in the trace will be resolved as-is on the current system.\n\
You can specify a path here to use as a \"prefix\" for all path resolutions.\n\
For example, if the trace comes from a different target, and you have a local \
image of the binaries of that target, you can specify the root location of this image here.

PreferencePage_ButtonBrowse = Browse...
PreferencePage_ButtonClear = Clear

PreferencePage_BrowseDialogTitle=Select a target root directory
PreferencePage_ErrorDirectoryDoesNotExists=The current path is missing or is not a directory.
