###############################################################################
#  Copyright (c) 2000, 2018 IBM Corporation and others.
#  All rights reserved. This program and the accompanying materials
#  are made available under the terms of the Eclipse Public License v1.0
#  which accompanies this distribution, and is available at
#  http://www.eclipse.org/legal/epl-v10.html
#
#  Contributors:
#     IBM Corporation - initial API and implementation
#     Ian Pun & Lucas Bullen (Red Hat Inc.) - Bug 518652
#     Axel Richard (Obeo) - Bug 41353 - Launch configurations prototypes
###############################################################################

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_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
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_New_4=N&ew...
EnvironmentTab_Edit_5=E&dit...
EnvironmentTab_Remove_6=Rem&ove
EnvironmentTab_Environment_7=Environment
EnvironmentTab_8=&Name:
EnvironmentTab_9=&Value:

# 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 exists. Please select a valid prototype.
PrototypeTab_Reset_Button_Label_8=&Reset
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 on associated launch configurations.
PrototypeTab_Explanation_Label_11=- Values of unchecked attributes from prototype are not applied on associated launch configurations.
PrototypeTab_Explanation_Label_12=- Grayed state attributes have different values in the launch configuration and the associated prototype. 

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:
