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

# Delete messages
DeleteDialog_Title = Confirm Delete
DeleteTraceHandler_Message = Are you sure you want to delete the selected trace(s)?
DeleteExperimentHandler_Message = Are you sure you want to delete this experiment?
DeleteExperimentHandler_Error = Error deleting experiment
DeleteExperimentHandler_TaskName = Deleting experiments
DeleteFolderHandler_Message = Are you sure you want to delete the selected folder(s)?
DeleteTraceHandlerGeneric_Message = Are you sure you want to delete the selected elements?
DeleteTraceHandlerGeneric_Error= Error deleting elements
DeleteTraceHandlerGeneric_TaskName = Deleting elements
CloseTraces_TaskName = Closing traces

# Remove messages
RemoveDialog_Title = Confirm Remove
RemoveTraceFromExperimentHandler_Message = Are you sure you want to remove the selected trace(s)?
RemoveTraceFromExperimentHandler_TaskName = Removing traces
RemoveTraceFromExperimentHandler_Error = Error removing trace

# Clear messages
ClearDialog_Title = Confirm Clear
DeleteFolderHandlerClear_Message = Are you sure you want to clear the selected folder(s)?

# Set Trace Type
SelectTraceTypeHandler_ErrorSelectingTrace=Error selecting trace type for trace
SelectTraceTypeHandler_Title = Validation Error
SelectTraceTypeHandler_TraceFailedValidation=A trace has failed validation
SelectTraceTypeHandler_TracesFailedValidation=Several trace files failed validation
SelectTraceTypeHandler_InvalidTraceType =  Type could not be set for one or more traces

# Drag and drop
DropAdapterAssistant_RenameTraceTitle=Confirm rename trace
DropAdapterAssistant_RenameTraceMessage=An element with the name ''{0}'' already exists in the target folder.\nRename the dropped trace?

# Trace synchronization
SynchronizeTracesHandler_InitError=Error initializing trace
SynchronizeTracesHandler_CopyProblem=Couldn't copy the original trace %s
SynchronizeTracesHandler_WrongTraceNumber=Experiment must have more than one trace
SynchronizeTracesHandler_Title=Synchronize traces
SynchronizeTracesHandler_WrongType=Trace is not a kernel trace:\n
SynchronizeTracesHandler_Error=Error synchronizing experiment

SynchronizeTracesHandler_ErrorSynchingExperiment=Error synchronizing experiment %s
SynchronizeTracesHandler_ErrorSynchingForTrace=Error synchronizing experiment %s for trace %s

ClearTraceOffsetHandler_Title=Clear time offset
ClearTraceOffsetHandler_ConfirmMessage=Are you sure you want to clear the time offset for the selected trace(s)?

# Delete Supplementary Files messages
DeleteSupplementaryFiles_DeletionTask=Deleting supplementary files for {0}
DeleteSupplementaryFiles_ProjectRefreshTask=Refreshing project {0}

# Trim traces
TrimTraceHandler_failMsg=Failed to trim trace
TrimTraces_JobName = Performing trace trimming
TrimTraces_DirectoryChooser_DialogTitle = Choose a parent directory for the new trace
TrimTraces_InvalidTimeRange_DialogTitle = Error retrieving time range
TrimTraces_InvalidTimeRange_DialogText = Trace trimming makes use of the current's trace active selection. Please select a valid time range.
TrimTraces_InvalidDirectory_DialogTitle = Invalid directory
TrimTraces_InvalidDirectory_DialogText = Selected directory is invalid
TrimTraces_NoWriteAccess_DialogText = No write access to the selected directory

# Analysis modules
AnalysisModule_Help=Help

# TMF Action Provider
TmfActionProvider_OpenWith=Open With

OpenAsExperimentHandler_DefaultExperimentName=Experiment
OpenAsExperimentHandler_ValidationErrorTitle=Validation Error
OpenAsExperimentHandler_ValidationErrorMessage=Experiment has failed validation: {0}