###############################################################################
# Copyright (c) 2010 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
###############################################################################
launchConfigurationType.name = JavaScript
linebreakpoint.name = JavaScript Line Breakpoint
methodbreakpoint.name = JavaScript Function Breakpoint
scriptloadbreakpoint.name = JavaScript Script Load Breakpoint
exceptionbreakpoint.name = JavaScript Exception Breakpoint
launchDelegate.name = JavaScript Launcher
launchDelegate.description = Launches a Javascript session
sourceLocator.name = JavaScript Source Locator
bundleVendor.name = Eclipse Web Tools Platform
bundleName.name = JavaScript Debug Core
connectorsExtPoint.name = connectors
remoteJsLaunchDelegate.name = Remote JavaScript
breakpointParticipantsExt.name = Breakpoint Participants