###############################################################################
#  Copyright (c) 2000, 2021 IBM Corporation and others.
#
#  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:
#     IBM Corporation - initial API and implementation
#     Ian Pun & Lucas Bullen (Red Hat Inc.) - Bug 518652
#     Axel Richard (Obeo) - Bug 41353 - Launch configurations prototypes
#     Jens Reimann (jreimann@redhat.com) - add copy & paste support
###############################################################################

CommonTab__Browse_6=&Browse...
CommonTab__Common_15=&Common
CommonTab_Display_in_favorites_menu__10=Display in favo&rites menu
CommonTab_Invalid_shared_configuration_location_14=Invalid shared configuration location
CommonTab_Invalid_stdin_file_location_15=No file specified for process input
CommonTab_L_ocal_3=L&ocal file
CommonTab_S_hared_4=S&hared file:
CommonTab_Select_a_location_for_the_launch_configuration_13=Select a location for the launch configuration
CommonTab_Select_a_location_for_the_Input_File_15=Select a location for the standard input file
CommonTab_Cannot_save_launch_configuration_in_a_closed_project__1=Cannot save launch configuration in a closed project.
CommonTab_10=Launch in bac&kground
CommonTab_11=A&ppend
CommonTab_12=&Workspace...
CommonTab_13=Select a Resource:
CommonTab_14=Select a resource to redirect output to:
CommonTab_0=Save as
CommonTab_1=Encoding
CommonTab_15=The selected encoding is not supported.
CommonTab_16=Workspace...
CommonTab_17=Input &File:
CommonTab_18=Select a resource to redirect input from:
CommonTab_19=File System...
CommonTab_2=Defa&ult - inherited ({0})
CommonTab_20=Variables...
CommonTab_21=&Merge standard and error output (disables coloring of error output)
CommonTab_3=Oth&er
CommonTab_4=Standard Input and Output
CommonTab_5=&Allocate console (necessary for input)
CommonTab_6=Output Fi&le:
CommonTab_7=File &System...
CommonTab_8=No file specified for process output
CommonTab_9=Variables...
CommonTab_AttributeLabel_ConsoleEncoding=Console encoding
CommonTab_AttributeLabel_CaptureOutput=Capture output
CommonTab_AttributeLabel_CaptureInConsole=Capture in console
CommonTab_AttributeLabel_CaptureStdInFile=Capture standard input file
CommonTab_AttributeLabel_CaptureInFile=Capture in file
CommonTab_AttributeLabel_AppendToFile=Append to file
CommonTab_AttributeLabel_LaunchInBackground=Launch in background
CommonTab_AttributeLabel_FavoriteGroups=Favorite groups
CommonTab_AttributeLabel_TerminateDescendants=&Terminate child-processes if terminating the launched process

CompileErrorPromptStatusHandler_0=Errors in Workspace
CompileErrorPromptStatusHandler_1=Errors exist in a required project. Continue launch?
CompileErrorPromptStatusHandler_2=Errors exist in required project(s):\n\n{0}\n\nProceed with launch?
CompileErrorProjectPromptStatusHandler_1=&Always launch without asking
# {0} is replaced with a comma separated list of project names
CompileErrorProjectPromptStatusHandler_0={0}...

EnvironmentTab_22=New Environment Variable

LaunchConfigurationDialog__Apply_17=Appl&y
LaunchConfigurationDialog__Name__16=&Name:
LaunchConfigurationDialog_An_exception_occurred_while_retrieving_launch_configurations_20=An exception occurred while retrieving launch configurations

LaunchConfigurationTabGroupViewer_1=Configure launch settings from this dialog:
LaunchConfigurationTabGroupViewer_2=- Press the 'New Configuration' button to create a configuration of the selected type.
LaunchConfigurationTabGroupViewer_3=- Edit or view an existing configuration by selecting it.
LaunchConfigurationTabGroupViewer_4=- Press the 'Delete' button to remove the selected configuration.
LaunchConfigurationTabGroupViewer_6=- Press the 'Duplicate' button to copy the selected configuration.
LaunchConfigurationTabGroupViewer_5=Configure launch perspective settings from the <a>'Perspectives'</a> preference page.
LaunchConfigurationTabGroupViewer_7=- Press the 'Export' button to export the selected configurations.
LaunchConfigurationTabGroupViewer_8=- Press the 'Filter' button to configure filtering options.
LaunchConfigurationTabGroupViewer_9=- Press the 'New Prototype' button to create a launch configuration prototype of the selected type.
LaunchConfigurationTabGroupViewer_10=- Select launch configuration(s) and then select 'Link Prototype' menu item to link a prototype.
LaunchConfigurationTabGroupViewer_11=- Select launch configuration(s) and then select 'Unlink Prototype' menu item to unlink a prototype.
LaunchConfigurationTabGroupViewer_12=- Select launch configuration(s) and then select 'Reset with Prototype Values' menu item to reset with prototype values.
LaunchConfigurationTabGroupViewer_13=Select a supported <a>launch mode</a>.
LaunchConfigurationTabGroupViewer_14=This configuration does not support some of the launch modes: {0}
LaunchConfigurationTabGroupViewer_15=More than one launcher available - <a>Select other...</a>
LaunchConfigurationTabGroupViewer_16=Using {0} - <a>Select other...</a>
LaunchConfigurationTabGroupViewer_17=Multiple launchers available - <a>Select one...</a>
LaunchConfigurationTabGroupViewer_18=Multiple launchers available - select one to continue

