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

pluginName=Debug Core
providerName=Eclipse.org
launcherExtensionPointName=Launcher
breakpointExtensionPointName=Breakpoint
launchConfigurationTypeNameExtensionPointName=Launch Configuration Type
launchConfigurationComparatorsExtensionPointName=Launch Configuration Comparators
statusHandlerExtensionPointName=Status Handler
sourceLocatorsExtensionPointName=Source Locator
launchModesExtensionPointName=Launch Modes
launchDelegatesExtensionPointName=Launch Delegates
breakpointImportParticipantsExtensionPoint.name = Breakpoint Import Participant
watchExpressionDelegatesName= Watch Expression Delegates
processFactoriesExtensionPointName=Process Factories
logicalStructureTypesExtensionPointName=Logical Structure Types
logicalStructureProvidersExtensionPointName=Logical Structure Providers
sourceContainerTypesName = Source Container Types
sourcePathComputersName = Source Path Computers

run=&Run
debug=&Debug
profile=&Profile
runAs.label=&Run As
debugAs.label=&Debug As
profileAs.label=&Profile As

env_var.description=Returns the value of an environment variable. An environment variable name must be specified as an argument.
system_var.description=Returns the value of an Eclipse system variable. A variable name must be specified as an argument - one of ARCH, ECLIPSE_HOME, NL, OS, or WS.
system_property.description=Returns the value of a system property from the Eclipse runtime. A system property name must be specified as an argument.

containerName.archive = Archive
containerDescription.archive = A jar or zip in the workspace containing source files
containerName.externalArchive = External Archive
containerDescription.externalArchive = A jar or zip in the local file system containing source files
containerName.project = Project
containerDescription.project = A project in the workspace
containerName.folder = Workspace Folder
containerDescription.folder = A folder in the workspace
containerName.directory = File System Directory
containerDescription.directory = A directory in the local file system
containerName.workspace = Workspace
containerDescription.workspace = All projects in the workspace
containerName.default = Default
containerDescription.default = Default source lookup path

workspace_loc.description=Returns the absolute file system path of the workspace root. When an argument is specified, the absolute file system path of the resource identified by a workspace relative path is returned.
container_loc.description=Returns the absolute file system path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
container_path.description=Returns the workspace relative path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
container_name.description=Returns the name of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_loc.description=Returns the absolute file system path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_path.description=Returns the workspace relative path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
project_name.description=Returns the name of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_loc.description=Returns the absolute file system path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_path.description=Returns the workspace relative path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
resource_name.description=Returns the name of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
current_date.description=Returns the current system time formatted as yyyyMMdd_HHmm. An optional argument can be used to provide alternative formatting.  The argument must be valid pattern for java.util.SimpleDateFormat.

LineBreakpoint.name = Line Breakpoint
Breakpoint.name = Breakpoint
