i2ptunnel\jsp tagging and translation

This commit is contained in:
walking
2009-12-31 13:10:33 +00:00
parent 883b53de0a
commit 498af5d203
4 changed files with 4554 additions and 4325 deletions

View File

@ -56,17 +56,17 @@
<div id="nameField" class="rowItem">
<label for="name" accesskey="N">
<span class="accessKey">N</span>ame:
<%=intl._("Name")%>:(<span class="accessKey">N</span>)
</label>
<input type="text" size="30" maxlength="50" name="name" id="name" title="Tunnel Name" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext" />
</div>
<div id="typeField" class="rowItem">
<label>Type:</label>
<label><%=intl._("Type")%>:</label>
<span class="text"><%=tunnelTypeName%></span>
</div>
<div id="descriptionField" class="rowItem">
<label for="description" accesskey="e">
D<span class="accessKey">e</span>scription:
<%=intl._("Description")%>:(<span class="accessKey">E</span>)
</label>
<input type="text" size="60" maxlength="80" name="description" id="description" title="Tunnel Description" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext" />
</div>
@ -77,9 +77,9 @@
<div id="accessField" class="rowItem">
<% if ("streamrclient".equals(tunnelType)) { %>
<label>Target:</label>
<label><%=intl._("Target")%>:</label>
<% } else { %>
<label>Access Point:</label>
<label><%=intl._("Access Point")%>:</label>
<% } %>
</div>
<div id="portField" class="rowItem">
@ -87,7 +87,9 @@
<span class="accessKey">P</span>ort:
<% String value = editBean.getClientPort(curTunnel);
if (value == null || "".equals(value.trim()))
out.write(" <font color=\"red\">(required)</font>");
out.write(" <font color=\"red\">(");
out.write(intl._("required"));
out.write(")</font>");
%>
</label>
<input type="text" size="6" maxlength="5" id="port" name="port" title="Access Port Number" value="<%=editBean.getClientPort(curTunnel)%>" class="freetext" />
@ -99,7 +101,7 @@
} else { %>
<div id="reachField" class="rowItem">
<label for="reachableBy" accesskey="r">
<span class="accessKey">R</span>eachable by:
<%=intl._("Reachable by")%>(<span class="accessKey">R</span>):
</label>
<select id="reachableBy" name="reachableBy" title="Valid IP for Client Access" class="selectbox">
<% if (!("127.0.0.1".equals(clientInterface)) &&
@ -108,9 +110,9 @@
(clientInterface.trim().length() > 0)) {
otherInterface = clientInterface;
}
%><option value="127.0.0.1"<%=("127.0.0.1".equals(clientInterface) ? " selected=\"selected\"" : "")%>>Locally (127.0.0.1)</option>
<option value="0.0.0.0"<%=("0.0.0.0".equals(clientInterface) ? " selected=\"selected\"" : "")%>>Everyone (0.0.0.0)</option>
<option value="other"<%=(!("".equals(otherInterface)) ? " selected=\"selected\"" : "")%>>LAN Hosts (Please specify your LAN address)</option>
%><option value="127.0.0.1"<%=("127.0.0.1".equals(clientInterface) ? " selected=\"selected\"" : "")%>><%=intl._("Locally (127.0.0.1)")%></option>
<option value="0.0.0.0"<%=("0.0.0.0".equals(clientInterface) ? " selected=\"selected\"" : "")%>><%=intl._("Everyone (0.0.0.0)")%></option>
<option value="other"<%=(!("".equals(otherInterface)) ? " selected=\"selected\"" : "")%>><%=intl._("LAN Hosts (Please specify your LAN address)")%></option>
</select>
</div>
<% } // streamrclient %>
@ -120,10 +122,12 @@
Host:
<% String vvv = otherInterface;
if (vvv == null || "".equals(vvv.trim()))
out.write(" <font color=\"red\">(required)</font>");
out.write(" <font color=\"red\">(");
out.write(intl._("required"));
out.write(")</font>");
%>
<% } else { %>
<span class="accessKey">O</span>ther:
<%=intl._("Other")%>(<span class="accessKey">O</span>):
<% } %>
</label>
<input type="text" size="20" id="reachableByOther" name="reachableByOther" title="Alternative IP for Client Access" value="<%=otherInterface%>" class="freetext" />
@ -136,55 +140,57 @@
<% if ("httpclient".equals(tunnelType) || "connectclient".equals(tunnelType)) {
%><div id="destinationField" class="rowItem">
<label for="proxyList" accesskey="x">
Outpro<span class="accessKey">x</span>ies:
<%=intl._("Outproies")%>(<span class="accessKey">x</span>):
</label>
<input type="text" size="30" id="proxyList" name="proxyList" title="List of Outproxy I2P destinations" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext" />
</div>
<% } else if ("client".equals(tunnelType) || "ircclient".equals(tunnelType) || "streamrclient".equals(tunnelType)) {
%><div id="destinationField" class="rowItem">
<label for="targetDestination" accesskey="T">
<span class="accessKey">T</span>unnel Destination:
<%=intl._("Tunnel Destination")%>(<span class="accessKey">T</span>):
<% String value2 = editBean.getClientDestination(curTunnel);
if (value2 == null || "".equals(value2.trim()))
out.write(" <font color=\"red\">(required)</font>");
out.write(" <font color=\"red\">(");
out.write(intl._("required"));
out.write(")</font>");
%>
</label>
<input type="text" size="30" id="targetDestination" name="targetDestination" title="Destination of the Tunnel" value="<%=editBean.getClientDestination(curTunnel)%>" class="freetext" />
<span class="comment">(name or destination)</span>
<span class="comment">(<%=intl._("name or destination")%>)</span>
</div>
<% } %>
<% if (!"streamrclient".equals(tunnelType)) { %>
<div id="profileField" class="rowItem">
<label for="profile" accesskey="f">
Pro<span class="accessKey">f</span>ile:
<%=intl._("Profile")%>(<span class="accessKey">f</span>):
</label>
<select id="profile" name="profile" title="Connection Profile" class="selectbox">
<% boolean interactiveProfile = editBean.isInteractive(curTunnel);
%><option <%=(interactiveProfile == true ? "selected=\"selected\" " : "")%>value="interactive">interactive connection </option>
<option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk">bulk connection (downloads/websites/BT) </option>
%><option <%=(interactiveProfile == true ? "selected=\"selected\" " : "")%>value="interactive"><%=intl._("interactive connection")%> </option>
<option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk"><%=intl._("bulk connection (downloads/websites/BT)")%> </option>
</select>
</div>
<div id="delayConnectField" class="rowItem">
<label for="connectDelay" accesskey="y">
Dela<span class="accessKey">y</span> Connect:
<%=intl._("Delay Connect")%>(<span class="accessKey">y</span>):
</label>
<input value="1000" type="checkbox" id="connectDelay" name="connectDelay" title="Delay Connection"<%=(editBean.shouldDelay(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment">(for request/response connections)</span>
<span class="comment">(<%=intl._("for request/response connections")%>)</span>
</div>
<div id="sharedtField" class="rowItem">
<label for="shared" accesskey="h">
S<span class="accessKey">h</span>ared Client:
<%=intl._("Shared Client")%>(<span class="accessKey">h</span>):
</label>
<input value="true" type="checkbox" id="shared" name="shared" title="Share tunnels with other clients"<%=(editBean.isSharedClient(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment">(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)</span>
<span class="comment"><%=intl._("(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)")%></span>
</div>
<% } // !streamrclient %>
<div id="startupField" class="rowItem">
<label for="startOnLoad" accesskey="a">
<span class="accessKey">A</span>uto Start:
<%=intl._("Auto Start")%>(<span class="accessKey">A</span>):
</label>
<input value="1" type="checkbox" id="startOnLoad" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment">(Check the Box for 'YES')</span>
<span class="comment"><%=intl._("(Check the Box for 'YES')")%></span>
</div>
<div class="footer">
@ -193,8 +199,8 @@
<div id="tunnelAdvancedNetworking" class="panel">
<div class="header">
<h4>Advanced networking options</h4><br />
<span class="comment">(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)</span>
<h4><%=intl._("Advanced networking options")%></h4><br />
<span class="comment"><%=intl._("(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)")%></span>
</div>
<div class="separator">
@ -202,65 +208,65 @@
</div>
<div id="tunnelOptionsField" class="rowItem">
<label>Tunnel Options:</label>
<label><%=intl._("Tunnel Options")%>:</label>
</div>
<div id="depthField" class="rowItem">
<label for="tunnelDepth" accesskey="t">
Leng<span class="accessKey">t</span>h:
<%=intl._("Length")%>(<span class="accessKey">t</span>):
</label>
<select id="tunnelDepth" name="tunnelDepth" title="Length of each Tunnel" class="selectbox">
<% int tunnelDepth = editBean.getTunnelDepth(curTunnel, 2);
%><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>>0 hop tunnel (low anonymity, low latency)</option>
<option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>>1 hop tunnel (medium anonymity, medium latency)</option>
<option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>>2 hop tunnel (high anonymity, high latency)</option>
<option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>>3 hop tunnel (very high anonymity, poor performance)</option>
%><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop tunnel (low anonymity, low latency)")%></option>
<option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 hop tunnel (medium anonymity, medium latency)")%></option>
<option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 hop tunnel (high anonymity, high latency)")%></option>
<option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 hop tunnel (very high anonymity, poor performance)")%></option>
<% if (tunnelDepth > 3) {
%> <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> hop tunnel (very poor performance)</option>
%> <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> <%=intl._("hop tunnel (very poor performance)")%></option>
<% }
%></select>
</div>
<div id="varianceField" class="rowItem">
<label for="tunnelVariance" accesskey="v">
<span class="accessKey">V</span>ariance:
<%=intl._("Variance")%>(<span class="accessKey">V</span>):
</label>
<select id="tunnelVariance" name="tunnelVariance" title="Level of Randomization for Tunnel Length" class="selectbox">
<% int tunnelVariance = editBean.getTunnelVariance(curTunnel, 0);
%><option value="0"<%=(tunnelVariance == 0 ? " selected=\"selected\"" : "") %>>0 hop variance (no randomisation, consistant performance)</option>
<option value="1"<%=(tunnelVariance == 1 ? " selected=\"selected\"" : "") %>>+ 0-1 hop variance (medium additive randomisation, subtractive performance)</option>
<option value="2"<%=(tunnelVariance == 2 ? " selected=\"selected\"" : "") %>>+ 0-2 hop variance (high additive randomisation, subtractive performance)</option>
<option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>>+/- 0-1 hop variance (standard randomisation, standard performance)</option>
<option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>>+/- 0-2 hop variance (not recommended)</option>
%><option value="0"<%=(tunnelVariance == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop variance (no randomisation, consistant performance)")%></option>
<option value="1"<%=(tunnelVariance == 1 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-1 hop variance (medium additive randomisation, subtractive performance)")%></option>
<option value="2"<%=(tunnelVariance == 2 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-2 hop variance (high additive randomisation, subtractive performance)")%></option>
<option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-1 hop variance (standard randomisation, standard performance)")%></option>
<option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-2 hop variance (not recommended)")%></option>
<% if (tunnelVariance > 2 || tunnelVariance < -2) {
%> <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> hop variance</option>
%> <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> <%=intl._("hop variance")%></option>
<% }
%></select>
</div>
<div id="countField" class="rowItem">
<label for="tunnelQuantity" accesskey="C">
<span class="accessKey">C</span>ount:
<%=intl._("Count")%>(<span class="accessKey">C</span>):
</label>
<select id="tunnelQuantity" name="tunnelQuantity" title="Number of Tunnels in Group" class="selectbox">
<% int tunnelQuantity = editBean.getTunnelQuantity(curTunnel, 2);
%><option value="1"<%=(tunnelQuantity == 1 ? " selected=\"selected\"" : "") %>>1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)</option>
<option value="2"<%=(tunnelQuantity == 2 ? " selected=\"selected\"" : "") %>>2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)</option>
<option value="3"<%=(tunnelQuantity == 3 ? " selected=\"selected\"" : "") %>>3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)</option>
%><option value="1"<%=(tunnelQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)")%></option>
<option value="2"<%=(tunnelQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)")%></option>
<option value="3"<%=(tunnelQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)")%></option>
<% if (tunnelQuantity > 3) {
%> <option value="<%=tunnelQuantity%>" selected="selected"><%=tunnelQuantity%> tunnels</option>
%> <option value="<%=tunnelQuantity%>" selected="selected"><%=tunnelQuantity%> <%=intl._("tunnels")%></option>
<% }
%></select>
</div>
<div id="backupField" class="rowItem">
<label for="tunnelBackupQuantity" accesskey="b">
<span class="accessKey">B</span>ackup Count:
<%=intl._("Backup Count")%>(<span class="accessKey">B</span>):
</label>
<select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="Number of Reserve Tunnels" class="selectbox">
<% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
%><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>>0 backup tunnels (0 redundancy, no added resource usage)</option>
<option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>>1 backup tunnel each direction (low redundancy, low resource usage)</option>
<option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>>2 backup tunnels each direction (medium redundancy, medium resource usage)</option>
<option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>>3 backup tunnels each direction (high redundancy, high resource usage)</option>
%><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
<option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 backup tunnel each direction (low redundancy, low resource usage)")%></option>
<option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
<option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
<% if (tunnelBackupQuantity > 3) {
%> <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> backup tunnels</option>
%> <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._("backup tunnels")%></option>
<% }
%></select>
</div>
@ -270,17 +276,17 @@
</div>
<div id="optionsField" class="rowItem">
<label>I2CP Options:</label>
<label><%=intl._("I2CP Options")%>:</label>
</div>
<div id="optionsHostField" class="rowItem">
<label for="clientHost" accesskey="o">
H<span class="accessKey">o</span>st:
<%=intl._("Host")%>(<span class="accessKey">o</span>):
</label>
<input type="text" id="clientHost" name="clientHost" size="20" title="I2CP Hostname or IP" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext" />
</div>
<div id="optionsPortField" class="rowItem">
<label for="clientPort" accesskey="r">
Po<span class="accessKey">r</span>t:
<%=intl._("Port")%>(<span class="accessKey">r</span>):
</label>
<input type="text" id="clientPort" name="clientport" size="20" title="I2CP Port Number" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext" />
</div>
@ -292,24 +298,24 @@
<div id="optionsField" class="rowItem">
<label for="reduce" accesskey="d">
Re<span class="accessKey">d</span>uce tunnel quantity when idle:
<%=intl._("Reduce tunnel quantity when idle")%>(<span class="accessKey">d</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="d">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="portField" class="rowItem">
<label for="reduceCount" accesskey="d">
Reduced tunnel count:
<%=intl._("Reduced tunnel count")%>:
</label>
<input type="text" id="port" name="reduceCount" size="1" maxlength="1" title="Reduced Tunnel Count" value="<%=editBean.getReduceCount(curTunnel)%>" class="freetext" />
</div>
<div id="portField" class="rowItem">
<label for="reduceTime" accesskey="d">
Idle minutes:
<%=intl._("Idle minutes")%>:
</label>
<input type="text" id="port" name="reduceTime" size="4" maxlength="4" title="Reduced Tunnel Idle Time" value="<%=editBean.getReduceTime(curTunnel)%>" class="freetext" />
</div>
@ -320,31 +326,31 @@
<div id="optionsField" class="rowItem">
<label for="reduce" accesskey="c">
<span class="accessKey">C</span>lose tunnels when idle:
<%=intl._("Close tunnels when idle")%>(<span class="accessKey">C</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="c">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="close" title="Close Tunnels"<%=(editBean.getClose(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="c">
New Keys on Reopen:
<%=intl._("New Keys on Reopen")%>:
</label>
<table border="0"><tr><!-- I give up -->
<td><input value="1" type="radio" id="startOnLoad" name="newDest" title="New Destination"
<%=(editBean.getNewDest(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<td>Enable
<td><%=intl._("Enable")%>
<td><input value="0" type="radio" id="startOnLoad" name="newDest" title="New Destination"
<%=(editBean.getNewDest(curTunnel) || editBean.getPersistentClientKey(curTunnel) ? "" : " checked=\"checked\"")%> class="tickbox" />
<td>Disable
<td><%=intl._("Disable")%>
</table>
</div>
<div id="portField" class="rowItem">
<label for="reduceTime" accesskey="c">
Idle minutes:
<%=intl._("Idle minutes")%>:
</label>
<input type="text" id="port" name="closeTime" size="4" maxlength="4" title="Close Tunnel Idle Time" value="<%=editBean.getCloseTime(curTunnel)%>" class="freetext" />
</div>
@ -355,12 +361,12 @@
<div id="optionsField" class="rowItem">
<label for="reduce" accesskey="c">
<span class="accessKey">D</span>elay tunnel open until required:
<%=intl._("Delay tunnel open until required")%>(<span class="accessKey">D</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="c">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="delayOpen" title="Delay Tunnel Open"<%=(editBean.getDelayOpen(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
@ -373,24 +379,24 @@
<% if ("client".equals(tunnelType) || "ircclient".equals(tunnelType)) { %>
<div id="optionsField" class="rowItem">
<label for="privKeyFile" accesskey="k">
Persistent private <span class="accessKey">k</span>ey:
<%=intl._("Persistent private key")%>(<span class="accessKey">k</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label>Enable:</label>
<label><%=intl._("Enable")%>:</label>
<input value="2" type="radio" id="startOnLoad" name="newDest" title="New Destination"
<%=(editBean.getPersistentClientKey(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="reachField" class="rowItem">
<label>File:</label>
<label><%=intl._("File")%>:</label>
<input type="text" size="30" id="clientHost" name="privKeyFile" title="Path to Private Key File" value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" />
</div>
<div id="destinationField" class="rowItem">
<label for="localDestination" accesskey="L">
<span class="accessKey">L</span>ocal destination:
<%=intl._("Local destination")%>(<span class="accessKey">L</span>):
</label>
<textarea rows="1" style="height: 3em;" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea>
<span class="comment">(if known)</span>
<span class="comment"><%=intl._("(if known)")%></span>
</div>
<div class="subdivider">
@ -400,7 +406,7 @@
<div id="customOptionsField" class="rowItem">
<label for="customOptions" accesskey="u">
C<span class="accessKey">u</span>stom options:
<%=intl._("Custom options")%>(<span class="accessKey">u</span>):
</label>
<input type="text" id="customOptions" name="customOptions" size="60" title="Custom Options" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" />
</div>
@ -412,12 +418,12 @@
<div class="header"></div>
<div class="footer">
<div class="toolbox">
<span class="comment">NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted.</span>
<span class="comment"><%=intl._("NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted.")%></span>
<div class="separator"><hr /></div>
<input type="hidden" value="true" name="removeConfirm" />
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Save changes" title="Save Changes"><span class="accessKey">S</span>ave</button>
<button id="controlDelete" <%=(editBean.allowJS() ? "onclick=\"if (!confirm('Are you sure you want to delete?')) { return false; }\" " : "")%>accesskey="D" class="control" type="submit" name="action" value="Delete this proxy" title="Delete this Proxy"><span class="accessKey">D</span>elete</button>
<button id="controlCancel" class="control" type="submit" name="action" value="" title="Cancel">Cancel</button>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Save changes" title="Save Changes"><%=intl._("Save")%>(<span class="accessKey">S</span>)</button>
<button id="controlDelete" <%=(editBean.allowJS() ? "onclick=\"if (!confirm('Are you sure you want to delete?')) { return false; }\" " : "")%>accesskey="D" class="control" type="submit" name="action" value="Delete this proxy" title="Delete this Proxy"><%=intl._("Delete")%>(<span class="accessKey">D</span>)</button>
<button id="controlCancel" class="control" type="submit" name="action" value="" title="Cancel"><%=intl._("Cancel")%></button>
</div>
</div>
</div>

View File

@ -39,11 +39,11 @@
if (curTunnel >= 0) {
tunnelTypeName = editBean.getTunnelType(curTunnel);
tunnelType = editBean.getInternalType(curTunnel);
%><h4>Edit server settings</h4><%
%><h4><%=intl._("Edit server settings")%></h4><%
} else {
tunnelTypeName = editBean.getTypeName(request.getParameter("type"));
tunnelType = request.getParameter("type");
%><h4>New server settings</h4><%
%><h4><%=intl._("New server settings")%></h4><%
} %>
<input type="hidden" name="tunnel" value="<%=request.getParameter("tunnel")%>" />
<input type="hidden" name="nonce" value="<%=editBean.getNextNonce()%>" />
@ -56,26 +56,26 @@
<div id="nameField" class="rowItem">
<label for="name" accesskey="N">
<span class="accessKey">N</span>ame:
<%=intl._("Name")%>(<span class="accessKey">N</span>):
</label>
<input type="text" size="30" maxlength="50" name="name" id="name" title="Tunnel Name" value="<%=editBean.getTunnelName(curTunnel)%>" class="freetext" />
</div>
<div id="typeField" class="rowItem">
<label>Type:</label>
<label><%=intl._("Type")%>:</label>
<span class="text"><%=tunnelTypeName%></span>
</div>
<div id="descriptionField" class="rowItem">
<label for="description" accesskey="e">
D<span class="accessKey">e</span>scription:
<%=intl._("Description")%>(<span class="accessKey">e</span>):
</label>
<input type="text" size="60" maxlength="80" name="description" id="description" title="Tunnel Description" value="<%=editBean.getTunnelDescription(curTunnel)%>" class="freetext" />
</div>
<div id="startupField" class="rowItem">
<label for="startOnLoad" accesskey="a">
<span class="accessKey">A</span>uto Start:
<%=intl._("Auto Start")%>(<span class="accessKey">A</span>):
</label>
<input value="1" type="checkbox" id="startOnLoad" name="startOnLoad" title="Start Tunnel Automatically"<%=(editBean.startAutomatically(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment">(Check the Box for 'YES')</span>
<span class="comment"><%=intl._("(Check the Box for 'YES')")%></span>
</div>
<div class="subdivider">
@ -84,27 +84,29 @@
<div id="targetField" class="rowItem">
<% if ("streamrserver".equals(tunnelType)) { %>
<label>Access Point:</label>
<label><%=intl._("Access Point")%>:</label>
<% } else { %>
<label>Target:</label>
<label><%=intl._("Target")%>:</label>
<% } %>
</div>
<div id="hostField" class="rowItem">
<label for="targetHost" accesskey="H">
<% if ("streamrserver".equals(tunnelType)) { %>
<span class="accessKey">R</span>eachable by:
<%=intl._("Reachable by")%>(<span class="accessKey">R</span>):
<% } else { %>
<span class="accessKey">H</span>ost:
<%=intl._("Host")%>(<span class="accessKey">H</span>):
<% } %>
</label>
<input type="text" size="20" id="targetHost" name="targetHost" title="Target Hostname or IP" value="<%=editBean.getTargetHost(curTunnel)%>" class="freetext" />
</div>
<div id="portField" class="rowItem">
<label for="targetPort" accesskey="P">
<span class="accessKey">P</span>ort:
<%=intl._("Port")%>(<span class="accessKey">P</span>):
<% String value = editBean.getTargetPort(curTunnel);
if (value == null || "".equals(value.trim()))
out.write(" <font color=\"red\">(required)</font>");
out.write(" <font color=\"red\">(");
out.write(intl._("required"));
out.write(")</font>");
%>
</label>
<input type="text" size="6" maxlength="5" id="targetPort" name="targetPort" title="Target Port Number" value="<%=editBean.getTargetPort(curTunnel)%>" class="freetext" />
@ -117,18 +119,20 @@
<% if ("httpserver".equals(tunnelType)) {
%><div id="websiteField" class="rowItem">
<label for="spoofedHost" accesskey="W">
<span class="accessKey">W</span>ebsite name:
<%=intl._("Website name")%>(<span class="accessKey">W</span>):
</label>
<input type="text" size="20" id="targetHost" name="spoofedHost" title="Website Host Name" value="<%=editBean.getSpoofedHost(curTunnel)%>" class="freetext" />
<span class="comment">(leave blank for outproxies)</span>
<span class="comment"><%=intl._("(leave blank for outproxies)")%></span>
</div>
<% }
%><div id="privKeyField" class="rowItem">
<label for="privKeyFile" accesskey="k">
Private <span class="accessKey">k</span>ey file:
<%=intl._("Private key file")%>(<span class="accessKey">k</span>):
<% String value2 = editBean.getPrivateKeyFile(curTunnel);
if (value2 == null || "".equals(value2.trim()))
out.write(" <font color=\"red\">(required)</font>");
out.write(" <font color=\"red\">(");
out.write(intl._("required"));
out.write(")</font>");
%>
</label>
<input type="text" size="30" id="privKeyFile" name="privKeyFile" title="Path to Private Key File" value="<%=editBean.getPrivateKeyFile(curTunnel)%>" class="freetext" />
@ -136,22 +140,22 @@
<% if (!"streamrserver".equals(tunnelType)) { %>
<div id="profileField" class="rowItem">
<label for="profile" accesskey="f">
Pro<span class="accessKey">f</span>ile:
<%=intl._("Profile")%>(<span class="accessKey">f</span>):
</label>
<select id="profile" name="profile" title="Connection Profile" class="selectbox">
<% boolean interactiveProfile = editBean.isInteractive(curTunnel);
%><option <%=(interactiveProfile == true ? "selected=\"selected\" " : "")%>value="interactive">interactive connection </option>
<option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk">bulk connection (downloads/websites/BT) </option>
%><option <%=(interactiveProfile == true ? "selected=\"selected\" " : "")%>value="interactive"><%=intl._("interactive connection")%> </option>
<option <%=(interactiveProfile == false ? "selected=\"selected\" " : "")%>value="bulk"><%=intl._("bulk connection (downloads/websites/BT)")%> </option>
</select>
</div>
<% } // !streamrserver %>
<div id="destinationField" class="rowItem">
<label for="localDestination" accesskey="L">
<span class="accessKey">L</span>ocal destination:
<%=intl._("Local destination")%>(<span class="accessKey">L</span>):
</label>
<textarea rows="1" style="height: 3em;" cols="60" readonly="readonly" id="localDestination" title="Read Only: Local Destination (if known)" wrap="off"><%=editBean.getDestinationBase64(curTunnel)%></textarea>
<% if (!"".equals(editBean.getDestinationBase64(curTunnel))) { %>
<a href="/susidns/addressbook.jsp?book=private&hostname=<%=editBean.getTunnelName(curTunnel)%>&destination=<%=editBean.getDestinationBase64(curTunnel)%>#add">Add to local addressbook</a>
<a href="/susidns/addressbook.jsp?book=private&hostname=<%=editBean.getTunnelName(curTunnel)%>&destination=<%=editBean.getDestinationBase64(curTunnel)%>#add"><%=intl._("Add to local addressbook")%></a>
<% } %>
</div>
@ -161,7 +165,7 @@
<div id="tunnelAdvancedNetworking" class="panel">
<div class="header">
<h4>Advanced networking options</h4>
<h4><%=intl._("Advanced networking options")%></h4>
</div>
<div class="separator">
@ -169,65 +173,65 @@
</div>
<div id="tunnelOptionsField" class="rowItem">
<label>Tunnel Options:</label>
<label><%=intl._("Tunnel Options")%>:</label>
</div>
<div id="depthField" class="rowItem">
<label for="tunnelDepth" accesskey="t">
Leng<span class="accessKey">t</span>h:
<%=intl._("Length")%>(<span class="accessKey">t</span>):
</label>
<select id="tunnelDepth" name="tunnelDepth" title="Length of each Tunnel" class="selectbox">
<% int tunnelDepth = editBean.getTunnelDepth(curTunnel, 2);
%><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>>0 hop tunnel (low anonymity, low latency)</option>
<option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>>1 hop tunnel (medium anonymity, medium latency)</option>
<option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>>2 hop tunnel (high anonymity, high latency)</option>
<option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>>3 hop tunnel (very high anonymity, poor performance)</option>
%><option value="0"<%=(tunnelDepth == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop tunnel (low anonymity, low latency)")%></option>
<option value="1"<%=(tunnelDepth == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 hop tunnel (medium anonymity, medium latency)")%></option>
<option value="2"<%=(tunnelDepth == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 hop tunnel (high anonymity, high latency)")%></option>
<option value="3"<%=(tunnelDepth == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 hop tunnel (very high anonymity, poor performance)")%></option>
<% if (tunnelDepth > 3) {
%> <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> hop tunnel (very poor performance)</option>
%> <option value="<%=tunnelDepth%>" selected="selected"><%=tunnelDepth%> <%=intl._("hop tunnel (very poor performance)")%></option>
<% }
%></select>
</div>
<div id="varianceField" class="rowItem">
<label for="tunnelVariance" accesskey="v">
<span class="accessKey">V</span>ariance:
<%=intl._("Variance")%>(<span class="accessKey">V</span>):
</label>
<select id="tunnelVariance" name="tunnelVariance" title="Level of Randomization for Tunnel Depth" class="selectbox">
<% int tunnelVariance = editBean.getTunnelVariance(curTunnel, 0);
%><option value="0"<%=(tunnelVariance == 0 ? " selected=\"selected\"" : "") %>>0 hop variance (no randomisation, consistant performance)</option>
<option value="1"<%=(tunnelVariance == 1 ? " selected=\"selected\"" : "") %>>+ 0-1 hop variance (medium additive randomisation, subtractive performance)</option>
<option value="2"<%=(tunnelVariance == 2 ? " selected=\"selected\"" : "") %>>+ 0-2 hop variance (high additive randomisation, subtractive performance)</option>
<option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>>+/- 0-1 hop variance (standard randomisation, standard performance)</option>
<option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>>+/- 0-2 hop variance (not recommended)</option>
%><option value="0"<%=(tunnelVariance == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 hop variance (no randomisation, consistant performance)")%></option>
<option value="1"<%=(tunnelVariance == 1 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-1 hop variance (medium additive randomisation, subtractive performance)")%></option>
<option value="2"<%=(tunnelVariance == 2 ? " selected=\"selected\"" : "") %>><%=intl._("+ 0-2 hop variance (high additive randomisation, subtractive performance)")%></option>
<option value="-1"<%=(tunnelVariance == -1 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-1 hop variance (standard randomisation, standard performance)")%></option>
<option value="-2"<%=(tunnelVariance == -2 ? " selected=\"selected\"" : "") %>><%=intl._("+/- 0-2 hop variance (not recommended)")%></option>
<% if (tunnelVariance > 2 || tunnelVariance < -2) {
%> <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> hop variance</option>
%> <option value="<%=tunnelVariance%>" selected="selected"><%= (tunnelVariance > 2 ? "+ " : "+/- ") %>0-<%=tunnelVariance%> <%=intl._("hop variance")%></option>
<% }
%></select>
</div>
<div id="countField" class="rowItem">
<label for="tunnelQuantity" accesskey="C">
<span class="accessKey">C</span>ount:
<%=intl._("Count")%>(<span class="accessKey">C</span>):
</label>
<select id="tunnelQuantity" name="tunnelQuantity" title="Number of Tunnels in Group" class="selectbox">
<% int tunnelQuantity = editBean.getTunnelQuantity(curTunnel, 2);
%><option value="1"<%=(tunnelQuantity == 1 ? " selected=\"selected\"" : "") %>>1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)</option>
<option value="2"<%=(tunnelQuantity == 2 ? " selected=\"selected\"" : "") %>>2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)</option>
<option value="3"<%=(tunnelQuantity == 3 ? " selected=\"selected\"" : "") %>>3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)</option>
%><option value="1"<%=(tunnelQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 inbound, 1 outbound tunnel (low bandwidth usage, less reliability)")%></option>
<option value="2"<%=(tunnelQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)")%></option>
<option value="3"<%=(tunnelQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)")%></option>
<% if (tunnelQuantity > 3) {
%> <option value="<%=tunnelQuantity%>" selected="selected"><%=tunnelQuantity%> tunnels</option>
%> <option value="<%=tunnelQuantity%>" selected="selected"><%=tunnelQuantity%> <%=intl._("tunnels")%></option>
<% }
%></select>
</div>
<div id="backupField" class="rowItem">
<label for="tunnelBackupQuantity" accesskey="b">
<span class="accessKey">B</span>ackup Count:
<%=intl._("Backup Count")%>(<span class="accessKey">B</span>):
</label>
<select id="tunnelBackupQuantity" name="tunnelBackupQuantity" title="Number of Reserve Tunnels" class="selectbox">
<% int tunnelBackupQuantity = editBean.getTunnelBackupQuantity(curTunnel, 0);
%><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>>0 backup tunnels (0 redundancy, no added resource usage)</option>
<option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>>1 backup tunnel each direction (low redundancy, low resource usage)</option>
<option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>>2 backup tunnels each direction (medium redundancy, medium resource usage)</option>
<option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>>3 backup tunnels each direction (high redundancy, high resource usage)</option>
%><option value="0"<%=(tunnelBackupQuantity == 0 ? " selected=\"selected\"" : "") %>><%=intl._("0 backup tunnels (0 redundancy, no added resource usage)")%></option>
<option value="1"<%=(tunnelBackupQuantity == 1 ? " selected=\"selected\"" : "") %>><%=intl._("1 backup tunnel each direction (low redundancy, low resource usage)")%></option>
<option value="2"<%=(tunnelBackupQuantity == 2 ? " selected=\"selected\"" : "") %>><%=intl._("2 backup tunnels each direction (medium redundancy, medium resource usage)")%></option>
<option value="3"<%=(tunnelBackupQuantity == 3 ? " selected=\"selected\"" : "") %>><%=intl._("3 backup tunnels each direction (high redundancy, high resource usage)")%></option>
<% if (tunnelBackupQuantity > 3) {
%> <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> backup tunnels</option>
%> <option value="<%=tunnelBackupQuantity%>" selected="selected"><%=tunnelBackupQuantity%> <%=intl._("backup tunnels")%></option>
<% }
%></select>
</div>
@ -237,17 +241,17 @@
</div>
<div id="optionsField" class="rowItem">
<label>I2CP Options:</label>
<label><%=intl._("I2CP Options")%>:</label>
</div>
<div id="optionsHostField" class="rowItem">
<label for="clientHost" accesskey="o">
H<span class="accessKey">o</span>st:
<%=intl._("Host")%>(<span class="accessKey">o</span>):
</label>
<input type="text" id="clientHost" name="clientHost" size="20" title="I2CP Hostname or IP" value="<%=editBean.getI2CPHost(curTunnel)%>" class="freetext" />
</div>
<div id="optionsPortField" class="rowItem">
<label for="clientPort" accesskey="r">
Po<span class="accessKey">r</span>t:
<%=intl._("Port")%>(<span class="accessKey">r</span>):
</label>
<input type="text" id="clientPort" name="clientport" size="20" title="I2CP Port Number" value="<%=editBean.getI2CPPort(curTunnel)%>" class="freetext" />
</div>
@ -258,27 +262,27 @@
<div id="optionsField" class="rowItem">
<label for="encrypt" accesskey="e">
<span class="accessKey">E</span>ncrypt Leaseset:
<%=intl._("Encrypt Leaseset")%>(<span class="accessKey">E</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label for="encrypt" accesskey="e">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="encrypt" title="Encrypt LeaseSet"<%=(editBean.getEncrypt(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="portField" class="rowItem">
<label for="encrypt" accesskey="e">
Encryption Key:
<%=intl._("Encryption Key")%>:
</label>
<textarea rows="1" style="height: 3em;" cols="44" id="portField" name="encryptKey" title="Encrypt Key" wrap="off"><%=editBean.getEncryptKey(curTunnel)%></textarea>
</div>
<div id="portField" class="rowItem">
<label for="force" accesskey="c">
Generate New Key:
<%=intl._("Generate New Key")%>:
</label>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Generate" title="Generate New Key Now">Generate</button>
<span class="comment">(Tunnel must be stopped first)</span>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Generate" title="Generate New Key Now"><%=intl._("Generate")%></button>
<span class="comment"><%=intl._("(Tunnel must be stopped first)")%></span>
</div>
<div class="subdivider">
@ -287,21 +291,21 @@
<div id="optionsField" class="rowItem">
<label for="access" accesskey="s">
Restricted Acce<span class="accessKey">s</span>s List: <i>Unimplemented</i>
<%=intl._("Restricted Access List")%>(<span class="accessKey">s</span>): <i><%=intl._("Unimplemented")%></i>
</label>
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="s">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="access" title="Enable Access List"<%=(editBean.getAccess(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="hostField" class="rowItem">
<label for="accessList" accesskey="s">
Access List:
<%=intl._("Access List")%>:
</label>
<textarea rows="2" style="height: 4em;" cols="60" id="hostField" name="accessList" title="Access List" wrap="off"><%=editBean.getAccessList(curTunnel)%></textarea>
<span class="comment">(Restrict to these clients only)</span>
<span class="comment"><%=intl._("(Restrict to these clients only)")%></span>
</div>
<div class="subdivider">
@ -310,24 +314,24 @@
<div id="optionsField" class="rowItem">
<label for="reduce" accesskey="d">
Re<span class="accessKey">d</span>uce tunnel quantity when idle:
<%=intl._("Reduce tunnel quantity when idle")%>(<span class="accessKey">d</span>):
</label>
</div>
<div id="portField" class="rowItem">
<label for="access" accesskey="d">
Enable:
<%=intl._("Enable")%>:
</label>
<input value="1" type="checkbox" id="startOnLoad" name="reduce" title="Reduce Tunnels"<%=(editBean.getReduce(curTunnel) ? " checked=\"checked\"" : "")%> class="tickbox" />
</div>
<div id="portField" class="rowItem">
<label for="reduceCount" accesskey="d">
Reduced tunnel count:
<%=intl._("Reduced tunnel count")%>:
</label>
<input type="text" id="port" name="reduceCount" size="1" maxlength="1" title="Reduced Tunnel Count" value="<%=editBean.getReduceCount(curTunnel)%>" class="freetext" />
</div>
<div id="portField" class="rowItem">
<label for="reduceTime" accesskey="d">
Idle minutes:
<%=intl._("Idle minutes")%>:
</label>
<input type="text" id="port" name="reduceTime" size="4" maxlength="4" title="Reduced Tunnel Idle Time" value="<%=editBean.getReduceTime(curTunnel)%>" class="freetext" />
</div>
@ -338,36 +342,36 @@
<div id="tunnelOptionsField" class="rowItem">
<label for="cert" accesskey="c">
New <span class="accessKey">C</span>ertificate type:
<%=intl._("New Certificate type")%>(<span class="accessKey">C</span>):
</label>
</div>
<div id="hostField" class="rowItem">
<div id="portField" class="rowItem">
<label>None</label>
<label><%=intl._("None")%></label>
<input value="0" type="radio" id="startOnLoad" name="cert" title="No Certificate"<%=(editBean.getCert(curTunnel)==0 ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment"></span>
</div>
<div id="portField" class="rowItem">
<label>Hashcash (effort)</label>
<label><%=intl._("Hashcash (effort)")%></label>
<input value="1" type="radio" id="startOnLoad" name="cert" title="Hashcash Certificate"<%=(editBean.getCert(curTunnel)==1 ? " checked=\"checked\"" : "")%> class="tickbox" />
<input type="text" id="port" name="effort" size="2" maxlength="2" title="Hashcash Effort" value="<%=editBean.getEffort(curTunnel)%>" class="freetext" />
</div>
</div>
<div id="portField" class="rowItem">
<label for="force" accesskey="c">
Hashcash Calc Time:
<%=intl._("Hashcash Calc Time")%>:
</label>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Estimate" title="Estimate Calculation Time">Estimate</button>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Estimate" title="Estimate Calculation Time"><%=intl._("Estimate")%></button>
</div>
<div id="hostField" class="rowItem">
<div id="portField" class="rowItem">
<label>Hidden</label>
<label><%=intl._("Hidden")%></label>
<input value="2" type="radio" id="startOnLoad" name="cert" title="Hidden Certificate"<%=(editBean.getCert(curTunnel)==2 ? " checked=\"checked\"" : "")%> class="tickbox" />
<span class="comment"></span>
</div>
<div id="portField" class="rowItem">
<label for="signer" accesskey="c">
Signed (signed by):
<%=intl._("Signed (signed by)")%>:
</label>
<input value="3" type="radio" id="startOnLoad" name="cert" title="Signed Certificate"<%=(editBean.getCert(curTunnel)==3 ? " checked=\"checked\"" : "")%> class="tickbox" />
<input type="text" id="port" name="signer" size="50" title="Cert Signer" value="<%=editBean.getSigner(curTunnel)%>" class="freetext" />
@ -376,10 +380,10 @@
</div>
<div id="portField" class="rowItem">
<label for="force" accesskey="c">
Modify Certificate:
<%=intl._("Modify Certificate")%>:
</label>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Modify" title="Force New Cert Now">Modify</button>
<span class="comment">(Tunnel must be stopped first)</span>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Modify" title="Force New Cert Now"><%=intl._("Modify")%></button>
<span class="comment"><%=intl._("(Tunnel must be stopped first)")%></span>
</div>
<div class="subdivider">
@ -388,7 +392,7 @@
<div id="customOptionsField" class="rowItem">
<label for="customOptions" accesskey="u">
C<span class="accessKey">u</span>stom options:
<%=intl._("Custom options")%>(<span class="accessKey">u</span>):
</label>
<input type="text" id="customOptions" name="customOptions" size="60" title="Custom Options" value="<%=editBean.getCustomOptions(curTunnel)%>" class="freetext" />
</div>
@ -400,12 +404,12 @@
<div class="header"></div>
<div class="footer">
<div class="toolbox">
<span class="comment">NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted.</span>
<span class="comment"><%=intl._("NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted.")%></span>
<div class="separator"><hr /></div>
<input type="hidden" value="true" name="removeConfirm" />
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Save changes" title="Save Changes"><span class="accessKey">S</span>ave</button>
<button id="controlDelete" <%=(editBean.allowJS() ? "onclick=\"if (!confirm('Are you sure you want to delete?')) { return false; }\" " : "")%>accesskey="D" class="control" type="submit" name="action" value="Delete this proxy" title="Delete this Proxy"><span class="accessKey">D</span>elete</button>
<button id="controlCancel" class="control" type="submit" name="action" value="" title="Cancel">Cancel</button>
<button id="controlSave" accesskey="S" class="control" type="submit" name="action" value="Save changes" title="Save Changes"><%=intl._("Save")%>(<span class="accessKey">S</span>)</button>
<button id="controlDelete" <%=(editBean.allowJS() ? "onclick=\"if (!confirm('Are you sure you want to delete?')) { return false; }\" " : "")%>accesskey="D" class="control" type="submit" name="action" value="Delete this proxy" title="Delete this Proxy"><%=intl._("Delete")%>(<span class="accessKey">D</span>)</button>
<button id="controlCancel" class="control" type="submit" name="action" value="" title="Cancel"><%=intl._("Cancel")%></button>
</div>
</div>
</div>

View File

@ -29,7 +29,7 @@
<div id="statusMessagePanel" class="panel">
<div class="header">
<h4>Status Messages</h4>
<h4><%=intl._("Status Messages")%></h4>
</div>
<div class="separator">
@ -44,7 +44,7 @@
<div class="footer">
<div class="toolbox">
<a class="control" href="index.jsp">Refresh</a>
<a class="control" href="index.jsp"><%=intl._("Refresh")%></a>
</div>
</div>
</div>
@ -53,7 +53,7 @@
<div class="header"></div>
<div class="footer">
<div class="toolbox">
<a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Stop%20all">Stop All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Start%20all">Start All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Restart%20all">Restart All</a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Reload%20configuration">Reload Config</a>
<a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Stop%20all"><%=intl._("Stop All")%></a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Start%20all"><%=intl._("Start All")%></a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Restart%20all"><%=intl._("Restart All")%></a> <a class="control" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=Reload%20configuration"><%=intl._("Reload Config")%></a>
</div>
</div>
</div>
@ -63,23 +63,23 @@
<div id="localServerTunnelList" class="panel">
<div class="header">
<h4>I2P Server Tunnels</h4>
<h4><%=intl._("I2P Server Tunnels")%></h4>
</div>
<div class="separator"> </div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
<label><%=intl._("Name")%>:</label>
</div>
<div class="previewHeaderField rowItem">
<label>Points at:</label>
<label><%=intl._("Points at")%>:</label>
</div>
<div class="targetHeaderField rowItem">
<label>Preview:</label>
<label><%=intl._("Preview")%>:</label>
</div>
<div class="statusHeaderField rowItem">
<label>Status:</label>
<label><%=intl._("Status")%>:</label>
<hr /> </div>
<%
@ -88,11 +88,11 @@
%>
<div class="nameField rowItem">
<label>Name:</label>
<label><%=intl._("Name")%>:</label>
<span class="text"><a href="edit.jsp?tunnel=<%=curServer%>" title="Edit Server Tunnel Settings for <%=indexBean.getTunnelName(curServer)%>"><%=indexBean.getTunnelName(curServer)%></a></span>
</div>
<div class="previewField rowItem">
<label>Points at:</label>
<label><%=intl._("Points at")%>:</label>
<span class="text">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer))) {
@ -108,41 +108,41 @@
<div class="targetField rowItem">
<%
if ("httpserver".equals(indexBean.getInternalType(curServer)) && indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><label>Preview:</label>
<a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p">Preview</a>
%><label><%=intl._("Preview")%>:</label>
<a class="control" title="Test HTTP server through I2P" href="http://<%=indexBean.getDestHashBase32(curServer)%>.b32.i2p"><%=intl._("Preview")%></a>
<%
} else if (indexBean.getTunnelStatus(curServer) == IndexBean.RUNNING) {
%><span class="text">Base32 Address:<br /><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span>
%><span class="text"><%=intl._("Base32 Address")%>:<br /><%=indexBean.getDestHashBase32(curServer)%>.b32.i2p</span>
<%
} else {
%><span class="comment">No Preview</span>
%><span class="comment"><%=intl._("No Preview")%></span>
<%
}
%></div>
<div class="statusField rowItem">
<label>Status:</label>
<label><%=intl._("Status")%>:</label>
<%
switch (indexBean.getTunnelStatus(curServer)) {
case IndexBean.STARTING:
%><div class="statusStarting text">Starting...</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
%><div class="statusStarting text"><%=intl._("Starting...")%></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>"><%=intl._("Stop")%></a>
<%
break;
case IndexBean.RUNNING:
%><div class="statusRunning text">Running</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>">Stop</a>
%><div class="statusRunning text"><%=intl._("Running")%></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curServer%>"><%=intl._("Stop")%></a>
<%
break;
case IndexBean.NOT_RUNNING:
%><div class="statusNotRunning text">Stopped</div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curServer%>">Start</a>
%><div class="statusNotRunning text"><%=intl._("Stopped")%></div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curServer%>"><%=intl._("Start")%></a>
<%
break;
}
%></div>
<div class="descriptionField rowItem">
<label>Description:</label>
<label><%=intl._("Description")%>:</label>
<div class="text"><%=indexBean.getTunnelDescription(curServer)%></div>
</div>
@ -160,9 +160,9 @@
<form id="addNewServerTunnelForm" action="edit.jsp">
<div class="toolbox">
<label>New server tunnel:</label>
<label><%=intl._("New server tunnel")%>:</label>
<select name="type">
<option value="server">Standard</option>
<option value="server"><%=intl._("Standard")%></option>
<option value="httpserver">HTTP</option>
<option value="ircserver">IRC</option>
<option value="streamrserver">Streamr</option>
@ -177,26 +177,26 @@
<div id="localClientTunnelList" class="panel">
<div class="header">
<h4>I2P Client Tunnels</h4>
<h4><%=intl._("I2P Client Tunnels")%></h4>
</div>
<div class="separator"> </div>
<div class="nameHeaderField rowItem">
<label>Name:</label>
<label><%=intl._("Name")%>:</label>
</div>
<div class="portHeaderField rowItem">
<label>Port:</label>
<label><%=intl._("Port")%>:</label>
</div>
<div class="typeHeaderField rowItem">
<label>Type:</label>
<label><%=intl._("Type")%>:</label>
</div>
<div class="interfaceHeaderField rowItem">
<label>Interface:</label>
<label><%=intl._("Interface")%>:</label>
</div>
<div class="statusHeaderField rowItem">
<label>Status:</label>
<label><%=intl._("Status")%>:</label>
</div>
<div class="separator">
@ -207,43 +207,43 @@
if (!indexBean.isClient(curClient)) continue;
%>
<div class="nameField rowItem">
<label>Name:</label>
<label><%=intl._("Name")%>:</label>
<span class="text"><a href="edit.jsp?tunnel=<%=curClient%>" title="Edit Tunnel Settings for <%=indexBean.getTunnelName(curClient)%>"><%=indexBean.getTunnelName(curClient)%></a></span>
</div>
<div class="portField rowItem">
<label>Port:</label>
<label><%=intl._("Port")%>:</label>
<span class="text"><%=indexBean.getClientPort(curClient)%></span>
</div>
<div class="typeField rowItem">
<label>Type:</label>
<label><%=intl._("Type")%>:</label>
<span class="text"><%=indexBean.getTunnelType(curClient)%></span>
</div>
<div class="interfaceField rowItem">
<label>Interface:</label>
<label><%=intl._("Interface")%>:</label>
<span class="text"><%=indexBean.getClientInterface(curClient)%></span>
</div>
<div class="statusField rowItem">
<label>Status:</label>
<label><%=intl._("Status")%>:</label>
<%
switch (indexBean.getTunnelStatus(curClient)) {
case IndexBean.STARTING:
%><div class="statusStarting text">Starting...</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
%><div class="statusStarting text"><%=intl._("Starting...")%></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._("Stop")%></a>
<%
break;
case IndexBean.STANDBY:
%><div class="statusStarting text">Standby</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
%><div class="statusStarting text"><%=intl._("Standby")%></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._("Stop")%></a>
<%
break;
case IndexBean.RUNNING:
%><div class="statusRunning text">Running</div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>">Stop</a>
%><div class="statusRunning text"><%=intl._("Running")%></div>
<a class="control" title="Stop this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=stop&amp;tunnel=<%=curClient%>"><%=intl._("Stop")%></a>
<%
break;
case IndexBean.NOT_RUNNING:
%><div class="statusNotRunning text">Stopped</div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curClient%>">Start</a>
%><div class="statusNotRunning text"><%=intl._("Stopped")%></div>
<a class="control" title="Start this Tunnel" href="index.jsp?nonce=<%=indexBean.getNextNonce()%>&amp;action=start&amp;tunnel=<%=curClient%>"><%=intl._("Start")%></a>
<%
break;
}
@ -253,9 +253,9 @@
<div class="destinationField rowItem">
<label>
<% if ("httpclient".equals(indexBean.getInternalType(curClient)) || "connectclient".equals(indexBean.getInternalType(curClient))) { %>
Outproxy:
<%=intl._("Outproxy")%>:
<% } else { %>
Destination:
<%=intl._("Destination")%>:
<% } %>
</label>
<input class="freetext" size="40" readonly="readonly" value="<%=indexBean.getClientDestination(curClient)%>" />
@ -263,7 +263,7 @@
<% } %>
<div class="descriptionField rowItem">
<label>Description:</label>
<label><%=intl._("Description")%>:</label>
<div class="text"><%=indexBean.getTunnelDescription(curClient)%></div>
</div>
@ -281,16 +281,16 @@
<form id="addNewClientTunnelForm" action="edit.jsp">
<div class="toolbox">
<label>New client tunnel:</label>
<label><%=intl._("New client tunnel")%>:</label>
<select name="type">
<option value="client">Standard</option>
<option value="client"><%=intl._("Standard")%></option>
<option value="httpclient">HTTP</option>
<option value="ircclient">IRC</option>
<option value="sockstunnel">SOCKS 4/4a/5</option>
<option value="connectclient">CONNECT</option>
<option value="streamrclient">Streamr</option>
</select>
<input class="control" type="submit" value="Create" />
<input class="control" type="submit" value="<%=intl._("Create")%>" />
</div>
</form>
</div>

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P routerconsole\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-12-27 02:41+0000\n"
"POT-Creation-Date: 2009-12-31 06:09+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: walking <zhazhenzhong@gmail.com>\n"
"Language-Team: \n"
@ -94,19 +94,19 @@ msgstr "忽略共享请求:速度太慢"
msgid "Dropping tunnel requests: Overloaded"
msgstr "忽略共享请求:路由过载"
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:513
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:521
msgid "Rejecting tunnels: Request overload"
msgstr "拒绝共享:请求过多"
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:538
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:546
msgid "Rejecting tunnels: Connection limit"
msgstr "拒绝共享:连接受限"
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:741
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:748
msgid "Dropping tunnel requests: High load"
msgstr "忽略共享请求:高负载"
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:750
#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:757
msgid "Dropping tunnel requests: Queue time"
msgstr "忽略共享请求:队列积压"
@ -994,8 +994,7 @@ msgstr "圣文森特和格林纳丁斯"
msgid "Venezuela"
msgstr "委内瑞拉"
#: ../java/build/Countries.java:229
#: ../java/build/Countries.java:230
#: ../java/build/Countries.java:229 ../java/build/Countries.java:230
msgid "Virgin Islands"
msgstr "维京群岛"
@ -1054,7 +1053,9 @@ msgstr "设置保存成功"
#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71
#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:253
msgid "Error saving the configuration (applied but not saved) - please see the error logs"
msgid ""
"Error saving the configuration (applied but not saved) - please see the "
"error logs"
msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:32
@ -1078,7 +1079,8 @@ msgid "Unsupported"
msgstr "未支持的"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:83
msgid "Client configuration saved successfully - restart required to take effect."
msgid ""
"Client configuration saved successfully - restart required to take effect."
msgstr "客户程序设置保存成功 - 程序重启后生效"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:89
@ -1098,7 +1100,8 @@ msgid "started"
msgstr "已启动"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:111
msgid "WebApp configuration saved successfully - restart required to take effect."
msgid ""
"WebApp configuration saved successfully - restart required to take effect."
msgstr "WebApp设置保存成功 - 程序重启后生效"
#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:129
@ -1586,8 +1589,12 @@ msgid "Failed to update the stat filter and location"
msgstr "统计数据过滤器及地址更新失败"
#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:121
msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
msgstr "曲线图列表已更新,更新后的内容可能需要最多 60s 的时间才能在这里及 <a href=\"graphs.jsp\">统计图表</a>页面中反映出来。"
msgid ""
"Graph list updated, may take up to 60s to be reflected here and on the <a "
"href=\"graphs.jsp\">Graphs Page</a>"
msgstr ""
"曲线图列表已更新,更新后的内容可能需要最多 60s 的时间才能在这里及 <a href="
"\"graphs.jsp\">统计图表</a>页面中反映出来。"
#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:137
msgid "Updated settings for all pools."
@ -1599,7 +1606,9 @@ msgstr "探索隧道设置保存成功。"
#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:144
#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
msgid "Error saving the configuration (applied but not saved) - please see the error logs."
msgid ""
"Error saving the configuration (applied but not saved) - please see the "
"error logs."
msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:11
@ -1848,6 +1857,7 @@ msgstr "分钟"
msgid "Redraw"
msgstr "重绘"
#: ../java/src/net/i2p/router/web/LogsHelper.java:13
#: ../java/src/net/i2p/router/web/LogsHelper.java:37
msgid "File location"
msgstr "文件位置"
@ -2215,7 +2225,9 @@ msgid "caps"
msgstr "容量"
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
msgid ""
"peak throughput (bytes per second) over a 1 minute period that the peer has "
"sustained in a single tunnel"
msgstr "该节点一分钟由单一隧道通过的数据峰值(byte/s)。"
#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
@ -2273,7 +2285,9 @@ msgid "Statistics gathered during this router's uptime"
msgstr "路由运行时收集的统计数据"
#: ../java/src/net/i2p/router/web/StatsGenerator.java:61
msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
msgid ""
"The data gathered is quantized over a 1 minute period, so should just be "
"used as an estimate."
msgstr "所采集数据量化周期为1分钟仅供参考。"
#: ../java/src/net/i2p/router/web/StatsGenerator.java:107
@ -2313,7 +2327,9 @@ msgid "lifetime average value"
msgstr "总平均值"
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:44
msgid "Configure startup of clients and webapps (services); manually start dormant services"
msgid ""
"Configure startup of clients and webapps (services); manually start dormant "
"services"
msgstr "设置客户程序及Web程序(服务)的启动;手动启动重要服务"
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:46
@ -2443,7 +2459,8 @@ msgid "Uptime"
msgstr "运行时间"
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
msgid "Help with configuring your firewall and router for optimal I2P performance"
msgid ""
"Help with configuring your firewall and router for optimal I2P performance"
msgstr "如何正确配置防火墙和(物理)路由器优化I2P性能"
#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:198
@ -2575,8 +2592,11 @@ msgid "Firewalled"
msgstr "防火墙限制"
#: ../java/src/net/i2p/router/web/SummaryHelper.java:125
msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
msgstr "错误-UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口并重启程序"
msgid ""
"ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and "
"restart"
msgstr ""
"错误-UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口并重启程序"
#: ../java/src/net/i2p/router/web/SummaryHelper.java:131
msgid "ERR-No Active Peers, Check Network Connection and Firewall"
@ -3006,7 +3026,9 @@ msgid "Bandwidth limiter"
msgstr "带宽限制"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:299
msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
msgid ""
"I2P will work best if you configure your rates to match the speed of your "
"internet connection."
msgstr "与联网环境相符的速度能使I2P以最佳的状态工作。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:303
@ -3037,11 +3059,14 @@ msgid "I2P requires at least 12KBps to enable sharing. "
msgstr "I2P 需要至少 12KBps 才能进行共享。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
msgid ""
"Please enable sharing (participating in tunnels) by configuring more "
"bandwidth. "
msgstr "请设置更多的带宽以便启用共享功能(加入到其他节点的隧道创建中)。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
msgid "It improves your anonymity by creating cover traffic, and helps the network."
msgid ""
"It improves your anonymity by creating cover traffic, and helps the network."
msgstr "通过制造混淆流量共享能增强您的匿名性,帮助网络成长。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:350
@ -3050,7 +3075,9 @@ msgid "You have configured I2P to share {0} KBps."
msgstr "您设置I2P共享 {0} KBps"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:353
msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
msgid ""
"The higher the share bandwidth the more you improve your anonymity and help "
"the network."
msgstr "共享的带宽越多,您的匿名性越强同时能帮助网络成长。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
@ -3169,7 +3196,8 @@ msgid "Completely disable"
msgstr "完全禁用"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
msgid ""
"(select only if behind a firewall that throttles or blocks outbound TCP)"
msgstr "仅在受到防火墙的流量限制或入站连接限制时使用"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:473
@ -3200,27 +3228,43 @@ msgstr "设置帮助"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:500
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
msgid "While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP."
msgstr "I2P可以与大多数防火墙共存如果I2P端口(第一次安装时随机选择)进行了UDP/TCP映射您的速度和网络整合度会逐渐提升。"
msgid ""
"While I2P will work fine behind most firewalls, your speeds and network "
"integration will generally improve if the I2P port is forwarded for both UDP "
"and TCP."
msgstr ""
"I2P可以与大多数防火墙共存如果I2P端口(第一次安装时随机选择)进行了UDP/TCP映"
"射,您的速度和网络整合度会逐渐提升。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:502
msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
msgid ""
"If you can, please poke a hole in your firewall to allow unsolicited UDP and "
"TCP packets to reach you."
msgstr "如果可能请在防火墙中添加端口并允许入站UDP/TCP数据包通过。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
msgstr "如果不能I2P支持UPnP(Universal Plug and Play)或借助“SSU中介”进行UDP端口穿透通过它们也可以中继数据。"
msgid ""
"If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole "
"punching with \"SSU introductions\" to relay traffic."
msgstr ""
"如果不能I2P支持UPnP(Universal Plug and Play)或借助“SSU中介”进行UDP端口穿"
"透,通过它们也可以中继数据。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:506
msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
msgstr "上述大部分设置仅为特殊情况准备例如UPnP不能正常工作或外部防火墙封锁网络。"
msgid ""
"Most of the options above are for special situations, for example where UPnP "
"does not work correctly, or a firewall not under your control is doing harm."
msgstr ""
"上述大部分设置仅为特殊情况准备例如UPnP不能正常工作或外部防火墙封锁网络。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508
msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
msgstr "在某些防火墙下例如SymmetricI2P可能无法有效利用NAT工作。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
msgid ""
"UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect "
"the external IP address and forward ports."
msgstr "UPnP与公网网关设备(IGD)通讯可以检测外部IP和映射端口。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:519
@ -3256,7 +3300,9 @@ msgid "Review the UPnP status here."
msgstr "在这里检查UPnP状态。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:535
msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
msgid ""
"UPnP may be enabled or disabled above, but a change requires a router "
"restart to take effect."
msgstr "UPnP 的关闭或开启均需要程序重启后生效。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
@ -3268,12 +3314,18 @@ msgid "They are <b>not private</b>."
msgstr "他们并<b>非私有地址</b>。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
msgid ""
"Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
msgstr "此外,<b>请勿输入如127.0.0.1或192.168.1.1等私有地址</b>"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
msgstr "如果您设置了错误的IP地址或主机名称或NAT/防火墙配置不当,您的网络性能将受到明显影响。"
msgid ""
"If you specify the wrong IP address or hostname, or do not properly "
"configure your NAT or firewall, your network performance will degrade "
"substantially."
msgstr ""
"如果您设置了错误的IP地址或主机名称或NAT/防火墙配置不当,您的网络性能将受到"
"明显影响。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
msgid "When in doubt, leave the settings at the defaults."
@ -3284,11 +3336,18 @@ msgid "Reachability Help"
msgstr "连通性帮助"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:552
msgid "If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers."
msgstr "如果您认为已经打开了防火墙但I2P仍然报告您受到防火墙阻隔请想想您是否可能有多层防火墙例如软件防护墙和外部的硬件路由器。"
msgid ""
"If you think you have opened up your firewall and I2P still thinks you are "
"firewalled, remember that you may have multiple firewalls, for example both "
"software packages and external hardware routers."
msgstr ""
"如果您认为已经打开了防火墙但I2P仍然报告您受到防火墙阻隔请想想您是否可能有"
"多层防火墙,例如软件防护墙和外部的硬件路由器。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
msgid ""
"If there is an error, the <a href=\"logs.jsp\">logs</a> may also help "
"diagnose the problem."
msgstr "如果存在错误,<a href=\"logs.jsp\">日志</a>可以帮助您诊断问题。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
@ -3300,35 +3359,58 @@ msgid "Your UDP port appears to be firewalled."
msgstr "您的UDP端口似乎因防火墙而连接受限。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
msgid ""
"As the firewall detection methods are not 100% reliable, this may "
"occasionally be displayed in error."
msgstr "由于防火墙检测方法并非100%可靠,有时也可能错误地显示此此提示。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
msgid ""
"However, if it appears consistently, you should check whether both your "
"external and internal firewalls are open for your port."
msgstr "然而如果总是出现此提示您应检查外部或内部防火墙是否打开了I2P端口。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
msgstr "即使受到防火墙阻拦I2P也能够正常工作无需担心。受到防火墙阻隔时路由器将通过“中介(Introducers)”中继入站连接。"
msgid ""
"I2P will work fine when firewalled, there is no reason for concern. When "
"firewalled, the router uses \"introducers\" to relay inbound connections."
msgstr ""
"即使受到防火墙阻拦I2P也能够正常工作无需担心。受到防火墙阻隔时路由器将通"
"过“中介(Introducers)”中继入站连接。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
msgstr "然而如果您能打开防火墙端口您才能得到的共享流量更好的帮助I2P网络。"
msgid ""
"However, you will get more participating traffic and help the network more "
"if you can open your firewall(s)."
msgstr ""
"然而如果您能打开防火墙端口您才能得到的共享流量更好的帮助I2P网络。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
msgid "If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control."
msgstr "如果您确信已经打开了防火墙,请想想是不是同时存在硬件和软件防火墙,或存在您无法控制的额外的机构性的防火墙。"
msgid ""
"If you think you have already done so, remember that you may have both a "
"hardware and a software firewall, or be behind an additional, institutional "
"firewall you cannot control."
msgstr ""
"如果您确信已经打开了防火墙,请想想是不是同时存在硬件和软件防火墙,或存在您无"
"法控制的额外的机构性的防火墙。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
msgid "Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P."
msgstr "当然某些路由器可能无法正确映射同时使用TCP和UDP协议的端口或存在其他限制或缺陷障碍了数据进入I2P网络。"
msgid ""
"Also, some routers cannot correctly forward both TCP and UDP on a single "
"port, or may have other limitations or bugs that prevent them from passing "
"traffic through to I2P."
msgstr ""
"当然某些路由器可能无法正确映射同时使用TCP和UDP协议的端口或存在其他限制或"
"缺陷障碍了数据进入I2P网络。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
msgid "The router is currently testing whether your UDP port is firewalled."
msgstr "路由器正在测试您的UDP端口是否被防火墙阻挡。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
msgid ""
"The router is not configured to publish its address, therefore it does not "
"expect incoming connections."
msgstr "路由器被设置为禁止发布IP地址因此并不需要入站连接。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
@ -3336,23 +3418,32 @@ msgid "WARN - Firewalled and Fast"
msgstr "警告 - 快速节点,因防火墙受限"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
msgid ""
"You have configured I2P to share more than 128KBps of bandwidth, but you are "
"firewalled."
msgstr "您设置I2P共享超过128KBps的带宽但您的连接因防火墙受阻。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
msgstr "尽管在此种配置情况下I2P可以正常工作但如果您的确能够分享超过128kps的带宽打开防火墙端口它能工作的更好帮助网络中其他的人。"
msgid ""
"While I2P will work fine in this configuration, if you really have over "
"128KBps of bandwidth to share, it will be much more helpful to the network "
"if you open your firewall."
msgstr ""
"尽管在此种配置情况下I2P可以正常工作但如果您的确能够分享超过128kps的带宽打"
"开防火墙端口它能工作的更好帮助网络中其他的人。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
msgid "WARN - Firewalled and Floodfill"
msgstr "警告 - 种子节点,因防火墙受限"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
msgid "You have configured I2P to be a floodfill router, but you are firewalled."
msgid ""
"You have configured I2P to be a floodfill router, but you are firewalled."
msgstr "您已将I2P设置为种子路由但您的连接已因防火墙受阻。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
msgid "For best participation as a floodfill router, you should open your firewall."
msgid ""
"For best participation as a floodfill router, you should open your firewall."
msgstr "为了种子路由能够更好的参与到I2P网络中请您的防火墙中打开端口。"
# 暂不翻译方便反馈
@ -3361,12 +3452,20 @@ msgid "WARN - Firewalled with Inbound TCP Enabled"
msgstr "警告 - 入站TCP开启但因防火墙受限"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
msgid "You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well."
msgstr "您设置了使用入站TCP连接同时您的UDP端口因防火墙受阻由此看来您的TCP端口也被防火墙阻挡。"
msgid ""
"You have configured inbound TCP, however your UDP port is firewalled, and "
"therefore it is likely that your TCP port is firewalled as well."
msgstr ""
"您设置了使用入站TCP连接同时您的UDP端口因防火墙受阻由此看来您的TCP端口也被"
"防火墙阻挡。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
msgstr "如果您在TCP端口因防火墙受阻的情况下启用入站TCP连接其他路由器节点将无法与您建立连接造成网络受阻。"
msgid ""
"If your TCP port is firewalled with inbound TCP enabled, routers will not be "
"able to contact you via TCP, which will hurt the network."
msgstr ""
"如果您在TCP端口因防火墙受阻的情况下启用入站TCP连接其他路由器节点将无法与您"
"建立连接,造成网络受阻。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
msgid "Please open your firewall or disable inbound TCP above."
@ -3382,7 +3481,9 @@ msgid "You have configured inbound TCP, however you have disabled UDP."
msgstr "您设置了使用TCP连接然而禁用了UDP连接。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
msgid ""
"You appear to be firewalled on TCP, therefore your router cannot accept "
"inbound connections."
msgstr "您的TCP连接似乎因防火墙受阻导致您的路由器无法接收入站连接。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
@ -3395,7 +3496,9 @@ msgid "ERR - Clock Skew"
msgstr "错误 - 系统时滞"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
msgid ""
"Your system's clock is skewed, which will make it difficult to participate "
"in the network."
msgstr "如果您的系统时钟太快或太慢,将影响计算机接入网络。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
@ -3408,8 +3511,12 @@ msgid "ERR - Private TCP Address"
msgstr "错误 - 私有TCP地址"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
msgstr "您不能发布一个公网无法访问的 IP 地址例如127.0.0.1或192.168.1.1一类的内网地址。"
msgid ""
"You must never advertise an unroutable IP address such as 127.0.0.1 or "
"192.168.1.1 as your external address."
msgstr ""
"您不能发布一个公网无法访问的 IP 地址例如127.0.0.1或192.168.1.1一类的内网地"
"址。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
msgid "Correct the address or disable inbound TCP above."
@ -3425,24 +3532,39 @@ msgid "I2P detected that you are firewalled by a Symmetric NAT."
msgstr "I2P检测到您受到Symmetic NAT的阻挡。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
msgstr "I2P无法与此类防火墙很好的并存。您可能无法接收入站连接这会障碍您连入I2P网络。"
msgid ""
"I2P does not work well behind this type of firewall. You will probably not "
"be able to accept inbound connections, which will limit your participation "
"in the network."
msgstr ""
"I2P无法与此类防火墙很好的并存。您可能无法接收入站连接这会障碍您连入I2P网"
"络。"
# 暂不翻译,方便问题反馈
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
msgstr "错误 - UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口 并重启程序"
msgid ""
"ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config "
"and restart"
msgstr ""
"错误 - UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口 并重启程"
"序"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
msgid "I2P was unable to bind to port 8887 or other configured port."
msgstr "I2P无法绑定到端口8887或其他指定的端口上。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
msgstr "检查是否有其他程序正在使用了I2P的端口如果是关闭此程序或设置I2P使用不同的端口。"
msgid ""
"Check to see if another program is using the configured port. If so, stop "
"that program or configure I2P to use a different port."
msgstr ""
"检查是否有其他程序正在使用了I2P的端口如果是关闭此程序或设置I2P使用不同的"
"端口。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
msgid "This may be a transient error, if the other program is no longer using the port."
msgid ""
"This may be a transient error, if the other program is no longer using the "
"port."
msgstr "如果其他程序不再使用此端口,这可能是临时性的错误。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
@ -3455,7 +3577,9 @@ msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
msgstr "错误 - UDP已禁用且TCP入站主机与端口未设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
msgid ""
"You have not configured inbound TCP with a hostname and port above, however "
"you have disabled UDP."
msgstr "您没有设置入站TCP的主机名称和端口同时又关闭了UDP。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
@ -3476,7 +3600,9 @@ msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
msgstr "这通常为7654端口冲突所致请查看日志确认原因。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
msgid ""
"Do you have another I2P instance running? Stop the conflicting program and "
"restart I2P."
msgstr "您是否已经运行了另一个I2P实例请关掉冲突的程序并重启I2P。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
@ -3513,7 +3639,9 @@ msgid "Client Configuration"
msgstr "客户程序设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:308
msgid "The Java clients listed below are started by the router and run in the same JVM."
msgid ""
"The Java clients listed below are started by the router and run in the same "
"JVM."
msgstr "下面列出的Java客户端随路由器启动并运行于同一JVM中。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
@ -3530,12 +3658,28 @@ msgid "WebApp Configuration"
msgstr "WebApp 设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
msgid "The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark),front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook)."
msgstr "下面列出的Java Web 程序随客户端“web控制台”一同启动并与路由运行于同一JVM中。这些Web程序通常可以通过路由器界面直接访问。他们可能是完整的程序 (例如 i2psnark/BT客户端),其他客户端程序的前端或必须单独启动的程序(例如. susidns, i2ptunnel),甚至根本没有Web界面(例如 addressbook)。"
msgid ""
"The Java web applications listed below are started by the webConsole client "
"and run in the same JVM as the router. They are usually web applications "
"accessible through the router console. They may be complete applications (e."
"g. i2psnark),front-ends to another client or application which must be "
"separately enabled (e.g. susidns, i2ptunnel), or have no web interface at "
"all (e.g. addressbook)."
msgstr ""
"下面列出的Java Web 程序随客户端“web控制台”一同启动并与路由运行于同一JVM中。"
"这些Web程序通常可以通过路由器界面直接访问。他们可能是完整的程序 (例如 "
"i2psnark/BT客户端),其他客户端程序的前端或必须单独启动的程序(例如. susidns, "
"i2ptunnel),甚至根本没有Web界面(例如 addressbook)。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method."
msgstr "从webapps目录中删除相应的.war文件同样可以禁用Web程序;然而这些 .war 文件和Web程序在更新I2P后还会再次出现,所以推荐在这里通过设置的方法禁用不用的Web程序。"
msgid ""
"A web app may also be disabled by removing the .war file from the webapps "
"directory; however the .war file and web app will reappear when you update "
"your router to a newer version, so disabling the web app here is the "
"preferred method."
msgstr ""
"从webapps目录中删除相应的.war文件同样可以禁用Web程序;然而这些 .war 文件和Web"
"程序在更新I2P后还会再次出现,所以推荐在这里通过设置的方法禁用不用的Web程序。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
msgid "config keyring"
@ -3550,7 +3694,8 @@ msgid "The router keyring is used to decrypt encrypted leaseSets."
msgstr "路由的钥匙环被用来解密和加密赁集."
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:297
msgid "The keyring may contain keys for local or remote encrypted destinations."
msgid ""
"The keyring may contain keys for local or remote encrypted destinations."
msgstr "钥匙环可以包含本地和远程的加密目标(Destination)."
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:307
@ -3602,7 +3747,8 @@ msgid "Log record format"
msgstr "日志记录格式"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:311
msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
msgid ""
"(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
msgstr "( 'd' = 日期, 'c' = 类, 't' = 线程, 'p' = 优先级, 'm' = 消息)"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
@ -3610,8 +3756,11 @@ msgid "Log date format"
msgstr "日志日期格式"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:317
msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
msgstr "('MM' = , 'dd' = , 'HH' = 小时, 'mm' = 分钟, 'ss' = , 'SSS' = 毫秒)"
msgid ""
"('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
"= millisecond)"
msgstr ""
"('MM' = 月, 'dd' = 天, 'HH' = 小时, 'mm' = 分钟, 'ss' = 秒, 'SSS' = 毫秒)"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
msgid "Max log file size"
@ -3622,7 +3771,9 @@ msgid "Default log level"
msgstr "默认日志等级"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
msgid ""
"(DEBUG and INFO are not recommended defaults, as they will drastically slow "
"down your router)"
msgstr "(建议不要使用 DEBUG 或 INFO 作为默认等级,他们会明显降低程序性能)"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
@ -3650,12 +3801,19 @@ msgid "Manually Ban / Unban a Peer"
msgstr "手动封杀/解封某个节点"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:312
msgid "Banning will prevent the participation of this peer in tunnels you create."
msgid ""
"Banning will prevent the participation of this peer in tunnels you create."
msgstr "封锁将阻止节点参与您的隧道创建"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:324
msgid "Bonuses may be positive or negative, and affect the peer's inclusion in Fast and High Capacity tiers. Fast peers are used for client tunnels, and High Capacity peers are used for some exploratory tunnels. Current bonuses are displayed on the"
msgstr "评分(Bonuse)可能为正或为负并影响节点是否评为快速和高容量节点。快速节点用于客户程序通道,高容量节点用于探索隧道。当前评分显示于"
msgid ""
"Bonuses may be positive or negative, and affect the peer's inclusion in Fast "
"and High Capacity tiers. Fast peers are used for client tunnels, and High "
"Capacity peers are used for some exploratory tunnels. Current bonuses are "
"displayed on the"
msgstr ""
"评分(Bonuse)可能为正或为负并影响节点是否评为快速和高容量节点。快速节点用于客"
"户程序通道,高容量节点用于探索隧道。当前评分显示于"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:326
msgid "profiles page"
@ -3687,15 +3845,21 @@ msgid "Shutdown the router"
msgstr "关闭路由器"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:286
msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
msgstr "平滑关闭让路由器在关闭前完成已达成的任务,但这可能需要花费几分钟的时间。"
msgid ""
"Graceful shutdown lets the router satisfy the agreements it has already made "
"before shutting down, but may take a few minutes."
msgstr ""
"平滑关闭让路由器在关闭前完成已达成的任务,但这可能需要花费几分钟的时间。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:288
msgid "If you need to kill the router immediately, that option is available as well."
msgid ""
"If you need to kill the router immediately, that option is available as well."
msgstr "当然你也可以选择立即关闭路由。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:298
msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
msgid ""
"If you want the router to restart itself after shutting down, you can choose "
"one of the following."
msgstr "如果你想要路由器关闭后自动重新启动,可以选择下面的选项。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:300
@ -3703,15 +3867,26 @@ msgid "This is useful in some situations"
msgstr "重启在某些情况下有用"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:302
msgid "for example, if you changed some settings that client applications only read at startup, such as the routerconsole password or the interface it listens on."
msgstr "例如当修改了客户程序仅在启动时读取的设置,比如路由器控制界面的密码,监听的接口。"
msgid ""
"for example, if you changed some settings that client applications only read "
"at startup, such as the routerconsole password or the interface it listens "
"on."
msgstr ""
"例如当修改了客户程序仅在启动时读取的设置,比如路由器控制界面的密码,监听的接"
"口。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:304
msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
msgstr "平滑重启可能会等待几分钟的时间(但你的节点一定会感激你的耐心),硬重启可以立即完成。"
msgid ""
"A graceful restart will take a few minutes (but your peers will appreciate "
"your patience), while a hard restart does so immediately."
msgstr ""
"平滑重启可能会等待几分钟的时间(但你的节点一定会感激你的耐心),硬重启可以立即"
"完成。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:306
msgid "After tearing down the router, it will wait 1 minute before starting back up again."
msgid ""
"After tearing down the router, it will wait 1 minute before starting back up "
"again."
msgstr "路由关闭后将等待1分钟再重新启动。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:316
@ -3719,11 +3894,15 @@ msgid "Systray integration"
msgstr "使用系统托盘"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:318
msgid "On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status"
msgid ""
"On the windows platform, there is a small application to sit in the system "
"tray, allowing you to view the router's status"
msgstr "Windows 平台允许小程序进驻系统托盘,让你可以查看路由状态"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:320
msgid "(later on, I2P client applications will be able to integrate their own functionality into the system tray as well)."
msgid ""
"(later on, I2P client applications will be able to integrate their own "
"functionality into the system tray as well)."
msgstr "(以后的 I2P 客户端程序也会将它们的功能集成到系统托盘里)。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322
@ -3735,7 +3914,9 @@ msgid "Run on startup"
msgstr "启动时运行"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330
msgid "You can control whether I2P is run on startup or not by selecting one of the following options"
msgid ""
"You can control whether I2P is run on startup or not by selecting one of the "
"following options"
msgstr "这里你可以通过下面的选项来设置开机后 I2P 是否启动"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
@ -3747,12 +3928,17 @@ msgid "If you prefer the command line, you can also run the "
msgstr "如果你偏好使用命令行,可以运行"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344
msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
msgid ""
"If you are running I2P as service right now, removing it will shut down your "
"router immediately."
msgstr "如果您目前已经以服务形式运行 I2P ,删除 I2P 服务将立刻关闭路由器。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:346
msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
msgstr "您可以考虑先平滑关闭路由,待退出后运行 uninstall_i2p_service_winnt.bat。"
msgid ""
"You may want to consider shutting down gracefully, as above, then running "
"uninstall_i2p_service_winnt.bat."
msgstr ""
"您可以考虑先平滑关闭路由,待退出后运行 uninstall_i2p_service_winnt.bat。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
msgid "Debugging"
@ -3763,8 +3949,12 @@ msgid "Launch browser on router startup?"
msgstr "路由器启动时运行浏览器?"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362
msgid "I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at"
msgstr "此Web控制台是I2P的主要设置界面所以如果您您觉得有必要I2P可以在路由启动时调用浏览器打开"
msgid ""
"I2P's main configuration interface is this web console, so for your "
"convenience I2P can launch a web browser on startup pointing at"
msgstr ""
"此Web控制台是I2P的主要设置界面所以如果您您觉得有必要I2P可以在路由启动时调用"
"浏览器打开"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
msgid "config stats"
@ -3828,8 +4018,13 @@ msgid "There is a fundamental tradeoff between anonymity and performance."
msgstr "匿名性需要以性能为代价。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:312
msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
msgstr "长于3个跳点的隧道(例如 2跳点 + 0-2跳点3跳点 + 0-1跳点, 3跳点 + 0-2跳点),或大量常规+大量备用,可能降低性能和稳定性。"
msgid ""
"Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 "
"hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely "
"reduce performance or reliability."
msgstr ""
"长于3个跳点的隧道(例如 2跳点 + 0-2跳点3跳点 + 0-1跳点, 3跳点 + 0-2跳点),或"
"大量常规+大量备用,可能降低性能和稳定性。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:315
msgid "High CPU and/or high outbound bandwidth usage may result."
@ -3840,7 +4035,8 @@ msgid "Change these settings with care, and adjust them if you have problems."
msgstr "小心更改这些设置。如果遇到问题可以在这里调整。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
msgid "Exploratory tunnel setting changes are stored in the router.config file."
msgid ""
"Exploratory tunnel setting changes are stored in the router.config file."
msgstr "对探测隧道设置的更改将保存入router.config文件中。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
@ -3872,16 +4068,24 @@ msgid "Theme selection disabled for Internet Explorer, sorry."
msgstr "抱歉主题功能在InternetExplorer中已禁用。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:311
msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
msgstr "如果您没使用IE您的浏览器可能正在伪装IE的UserAgent您需要设置浏览器(或过滤式代理)使用不同的UserAgent才能访问路由控制台的主题功能。"
msgid ""
"If you're not using IE, it's likely that your browser is pretending to be "
"IE; please configure your browser (or proxy) to use a different User Agent "
"string if you'd like to access the console themes."
msgstr ""
"如果您没使用IE您的浏览器可能正在伪装IE的UserAgent您需要设置浏览器(或过滤"
"式代理)使用不同的UserAgent才能访问路由控制台的主题功能。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:315
msgid "Router Console Language"
msgstr "路由控制台语言"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:319
msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
msgstr "欢迎加入路由控制台翻译项目提供帮助请通过IRC到#i2p房间与开发人员联系。"
msgid ""
"Please contribute to the router console translation project! Contact the "
"developers on IRC #i2p to help."
msgstr ""
"欢迎加入路由控制台翻译项目提供帮助请通过IRC到#i2p房间与开发人员联系。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
msgid "config update"
@ -3952,7 +4156,9 @@ msgid "Page Not Found"
msgstr "页面未找到"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243
msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
msgid ""
"Sorry! You appear to be requesting a non-existent Router Console page or "
"resource."
msgstr "抱歉!您请求的页面或资源不存在。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:245
@ -4032,8 +4238,11 @@ msgid "The requested web application is not running."
msgstr "您所访问的Web程序未启动。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:235
msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
msgstr "请先在<a href=\"/configclients.jsp#webapp\">配置客户端页面</a>中启动它。"
msgid ""
"Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</"
"a> to start it."
msgstr ""
"请先在<a href=\"/configclients.jsp#webapp\">配置客户端页面</a>中启动它。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
msgid "peer connections"
@ -4074,24 +4283,34 @@ msgstr "I2P 隧道概况"
#~ msgid "skew"
#~ msgstr "时滞"
#~ msgid "Expl. + Client"
#~ msgstr "探测+客户"
#~ msgid "Part. from + to"
#~ msgstr "相邻共享节点"
#~ msgid "Depth"
#~ msgstr "深度"
#~ msgid "Addresses"
#~ msgstr "地址"
#~ msgid "view without"
#~ msgstr "查看不含"
#~ msgid "view with"
#~ msgstr "查看含"
#~ msgid "stats"
#~ msgstr "统计"
#~ msgid "View"
#~ msgstr "查看"
#~ msgid "Not Failing"
#~ msgstr "标准"
#~ msgid ""
#~ "If you want the router to restart itself after shutting down, you can "
#~ "choose one of the following. This is useful in some situations - for "
@ -4106,6 +4325,7 @@ msgstr "I2P 隧道概况"
#~ "- 例如当修改了客户程序仅在启动时读取的设置比如路由器控制界面的密码,监听的"
#~ "接口。平滑重启可能会等待几分钟的时间 (但其他节点一定会感激你的耐心),硬重"
#~ "启可以立即完成。 路由关闭后将等待1分钟再重新启动。"
#~ msgid ""
#~ "On the windows platform, there is a small application to sit in the "
#~ "system tray, allowing you to view the router's status (later on, I2P "
@ -4116,4 +4336,3 @@ msgstr "I2P 隧道概况"
#~ "windows 平台允许小程序进驻系统托盘,让你可以查看路由状态,(以后的 I2P 客户"
#~ "端程序也会将它们的功能集成到系统托盘里)。如果你使用Windows, 可以在这里开启"
#~ "或关闭这个托盘图标。"