* summarynoframe.jsp:
- Refactor to SummaryBarRenderer (saves 100KB) - Add translate tags - Use context RNG for nonces - Transitional HTML style for input tags
This commit is contained in:
@ -0,0 +1,411 @@
|
|||||||
|
package net.i2p.router.web;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.Writer;
|
||||||
|
|
||||||
|
import net.i2p.router.RouterContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Refactored from summarynoframe.jsp to save ~100KB
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SummaryBarRenderer {
|
||||||
|
private RouterContext _context;
|
||||||
|
private SummaryHelper _helper;
|
||||||
|
|
||||||
|
public SummaryBarRenderer(RouterContext context, SummaryHelper helper) {
|
||||||
|
_context = context;
|
||||||
|
_helper = helper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void renderSummaryHTML(Writer out) throws IOException {
|
||||||
|
StringBuilder buf = new StringBuilder(8*1024);
|
||||||
|
|
||||||
|
buf.append("<a href=\"index.jsp\" target=\"_top\"><img src=\"/themes/console/images/i2plogo.png\" alt=\"")
|
||||||
|
.append(_("I2P Router Console"))
|
||||||
|
.append("\" title=\"")
|
||||||
|
.append(_("I2P Router Console"))
|
||||||
|
.append("\"></a><hr>");
|
||||||
|
|
||||||
|
File lpath = new File(_context.getBaseDir(), "docs/toolbar.html");
|
||||||
|
// you better have target="_top" for the links in there...
|
||||||
|
if (lpath.exists()) {
|
||||||
|
ContentHelper linkhelper = new ContentHelper();
|
||||||
|
linkhelper.setPage(lpath.getAbsolutePath());
|
||||||
|
linkhelper.setMaxLines("100");
|
||||||
|
buf.append(linkhelper.getContent());
|
||||||
|
} else {
|
||||||
|
buf.append("<h3><a href=\"/configclients.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append("Configure startup of clients and webapps (services); manually start dormant services")
|
||||||
|
.append("\">")
|
||||||
|
.append(_("I2P Services"))
|
||||||
|
.append("</a></h3>\n" +
|
||||||
|
|
||||||
|
"<hr><table>" +
|
||||||
|
|
||||||
|
"<tr><td><a href=\"susidns/index.jsp\" target=\"_blank\" title=\"")
|
||||||
|
.append(_("Manage your I2P hosts file here (I2P domain name resolution)"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Addressbook"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"i2psnark/\" target=\"_blank\" title=\"")
|
||||||
|
.append(_("Built-in anonymous BitTorrent Client"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Torrents"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"susimail/susimail\" target=\"blank\" title=\"")
|
||||||
|
.append(_("Anonymous webmail client"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Webmail"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"http://127.0.0.1:7658/\" target=\"_blank\" title=\"")
|
||||||
|
.append(_("Anonymous resident webserver"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Webserver"))
|
||||||
|
.append("</a></td></tr></table>\n" +
|
||||||
|
|
||||||
|
"<hr><h3><a href=\"config.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Configure I2P Router"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("I2P Internals"))
|
||||||
|
.append("</a></h3><hr>\n" +
|
||||||
|
|
||||||
|
"<table><tr><td>\n" +
|
||||||
|
|
||||||
|
"<a href=\"tunnels.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("View existing tunnels and tunnel build status"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Tunnels"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"peers.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Show all current peer connections"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Peers"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"profiles.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Show recent peer performance profiles"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Profiles"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"netdb.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Show list of all known I2P routers"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("NetDB"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"logs.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Health Report"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Logs"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"jobs.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Show the router's workload, and how it's performing"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Jobs"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"graphs.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Graph router performance"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Graphs"))
|
||||||
|
.append("</a>\n" +
|
||||||
|
|
||||||
|
"<a href=\"oldstats.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Textual router performance statistics"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Stats"))
|
||||||
|
.append("</a></td></tr></table>\n");
|
||||||
|
|
||||||
|
out.write(buf.toString());
|
||||||
|
buf.setLength(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
buf.append("<hr><h3><a href=\"help.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("I2P Router Help"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("General"))
|
||||||
|
.append("</a></h3><hr>" +
|
||||||
|
"<h4><a title=\"")
|
||||||
|
.append(_("Your unique I2P router identity is"))
|
||||||
|
.append(' ')
|
||||||
|
.append(_helper.getIdent())
|
||||||
|
.append(", ")
|
||||||
|
.append(_("never reveal it to anyone"))
|
||||||
|
.append("\" href=\"netdb.jsp?r=.\" target=\"_top\">")
|
||||||
|
.append(_("Local Identity"))
|
||||||
|
.append("<a></h4><hr>\n" +
|
||||||
|
|
||||||
|
"<table><tr><td align=\"left\">" +
|
||||||
|
"<b>")
|
||||||
|
.append(_("Version"))
|
||||||
|
.append(":</b></td>" +
|
||||||
|
"<td align=\"right\">")
|
||||||
|
.append(_helper.getVersion())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr title=\"")
|
||||||
|
.append(_("How long we've been running for this session"))
|
||||||
|
.append("\">" +
|
||||||
|
"<td align=\"left\"><b>")
|
||||||
|
.append(_("Uptime"))
|
||||||
|
.append(":</b></td>" +
|
||||||
|
"<td align=\"right\">")
|
||||||
|
.append(_helper.getUptime())
|
||||||
|
.append("</td></tr></table>\n" +
|
||||||
|
|
||||||
|
"<hr><h4><a href=\"config.jsp#help\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Help with configuring your firewall and router for optimal I2P performance"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_helper.getReachability())
|
||||||
|
.append("</a></h4><hr>\n");
|
||||||
|
|
||||||
|
|
||||||
|
if (_helper.updateAvailable() || _helper.unsignedUpdateAvailable()) {
|
||||||
|
// display all the time so we display the final failure message
|
||||||
|
buf.append("<br>").append(UpdateHandler.getStatus());
|
||||||
|
if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress"))) {
|
||||||
|
// nothing
|
||||||
|
} else if(
|
||||||
|
// isDone() is always false for now, see UpdateHandler
|
||||||
|
// ((!update.isDone()) &&
|
||||||
|
_helper.getAction() == null &&
|
||||||
|
_helper.getUpdateNonce() == null &&
|
||||||
|
ConfigRestartBean.getRestartTimeRemaining() > 12*60*1000) {
|
||||||
|
long nonce = _context.random().nextLong();
|
||||||
|
String prev = System.getProperty("net.i2p.router.web.UpdateHandler.nonce");
|
||||||
|
if (prev != null)
|
||||||
|
System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev);
|
||||||
|
System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+"");
|
||||||
|
String uri = _helper.getRequestURI();
|
||||||
|
buf.append("<form action=\"").append(uri).append("\" method=\"GET\">\n");
|
||||||
|
buf.append("<input type=\"hidden\" name=\"updateNonce\" value=\"").append(nonce).append("\" >\n");
|
||||||
|
if (_helper.updateAvailable()) {
|
||||||
|
buf.append("<button type=\"submit\" name=\"updateAction\" value=\"signed\" >")
|
||||||
|
.append(_("Download"))
|
||||||
|
.append(' ')
|
||||||
|
.append(_helper.getUpdateVersion())
|
||||||
|
.append(' ')
|
||||||
|
.append(_("Update"))
|
||||||
|
.append("</button>\n");
|
||||||
|
}
|
||||||
|
if (_helper.unsignedUpdateAvailable()) {
|
||||||
|
buf.append("<button type=\"submit\" name=\"updateAction\" value=\"Unsigned\" >")
|
||||||
|
.append(_("Download Unsigned"))
|
||||||
|
.append("<br>")
|
||||||
|
.append(_helper.getUnsignedUpdateVersion())
|
||||||
|
.append(' ')
|
||||||
|
.append(_("Update"))
|
||||||
|
.append("</button>\n");
|
||||||
|
}
|
||||||
|
buf.append("</form>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
buf.append("<p>")
|
||||||
|
.append(ConfigRestartBean.renderStatus(_helper.getRequestURI(), _helper.getAction(), _helper.getConsoleNonce()))
|
||||||
|
|
||||||
|
.append("</p><hr><h3><a href=\"peers.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Show all current peer connections"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Peers"))
|
||||||
|
.append("</a></h3><hr>\n" +
|
||||||
|
|
||||||
|
"<table>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Active"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getActivePeers())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getActiveProfiles())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Fast"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getFastPeers())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("High capacity"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getHighCapacityPeers())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Integrated"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getWellIntegratedPeers())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Known"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getAllPeers())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"</table><hr>\n");
|
||||||
|
|
||||||
|
|
||||||
|
out.write(buf.toString());
|
||||||
|
buf.setLength(0);
|
||||||
|
|
||||||
|
|
||||||
|
if (_helper.showFirewallWarning()) {
|
||||||
|
buf.append("<h4><a href=\"config.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("Help with firewall configuration"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Check NAT/firewall"))
|
||||||
|
.append("</a></h4>");
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
|
||||||
|
// If showing the reseed link is allowed
|
||||||
|
if (_helper.allowReseed()) {
|
||||||
|
if (reseedInProgress) {
|
||||||
|
// While reseed occurring, show status message instead
|
||||||
|
buf.append("<i>").append(System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","")).append("</i><br>");
|
||||||
|
} else {
|
||||||
|
// While no reseed occurring, show reseed link
|
||||||
|
long nonce = _context.random().nextLong();
|
||||||
|
String prev = System.getProperty("net.i2p.router.web.ReseedHandler.nonce");
|
||||||
|
if (prev != null) System.setProperty("net.i2p.router.web.ReseedHandler.noncePrev", prev);
|
||||||
|
System.setProperty("net.i2p.router.web.ReseedHandler.nonce", nonce+"");
|
||||||
|
String uri = _helper.getRequestURI();
|
||||||
|
buf.append("<form action=\"").append(uri).append("\" method=\"GET\">\n");
|
||||||
|
buf.append("<input type=\"hidden\" name=\"reseedNonce\" value=\"").append(nonce).append("\" >\n");
|
||||||
|
buf.append("<button type=\"submit\" >Reseed</button></form>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// If a new reseed ain't running, and the last reseed had errors, show error message
|
||||||
|
if (!reseedInProgress) {
|
||||||
|
String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage","");
|
||||||
|
if (reseedErrorMessage.length() > 0) {
|
||||||
|
buf.append("<i>").append(reseedErrorMessage).append("</i><br>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
buf.append("<hr><h3><a href=\"config.jsp\" title=\"")
|
||||||
|
.append(_("Configure router bandwidth allocation"))
|
||||||
|
.append("\" target=\"_top\">")
|
||||||
|
.append(_("Bandwidth in/out"))
|
||||||
|
.append("</a></h3><hr>" +
|
||||||
|
"<table>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>1s:</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundSecondKBps())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundSecondKBps())
|
||||||
|
.append("K/s</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>5m:</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundFiveMinuteKBps())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundFiveMinuteKBps())
|
||||||
|
.append("K/s</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Total"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundLifetimeKBps())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundLifetimeKBps())
|
||||||
|
.append("K/s</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Used"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundTransferred())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundTransferred())
|
||||||
|
.append("</td></tr></table>\n" +
|
||||||
|
|
||||||
|
"<hr><h3><a href=\"tunnels.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("View existing tunnels and tunnel build status"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Tunnels in/out"))
|
||||||
|
.append("</a></h3><hr>" +
|
||||||
|
"<table>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Exploratory"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundTunnels())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundTunnels())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Client"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundClientTunnels())
|
||||||
|
.append('/')
|
||||||
|
.append(_helper.getOutboundClientTunnels())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Participating"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getParticipatingTunnels())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"</table><hr><h3><a href=\"/jobs.jsp\" target=\"_top\" title=\"")
|
||||||
|
.append(_("What's in the router's job queue?"))
|
||||||
|
.append("\">")
|
||||||
|
.append(_("Congestion"))
|
||||||
|
.append("</a></h3><hr>" +
|
||||||
|
"<table>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Job lag"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getJobLag())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Message delay"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getMessageDelay())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Tunnel lag"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getTunnelLag())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"<tr><td align=\"left\"><b>")
|
||||||
|
.append(_("Backlog"))
|
||||||
|
.append(":</b></td><td align=\"right\">")
|
||||||
|
.append(_helper.getInboundBacklog())
|
||||||
|
.append("</td></tr>\n" +
|
||||||
|
|
||||||
|
"</table><hr><h4>")
|
||||||
|
.append(_helper.getTunnelStatus())
|
||||||
|
.append("</h4><hr>\n")
|
||||||
|
.append(_helper.getDestinations());
|
||||||
|
|
||||||
|
|
||||||
|
out.write(buf.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** translate a string */
|
||||||
|
private String _(String s) {
|
||||||
|
return Messages.getString(s, _context);
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package net.i2p.router.web;
|
package net.i2p.router.web;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -563,4 +564,28 @@ public class SummaryHelper extends HelperBase {
|
|||||||
public String getUnsignedUpdateVersion() {
|
public String getUnsignedUpdateVersion() {
|
||||||
return NewsFetcher.getInstance(_context).unsignedUpdateVersion();
|
return NewsFetcher.getInstance(_context).unsignedUpdateVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** output the summary bar to _out */
|
||||||
|
public void renderSummaryBar() throws IOException {
|
||||||
|
SummaryBarRenderer renderer = new SummaryBarRenderer(_context, this);
|
||||||
|
renderer.renderSummaryHTML(_out);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* below here is stuff we need to get from summarynoframe.jsp to SummaryBarRenderer */
|
||||||
|
|
||||||
|
private String _action;
|
||||||
|
public void setAction(String s) { _action = s; }
|
||||||
|
public String getAction() { return _action; }
|
||||||
|
|
||||||
|
private String _consoleNonce;
|
||||||
|
public void setConsoleNonce(String s) { _consoleNonce = s; }
|
||||||
|
public String getConsoleNonce() { return _consoleNonce; }
|
||||||
|
|
||||||
|
private String _updateNonce;
|
||||||
|
public void setUpdateNonce(String s) { _updateNonce = s; }
|
||||||
|
public String getUpdateNonce() { return _updateNonce; }
|
||||||
|
|
||||||
|
private String _requestURI;
|
||||||
|
public void setRequestURI(String s) { _requestURI = s; }
|
||||||
|
public String getRequestURI() { return _requestURI; }
|
||||||
}
|
}
|
||||||
|
@ -7,126 +7,12 @@
|
|||||||
%>
|
%>
|
||||||
<jsp:useBean class="net.i2p.router.web.SummaryHelper" id="helper" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.SummaryHelper" id="helper" scope="request" />
|
||||||
<jsp:setProperty name="helper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="helper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:useBean class="net.i2p.router.web.ReseedHandler" id="reseed" scope="request" />
|
<jsp:setProperty name="helper" property="action" value="<%=request.getParameter("action")%>" />
|
||||||
<jsp:setProperty name="reseed" property="*" />
|
<jsp:setProperty name="helper" property="updateNonce" value="<%=request.getParameter("updateNonce")%>" />
|
||||||
<jsp:useBean class="net.i2p.router.web.UpdateHandler" id="update" scope="request" />
|
<jsp:setProperty name="helper" property="consoleNonce" value="<%=request.getParameter("consoleNonce")%>" />
|
||||||
<jsp:setProperty name="update" property="*" />
|
<jsp:setProperty name="helper" property="requestURI" value="<%=request.getRequestURI()%>" />
|
||||||
<jsp:setProperty name="update" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="helper" property="writer" value="<%=out%>" />
|
||||||
<a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"></a><hr>
|
|
||||||
<% java.io.File lpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/toolbar.html");
|
|
||||||
// you better have target="_top" for the links in there...
|
|
||||||
if (lpath.exists()) { %>
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ContentHelper" id="linkhelper" scope="request" />
|
|
||||||
<jsp:setProperty name="linkhelper" property="page" value="<%=lpath.getAbsolutePath()%>" />
|
|
||||||
<jsp:setProperty name="linkhelper" property="maxLines" value="100" />
|
|
||||||
<jsp:getProperty name="linkhelper" property="content" />
|
|
||||||
<% } else { %>
|
|
||||||
<h3><a href="/configclients.jsp" target="_top" title="Configure startup of clients and webapps (services); manually start dormant services.">I2P Services</a></h3>
|
|
||||||
<hr><table>
|
|
||||||
<tr><td><a href="susidns/index.jsp" target="_blank" title="Manage your I2P hosts file here (I2P domain name resolution).">Addressbook</a>
|
|
||||||
<a href="i2psnark/" target="_blank" title="Built-in anonymous BitTorrent Client">Torrents</a>
|
|
||||||
<a href="susimail/susimail" target="blank" title="Anonymous webmail client.">Webmail</a>
|
|
||||||
<a href="http://127.0.0.1:7658/" target="_blank" title="Anonymous resident webserver.">Webserver</a></td></tr></table>
|
|
||||||
<hr><h3><a href="config.jsp" target="_top" title="Configure I2P Router.">I2P Internals</a></h3><hr>
|
|
||||||
<table><tr><td>
|
|
||||||
<a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels</a>
|
|
||||||
<a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a>
|
|
||||||
<a href="profiles.jsp" target="_top" title="Show recent peer performance profiles.">Profiles</a>
|
|
||||||
<a href="netdb.jsp" target="_top" title="Show list of all known I2P routers.">NetDB</a>
|
|
||||||
<a href="logs.jsp" target="_top" title="Health Report.">Logs</a>
|
|
||||||
<a href="jobs.jsp" target="_top" title="Show the router's workload, and how it's performing.">Jobs</a>
|
|
||||||
<a href="graphs.jsp" target="_top" title="Graph router performance.">Graphs</a>
|
|
||||||
<a href="oldstats.jsp" target="_top" title="Textual router performance statistics.">Stats</a></td></tr></table>
|
|
||||||
<% } %>
|
|
||||||
<hr><h3><a href="help.jsp" target="_top" title="I2P Router Help.">General</a></h3><hr>
|
|
||||||
<h4><a title="Your unique I2P router identity is <jsp:getProperty name="helper" property="ident" />, never reveal it to anyone" href="netdb.jsp?r=." target="_top">Local Identity</a></h4><hr>
|
|
||||||
<table><tr><td align="left">
|
|
||||||
<b>Version:</b></td>
|
|
||||||
<td align="right"><jsp:getProperty name="helper" property="version" /></td></tr>
|
|
||||||
<tr title="How long we've been running for this session.">
|
|
||||||
<td align="left"><b>Uptime:</b></td>
|
|
||||||
<td align="right"><jsp:getProperty name="helper" property="uptime" />
|
|
||||||
</td></tr></table>
|
|
||||||
<hr><h4><a href="config.jsp#help" target="_top" title="Help with configuring your firewall and router for optimal I2P performance."><jsp:getProperty name="helper" property="reachability" /></a></h4><hr>
|
|
||||||
<%
|
<%
|
||||||
if (helper.updateAvailable() || helper.unsignedUpdateAvailable()) {
|
// moved to java for ease of translation and to avoid 30 copies
|
||||||
// display all the time so we display the final failure message
|
helper.renderSummaryBar();
|
||||||
out.print("<br>" + net.i2p.router.web.UpdateHandler.getStatus());
|
|
||||||
if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress"))) {
|
|
||||||
} else if((!update.isDone()) &&
|
|
||||||
request.getParameter("action") == null &&
|
|
||||||
request.getParameter("updateNonce") == null &&
|
|
||||||
net.i2p.router.web.ConfigRestartBean.getRestartTimeRemaining() > 12*60*1000) {
|
|
||||||
long nonce = new java.util.Random().nextLong();
|
|
||||||
String prev = System.getProperty("net.i2p.router.web.UpdateHandler.nonce");
|
|
||||||
if (prev != null) System.setProperty("net.i2p.router.web.UpdateHandler.noncePrev", prev);
|
|
||||||
System.setProperty("net.i2p.router.web.UpdateHandler.nonce", nonce+"");
|
|
||||||
String uri = request.getRequestURI();
|
|
||||||
out.print("<form action=\"" + uri + "\" method=\"GET\">\n");
|
|
||||||
out.print("<input type=\"hidden\" name=\"updateNonce\" value=\"" + nonce + "\" />\n");
|
|
||||||
if (helper.updateAvailable())
|
|
||||||
out.print("<button type=\"submit\" name=\"updateAction\" value=\"signed\" >Download " + helper.getUpdateVersion() + " Update</button>\n");
|
|
||||||
if (helper.unsignedUpdateAvailable())
|
|
||||||
out.print("<button type=\"submit\" name=\"updateAction\" value=\"Unsigned\" >Download Unsigned<br>Update " + helper.getUnsignedUpdateVersion() + "</button>\n");
|
|
||||||
out.print("</form>\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
%>
|
||||||
<p>
|
|
||||||
<%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%>
|
|
||||||
</p><hr><h3><a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a></h3><hr>
|
|
||||||
<table>
|
|
||||||
<tr><td align="left"><b>Active:</b></td><td align="right"><jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Fast:</b></td><td align="right"><jsp:getProperty name="helper" property="fastPeers" /></td></tr>
|
|
||||||
<tr><td align="left"><b>High capacity:</b></td><td align="right"><jsp:getProperty name="helper" property="highCapacityPeers" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Integrated:</b></td><td align="right"><jsp:getProperty name="helper" property="wellIntegratedPeers" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Known:</b></td><td align="right"><jsp:getProperty name="helper" property="allPeers" /></td></tr>
|
|
||||||
</table><hr>
|
|
||||||
<%
|
|
||||||
if (helper.showFirewallWarning()) {
|
|
||||||
%><h4><a href="config.jsp" target="_top" title="Help with firewall configuration.">Check NAT/firewall</a></h4><%
|
|
||||||
}
|
|
||||||
boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
|
|
||||||
// If showing the reseed link is allowed
|
|
||||||
if (helper.allowReseed()) {
|
|
||||||
if (reseedInProgress) {
|
|
||||||
// While reseed occurring, show status message instead
|
|
||||||
out.print("<i>" + System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","") + "</i><br>");
|
|
||||||
} else {
|
|
||||||
// While no reseed occurring, show reseed link
|
|
||||||
long nonce = new java.util.Random().nextLong();
|
|
||||||
String prev = System.getProperty("net.i2p.router.web.ReseedHandler.nonce");
|
|
||||||
if (prev != null) System.setProperty("net.i2p.router.web.ReseedHandler.noncePrev", prev);
|
|
||||||
System.setProperty("net.i2p.router.web.ReseedHandler.nonce", nonce+"");
|
|
||||||
String uri = request.getRequestURI();
|
|
||||||
out.print("<form action=\"" + uri + "\" method=\"GET\">\n");
|
|
||||||
out.print("<input type=\"hidden\" name=\"reseedNonce\" value=\"" + nonce + "\" />\n");
|
|
||||||
out.print("<button type=\"submit\" >Reseed</button></form>\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// If a new reseed ain't running, and the last reseed had errors, show error message
|
|
||||||
if (!reseedInProgress) {
|
|
||||||
String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage","");
|
|
||||||
if (reseedErrorMessage.length() > 0) {
|
|
||||||
out.print("<i>" + reseedErrorMessage + "</i><br>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%>
|
|
||||||
<hr><h3><a href="config.jsp" title="Configure router bandwidth allocation." target="_top">Bandwidth in/out</a></h3><hr>
|
|
||||||
<table>
|
|
||||||
<tr><td align="left"><b>1s:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundSecondKBps" />/<jsp:getProperty name="helper" property="outboundSecondKBps" />K/s</td></tr>
|
|
||||||
<tr><td align="left"><b>5m:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundFiveMinuteKBps" />/<jsp:getProperty name="helper" property="outboundFiveMinuteKBps" />K/s</td></tr>
|
|
||||||
<tr><td align="left"><b>Total:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundLifetimeKBps" />/<jsp:getProperty name="helper" property="outboundLifetimeKBps" />K/s</td></tr>
|
|
||||||
<tr><td align="left"><b>Used:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTransferred" />/<jsp:getProperty name="helper" property="outboundTransferred" /></td></tr></table>
|
|
||||||
<hr><h3><a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels in/out</a></h3><hr>
|
|
||||||
<table>
|
|
||||||
<tr><td align="left"><b>Exploratory:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTunnels" />/<jsp:getProperty name="helper" property="outboundTunnels" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Client:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundClientTunnels" />/<jsp:getProperty name="helper" property="outboundClientTunnels" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Participating:</b></td><td align="right"><jsp:getProperty name="helper" property="participatingTunnels" /></td></tr>
|
|
||||||
</table><hr><h3><a href="/jobs.jsp" target="_top" title="What's in the router's job queue?">Congestion</a></h3><hr>
|
|
||||||
<table>
|
|
||||||
<tr><td align="left"><b>Job lag:</b></td><td align="right"><jsp:getProperty name="helper" property="jobLag" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Message delay:</b></td><td align="right"><jsp:getProperty name="helper" property="messageDelay" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Tunnel lag:</b></td><td align="right"><jsp:getProperty name="helper" property="tunnelLag" /></td></tr>
|
|
||||||
<tr><td align="left"><b>Backlog:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundBacklog" /></td></tr>
|
|
||||||
</table><hr><h4><jsp:getProperty name="helper" property="tunnelStatus" /></h4><hr><jsp:getProperty name="helper" property="destinations" />
|
|
||||||
|
@ -1,25 +1,276 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# I2P
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) 2009 The I2P Project
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the routerconsole package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||||
|
# foo <foo@bar>, 2009.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: I2P routerconsole\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2009-10-18 10:03-0400\n"
|
"POT-Creation-Date: 2009-10-19 13:41+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2009-10-19 12:50+0000\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: foo <foo@bar>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: foo <foo@bar>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-Language: German\n"
|
||||||
|
|
||||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:441
|
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:293
|
||||||
msgid "Update policy"
|
msgid "Update policy"
|
||||||
msgstr "Update policy in german foobarbaz"
|
msgstr "Update policy in german foobarbaz"
|
||||||
|
|
||||||
#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
|
#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
|
||||||
msgid "Notify only"
|
msgid "Notify only"
|
||||||
msgstr "Notify only in german"
|
msgstr "Notify only in german"
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:26
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:28
|
||||||
|
msgid "I2P Router Console"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:42
|
||||||
|
msgid "I2P Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:48
|
||||||
|
msgid "Manage your I2P hosts file here (I2P domain name resolution)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:50
|
||||||
|
msgid "Addressbook"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:54
|
||||||
|
msgid "Built-in anonymous BitTorrent Client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:56
|
||||||
|
msgid "Torrents"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:60
|
||||||
|
msgid "Anonymous webmail client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:62
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:66
|
||||||
|
msgid "Anonymous resident webserver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:68
|
||||||
|
msgid "Webserver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:72
|
||||||
|
msgid "Configure I2P Router"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:74
|
||||||
|
msgid "I2P Internals"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:80
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:339
|
||||||
|
msgid "View existing tunnels and tunnel build status"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:82
|
||||||
|
msgid "Tunnels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:86
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:221
|
||||||
|
msgid "Show all current peer connections"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:88
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:223
|
||||||
|
msgid "Peers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:92
|
||||||
|
msgid "Show recent peer performance profiles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:94
|
||||||
|
msgid "Profiles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:98
|
||||||
|
msgid "Show list of all known I2P routers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:100
|
||||||
|
msgid "NetDB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:104
|
||||||
|
msgid "Health Report"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:106
|
||||||
|
msgid "Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:110
|
||||||
|
msgid "Show the router's workload, and how it's performing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:112
|
||||||
|
msgid "Jobs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:116
|
||||||
|
msgid "Graph router performance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:118
|
||||||
|
msgid "Graphs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:122
|
||||||
|
msgid "Textual router performance statistics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:124
|
||||||
|
msgid "Stats"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:134
|
||||||
|
msgid "I2P Router Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:136
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:139
|
||||||
|
msgid "Your unique I2P router identity is"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:143
|
||||||
|
msgid "never reveal it to anyone"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:145
|
||||||
|
msgid "Local Identity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:150
|
||||||
|
msgid "Version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:157
|
||||||
|
msgid "How long we've been running for this session"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:160
|
||||||
|
msgid "Uptime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:167
|
||||||
|
msgid ""
|
||||||
|
"Help with configuring your firewall and router for optimal I2P performance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:194
|
||||||
|
msgid "Download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:198
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:207
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:203
|
||||||
|
msgid "Download Unsigned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:229
|
||||||
|
msgid "Active"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:237
|
||||||
|
msgid "Fast"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:243
|
||||||
|
msgid "High capacity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:249
|
||||||
|
msgid "Integrated"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:255
|
||||||
|
msgid "Known"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:269
|
||||||
|
msgid "Help with firewall configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:271
|
||||||
|
msgid "Check NAT/firewall"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:304
|
||||||
|
msgid "Configure router bandwidth allocation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:306
|
||||||
|
msgid "Bandwidth in/out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:323
|
||||||
|
msgid "Total"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:331
|
||||||
|
msgid "Used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:341
|
||||||
|
msgid "Tunnels in/out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:346
|
||||||
|
msgid "Exploratory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:354
|
||||||
|
msgid "Client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:362
|
||||||
|
msgid "Participating"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:368
|
||||||
|
msgid "What's in the router's job queue?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:370
|
||||||
|
msgid "Congestion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:375
|
||||||
|
msgid "Job lag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:381
|
||||||
|
msgid "Message delay"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:387
|
||||||
|
msgid "Tunnel lag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:393
|
||||||
|
msgid "Backlog"
|
||||||
|
msgstr ""
|
||||||
|
@ -1,25 +1,276 @@
|
|||||||
# SOME DESCRIPTIVE TITLE.
|
# I2P
|
||||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) 2009 The I2P Project
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the routerconsole package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# To contribute translations, see http://www.i2p2.de/newdevelopers
|
||||||
|
# foo <foo@bar>, 2009.
|
||||||
#
|
#
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: I2P routerconsole\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2009-10-18 10:03-0400\n"
|
"POT-Creation-Date: 2009-10-19 13:41+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2009-10-19 12:59+0000\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: foo <foo@bar>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: foo <foo@par>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-Language: Chinese\n"
|
||||||
|
|
||||||
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:441
|
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:293
|
||||||
msgid "Update policy"
|
msgid "Update policy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
|
#: src/net/i2p/router/web/ConfigUpdateHelper.java:90
|
||||||
msgid "Notify only"
|
msgid "Notify only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:26
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:28
|
||||||
|
msgid "I2P Router Console"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:42
|
||||||
|
msgid "I2P Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:48
|
||||||
|
msgid "Manage your I2P hosts file here (I2P domain name resolution)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:50
|
||||||
|
msgid "Addressbook"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:54
|
||||||
|
msgid "Built-in anonymous BitTorrent Client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:56
|
||||||
|
msgid "Torrents"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:60
|
||||||
|
msgid "Anonymous webmail client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:62
|
||||||
|
msgid "Webmail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:66
|
||||||
|
msgid "Anonymous resident webserver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:68
|
||||||
|
msgid "Webserver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:72
|
||||||
|
msgid "Configure I2P Router"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:74
|
||||||
|
msgid "I2P Internals"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:80
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:339
|
||||||
|
msgid "View existing tunnels and tunnel build status"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:82
|
||||||
|
msgid "Tunnels"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:86
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:221
|
||||||
|
msgid "Show all current peer connections"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:88
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:223
|
||||||
|
msgid "Peers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:92
|
||||||
|
msgid "Show recent peer performance profiles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:94
|
||||||
|
msgid "Profiles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:98
|
||||||
|
msgid "Show list of all known I2P routers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:100
|
||||||
|
msgid "NetDB"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:104
|
||||||
|
msgid "Health Report"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:106
|
||||||
|
msgid "Logs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:110
|
||||||
|
msgid "Show the router's workload, and how it's performing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:112
|
||||||
|
msgid "Jobs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:116
|
||||||
|
msgid "Graph router performance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:118
|
||||||
|
msgid "Graphs"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:122
|
||||||
|
msgid "Textual router performance statistics"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:124
|
||||||
|
msgid "Stats"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:134
|
||||||
|
msgid "I2P Router Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:136
|
||||||
|
msgid "General"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:139
|
||||||
|
msgid "Your unique I2P router identity is"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:143
|
||||||
|
msgid "never reveal it to anyone"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:145
|
||||||
|
msgid "Local Identity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:150
|
||||||
|
msgid "Version"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:157
|
||||||
|
msgid "How long we've been running for this session"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:160
|
||||||
|
msgid "Uptime"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:167
|
||||||
|
msgid ""
|
||||||
|
"Help with configuring your firewall and router for optimal I2P performance"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:194
|
||||||
|
msgid "Download"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:198
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:207
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:203
|
||||||
|
msgid "Download Unsigned"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:229
|
||||||
|
msgid "Active"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:237
|
||||||
|
msgid "Fast"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:243
|
||||||
|
msgid "High capacity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:249
|
||||||
|
msgid "Integrated"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:255
|
||||||
|
msgid "Known"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:269
|
||||||
|
msgid "Help with firewall configuration"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:271
|
||||||
|
msgid "Check NAT/firewall"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:304
|
||||||
|
msgid "Configure router bandwidth allocation"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:306
|
||||||
|
msgid "Bandwidth in/out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:323
|
||||||
|
msgid "Total"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:331
|
||||||
|
msgid "Used"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:341
|
||||||
|
msgid "Tunnels in/out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:346
|
||||||
|
msgid "Exploratory"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:354
|
||||||
|
msgid "Client"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:362
|
||||||
|
msgid "Participating"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:368
|
||||||
|
msgid "What's in the router's job queue?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:370
|
||||||
|
msgid "Congestion"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:375
|
||||||
|
msgid "Job lag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:381
|
||||||
|
msgid "Message delay"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:387
|
||||||
|
msgid "Tunnel lag"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/net/i2p/router/web/SummaryBarRenderer.java:393
|
||||||
|
msgid "Backlog"
|
||||||
|
msgstr ""
|
||||||
|
Reference in New Issue
Block a user