LaunchConfigurationDialog_Create__manage__and_run_launch_configurations_8=Create, manage, and run configurations
LaunchConfigurationDialog_Discard_changes__38=Discard changes?
LaunchConfigurationDialog_Do_you_wish_to_discard_changes_37=\nDo you wish to discard changes?\n
LaunchConfigurationDialog_Error_19=Error
LaunchConfigurationDialog_Exception_occurred_creating_launch_configuration_tabs_27=Exception occurred creating launch configuration tabs
LaunchConfigurationDialog_Exception_occurred_while_saving_launch_configuration_47=Exception occurred while saving launch configuration
LaunchConfigurationDialog_Launch_configuration_already_exists_with_this_name_12=A ''{0}'' configuration with this name already exists
LaunchConfigurationDialog_Launch_Configuration_Error_46=Launch Configuration Error
LaunchConfigurationDialog_Launch_Configurations_18=Launch Configurations
LaunchConfigurationFilteredTree_save_changes=Save Changes
LaunchConfigurationFilteredTree_search_with_changes=You cannot perform a text search when the current configuration has pending changes.\n\nDo you want to save the changes and continue searching?
LaunchConfigurationFilteredTree_search_with_errors=You cannot perform a text search when the current configuration has errors.\n\nDo you want to discard the changes and continue searching?
LaunchConfigurationDialog_Name_required_for_launch_configuration_11=A name is required for the configuration
LaunchConfigurationEditDialog_0=Modify configuration and continue.
LaunchConfigurationEditDialog_1=Con&tinue
LaunchConfigurationDialog_Ready_to_launch_2=Ready to launch
LaunchConfigurationDialog_The_configuration___29=Save the changes in the configuration "{0}"?
LaunchConfigurationDialog_The_configuration___35=The configuration "{0}" has unsaved changes that CANNOT be saved because of the following error:\n\n
LaunchConfigurationFilteredTree_discard_changes=Discard Changes
LaunchConfigurationDialog_unspecified_28=unspecified
LaunchConfigurationDialog_Save_Button=&Save
LaunchConfigurationDialog_Dont_Save_Button=Do&n't Save
LaunchConfigurationDialog_Discard_Button=&Discard
LaunchConfigurationDialog_Dont_Discard_Button=Do&n't Discard
LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configurations__1=Delete the selected launch configurations?
LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2=Delete the selected launch configuration?
LaunchConfigurationDialog_Confirm_Launch_Configuration_Deletion_3=Confirm Launch Configuration Deletion
LaunchConfigurationDialog_Close_1=Close
LaunchConfigurationDialog_Revert_2=Re&vert
LaunchConfigurationsDialog_Error_1=Error
LaunchConfigurationsDialog_Warning_2=Warning
LaunchConfigurationsDialog_Information_3=Information
LaunchConfigurationDialog_ShowCommandLine=Sho&w Command Line
LaunchConfigurationDialog_ShowCommandLine_Title=Command Line
LaunchConfigurationDialog_ShowCommandLine_Copy=C&opy && Close
LaunchConfigurationDialog_ShowCommandLine_Close=&Close
LaunchConfigurationDialog_ShowCommandLine_Default=Command Line could not be retrieved.
LaunchConfigurationDialog_ShowCommandLine_Apply_Revert_Title=Apply Changes
LaunchConfigurationDialog_ShowCommandLine_Apply_Revert_Question=The configuration "{0}" has unsaved changes.  Do you wish to apply the changes before showing command line?
LaunchConfigurationDialog_ShowCommandLine_Apply_Revert_Apply=&Apply
LaunchConfigurationDialog_ShowCommandLine_Apply_Revert_Revert=&Revert
LaunchConfigurationDialog_ShowCommandLine_Apply_Revert_Cancel=&Close
LaunchConfigurationsDialog_0=New launch configuration
LaunchConfigurationsDialog_1=Delete selected launch configuration(s)
LaunchConfigurationsDialog_2=New launch configuration prototype
LaunchConfigurationsDialog_4=Filter launch configurations...
LaunchConfigurationsDialog_5=Duplicates the currently selected launch configuration
LaunchConfigurationsDialog_6=Export launch configuration
LaunchConfigurationsDialog_7=Link Prototype
LaunchConfigurationsDialog_8=Unlink Prototype
LaunchConfigurationsDialog_9=Reset with Prototype Values
LaunchConfigurationSelectionDialog_0=Select Configuration
LaunchConfigurationSelectionDialog_1=&Select a configuration to launch:
LaunchConfigurationView_0=Filter matched {0} of {1} items
LaunchConfigurationsDialog_c_ancel=Cancel
LaunchConfigurationSelectionDialog_deleteButtonLabel=&Delete

