###############################################################################
# Copyright (c) 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
###############################################################################
host_arg_desc=The name of the host address to try attaching to.
host_arg_name=&Host:
JSD2AttachingConnector_description=Allows you to attach to a Mozilla-based browser that is running the remoting JSD2 server
JSD2AttachingConnector_name=JSD2 - Remote Attach
port_arg_desc=The port on the host machine to try attaching to.
port_arg_name=&Port:
timeout=&Timeout (ms):
timeout_desc=A timeout value in milliseconds to wait for a debugger to connect
