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

ConsolePreferencePage_Console_settings=Debug Console Settings.
ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3=Show when &program writes to standard error
ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3=&Show when program writes to standard out
ConsolePreferencePage_Standard_Error__3=Standard &Error text color:
ConsolePreferencePage_Standard_In__4=Standard &In text color:
ConsolePreferencePage_Standard_Out__2=Standard &Out text color:
ConsolePreferencePage_Wrap_text_1=Fixed &width console
ConsolePreferencePage_Console_width=&Maximum character width:
ConsolePreferencePage_Limit_console_output_1=&Limit console output
ConsolePreferencePage_Console_buffer_size__characters___2=Console &buffer size (characters):
ConsolePreferencePage_The_console_buffer_size_must_be_at_least_1000_characters__1=Buffer size must be between 1000 and {0} inclusive.
ConsolePreferencePage_console_width=Character width must be between 80 and 1000 inclusive.
ConsolePreferencePage_12=Displayed &tab width:
ConsolePreferencePage_13=Tab width must be between 1 and 100 inclusive.
ConsolePreferencePage_11=Back&ground color:

DebugPreferencePage_1=General Settings for Running and Debugging.
DebugPreferencePage_2=Re&use editor when displaying source code
DebugPreferencePage_3=Activate the workbenc&h when a breakpoint is hit
DebugPreferencePage_0=&Memory unbuffered color:
DebugPreferencePage_4=Changed &value color:
DebugPreferencePage_10=Si&ze of recently launched applications list:
DebugPreferencePage_11=The size of recently launched applications should be between {0} and {1}
DebugPreferencePage_21=Open the associated perspective when an application suspends
DebugPreferencePage_22=A&lways
DebugPreferencePage_23=&Never
DebugPreferencePage_24=&Prompt
DebugPreferencePage_25=Skip &breakpoints during a 'Run to Line' operation
DebugPreferencePage_26=A&ctivate the debug view when a breakpoint is hit
DebugPreferencePage_27=Memor&y buffered color:
DebugPreferencePage_28=Changed value bac&kground color:
DebugPreferencePage_29=&Prompt for confirmation when deleting all breakpoints
DebugPreferencePage_30=Prompt for confirmation when deleting breakpoint con&tainers
DebugPreferencePage_5=Prompt for confirmation when deleting all e&xpressions

LaunchingPreferencePage_1=&Build (if required) before launching
LaunchingPreferencePage_2=Save required dirty editors before launching
LaunchingPreferencePage_3=Alwa&ys
LaunchingPreferencePage_4=&Never
LaunchingPreferencePage_5=&Prompt
LaunchingPreferencePage_6=Wait for ongoing build to complete before launching
LaunchingPreferencePage_7=A&lways
LaunchingPreferencePage_8=N&ever
LaunchingPreferencePage_9=Pro&mpt
LaunchingPreferencePage_0=Select the launch configurations to &migrate:
LaunchersPreferencePage_0=Currently there are no conflicting launchers.
LaunchingPreferencePage_10=Remove term&inated launches when a new launch is created
LaunchingPreferencePage_11=Open the associated perspective when launching
LaunchingPreferencePage_12=Al&ways
LaunchingPreferencePage_13=Ne&ver
LaunchingPreferencePage_14=Pr&ompt
LaunchingPreferencePage_15=Launch in debug mode when workspace contains breakpoints
LaunchingPreferencePage_16=Alway&s
LaunchingPreferencePage_17=Neve&r
LaunchingPreferencePage_18=Promp&t
LaunchingPreferencePage_21=Continue launch if project contains errors
LaunchingPreferencePage_22=Al&ways
LaunchingPreferencePage_23=Pr&ompt
LaunchingPreferencePage_26=Search for, select, and upgrade launch configurations to be compatible with current tooling.
LaunchingPreferencePage_27=Mi&grate...
LaunchingPreferencePage_28=Select Launch Configurations
LaunchingPreferencePage_29=No Candidates
LaunchingPreferencePage_30=None of the available launch configurations require migration.
LaunchingPreferencePage_31=Migrating launch configurations...
LaunchingPreferencePage_32=Launch Configuration Filters
LaunchingPreferencePage_33=&Filter configurations in closed projects
LaunchingPreferencePage_34=Filter configurations in dele&ted or missing projects
LaunchingPreferencePage_35=Migration
LaunchingPreferencePage_36=General Options
LaunchingPreferencePage_37=Always launch the previously launched appli&cation
LaunchingPreferencePage_38=Launch t&he selected resource or active editor. If not launchable:
LaunchingPreferencePage_39=Launch the associated pro&ject
LaunchingPreferencePage_40=Launch Operation
LaunchingPreferencePage_41=La&unch the previously launched application
LaunchingPreferencePage_confirm_0=Prompt for confirmation when removin&g a configuration from the launch history
LaunchingPreferencePage_42=Termin&ate and Relaunch while launching (Press 'Shift' to toggle during launch from menu and toolbar)

ProcessPropertyPage_Command_Line__1=Co&mmand Line:
ProcessPropertyPage_0=Run-&at time:
ProcessPropertyPage_1=&Path:
ProcessPropertyPage_2=Process properties
ProcessPropertyPage_3=No path information available
ProcessPropertyPage_4=No time information available
ProcessPropertyPage_5=No command line information provided
ProcessPropertyPage_6=&Working Directory:
ProcessPropertyPage_7=En&vironment:
ProcessPropertyPage_8=No environment information provided
ProcessPropertyPage_9=No working directory information provided

SimpleVariablePreferencePage_3=Variable
SimpleVariablePreferencePage_4=Value
SimpleVariablePreferencePage_5=Description
SimpleVariablePreferencePage_6=&Create and configure string substitution variables.
SimpleVariablePreferencePage_7=&New...
SimpleVariablePreferencePage_8=&Edit...
SimpleVariablePreferencePage_9=&Remove
SimpleVariablePreferencePage_10=&Name:
SimpleVariablePreferencePage_11=&Value:
SimpleVariablePreferencePage_12=&Description:
SimpleVariablePreferencePage_13=New String Substitution Variable
SimpleVariablePreferencePage_14=Edit Variable: {0}
SimpleVariablePreferencePage_15=Overwrite variable?
SimpleVariablePreferencePage_16=A variable named {0} already exists. Overwrite?
SimpleLaunchVariablePreferencePage_21=Remove Contributed Variables
SimpleLaunchVariablePreferencePage_22=The following variables were contributed by plug-ins. Removing them may cause unknown problems.\n{0}\nProceed?
SimpleLaunchVariablePreferencePage_23=\ [contributed]
StringVariablePreferencePage_24=Error
StringVariablePreferencePage_25=Unable to save changes
StringVariablePreferencePage_26=\ [read-only]
StringVariablePreferencePage_27=Contributed By
StringVariablePreferencePage_23=Cannot overwrite read-only variable
StringVariablePreferencePage_22=A read-only variable named {0} already exists.  Read-only variables can not be overwritten.
StringVariablePreferencePage_21=Problem creating variable
StringVariablePreferencePage_20=Variables cannot have an empty name.
ViewManagementPreferencePage_0=The Debug View can automatically open and close views based on selection. Choose in which perspectives this feature should be enabled:
ViewManagementPreferencePage_1=View Management
ViewManagementPreferencePage_2=&Perspectives:
ViewManagementPreferencePage_3=Do &not automatically open/close views which have been manually closed/opened.
ViewManagementPreferencePage_4=The list of views that have been manually opened/closed is persisted between sessions.
ViewManagementPreferencePage_5=&Reset
PerspectivePreferencePage_0=These settings control perspectives for running and debugging. A perspective can automatically open when launching or when an application suspends.
PerspectivePreferencePage_1=Appli&cation Types/Launchers:
PerspectivePreferencePage_2=Modes/Perspec&tives:
PerspectivePreferencePage_4=None
PerspectivePreferencePage_5=These settings assign perspectives to each application type or launcher and launch mode set. Select "None" to indicate that a perspective should not be opened.
LaunchConfigurationsPreferencePage_0=Filter checked launch configuration type&s:
LaunchConfigurationsPreferencePage_1=Launch Configurations
LaunchConfigurationsPreferencePage_2=Delete &configurations when associated resource is deleted
LaunchConfigurationsPreferencePage_3=Apply window &working set(s)
LaunchDelegatesPreferencePage_1=The settings on this page specify which launcher to use when multiple launchers are available for a configuration and launch mode.
LaunchDelegatesPreferencePage_2=Launch &Type/Mode:
LaunchDelegatesPreferencePage_3=P&referred Launcher:
LaunchDelegatesPreferencePage_0=Default Launcher
LaunchDelegatesPreferencePage_4=Launcher Description
LaunchPerspectivePreferencePage_0=There is no perspective information available to change.
LaunchPerspectivePreferencePage_1=The selected types/launchers do not have any common mode sets.
DefaultLaunchConfigurationsPropertiesPage_0=This page allows you to manage launch configurations associated with the currently selected resource.
DefaultLaunchConfigurationsPropertiesPage_1=Launch con&figurations for ''{0}'':
DefaultLaunchConfigurationsPropertiesPage_2=&New...
DefaultLaunchConfigurationsPropertiesPage_3=Create new launch configuration
DefaultLaunchConfigurationsPropertiesPage_4=Du&plicate
DefaultLaunchConfigurationsPropertiesPage_5=Duplicate selected launch configuration
DefaultLaunchConfigurationsPropertiesPage_6=&Edit...
DefaultLaunchConfigurationsPropertiesPage_7=Edit selected launch configuration
DefaultLaunchConfigurationsPropertiesPage_8=De&lete
DefaultLaunchConfigurationsPropertiesPage_9=Delete selected launch configuration
DefaultLaunchConfigurationsPropertiesPage_11=Select Configuration Type
DefaultLaunchConfigurationsPropertiesPage_12=&Select the type of configuration to create:
RunDebugPropertiesPage_0=There was a problem trying to edit {0}
