###############################################################################
# Copyright (c) 2003, 2004 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
###############################################################################
JSchSession_5=SSH2 Message
CVSSSH2ServerConnection_open=Connecting via SSH to {0}...
CVSSSH2PreferencePage_18=Configuration options for SSH2:
CVSSSH2PreferencePage_19=&General
CVSSSH2PreferencePage_20=&Proxy
CVSSSH2PreferencePage_21=&Key Management
CVSSSH2PreferencePage_23=SSH2 &home:
CVSSSH2PreferencePage_24=&Browse...
CVSSSH2PreferencePage_25=P&rivate keys:
CVSSSH2PreferencePage_26=Add Pr&ivate Key...
CVSSSH2PreferencePage_27=SSH Home:
CVSSSH2PreferencePage_30=&Enable proxy connection
CVSSSH2PreferencePage_31=Proxy &type:
CVSSSH2PreferencePage_32=Proxy host add&ress:
CVSSSH2PreferencePage_33=Proxy host p&ort:
CVSSSH2PreferencePage_34=E&nable proxy authentication
CVSSSH2PreferencePage_35=Proxy &user name:
CVSSSH2PreferencePage_36=Proxy pa&ssword:
CVSSSH2PreferencePage_39=&You can paste this public key into the remote authorized_keys file:
CVSSSH2PreferencePage_41=&Fingerprint:
CVSSSH2PreferencePage_42=&Comment:
CVSSSH2PreferencePage_43=Passp&hrase:
CVSSSH2PreferencePage_44=C&onfirm passphrase:
CVSSSH2PreferencePage_45=&Save Private Key...
CVSSSH2PreferencePage_47=The key was not generated.
CVSSSH2PreferencePage_48=The passphrases entered do not match.
CVSSSH2PreferencePage_49=Are you sure you want to save this private key without passphrase protection?
CVSSSH2PreferencePage_50={0} does not exist.\nAre you sure you want to create it?
CVSSSH2PreferencePage_53={0} has already existed.\nAre you sure you want to over write it?
CVSSSH2PreferencePage_55=Successfully saved.
CVSSSH2PreferencePage_57=Private key:
CVSSSH2PreferencePage_59=Public key:
CVSSSH2PreferencePage_99={0} does not exist.\nAre you sure you want to create it?
CVSSSH2PreferencePage_100=Failed to create
CVSSSH2PreferencePage_104=Proxy host port must be a number between 0 and 65535.
CVSSSH2PreferencePage_105=E&xport Via SFTP...
CVSSSH2PreferencePage_106=Export SSH Key to Remote Server Via SFTP
CVSSSH2PreferencePage_107=Specify a target site (in user@host[:port] format) where your public key should be installed.\nYour key will be stored in user@host[:port]:~/.ssh/authorized_keys
CVSSSH2PreferencePage_108={0} is not valid site.
CVSSSH2PreferencePage_109=Your public key has been successfully installed to
CVSSSH2PreferencePage_110=Remote sshd is not from OpenSSH.
CVSSSH2PreferencePage_111=Failed to export ssh key to remote server.
CVSSSH2ServerConnection_3=session is down
CVSSSH2ServerConnection_0=An undetermined authentication failure has occurred
CVSSSH2ServerConnection_1=No route to host {0} could be found
CVSSSH2PreferencePage_information=Information
CVSSSH2PreferencePage_error=Error
CVSSSH2PreferencePage_confirmation=Confirmation
CVSSSH2PreferencePage_question=Question
CVSSSH2PreferencePage_125=Target site:
CVSSSH2PreferencePage_126=Enter passphrase for {0}
CVSSSH2PreferencePage_127=Passphrase:
CVSSSH2PreferencePage_128=&Load Existing Key...
CVSSSH2PreferencePage_129=failed to decrypt {0}
CVSSSH2PreferencePage_130=failed to load given file.
CVSSSH2PreferencePage_131=G&enerate DSA Key...
CVSSSH2PreferencePage_132=Ge&nerate RSA Key...
CVSSSH2PreferencePage_133=Kno&wn Hosts
CVSSSH2PreferencePage_134=Hostname
CVSSSH2PreferencePage_135=Type
CVSSSH2PreferencePage_136=Fingerprint
CVSSSH2PreferencePage_138=&Remove
CVSSSH2PreferencePage_139=Keys of known hosts:
