###############################################################################
#  Copyright (c) 2000, 2019 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

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=The configuration "{0}" has unsaved changes.  Do you wish to save them?
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=Do you wish to delete the selected launch configurations?
LaunchConfigurationDialog_Do_you_wish_to_delete_the_selected_launch_configuration__2=Do you wish to 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\nDo you want to switch to this perspective now?
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:
