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

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

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}