# {0} is substituted with a launch mode - possible values include run, debug, profile, or
# any label of a contributed ILaunchMode.
LaunchConfigurationsDialog_configurations={0} Configurations
PerspectiveManager_Error_1=Error
PerspectiveManager_Unable_to_switch_perpsectives_as_specified_by_launch___0__4=Unable to open perspectives as specified by launch: {0}
PerspectiveManager_Unable_to_switch_to_perspective___0__2=Unable to open perspective: {0}

# {0} is substituted with a launch mode - possible values include Run, Debug, Profile,
# or any label of a contributed ILaunchMode.
LaunchShortcutSelectionDialog_0={0} As

# {0} is substituted with a launch mode - possible values include run, debug, profile, or
# any label of a contributed ILaunchMode.
#
# {1} is the name of the resource being launched (run or debugged, etc.). 
# Possible values can be the name of any IResource in the current workspace: for example
# if you tried to launch a class named Main in the file Main.java and you were presented
# with the selection dialog, the value of {1} would be Main.java (the name of the IResource)
LaunchShortcutSelectionDialog_1=&Select a way to {0} ''{1}'': 
LaunchShortcutSelectionDialog_2=Description
LaunchShortcutSelectionDialog_3=Description not available
# {0} is substituted with a launch mode - possible values include Run, Debug, Profile,
# or any label of a contributed ILaunchMode.
LaunchShortcutSelectionDialog_4=&Select what to {0}:

LaunchConfigurationPresentationManager_0=Tab group extension: {0} for type {1} for the {2} mode has been replaced by extension: {3}
LaunchConfigurationPropertiesDialog_Edit_launch_configuration_properties_1=Edit launch configuration properties
LaunchConfigurationPropertiesDialog_Properties_for__0__2=Edit Configuration

LaunchConfigurationDialog_Modify_attributes_and_launch__1=Edit configuration and launch.

LaunchConfigurationTabGroupViewer_No_tabs_defined_for_launch_configuration_type__0__1=No tabs defined for launch configuration type {0}

DuplicateLaunchConfigurationAction__Duplicate_1=&Duplicate

DeleteLaunchConfigurationAction_Dele_te_1=Dele&te

CreateLaunchConfigurationAction_Ne_w_1=Ne&w Configuration
ExportLaunchConfigurationAction_Export_1=E&xport...
CreateLaunchConfigurationAction_New_configuration_2=New_configuration
CreateLaunchConfigurationPrototypeAction_Ne_w_1=New &Prototype
CreateLaunchConfigurationPrototypeAction_New_prototype_2=New_prototype
LinkPrototypeAction_Link_prototype_1=&Link Prototype...
UnlinkPrototypeAction_Unlink_prototype_1=&Unlink Prototype
ResetWithPrototypeValuesAction_Reset_with_prototype_values_1=&Reset with Prototype Values

EnvironmentTab_Variable_1=Variable
EnvironmentTab_Value_2=Value
EnvironmentTab_Environment_variables_to_set__3=Environment variables to &set:
EnvironmentTab_Add_4=&Add...
EnvironmentTab_Edit_5=E&dit...
EnvironmentTab_Remove_6=Rem&ove
EnvironmentTab_Environment_7=Environment
EnvironmentTab_8=&Name:
EnvironmentTab_9=&Value:
EnvironmentTab_Remove_All=Rem&ove all selected
EnvironmentTab_Copy=&Copy
EnvironmentTab_Paste=&Paste
EnvironmentTab_Paste_Overwrite_Title=Overwrite variables?
EnvironmentTab_Paste_Overwrite_Message=Pasting will overwrite the following variables: {0}


# This externalized string is used in the select environment variables dialog's label provider.
# Each item in the dialog is a single environment variable.
# {0} is replaced with the name of the environment variable
# {1} is replaced with the current value of the environment variable
EnvironmentTab_7={0} [ {1} ]
EnvironmentTab_11=Edit Environment Variable
EnvironmentTab_12=Overwrite variable?
EnvironmentTab_13=A variable named {0} already exists. Overwrite?
EnvironmentTab_16=&Append environment to native environment
EnvironmentTab_17=Re&place native environment with specified environment
EnvironmentTab_18=Se&lect...
EnvironmentTab_19=Select &environment variables to add:
EnvironmentTab_20=Select Environment Variables
EnvironmentTab_AttributeLabel_AppendEnvironmentVariables=Append environment to native environment
EnvironmentTab_AttributeLabel_EnvironmentVariables=Environment variables

#PrototypeTab
PrototypeTab_Prototype_1=Prototype
PrototypeTab_Label_2=Prototype:
PrototypeTab_Link_Button_Label_3=&Link...
PrototypeTab_Unlink_Button_Label_4=Unlin&k
PrototypeTab_Select_Message_5=Please select a prototype
PrototypeTab_Select_Empty_Message_6=You have to select a prototype
PrototypeTab_Select_Prototype_Error_7=The prototype doesn't exist. Please select a valid prototype.
PrototypeTab_Reset_Button_Label_8=&Reset to Prototype
PrototypeTab_Reset_Menu_Action_9=Reset selected checked attribute(s) with prototype value(s)
PrototypeTab_Explanation_Label_10=- Values of checked attributes from prototype are applied to associated launch configurations.
PrototypeTab_Explanation_Label_11=- Values of unchecked attributes from prototype are not applied to associated launch configurations.
PrototypeTab_Atrribute_label=Attribute
PrototypeTab_Modified_label=Modified
PrototypeTab_Property_Value_label=Prototype Value

FavoritesDialog_1=Organize {0} Favorites
FavoritesDialog_2=Fa&vorites:
FavoritesDialog_3=Ad&d...
FavoritesDialog_4=Re&move
FavoritesDialog_5=U&p
FavoritesDialog_6=Do&wn
FavoritesDialog_7=Select &Launch Configurations:
FavoritesDialog_0=Add {0} Favorites
FavoritesDialog_8=Updating Favorites...

OrganizeFavoritesAction_0=Organize Fa&vorites...
PerspectiveManager_12=Confirm Perspective Switch
PerspectiveManager_13=This kind of launch is configured to open the {0} perspective when it suspends. Do you want to switch to this perspective now?
PerspectiveManager_15=This kind of launch is associated with the {0} perspective. Do you want to switch to this perspective now?
PerspectiveManager_suspend_description=This kind of launch is configured to open the {0} perspective when it suspends.\n\n{1}\n\nSwitch to this perspective?
PerspectiveManager_launch_description=This kind of launch is associated with the {0} perspective.\n\n{1}\n\nDo you want to switch to this perspective now?
PerspectiveManager_switch=&Switch

DebugModePromptStatusHandler_0=Breakpoints in Workspace
DebugModePromptStatusHandler_1=There are breakpoints enabled in the workspace. Would you rather launch in debug mode?
SaveScopeResourcesHandler_2=Select resources to save:
SaveScopeResourcesHandler_3=Save and Launch
SaveScopeResourcesHandler_1=Always save &resources before launching
FilterLaunchConfigurationAction_0=Filter
FilterDropDownMenuCreator_0=Filter &Closed Projects
FilterDropDownMenuCreator_1=Filter &Deleted/Unavailable Projects
FilterDropDownMenuCreator_2=Filter Configuration &Types
FilterDropDownMenuCreator_3=Filtering &Preferences...
FilterDropDownMenuCreator_4=Apply Window &Working Set(s)
CollapseAllLaunchConfigurationAction_0=Collapse All
CollapseAllLaunchConfigurationAction_1=Collapses all expanded launch configurations.
CollapseAllLaunchConfigurationAction_2=This action collapses all of the launch configurations currently visible and expanded.
SelectLaunchOptionsDialog_3=Select Launch Mode
SelectLaunchOptionsDialog_4=&Select a supported mode combination:
SelectLaunchersDialog_0=Select Preferred Launcher
SelectLaunchersDialog_1=&Use configuration specific settings
SelectLaunchersDialog_2=This dialog allows you to specify which launcher to use when multiple launchers are available for a configuration and launch mode.
SelectLaunchersDialog_4=<a href="ws">Change Workspace Settings...</a>
SelectLaunchersDialog_5=Description
SelectLaunchersDialog_launchers=Launc&hers:
