 #=============================================================================#
 # Copyright (c) 2005, 2019 Stephan Wahlbrink and others.
 # 
 # This program and the accompanying materials are made available under the
 # terms of the Eclipse Public License 2.0 which is available at
 # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
 # which is available at https://www.apache.org/licenses/LICENSE-2.0.
 # 
 # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
 # 
 # Contributors:
 #     Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
 #=============================================================================#


SubmitType_Console_label = Console
SubmitType_Editor_label = Editor
SubmitType_Tools_label = Tools
SubmitType_Other_label = Background/Other Tasks

LoadHistory_error_message = An error occurred while loading history ({0}) from file ''{1}''.
LoadHistory_ok_message = History loaded from ''{0}''.
LoadHistory_AllocatingTask_label = Allocating to {0}...
SaveHistory_ok_message = History saved to ''{0}''.
SaveHistory_error_message = An error occurred while saving history ({0}) to file ''{1}''.

ErrorHandling_error_message = An error occurred while handling previous logged error by other plug-in.
ToolRunnable_error_RuntimeError_message = An error occurred while running ''{1}'' in {0}.
Runtime_error_CriticalError_message = Critical runtime error occurred.
Runtime_error_UnexpectedTermination_message = An error occurred while running {0}. {1} terminates unexpected.

ToolController_CommonStartTask_label= Start Tool
ToolController_FileOperation_error_CannotResolve_message= Filename ''{0}'' cannot be resolved.
ToolController_SubmitCancelled_message= Submit cancelled
ToolController_ToolTerminated_message= {0} is terminated.
ToolController_QueueSectionTerminated_message= Requested position in queue of {0} is not available.

Progress_Starting_label = Starting
Progress_Terminating_label = Terminating

Progress_Canceled_label = {0} (Cancelled)
Progress_Blocked_label = {0} (Blocked: {1})

SessionVariables_StartupDate_description = The date when the session was started. The format can be specified by an optional formatting pattern argument, see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SimpleDateFormat.html .
SessionVariables_StartupTime_description = The time when the session was started. The format can be specified by an optional formatting pattern argument, see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SimpleDateFormat.html .
SessionVariables_ConnectionDate_description = The date when the connection to a session was initiated. The format can be specified by an optional formatting pattern argument, see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SimpleDateFormat.html .
SessionVariables_ConnectionTime_description = The time when the connection to a session was initiated. The format can be specified by an optional formatting pattern argument, see http://icu-project.org/apiref/icu4j/com/ibm/icu/text/SimpleDateFormat.html .
SessionVariables_StartupWD_description = The working directory when the session was started.
