all tagged all java except :

- summerbar related files since drz is working on it
- string requiring word reordering
- string with link in the middle
- string which looks unusual
- string found not in router console source
update the POs
This commit is contained in:
walking
2009-10-26 10:53:53 +00:00
parent 935b69bc71
commit 05cce164f7
17 changed files with 1184 additions and 310 deletions

View File

@ -29,9 +29,9 @@ public class ConfigClientsHandler extends FormHandler {
@Override
protected void processForm() {
if (_action.startsWith("Save Client")) {
if (_action.equals(_("Save Client Configuration"))) {
saveClientChanges();
} else if (_action.startsWith("Save WebApp")) {
} else if (_action.equals(_("Save WebApp Configuration"))) {
saveWebAppChanges();
} else if (_action.startsWith("Start ")) {
String app = _action.substring(6);
@ -43,7 +43,7 @@ public class ConfigClientsHandler extends FormHandler {
startClient(appnum);
else
startWebApp(app);
} else if (_action.toLowerCase().startsWith("start<span class=hide> ") &&
} else if (_action.toLowerCase().startsWith("Start<span class=hide> ") &&
_action.toLowerCase().endsWith("</span>")) {
// IE sucks
String app = _action.substring(23, _action.length() - 7);
@ -56,7 +56,7 @@ public class ConfigClientsHandler extends FormHandler {
else
startWebApp(app);
} else {
addFormError("Unsupported " + _action + ".");
addFormError(_("Unsupported") + " " + _action + ".");
}
}
@ -71,18 +71,18 @@ public class ConfigClientsHandler extends FormHandler {
ca.disabled = val == null;
}
ClientAppConfig.writeClientAppConfig(_context, clients);
addFormNotice("Client configuration saved successfully - restart required to take effect.");
addFormNotice(_("Client configuration saved successfully - restart required to take effect."));
}
private void startClient(int i) {
List clients = ClientAppConfig.getClientApps(_context);
if (i >= clients.size()) {
addFormError("Bad client index.");
addFormError(_("Bad client index."));
return;
}
ClientAppConfig ca = (ClientAppConfig) clients.get(i);
LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), configClient_log);
addFormNotice("Client " + ca.clientName + " started.");
addFormNotice(_("Client") + " " + ca.clientName + " " + _("started") + ".");
}
private void saveWebAppChanges() {
@ -99,7 +99,7 @@ public class ConfigClientsHandler extends FormHandler {
props.setProperty(name, "" + (val != null));
}
RouterConsoleRunner.storeWebAppProperties(props);
addFormNotice("WebApp configuration saved successfully - restart required to take effect.");
addFormNotice(_("WebApp configuration saved successfully - restart required to take effect."));
}
// Big hack for the moment, not using properties for directory and port
@ -117,14 +117,14 @@ public class ConfigClientsHandler extends FormHandler {
path = new File(path, app + ".war");
s.addWebApplication("/"+ app, path.getAbsolutePath()).start();
// no passwords... initialize(wac);
addFormNotice("WebApp <a href=\"/" + app + "/\">" + app + "</a> started.");
addFormNotice("WebApp <a href=\"/" + app + "/\">" + app + "</a> " + _("started") + ".");
} catch (Exception ioe) {
addFormError("Failed to start " + app + " " + ioe + ".");
addFormError(_("Failed to start") + " " + app + " " + ioe + ".");
}
return;
}
}
}
addFormError("Failed to find server.");
addFormError(_("Failed to find server."));
}
}

View File

@ -15,12 +15,12 @@ public class ConfigKeyringHandler extends FormHandler {
@Override
protected void processForm() {
if (_action == null) return;
boolean adding = _action.startsWith("Add");
if (adding || _action.startsWith("Delete")) {
boolean adding = _action.equals(_("Add key"));
if (adding || _action.equals(_("Delete key"))) {
if (_peer == null)
addFormError("You must enter a destination");
addFormError(_("You must enter a destination"));
if (_key == null && adding)
addFormError("You must enter a key");
addFormError(_("You must enter a key"));
if (_peer == null || (_key == null && adding))
return;
Hash h = ConvertToHash.getHash(_peer);
@ -33,7 +33,7 @@ public class ConfigKeyringHandler extends FormHandler {
_context.keyRing().put(h, sk);
addFormNotice("Key for " + h.toBase64() + " added to keyring");
} else {
addFormError("Invalid destination or key");
addFormError(_("Invalid destination or key"));
}
} else { // Delete
if (h != null && h.getData() != null) {
@ -42,11 +42,11 @@ public class ConfigKeyringHandler extends FormHandler {
else
addFormNotice("Key for " + h.toBase64() + " not found in keyring");
} else {
addFormError("Invalid destination");
addFormError(_("Invalid destination"));
}
}
} else {
addFormError("Unsupported");
addFormError(_("Unsupported"));
}
}

View File

@ -17,26 +17,26 @@ public class ConfigPeerHandler extends FormHandler {
if ("Save Configuration".equals(_action)) {
_context.router().saveConfig();
addFormNotice("Settings saved - not really!!!!!");
} else if (_action.startsWith("Ban")) {
} else if (_action.equals(_("Ban peer until restart"))) {
Hash h = getHash();
if (h != null) {
_context.shitlist().shitlistRouterForever(h, "Manually banned via <a href=\"configpeer.jsp\">configpeer.jsp</a>");
addFormNotice("Peer " + _peer + " banned until restart");
addFormNotice(_("Peer") + " " + _peer + " " + _("banned until restart") );
return;
}
addFormError("Invalid peer");
} else if (_action.startsWith("Unban")) {
addFormError(_("Invalid peer"));
} else if (_action.equals(_("Unban peer"))) {
Hash h = getHash();
if (h != null) {
if (_context.shitlist().isShitlisted(h)) {
_context.shitlist().unshitlistRouter(h);
addFormNotice("Peer " + _peer + " unbanned");
addFormNotice(_("Peer") + " " + _peer + " " + _("unbanned") );
} else
addFormNotice("Peer " + _peer + " is not currently banned");
addFormNotice(_("Peer") + " " + _peer + " " + _("is not currently banned") );
return;
}
addFormError("Invalid peer");
} else if (_action.startsWith("Adjust")) {
addFormError(_("Invalid peer"));
} else if (_action.equals(_("Adjust Profile Bonuses"))) {
Hash h = getHash();
if (h != null) {
PeerProfile prof = _context.profileOrganizer().getProfile(h);
@ -44,19 +44,19 @@ public class ConfigPeerHandler extends FormHandler {
try {
prof.setSpeedBonus(Long.parseLong(_speed));
} catch (NumberFormatException nfe) {
addFormError("Bad speed value");
addFormError(_("Bad speed value"));
}
try {
prof.setCapacityBonus(Long.parseLong(_capacity));
} catch (NumberFormatException nfe) {
addFormError("Bad capacity value");
addFormError(_("Bad capacity value"));
}
addFormNotice("Bonuses adjusted for " + _peer);
} else
addFormError("No profile exists for " + _peer);
return;
}
addFormError("Invalid peer");
addFormError(_("Invalid peer"));
} else if (_action.startsWith("Check")) {
addFormError("Unsupported");
}

View File

@ -137,9 +137,9 @@ public class ConfigTunnelsHandler extends FormHandler {
if (saveRequired) {
boolean saved = _context.router().saveConfig();
if (saved)
addFormNotice("Exploratory tunnel configuration saved successfully.");
addFormNotice(_("Exploratory tunnel configuration saved successfully."));
else
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs.");
addFormNotice(_("Error saving the configuration (applied but not saved) - please see the error logs."));
}
}
private static final int getInt(Object val) {

View File

@ -18,7 +18,7 @@ public class ConfigTunnelsHelper extends HelperBase {
TunnelPoolSettings exploratoryOut = _context.tunnelManager().getOutboundSettings();
buf.append("<input type=\"hidden\" name=\"pool.0\" value=\"exploratory\" >");
renderForm(buf, 0, "exploratory", "Exploratory tunnels", exploratoryIn, exploratoryOut);
renderForm(buf, 0, "exploratory", _("Exploratory tunnels"), exploratoryIn, exploratoryOut);
int cur = 1;
Set clients = _context.clientManager().listClients();
@ -38,7 +38,7 @@ public class ConfigTunnelsHelper extends HelperBase {
String prefix = dest.calculateHash().toBase64().substring(0,4);
buf.append("<input type=\"hidden\" name=\"pool.").append(cur).append("\" value=\"");
buf.append(dest.calculateHash().toBase64()).append("\" >");
renderForm(buf, cur, prefix, "Client tunnels for " + name, in, out);
renderForm(buf, cur, prefix, _("Client tunnels for") + " " + name, in, out);
cur++;
}
@ -61,95 +61,95 @@ public class ConfigTunnelsHelper extends HelperBase {
in.getLength() + in.getLengthVariance() <= 0 ||
out.getLength() <= 0 ||
out.getLength() + out.getLengthVariance() <= 0)
buf.append("<tr><th colspan=\"3\"><font color=\"red\">ANONYMITY WARNING - Settings include 0-hop tunnels.</font></th></tr>");
buf.append("<tr><th colspan=\"3\"><font color=\"red\">" + _("ANONYMITY WARNING - Settings include 0-hop tunnels.") + "</font></th></tr>");
else if (in.getLength() <= 1 ||
in.getLength() + in.getLengthVariance() <= 1 ||
out.getLength() <= 1 ||
out.getLength() + out.getLengthVariance() <= 1)
buf.append("<tr><th colspan=\"3\"><font color=\"red\">ANONYMITY WARNING - Settings include 1-hop tunnels.</font></th></tr>");
buf.append("<tr><th colspan=\"3\"><font color=\"red\">" + _("ANONYMITY WARNING - Settings include 1-hop tunnels.") + "</font></th></tr>");
if (in.getLength() + Math.abs(in.getLengthVariance()) >= WARN_LENGTH ||
out.getLength() + Math.abs(out.getLengthVariance()) >= WARN_LENGTH)
buf.append("<tr><th colspan=\"3\"><font color=\"red\">PERFORMANCE WARNING - Settings include very long tunnels.</font></th></tr>");
buf.append("<tr><th colspan=\"3\"><font color=\"red\">" + _("PERFORMANCE WARNING - Settings include very long tunnels.") + "</font></th></tr>");
if (in.getQuantity() + in.getBackupQuantity() >= WARN_QUANTITY ||
out.getQuantity() + out.getBackupQuantity() >= WARN_QUANTITY)
buf.append("<tr><th colspan=\"3\"><font color=\"red\">PERFORMANCE WARNING - Settings include high tunnel quantities.</font></th></tr>");
buf.append("<tr><th colspan=\"3\"><font color=\"red\">" + _("PERFORMANCE WARNING - Settings include high tunnel quantities.") + "</font></th></tr>");
buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt=\"Inbound\" title=\"Inbound Tunnels\">&nbsp;&nbsp;Inbound</th><th><img src=\"/themes/console/images/outbound.png\" alt=\"Outbound Tunnels\" title=\"Outbound\">&nbsp;&nbsp;Outbound</th></tr>\n");
buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt=\"Inbound\" title=\"Inbound Tunnels\">&nbsp;&nbsp;" + _("Inbound") + "</th><th><img src=\"/themes/console/images/outbound.png\" alt=\"Outbound Tunnels\" title=\"Outbound\">&nbsp;&nbsp;" + _("Outbound") + "</th></tr>\n");
// buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
// tunnel depth
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Depth:</td>\n");
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Depth") + ":</td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".depthInbound\">\n");
int now = in.getLength();
renderOptions(buf, 0, MAX_LENGTH, now, "", "hop");
renderOptions(buf, 0, MAX_LENGTH, now, "", _("hop"));
if (now > MAX_LENGTH)
renderOptions(buf, now, now, now, "", "hop");
renderOptions(buf, now, now, now, "", _("hop"));
buf.append("</select></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".depthOutbound\">\n");
now = out.getLength();
renderOptions(buf, 0, MAX_LENGTH, now, "", "hop");
renderOptions(buf, 0, MAX_LENGTH, now, "", _("hop"));
if (now > MAX_LENGTH)
renderOptions(buf, now, now, now, "", "hop");
renderOptions(buf, now, now, now, "", _("hop"));
buf.append("</select></td>\n");
buf.append("</tr>\n");
// tunnel depth variance
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Randomization:</td>\n");
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Randomization") + ":</td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".varianceInbound\">\n");
now = in.getLengthVariance();
renderOptions(buf, 0, 0, now, "", "hop");
renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", "hop");
renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", "hop");
renderOptions(buf, 0, 0, now, "", _("hop"));
renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", _("hop"));
renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", _("hop"));
if (now > MAX_VARIANCE)
renderOptions(buf, now, now, now, "+ 0-", "hop");
renderOptions(buf, now, now, now, "+ 0-", _("hop"));
else if (now < MIN_NEG_VARIANCE)
renderOptions(buf, now, now, now, "+/- 0", "hop");
renderOptions(buf, now, now, now, "+/- 0", _("hop"));
buf.append("</select></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".varianceOutbound\">\n");
now = out.getLengthVariance();
renderOptions(buf, 0, 0, now, "", "hop");
renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", "hop");
renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", "hop");
renderOptions(buf, 0, 0, now, "", _("hop"));
renderOptions(buf, 1, MAX_VARIANCE, now, "+ 0-", _("hop"));
renderOptions(buf, MIN_NEG_VARIANCE, -1, now, "+/- 0", _("hop"));
if (now > MAX_VARIANCE)
renderOptions(buf, now, now, now, "+ 0-", "hop");
renderOptions(buf, now, now, now, "+ 0-", _("hop"));
else if (now < MIN_NEG_VARIANCE)
renderOptions(buf, now, now, now, "+/- 0", "hop");
renderOptions(buf, now, now, now, "+/- 0", _("hop"));
buf.append("</select></td>\n");
// tunnel quantity
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Quantity:</td>\n");
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Quantity") + ":</td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".quantityInbound\">\n");
now = in.getQuantity();
renderOptions(buf, 1, MAX_QUANTITY, now, "", "tunnel");
renderOptions(buf, 1, MAX_QUANTITY, now, "", _("tunnel"));
if (now > MAX_QUANTITY)
renderOptions(buf, now, now, now, "", "tunnel");
renderOptions(buf, now, now, now, "", _("tunnel"));
buf.append("</select></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".quantityOutbound\">\n");
now = out.getQuantity();
renderOptions(buf, 1, MAX_QUANTITY, now, "", "tunnel");
renderOptions(buf, 1, MAX_QUANTITY, now, "", _("tunnel"));
if (now > MAX_QUANTITY)
renderOptions(buf, now, now, now, "", "tunnel");
renderOptions(buf, now, now, now, "", _("tunnel"));
buf.append("</select></td>\n");
buf.append("</tr>\n");
// tunnel backup quantity
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Backup quantity:</td>\n");
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Backup quantity") + ":</td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".backupInbound\">\n");
now = in.getBackupQuantity();
renderOptions(buf, 0, MAX_BACKUP_QUANTITY, now, "", "tunnel");
renderOptions(buf, 0, MAX_BACKUP_QUANTITY, now, "", _("tunnel"));
if (now > MAX_BACKUP_QUANTITY)
renderOptions(buf, now, now, now, "", "tunnel");
renderOptions(buf, now, now, now, "", _("tunnel"));
buf.append("</select></td>\n");
buf.append("<td align=\"center\"><select name=\"").append(index).append(".backupOutbound\">\n");
now = out.getBackupQuantity();
renderOptions(buf, 0, MAX_BACKUP_QUANTITY, now, "", "tunnel");
renderOptions(buf, 0, MAX_BACKUP_QUANTITY, now, "", _("tunnel"));
if (now > MAX_BACKUP_QUANTITY)
renderOptions(buf, now, now, now, "", "tunnel");
renderOptions(buf, now, now, now, "", _("tunnel"));
buf.append("</select></td>\n");
buf.append("</tr>\n");
@ -159,7 +159,7 @@ buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt
// And let's not display them at all unless they have contents, which should be rare.
Properties props = in.getUnknownOptions();
if (props.size() > 0) {
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Inbound options:</td>\n" +
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Inbound options") + ":</td>\n" +
"<td colspan=\"2\" align=\"center\"><input name=\"").append(index);
buf.append(".inboundOptions\" type=\"text\" size=\"32\" disabled=\"true\" " +
"value=\"");
@ -172,7 +172,7 @@ buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt
}
props = out.getUnknownOptions();
if (props.size() > 0) {
buf.append("<tr><td align=\"right\" class=\"mediumtags\">Outbound options:</td>\n" +
buf.append("<tr><td align=\"right\" class=\"mediumtags\">" + _("Outbound options") + ":</td>\n" +
"<td colspan=\"2\" align=\"center\"><input name=\"").append(index);
buf.append(".outboundOptions\" type=\"text\" size=\"32\" disabled=\"true\" " +
"value=\"");

View File

@ -55,7 +55,7 @@ public class NetDbRenderer {
public void renderRouterInfoHTML(Writer out, String routerPrefix) throws IOException {
StringBuilder buf = new StringBuilder(4*1024);
buf.append("<h2>Network Database RouterInfo Lookup</h2>\n");
buf.append("<h2>" + _("Network Database RouterInfo Lookup") + "</h2>\n");
if (".".equals(routerPrefix)) {
renderRouterInfo(buf, _context.router().getRouterInfo(), true, true);
} else {
@ -70,7 +70,7 @@ public class NetDbRenderer {
}
}
if (notFound)
buf.append("Router ").append(routerPrefix).append(" not found in network database");
buf.append(_("Router") + " ").append(routerPrefix).append(" " + _("not found in network database") );
}
out.write(buf.toString());
out.flush();
@ -82,8 +82,8 @@ public class NetDbRenderer {
public void renderLeaseSetHTML(Writer out) throws IOException {
StringBuilder buf = new StringBuilder(4*1024);
buf.append("<h2>Network Database Contents</h2>\n");
buf.append("<a href=\"netdb.jsp\">View RouterInfo</a>");
buf.append("<h2>" + _("Network Database Contents") + "</h2>\n");
buf.append("<a href=\"netdb.jsp\">" + _("View") + " RouterInfo</a>");
buf.append("<h3>LeaseSets</h3>\n");
Set leases = new TreeSet(new LeaseSetComparator());
leases.addAll(_context.netDb().getLeases());
@ -94,17 +94,17 @@ public class NetDbRenderer {
Hash key = dest.calculateHash();
buf.append("<b>LeaseSet: ").append(key.toBase64());
if (_context.clientManager().isLocal(dest)) {
buf.append(" (<a href=\"tunnels.jsp#" + key.toBase64().substring(0,4) + "\">Local</a> ");
buf.append(" (<a href=\"tunnels.jsp#" + key.toBase64().substring(0,4) + "\">" + _("Local") + "</a> ");
if (! _context.clientManager().shouldPublishLeaseSet(key))
buf.append("Unpublished ");
buf.append("Destination ");
buf.append(_("Unpublished") + " ");
buf.append(_("Destination") + " ");
TunnelPoolSettings in = _context.tunnelManager().getInboundSettings(key);
if (in != null && in.getDestinationNickname() != null)
buf.append(in.getDestinationNickname());
else
buf.append(dest.toBase64().substring(0, 6));
} else {
buf.append(" (Destination ");
buf.append(" (" + _("Destination") + " ");
String host = _context.namingService().reverseLookup(dest);
if (host != null)
buf.append(host);
@ -118,9 +118,9 @@ public class NetDbRenderer {
else
buf.append("Expired ").append(DataHelper.formatDuration(0-exp)).append(" ago<br>\n");
for (int i = 0; i < ls.getLeaseCount(); i++) {
buf.append("Lease ").append(i + 1).append(": Gateway ");
buf.append("Lease ").append(i + 1).append(": " + _("Gateway") + " ");
buf.append(_context.commSystem().renderPeerHTML(ls.getLease(i).getGateway()));
buf.append(" Tunnel ").append(ls.getLease(i).getTunnelId().getTunnelId()).append("<br>\n");
buf.append(" " + _("Tunnel") + " ").append(ls.getLease(i).getTunnelId().getTunnelId()).append("<br>\n");
}
buf.append("<hr>\n");
out.write(buf.toString());
@ -135,21 +135,21 @@ public class NetDbRenderer {
if (full)
size *= 4;
StringBuilder buf = new StringBuilder(size);
out.write("<h2>Network Database Contents (<a href=\"netdb.jsp?l=1\">View LeaseSets</a>)</h2>\n");
out.write("<h2>" + _("Network Database Contents") + " (<a href=\"netdb.jsp?l=1\">" + _("View") + " LeaseSets</a>)</h2>\n");
if (!_context.netDb().isInitialized()) {
buf.append("Not initialized\n");
buf.append("" + _("Not initialized") + "\n");
out.write(buf.toString());
out.flush();
return;
}
Hash us = _context.routerHash();
out.write("<a name=\"routers\" ></a><h3>Routers (<a href=\"netdb.jsp");
out.write("<a name=\"routers\" ></a><h3>" + _("Routers") + " (<a href=\"netdb.jsp");
if (full)
out.write("#routers\" >view without");
out.write("#routers\" >" + _("view without") + "");
else
out.write("?f=1#routers\" >view with");
out.write(" stats</a>)</h3>\n");
out.write("?f=1#routers\" >" + _("view with") + "");
out.write(" " + _("stats") + "</a>)</h3>\n");
RouterInfo ourInfo = _context.router().getRouterInfo();
renderRouterInfo(buf, ourInfo, true, true);
@ -183,7 +183,7 @@ public class NetDbRenderer {
if (versionList.size() > 0) {
Collections.sort(versionList, Collections.reverseOrder());
buf.append("<table>\n");
buf.append("<tr><th>Version</th><th>Count</th></tr>\n");
buf.append("<tr><th>" + _("Version") + "</th><th>" + _("Count") + "</th></tr>\n");
for (String routerVersion : versionList) {
int num = versions.count(routerVersion);
buf.append("<tr><td align=\"center\">").append(DataHelper.stripHTML(routerVersion));
@ -199,7 +199,7 @@ public class NetDbRenderer {
if (countryList.size() > 0) {
Collections.sort(countryList);
buf.append("<table>\n");
buf.append("<tr><th align=\"left\">Country</th><th>Count</th></tr>\n");
buf.append("<tr><th align=\"left\">" + _("Country") + "</th><th>" + _("Count") + "</th></tr>\n");
for (String country : countryList) {
int num = countries.count(country);
buf.append("<tr><td><img height=\"11\" width=\"16\" alt=\"").append(country.toUpperCase()).append("\"");
@ -222,9 +222,9 @@ public class NetDbRenderer {
String hash = info.getIdentity().getHash().toBase64();
buf.append("<table><tr><th><a name=\"").append(hash.substring(0, 6)).append("\" ></a>");
if (isUs) {
buf.append("<a name=\"our-info\" ></a><b>Our info: ").append(hash).append("</b></th></tr><tr><td>\n");
buf.append("<a name=\"our-info\" ></a><b>" + _("Our info") + ": ").append(hash).append("</b></th></tr><tr><td>\n");
} else {
buf.append("<b>Peer info for:</b> ").append(hash).append("\n");
buf.append("<b>" + _("Peer info for") + ":</b> ").append(hash).append("\n");
if (full) {
buf.append("[<a href=\"netdb.jsp\" >Back</a>]</th></tr><td>\n");
} else {
@ -234,12 +234,12 @@ public class NetDbRenderer {
long age = _context.clock().now() - info.getPublished();
if (isUs && _context.router().isHidden())
buf.append("<b>Hidden, Updated:</b> ").append(DataHelper.formatDuration(age)).append(" ago<br>\n");
buf.append("<b>" + _("Hidden") + ", " + _("Updated") + ":</b> ").append(DataHelper.formatDuration(age)).append(" " + _("ago") + "<br>\n");
else if (age > 0)
buf.append("<b>Published:</b> ").append(DataHelper.formatDuration(age)).append(" ago<br>\n");
buf.append("<b>" + _("Published") + ":</b> ").append(DataHelper.formatDuration(age)).append(" " + _("ago") + "<br>\n");
else
buf.append("<b>Published:</b> in ").append(DataHelper.formatDuration(0-age)).append("???<br>\n");
buf.append("<b>Address(es):</b> ");
buf.append("<b>" + _("Published") + ":</b> in ").append(DataHelper.formatDuration(0-age)).append("???<br>\n");
buf.append("<b>" + _("Address(es)") + ":</b> ");
String country = _context.commSystem().getCountry(info.getIdentity().getHash());
if(country != null) {
buf.append("<img height=\"11\" width=\"16\" alt=\"").append(country.toUpperCase()).append("\"");
@ -256,7 +256,7 @@ public class NetDbRenderer {
}
buf.append("</td></tr>\n");
if (full) {
buf.append("<tr><td>Stats: <br><code>\n");
buf.append("<tr><td>" + _("Stats") + ": <br><code>\n");
for (Iterator iter = info.getOptions().keySet().iterator(); iter.hasNext(); ) {
String key = (String)iter.next();
String val = info.getOption(key);

View File

@ -37,7 +37,7 @@ public class TunnelRenderer {
}
public void renderStatusHTML(Writer out) throws IOException {
out.write("<div class=\"wideload\"><h2><a name=\"exploratory\" ></a>Exploratory tunnels (<a href=\"/configtunnels.jsp#exploratory\">config</a>):</h2>\n");
out.write("<div class=\"wideload\"><h2><a name=\"exploratory\" ></a>" + _("Exploratory tunnels") + " (<a href=\"/configtunnels.jsp#exploratory\">" + _("config") + "</a>):</h2>\n");
renderPool(out, _context.tunnelManager().getInboundExploratoryPool(), _context.tunnelManager().getOutboundExploratoryPool());
List<Hash> destinations = null;
@ -56,9 +56,9 @@ public class TunnelRenderer {
if (name == null)
name = client.toBase64().substring(0,4);
out.write("<h2><a name=\"" + client.toBase64().substring(0,4)
+ "\" ></a>Client tunnels for " + name);
+ "\" ></a>" + _("Client tunnels for") + " " + name);
if (_context.clientManager().isLocal(client))
out.write(" (<a href=\"/configtunnels.jsp#" + client.toBase64().substring(0,4) +"\">config</a>):</h2>\n");
out.write(" (<a href=\"/configtunnels.jsp#" + client.toBase64().substring(0,4) +"\">" + _("config") + "</a>):</h2>\n");
else
out.write(" (dead):</h2>\n");
renderPool(out, in, outPool);
@ -66,10 +66,10 @@ public class TunnelRenderer {
List participating = _context.tunnelDispatcher().listParticipatingTunnels();
Collections.sort(participating, new TunnelComparator());
out.write("<h2><a name=\"participating\"></a>Participating tunnels:</h2><table>\n");
out.write("<tr><th>Receive on</th><th>From</th><th>"
+ "Send on</th><th>To</th><th>Expiration</th>"
+ "<th>Usage</th><th>Rate</th><th>Role</th></tr>\n");
out.write("<h2><a name=\"participating\"></a>" + _("Participating tunnels") + ":</h2><table>\n");
out.write("<tr><th>" + _("Receive on") + "</th><th>" + _("From") + "</th><th>"
+ "" + _("Send on") + "</th><th>" + _("To") + "</th><th>" + _("Expiration") + "</th>"
+ "<th>" + _("Usage") + "</th><th>" + _("Rate") + "</th><th>" + _("Role") + "</th></tr>\n");
long processed = 0;
RateStat rs = _context.statManager().getRate("tunnel.participatingMessageCount");
if (rs != null)
@ -113,17 +113,17 @@ public class TunnelRenderer {
int bps = 1024 * (int) cfg.getProcessedMessagesCount() / lifetime;
out.write(" <td class=\"cells\" align=\"center\">" + bps + "Bps</td>");
if (cfg.getSendTo() == null)
out.write(" <td class=\"cells\" align=\"center\">Outbound Endpoint</td>");
out.write(" <td class=\"cells\" align=\"center\">" + _("Outbound Endpoint") + "</td>");
else if (cfg.getReceiveFrom() == null)
out.write(" <td class=\"cells\" align=\"center\">Inbound Gateway</td>");
out.write(" <td class=\"cells\" align=\"center\">" + _("Inbound Gateway") + "</td>");
else
out.write(" <td class=\"cells\" align=\"center\">Participant</td>");
out.write(" <td class=\"cells\" align=\"center\">" + _("Participant") + "</td>");
out.write("</tr>\n");
processed += cfg.getProcessedMessagesCount();
}
out.write("</table>\n");
out.write("<div class=\"statusnotes\"><b>Inactive participating tunnels: " + inactive + "</b></div>\n");
out.write("<div class=\"statusnotes\"><b>Lifetime bandwidth usage: " + DataHelper.formatSize(processed*1024) + "B</b></div>\n");
out.write("<div class=\"statusnotes\"><b>" + _("Inactive participating tunnels") + ": " + inactive + "</b></div>\n");
out.write("<div class=\"statusnotes\"><b>" + _("Lifetime bandwidth usage") + ": " + DataHelper.formatSize(processed*1024) + "B</b></div>\n");
renderPeers(out);
}
@ -152,16 +152,16 @@ public class TunnelRenderer {
if (info.getLength() > maxLength)
maxLength = info.getLength();
}
out.write("<table><tr><th>In/Out</th><th>Expiry</th><th>Usage</th><th>Gateway</th>");
out.write("<table><tr><th>" + _("In/Out") + "</th><th>" + _("Expiry") + "</th><th>" + _("Usage") + "</th><th>" + _("Gateway") + "</th>");
if (maxLength > 3) {
out.write("<th align=\"center\" colspan=\"" + (maxLength - 2));
out.write("\">Participants</th>");
out.write("\">" + _("Participants") + "</th>");
}
else if (maxLength == 3) {
out.write("<th>Participant</th>");
out.write("<th>" + _("Participant") + "</th>");
}
if (maxLength > 1) {
out.write("<th>Endpoint</th>");
out.write("<th>" + _("Endpoint") + "</th>");
}
out.write("</tr>\n");
for (int i = 0; i < tunnels.size(); i++) {
@ -201,17 +201,17 @@ public class TunnelRenderer {
if (in != null) {
List pending = in.listPending();
if (pending.size() > 0)
out.write("<div class=\"statusnotes\"><center><b>Build in progress: " + pending.size() + " inbound</b></center></div>\n");
out.write("<div class=\"statusnotes\"><center><b>" + _("Build in progress") + ": " + pending.size() + " " + _("inbound") + "</b></center></div>\n");
live += pending.size();
}
if (outPool != null) {
List pending = outPool.listPending();
if (pending.size() > 0)
out.write("<div class=\"statusnotes\"><center><b>Build in progress: " + pending.size() + " outbound</b></center></div>\n");
out.write("<div class=\"statusnotes\"><center><b>" + _("Build in progress") + ": " + pending.size() + " " + _("outbound") + "</b></center></div>\n");
live += pending.size();
}
if (live <= 0)
out.write("<div class=\"statusnotes\"><center><b>No tunnels; waiting for the grace period to end.</center></b></div>\n");
out.write("<div class=\"statusnotes\"><center><b>" + _("No tunnels; waiting for the grace period to end.") + "</center></b></div>\n");
out.write("<div class=\"statusnotes\"><center><b>Lifetime bandwidth usage: " + DataHelper.formatSize(processedIn*1024) + "B in, " +
DataHelper.formatSize(processedOut*1024) + "B out</b></center></div>");
}
@ -230,7 +230,7 @@ public class TunnelRenderer {
List<Hash> peerList = new ArrayList(peers);
Collections.sort(peerList, new HashComparator());
out.write("<h2><a name=\"peers\"></a>Tunnel Counts By Peer:</h2>\n");
out.write("<h2><a name=\"peers\"></a>" + _("Tunnel Counts By Peer") + ":</h2>\n");
out.write("<table><tr><th>Peer</th><th>Expl. + Client</th><th>% of total</th><th>Part. from + to</th><th>% of total</th></tr>\n");
for (Hash h : peerList) {
out.write("<tr> <td class=\"cells\" align=\"center\">");
@ -249,7 +249,7 @@ public class TunnelRenderer {
out.write('0');
out.write('\n');
}
out.write("<tr class=\"tablefooter\"> <td align=\"center\"><b>Tunnels</b> <td align=\"center\"><b>" + tunnelCount);
out.write("<tr class=\"tablefooter\"> <td align=\"center\"><b>" + _("Tunnels") + "</b> <td align=\"center\"><b>" + tunnelCount);
out.write("</b> <td>&nbsp;</td> <td align=\"center\"><b>" + partCount);
out.write("</b> <td>&nbsp;</td></tr></table></div>\n");
}

View File

@ -32,7 +32,7 @@
<h3><%=intl._("Advanced I2P Configuration")%></h3>
<textarea rows="32" cols="60" name="config" wrap="off"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br><hr>
<div class="formaction">
<input type="submit" name="shouldsave" value="Apply" />
<input type="reset" value="Cancel" /><br>
<input type="submit" name="shouldsave" value="<%=intl._("Apply")%>" />
<input type="reset" value="<%=intl._("Cancel")%>" /><br>
<b><%=intl._("NOTE")%>:</b> <%=intl._("Some changes may require a restart to take effect.")%>
</div></form></div></div></div></body></html>

View File

@ -38,7 +38,7 @@ button span.hide{
<%=net.i2p.router.startup.ClientAppConfig.configFile(net.i2p.I2PAppContext.getGlobalContext()).getAbsolutePath()%>.
<%=intl._("All changes require restart to take effect.")%></i>
</p><hr><div class="formaction">
<input type="submit" name="action" value="Save Client Configuration" />
<input type="submit" name="action" value="<%=intl._("Save Client Configuration")%>" />
</div></div><h3><%=intl._("WebApp Configuration")%></h3><p>
<%=intl._("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).")%>
</p><p>
@ -48,5 +48,5 @@ button span.hide{
</p><p>
<i><%=intl._("All changes require restart to take effect.")%></i>
</p><hr><div class="formaction">
<input type="submit" name="action" value="Save WebApp Configuration" />
<input type="submit" name="action" value="<%=intl._("Save WebApp Configuration")%>" />
</div></div></form></div></div></body></html>

View File

@ -42,6 +42,6 @@
<td class="mediumtags" align="right"><%=intl._("Encryption Key")%>:</td>
<td><input type="text" size="55" name="key" /></td>
</tr><tr>
<td align="right" colspan="2"><input type="submit" name="action" value="Add key" />
<input type="submit" name="action" value="Delete key" /> <input type="reset" value="Cancel" /></td>
<td align="right" colspan="2"><input type="submit" name="action" value="<%=intl._("Add key")%>" />
<input type="submit" name="action" value="<%=intl._("Delete key")%>" /> <input type="reset" value="<%=intl._("Cancel")%>" /></td>
</tr></table></p></div></form></div></div></body></html>

View File

@ -48,6 +48,6 @@
<td><jsp:getProperty name="logginghelper" property="logLevelTable" /></td>
</tr><tr><td colspan="2"><hr></td>
</tr><tr class="tablefooter"><td colspan="2"> <div class="formaction">
<input type="submit" name="shouldsave" value="Save changes" />
<input type="reset" value="Cancel" />
<input type="submit" name="shouldsave" value="<%=intl._("Save changes")%>" />
<input type="reset" value="<%=intl._("Cancel")%>" />
</div></td></tr></table></div></form></div></div></body></html>

View File

@ -41,8 +41,8 @@
<h3><%=intl._("Manually Ban / Unban a Peer")%></h3>
<p><%=intl._("Banning will prevent the participation of this peer in tunnels you create.")%></p>
<div class="formaction">
<input type="submit" name="action" value="Ban peer until restart" />
<input type="submit" name="action" value="Unban peer" />
<input type="submit" name="action" value="<%=intl._("Ban peer until restart")%>" />
<input type="submit" name="action" value="<%=intl._("Unban peer")%>" />
<% if (! "".equals(peer)) { %>
<!-- <font color="blue">&lt;---- click to verify action</font> -->
<% } %>
@ -59,7 +59,7 @@
<input type="text" size="8" name="speed" value="<%=speed%>" />
<%=intl._("Capacity")%>:
<input type="text" size="8" name="capacity" value="<%=capacity%>" />
<input type="submit" name="action" value="Adjust peer bonuses" /></p></div>
<input type="submit" name="action" value="<%=intl._("Adjust peer bonuses")%>" /></p></div>
</form>
<a name="shitlist"> </a>
<jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />

View File

@ -26,9 +26,9 @@
<p><%=intl._("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%>
<%=intl._("If you need to kill the router immediately, that option is available as well.")%></p>
<hr><div class="formaction">
<input type="submit" name="action" value="Shutdown gracefully" />
<input type="submit" name="action" value="Shutdown immediately" />
<input type="submit" name="action" value="Cancel graceful shutdown" />
<input type="submit" name="action" value="<%=intl._("Shutdown gracefully")%>" />
<input type="submit" name="action" value="<%=intl._("Shutdown immediately")%>" />
<input type="submit" name="action" value="<%=intl._("Cancel graceful shutdown")%>" />
</div>
<% if (System.getProperty("wrapper.version") != null) { %>
<p><%=intl._("If you want the router to restart itself after shutting down, you can choose one of the following.")%>
@ -37,8 +37,8 @@
<%=intl._("A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately.")%>
<%=intl._("After tearing down the router, it will wait 1 minute before starting back up again.")%></p>
<hr><div class="formaction">
<input type="submit" name="action" value="Graceful restart" />
<input type="submit" name="action" value="Hard restart" />
<input type="submit" name="action" value="<%=intl._("Graceful restart")%>" />
<input type="submit" name="action" value="<%=intl._("Hard restart")%>" />
<% } %></div>
<% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>
@ -47,16 +47,16 @@
<%=intl._("(later on, I2P client applications will be able to integrate their own functionality into the system tray as well).")%>
<%=intl._("If you are on windows, you can either enable or disable that icon here.")%></p>
<hr><div class="formaction">
<input type="submit" name="action" value="Show systray icon" />
<input type="submit" name="action" value="Hide systray icon" />
<input type="submit" name="action" value="<%=intl._("Show systray icon")%>" />
<input type="submit" name="action" value="<%=intl._("Hide systray icon")%>" />
</div><h3><%=intl._("Run on startup")%></h3>
<p><%=intl._("You can control whether I2P is run on startup or not by selecting one of the following options")%> -
<%=intl._("I2P will install (or remove) a service accordingly.")%>
<%=intl._("If you prefer the command line, you can also run the ")%> <code>install_i2p_service_winnt.bat</code> (<%=intl._("or")%>
<code>uninstall_i2p_service_winnt.bat</code>).</p>
<hr><div class="formaction">
<input type="submit" name="action" value="Run I2P on startup" />
<input type="submit" name="action" value="Don't run I2P on startup" /></div>
<input type="submit" name="action" value="<%=intl._("Run I2P on startup")%>" />
<input type="submit" name="action" value="<%=intl._("Don't run I2P on startup")%>" /></div>
<p><b><%=intl._("Note")%>:</b> <%=intl._("If you are running I2P as service right now, removing it will shut down your router immediately.")%>
<%=intl._("You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat.")%></p>
<% } %>
@ -74,6 +74,6 @@
<p><%=intl._("I2P's main configuration interface is this web console, so for your convenience I2P can launch a web browser on startup pointing at")%>
<a href="http://127.0.0.1:7657/index.jsp">http://127.0.0.1:7657/index.jsp</a> .</p>
<hr><div class="formaction">
<input type="submit" name="action" value="View console on startup" />
<input type="submit" name="action" value="Do not view console on startup" />
<input type="submit" name="action" value="<%=intl._("View console on startup")%>" />
<input type="submit" name="action" value="<%=intl._("Do not view console on startup")%>" />
</div></form></div></div></body></html>

View File

@ -42,6 +42,6 @@
<jsp:getProperty name="uihelper" property="langSettings" />
<%=uihelper._("Please contribute to the router console translation project! Contact the developers on IRC #i2p to help.")%>
<hr><div class="formaction">
<input type="submit" name="shouldsave" value="Apply" > <input type="reset" value="Cancel" >
<input type="submit" name="shouldsave" value="<%=intl._("Apply")%>" > <input type="reset" value="<%=intl._("Cancel")%>" >
</div></form></div>
</div></body></html>

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P routerconsole\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-25 17:07+0000\n"
"POT-Creation-Date: 2009-10-26 10:43+0000\n"
"PO-Revision-Date: 2009-10-19 12:50+0000\n"
"Last-Translator: foo <foo@bar>\n"
"Language-Team: foo <foo@bar>\n"
@ -48,7 +48,7 @@ msgid "Share"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:363
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:341
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337
msgid "NOTE"
msgstr ""
@ -80,6 +80,7 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:373
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:502
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:367
#: src/net/i2p/router/web/ConfigNetHandler.java:47
#: src/net/i2p/router/web/ConfigNetHandler.java:249
msgid "Save changes"
@ -87,6 +88,10 @@ msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:369
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:357
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:390
msgid "Cancel"
msgstr ""
@ -146,7 +151,7 @@ msgid "Select Interface"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:419
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:370
msgid "or"
msgstr ""
@ -213,7 +218,7 @@ msgid "Specify Port"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:363
msgid "Note"
msgstr ""
@ -385,6 +390,7 @@ msgid "The router is currently testing whether your UDP port is firewalled."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
#: src/net/i2p/router/web/NetDbRenderer.java:237
msgid "Hidden"
msgstr ""
@ -576,7 +582,12 @@ msgstr ""
msgid "Advanced I2P Configuration"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:355
msgid "Apply"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:343
msgid "Some changes may require a restart to take effect."
msgstr ""
@ -603,15 +614,20 @@ msgid "To change other client options, edit the file"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:365
msgid "All changes require restart to take effect."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
msgid "WebApp Configuration"
#: src/net/i2p/router/web/ConfigClientsHandler.java:32
msgid "Save Client Configuration"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
msgid "WebApp Configuration"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
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 "
@ -621,7 +637,7 @@ msgid ""
"all (e.g. addressbook)."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
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 "
@ -629,6 +645,11 @@ msgid ""
"preferred method."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:367
#: src/net/i2p/router/web/ConfigClientsHandler.java:34
msgid "Save WebApp Configuration"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
msgid "config keyring"
msgstr ""
@ -666,6 +687,16 @@ msgstr ""
msgid "Encryption Key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:349
#: src/net/i2p/router/web/ConfigKeyringHandler.java:18
msgid "Add key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:351
#: src/net/i2p/router/web/ConfigKeyringHandler.java:19
msgid "Delete key"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
msgid "config logging"
msgstr ""
@ -748,11 +779,22 @@ 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:352
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:348
#: src/net/i2p/router/web/ConfigPeerHandler.java:20
msgid "Ban peer until restart"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:350
#: src/net/i2p/router/web/ConfigPeerHandler.java:28
msgid "Unban peer"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:356
#: src/net/i2p/router/web/ConfigPeerHandler.java:39
msgid "Adjust Profile Bonuses"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:354
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:358
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 "
@ -760,18 +802,22 @@ msgid ""
"displayed on the"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:356
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:360
msgid "profiles page"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:364
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368
msgid "Speed"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:372
msgid "Capacity"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:376
msgid "Adjust peer bonuses"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
msgid "config service"
msgstr ""
@ -795,99 +841,154 @@ 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:324
#: src/net/i2p/router/web/ConfigServiceHandler.java:53
msgid "Shutdown gracefully"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326
#: src/net/i2p/router/web/ConfigServiceHandler.java:57
msgid "Shutdown immediately"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:328
#: src/net/i2p/router/web/ConfigServiceHandler.java:61
msgid "Cancel graceful shutdown"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
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:328
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:334
msgid "This is useful in some situations"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:336
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:332
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:338
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:334
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340
msgid ""
"After tearing down the router, it will wait 1 minute before starting back up "
"again."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342
#: src/net/i2p/router/web/ConfigServiceHandler.java:64
msgid "Graceful restart"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344
#: src/net/i2p/router/web/ConfigServiceHandler.java:68
msgid "Hard restart"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350
msgid "Systray integration"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352
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 ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
msgid ""
"(later on, I2P client applications will be able to integrate their own "
"functionality into the system tray as well)."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:346
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356
msgid "If you are on windows, you can either enable or disable that icon here."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:348
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358
#: src/net/i2p/router/web/ConfigServiceHandler.java:91
msgid "Show systray icon"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:360
#: src/net/i2p/router/web/ConfigServiceHandler.java:103
msgid "Hide systray icon"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362
msgid "Run on startup"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:364
msgid ""
"You can control whether I2P is run on startup or not by selecting one of the "
"following options"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:366
msgid "I2P will install (or remove) a service accordingly."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:368
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:360
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:372
#: src/net/i2p/router/web/ConfigServiceHandler.java:80
msgid "Run I2P on startup"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374
#: src/net/i2p/router/web/ConfigServiceHandler.java:82
msgid "Don't run I2P on startup"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:378
msgid ""
"If you are running I2P as service right now, removing it will shut down your "
"router immediately."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:380
msgid ""
"You may want to consider shutting down gracefully, as above, then running "
"uninstall_i2p_service_winnt.bat."
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:370
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:388
msgid "Debugging"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:392
msgid "Launch browser on router startup?"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:394
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 ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:396
#: src/net/i2p/router/web/ConfigServiceHandler.java:115
msgid "View console on startup"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:398
#: src/net/i2p/router/web/ConfigServiceHandler.java:118
msgid "Do not view console on startup"
msgstr ""
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
msgid "config stats"
msgstr ""
@ -1184,15 +1285,48 @@ msgstr ""
msgid "I2P Tunnel Summary"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
msgid "Class and arguments"
#: src/net/i2p/router/web/ConfigClientsHandler.java:59
#: src/net/i2p/router/web/ConfigKeyringHandler.java:49
msgid "Unsupported"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:74
msgid ""
"Client configuration saved successfully - restart required to take effect."
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:80
msgid "Bad client index."
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:85
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
#: src/net/i2p/router/web/SummaryBarRenderer.java:359
msgid "Client"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:85
#: src/net/i2p/router/web/ConfigClientsHandler.java:120
msgid "started"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:102
msgid ""
"WebApp configuration saved successfully - restart required to take effect."
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:122
msgid "Failed to start"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHandler.java:128
msgid "Failed to find server."
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
msgid "Class and arguments"
msgstr ""
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
#: src/net/i2p/router/web/ConfigClientsHelper.java:33
msgid "Run at Startup?"
@ -1215,6 +1349,22 @@ msgstr ""
msgid "Start"
msgstr ""
#: src/net/i2p/router/web/ConfigKeyringHandler.java:21
msgid "You must enter a destination"
msgstr ""
#: src/net/i2p/router/web/ConfigKeyringHandler.java:23
msgid "You must enter a key"
msgstr ""
#: src/net/i2p/router/web/ConfigKeyringHandler.java:36
msgid "Invalid destination or key"
msgstr ""
#: src/net/i2p/router/web/ConfigKeyringHandler.java:45
msgid "Invalid destination"
msgstr ""
#: src/net/i2p/router/web/ConfigNetHandler.java:119
msgid "Rechecking router reachability..."
msgstr ""
@ -1293,42 +1443,54 @@ msgstr ""
msgid "Updated bandwidth limits"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:53
msgid "Shutdown gracefully"
#: src/net/i2p/router/web/ConfigPeerHandler.java:24
#: src/net/i2p/router/web/ConfigPeerHandler.java:33
#: src/net/i2p/router/web/ConfigPeerHandler.java:35
msgid "Peer"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:24
msgid "banned until restart"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:27
#: src/net/i2p/router/web/ConfigPeerHandler.java:38
#: src/net/i2p/router/web/ConfigPeerHandler.java:59
msgid "Invalid peer"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:33
msgid "unbanned"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:35
msgid "is not currently banned"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:47
msgid "Bad speed value"
msgstr ""
#: src/net/i2p/router/web/ConfigPeerHandler.java:52
msgid "Bad capacity value"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:56
msgid "Graceful shutdown initiated"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:57
msgid "Shutdown immediately"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:60
msgid "Shutdown immediately! boom bye bye bad bwoy"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:61
msgid "Cancel graceful shutdown"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:63
msgid "Graceful shutdown cancelled"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:64
msgid "Graceful restart"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:67
msgid "Graceful restart requested"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:68
msgid "Hard restart"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:71
msgid "Hard restart requested"
msgstr ""
@ -1349,18 +1511,6 @@ msgstr ""
msgid "Rekeying after graceful shutdown"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:80
msgid "Run I2P on startup"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:82
msgid "Don't run I2P on startup"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:91
msgid "Show systray icon"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:96
msgid "System tray icon enabled."
msgstr ""
@ -1375,26 +1525,14 @@ msgstr ""
msgid "Warning: unable to contact the systray manager"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:103
msgid "Hide systray icon"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:108
msgid "System tray icon disabled."
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:115
msgid "View console on startup"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:117
msgid "Console is to be shown on startup"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:118
msgid "Do not view console on startup"
msgstr ""
#: src/net/i2p/router/web/ConfigServiceHandler.java:120
msgid "Console is not to be shown on startup"
msgstr ""
@ -1415,6 +1553,102 @@ msgstr ""
msgid "Warning: unable to remove the service"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHandler.java:140
msgid "Exploratory tunnel configuration saved successfully."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHandler.java:142
msgid ""
"Error saving the configuration (applied but not saved) - please see the "
"error logs."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:21
#: src/net/i2p/router/web/TunnelRenderer.java:40
msgid "Exploratory tunnels"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:41
#: src/net/i2p/router/web/TunnelRenderer.java:59
msgid "Client tunnels for"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:64
msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:69
msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:72
msgid "PERFORMANCE WARNING - Settings include very long tunnels."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:75
msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:77
msgid "Inbound"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:77
msgid "Outbound"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:82
msgid "Depth"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:85
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:87
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:92
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:94
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:102
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:103
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:104
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:106
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:108
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:113
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:114
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:115
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:117
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:119
msgid "hop"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:99
msgid "Randomization"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:123
msgid "Quantity"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:126
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:128
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:133
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:135
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:143
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:145
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:150
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:152
msgid "tunnel"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:140
msgid "Backup quantity"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:162
msgid "Inbound options"
msgstr ""
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:175
msgid "Outbound options"
msgstr ""
#: src/net/i2p/router/web/ConfigUIHelper.java:6
msgid "classic"
msgstr ""
@ -1518,6 +1752,115 @@ msgstr ""
msgid "Download, verify, and restart"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:58
msgid "Network Database RouterInfo Lookup"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:73
msgid "Router"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:73
msgid "not found in network database"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:85
#: src/net/i2p/router/web/NetDbRenderer.java:138
msgid "Network Database Contents"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:86
#: src/net/i2p/router/web/NetDbRenderer.java:138
msgid "View"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:97
msgid "Local"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:99
msgid "Unpublished"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:100
#: src/net/i2p/router/web/NetDbRenderer.java:107
msgid "Destination"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:121
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Gateway"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:123
msgid "Tunnel"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:140
msgid "Not initialized"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:147
msgid "Routers"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:149
msgid "view without"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:151
msgid "view with"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:152
msgid "stats"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:186
#: src/net/i2p/router/web/NetDbRenderer.java:202
msgid "Count"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:186
#: src/net/i2p/router/web/SummaryBarRenderer.java:150
msgid "Version"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:202
msgid "Country"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:225
msgid "Our info"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:227
msgid "Peer info for"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:237
msgid "Updated"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:237
#: src/net/i2p/router/web/NetDbRenderer.java:239
msgid "ago"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:239
#: src/net/i2p/router/web/NetDbRenderer.java:241
msgid "Published"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:242
msgid "Address(es)"
msgstr ""
#: src/net/i2p/router/web/NetDbRenderer.java:259
#: src/net/i2p/router/web/SummaryBarRenderer.java:124
msgid "Stats"
msgstr ""
#: src/net/i2p/router/web/SummaryBarRenderer.java:42
msgid "I2P Services"
msgstr ""
@ -1568,6 +1911,7 @@ msgid "View existing tunnels and tunnel build status"
msgstr ""
#: src/net/i2p/router/web/SummaryBarRenderer.java:82
#: src/net/i2p/router/web/TunnelRenderer.java:252
msgid "Tunnels"
msgstr ""
@ -1625,10 +1969,6 @@ msgstr ""
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 ""
@ -1649,10 +1989,6 @@ msgstr ""
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 ""
@ -1758,3 +2094,103 @@ msgstr ""
#: src/net/i2p/router/web/SummaryBarRenderer.java:398
msgid "Backlog"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:40
#: src/net/i2p/router/web/TunnelRenderer.java:61
msgid "config"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:69
msgid "Participating tunnels"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:70
msgid "From"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:70
msgid "Receive on"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "Expiration"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "Send on"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "To"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:72
msgid "Rate"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:72
msgid "Role"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:72
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Usage"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:116
msgid "Outbound Endpoint"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:118
msgid "Inbound Gateway"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:120
#: src/net/i2p/router/web/TunnelRenderer.java:161
msgid "Participant"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:125
msgid "Inactive participating tunnels"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:126
msgid "Lifetime bandwidth usage"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Expiry"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "In/Out"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:158
msgid "Participants"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:164
msgid "Endpoint"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:204
#: src/net/i2p/router/web/TunnelRenderer.java:210
msgid "Build in progress"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:204
msgid "inbound"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:210
msgid "outbound"
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:214
msgid "No tunnels; waiting for the grace period to end."
msgstr ""
#: src/net/i2p/router/web/TunnelRenderer.java:233
msgid "Tunnel Counts By Peer"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: I2P routerconsole\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-10-25 17:07+0000\n"
"POT-Creation-Date: 2009-10-26 10:43+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: walking <walking@mail.i2p>\n"
"Language-Team: \n"
@ -47,7 +47,7 @@ msgid "Share"
msgstr "共享"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:363
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:341
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337
msgid "NOTE"
msgstr "注意"
@ -74,6 +74,7 @@ msgstr "共享的带宽越多,您的匿名性越强同时能帮助网络成长
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:373
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:502
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:367
#: src/net/i2p/router/web/ConfigNetHandler.java:47
#: src/net/i2p/router/web/ConfigNetHandler.java:249
msgid "Save changes"
@ -81,6 +82,10 @@ msgstr "保存修改"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:369
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:357
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:390
msgid "Cancel"
msgstr "取消"
@ -140,7 +145,7 @@ msgid "Select Interface"
msgstr "选择网络接口"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:419
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:370
msgid "or"
msgstr "或"
@ -206,7 +211,7 @@ msgid "Specify Port"
msgstr "指定端口"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:363
msgid "Note"
msgstr "注意"
@ -346,6 +351,7 @@ 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:573
#: src/net/i2p/router/web/NetDbRenderer.java:237
msgid "Hidden"
msgstr "隐藏(Hidden)"
@ -513,7 +519,12 @@ msgstr "I2P 高级设置"
msgid "Advanced I2P Configuration"
msgstr "I2P 高级设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:339
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:337
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:355
msgid "Apply"
msgstr "应用"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:343
msgid "Some changes may require a restart to take effect."
msgstr "某些设置需要程序重启后生效。"
@ -538,22 +549,32 @@ msgid "To change other client options, edit the file"
msgstr "修改其他客户端设置请编辑文件"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:365
msgid "All changes require restart to take effect."
msgstr "所有更改均需要程序重启才能生效。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:355
#: src/net/i2p/router/web/ConfigClientsHandler.java:32
msgid "Save Client Configuration"
msgstr "保存客户程序设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
msgid "WebApp Configuration"
msgstr "WebApp 设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
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:359
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
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/configclients_jsp.java:367
#: src/net/i2p/router/web/ConfigClientsHandler.java:34
msgid "Save WebApp Configuration"
msgstr "保存 WebApp 设置"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
msgid "config keyring"
msgstr "钥匙环设置"
@ -590,6 +611,16 @@ msgstr "目标(Dest.)名称, HASH, 或完整公钥"
msgid "Encryption Key"
msgstr "加密密钥"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:349
#: src/net/i2p/router/web/ConfigKeyringHandler.java:18
msgid "Add key"
msgstr "添加密钥"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:351
#: src/net/i2p/router/web/ConfigKeyringHandler.java:19
msgid "Delete key"
msgstr "删除密钥"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
msgid "config logging"
msgstr "日志设置"
@ -666,26 +697,41 @@ msgstr "手动封锁/解封某个节点"
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:352
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:348
#: src/net/i2p/router/web/ConfigPeerHandler.java:20
msgid "Ban peer until restart"
msgstr "封锁节点直到重启"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:350
#: src/net/i2p/router/web/ConfigPeerHandler.java:28
msgid "Unban peer"
msgstr "节点解封"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:356
#: src/net/i2p/router/web/ConfigPeerHandler.java:39
msgid "Adjust Profile Bonuses"
msgstr "调整节点评分"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:354
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:358
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:356
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:360
msgid "profiles page"
msgstr "节点信息页面"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:364
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368
msgid "Speed"
msgstr "速度"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:368
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:372
msgid "Capacity"
msgstr "容量"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:376
msgid "Adjust peer bonuses"
msgstr "调整节点评分"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
msgid "config service"
msgstr "服务设置"
@ -706,78 +752,133 @@ msgstr "平滑关闭(Graceful Shutdown)让路由器在关闭前完成已达成
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:324
#: src/net/i2p/router/web/ConfigServiceHandler.java:53
msgid "Shutdown gracefully"
msgstr "平滑关闭"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326
#: src/net/i2p/router/web/ConfigServiceHandler.java:57
msgid "Shutdown immediately"
msgstr "立刻关闭"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:328
#: src/net/i2p/router/web/ConfigServiceHandler.java:61
msgid "Cancel graceful shutdown"
msgstr "取消平滑关闭"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
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:328
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:334
msgid "This is useful in some situations"
msgstr "重启在某些情况下有用"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:330
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:336
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:332
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:338
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:334
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:340
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:340
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342
#: src/net/i2p/router/web/ConfigServiceHandler.java:64
msgid "Graceful restart"
msgstr "平滑重启"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:344
#: src/net/i2p/router/web/ConfigServiceHandler.java:68
msgid "Hard restart"
msgstr "硬重启"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350
msgid "Systray integration"
msgstr "使用系统托盘"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:342
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:352
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:344
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
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:346
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:356
msgid "If you are on windows, you can either enable or disable that icon here."
msgstr "如果你使用Windows, 可以在这里开启或关闭这个托盘图标。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:348
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:358
#: src/net/i2p/router/web/ConfigServiceHandler.java:91
msgid "Show systray icon"
msgstr "显示托盘图标"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:360
#: src/net/i2p/router/web/ConfigServiceHandler.java:103
msgid "Hide systray icon"
msgstr "隐藏系统图标"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:362
msgid "Run on startup"
msgstr "系统启动时运行"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:350
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:364
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:352
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:366
msgid "I2P will install (or remove) a service accordingly."
msgstr "I2P将相应的将自身安装为服务(或卸载服务)。"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:354
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:368
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:360
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:372
#: src/net/i2p/router/web/ConfigServiceHandler.java:80
msgid "Run I2P on startup"
msgstr "系统启动时运行I2P"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374
#: src/net/i2p/router/web/ConfigServiceHandler.java:82
msgid "Don't run I2P on startup"
msgstr "系统启动时不运行I2P"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:378
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:362
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:380
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:370
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:388
msgid "Debugging"
msgstr "调试"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:374
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:392
msgid "Launch browser on router startup?"
msgstr "路由器启动时运行浏览器?"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:376
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:394
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/configservice_jsp.java:396
#: src/net/i2p/router/web/ConfigServiceHandler.java:115
msgid "View console on startup"
msgstr "程序启动时显示控制台"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:398
#: src/net/i2p/router/web/ConfigServiceHandler.java:118
msgid "Do not view console on startup"
msgstr "启动后不打开控制台"
#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:107
msgid "config stats"
msgstr "统计设置"
@ -1063,15 +1164,46 @@ msgstr "隧道概况"
msgid "I2P Tunnel Summary"
msgstr "I2P 隧道概况"
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
msgid "Class and arguments"
msgstr "类与"
#: src/net/i2p/router/web/ConfigClientsHandler.java:59
#: src/net/i2p/router/web/ConfigKeyringHandler.java:49
msgid "Unsupported"
msgstr "未支持的"
#: src/net/i2p/router/web/ConfigClientsHandler.java:74
msgid "Client configuration saved successfully - restart required to take effect."
msgstr "客户程序设置保存成功 - 程序重启后生效"
#: src/net/i2p/router/web/ConfigClientsHandler.java:80
msgid "Bad client index."
msgstr "客户程序索引无效"
#: src/net/i2p/router/web/ConfigClientsHandler.java:85
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
#: src/net/i2p/router/web/SummaryBarRenderer.java:359
msgid "Client"
msgstr "客户"
#: src/net/i2p/router/web/ConfigClientsHandler.java:85
#: src/net/i2p/router/web/ConfigClientsHandler.java:120
msgid "started"
msgstr "已启动"
#: src/net/i2p/router/web/ConfigClientsHandler.java:102
msgid "WebApp configuration saved successfully - restart required to take effect."
msgstr "WebApp设置保存成功 - 程序重启后生效"
#: src/net/i2p/router/web/ConfigClientsHandler.java:122
msgid "Failed to start"
msgstr "启动失败"
#: src/net/i2p/router/web/ConfigClientsHandler.java:128
msgid "Failed to find server."
msgstr "服务器或服务程序查找失败。"
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
msgid "Class and arguments"
msgstr "类与参数"
#: src/net/i2p/router/web/ConfigClientsHelper.java:17
#: src/net/i2p/router/web/ConfigClientsHelper.java:33
msgid "Run at Startup?"
@ -1094,6 +1226,22 @@ msgstr "Web程序(WebApp)"
msgid "Start"
msgstr "启动"
#: src/net/i2p/router/web/ConfigKeyringHandler.java:21
msgid "You must enter a destination"
msgstr "您必须输入一个目标"
#: src/net/i2p/router/web/ConfigKeyringHandler.java:23
msgid "You must enter a key"
msgstr "您必须输入一个密钥"
#: src/net/i2p/router/web/ConfigKeyringHandler.java:36
msgid "Invalid destination or key"
msgstr "目标或密钥无效"
#: src/net/i2p/router/web/ConfigKeyringHandler.java:45
msgid "Invalid destination"
msgstr "目标无效"
#: src/net/i2p/router/web/ConfigNetHandler.java:119
msgid "Rechecking router reachability..."
msgstr "正在重检查路由连通性..."
@ -1170,42 +1318,54 @@ msgstr "正在更新共享带宽比例"
msgid "Updated bandwidth limits"
msgstr "带宽限制更新完毕"
#: src/net/i2p/router/web/ConfigServiceHandler.java:53
msgid "Shutdown gracefully"
msgstr "平滑关闭"
#: src/net/i2p/router/web/ConfigPeerHandler.java:24
#: src/net/i2p/router/web/ConfigPeerHandler.java:33
#: src/net/i2p/router/web/ConfigPeerHandler.java:35
msgid "Peer"
msgstr "节点"
#: src/net/i2p/router/web/ConfigPeerHandler.java:24
msgid "banned until restart"
msgstr "已封锁直到重启"
#: src/net/i2p/router/web/ConfigPeerHandler.java:27
#: src/net/i2p/router/web/ConfigPeerHandler.java:38
#: src/net/i2p/router/web/ConfigPeerHandler.java:59
msgid "Invalid peer"
msgstr "无效节点"
#: src/net/i2p/router/web/ConfigPeerHandler.java:33
msgid "unbanned"
msgstr "已解封"
#: src/net/i2p/router/web/ConfigPeerHandler.java:35
msgid "is not currently banned"
msgstr "目前未封锁"
#: src/net/i2p/router/web/ConfigPeerHandler.java:47
msgid "Bad speed value"
msgstr "速度值无效"
#: src/net/i2p/router/web/ConfigPeerHandler.java:52
msgid "Bad capacity value"
msgstr "容量值无效"
#: src/net/i2p/router/web/ConfigServiceHandler.java:56
msgid "Graceful shutdown initiated"
msgstr "开始平滑关闭"
#: src/net/i2p/router/web/ConfigServiceHandler.java:57
msgid "Shutdown immediately"
msgstr "立刻关闭"
#: src/net/i2p/router/web/ConfigServiceHandler.java:60
msgid "Shutdown immediately! boom bye bye bad bwoy"
msgstr "立即关闭!不推荐"
#: src/net/i2p/router/web/ConfigServiceHandler.java:61
msgid "Cancel graceful shutdown"
msgstr "取消平滑关闭"
#: src/net/i2p/router/web/ConfigServiceHandler.java:63
msgid "Graceful shutdown cancelled"
msgstr "平滑关闭已取消"
#: src/net/i2p/router/web/ConfigServiceHandler.java:64
msgid "Graceful restart"
msgstr "平滑重启"
#: src/net/i2p/router/web/ConfigServiceHandler.java:67
msgid "Graceful restart requested"
msgstr "平滑重启已请求"
#: src/net/i2p/router/web/ConfigServiceHandler.java:68
msgid "Hard restart"
msgstr "硬重启"
#: src/net/i2p/router/web/ConfigServiceHandler.java:71
msgid "Hard restart requested"
msgstr "硬重启已请求"
@ -1226,18 +1386,6 @@ msgstr "更换密钥并关闭"
msgid "Rekeying after graceful shutdown"
msgstr "平滑关闭后更换密钥"
#: src/net/i2p/router/web/ConfigServiceHandler.java:80
msgid "Run I2P on startup"
msgstr "系统启动时运行I2P"
#: src/net/i2p/router/web/ConfigServiceHandler.java:82
msgid "Don't run I2P on startup"
msgstr "系统启动时不运行I2P"
#: src/net/i2p/router/web/ConfigServiceHandler.java:91
msgid "Show systray icon"
msgstr "显示托盘图标"
#: src/net/i2p/router/web/ConfigServiceHandler.java:96
msgid "System tray icon enabled."
msgstr "系统托盘图标已启用"
@ -1252,26 +1400,14 @@ msgstr "您的平台不支持系统托盘图标功能"
msgid "Warning: unable to contact the systray manager"
msgstr "警告:与托盘管理器通讯失败"
#: src/net/i2p/router/web/ConfigServiceHandler.java:103
msgid "Hide systray icon"
msgstr "隐藏系统图标"
#: src/net/i2p/router/web/ConfigServiceHandler.java:108
msgid "System tray icon disabled."
msgstr "系统托盘已禁用"
#: src/net/i2p/router/web/ConfigServiceHandler.java:115
msgid "View console on startup"
msgstr "程序启动时显示控制台"
#: src/net/i2p/router/web/ConfigServiceHandler.java:117
msgid "Console is to be shown on startup"
msgstr "启动后显示控制台"
#: src/net/i2p/router/web/ConfigServiceHandler.java:118
msgid "Do not view console on startup"
msgstr "启动后不打开控制台"
#: src/net/i2p/router/web/ConfigServiceHandler.java:120
msgid "Console is not to be shown on startup"
msgstr "启动后不显示控制台"
@ -1292,6 +1428,100 @@ msgstr "服务已卸载"
msgid "Warning: unable to remove the service"
msgstr "警告:无法卸载服务"
#: src/net/i2p/router/web/ConfigTunnelsHandler.java:140
msgid "Exploratory tunnel configuration saved successfully."
msgstr "探索隧道设置保存成功。"
#: src/net/i2p/router/web/ConfigTunnelsHandler.java:142
msgid "Error saving the configuration (applied but not saved) - please see the error logs."
msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:21
#: src/net/i2p/router/web/TunnelRenderer.java:40
msgid "Exploratory tunnels"
msgstr "探测隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:41
#: src/net/i2p/router/web/TunnelRenderer.java:59
msgid "Client tunnels for"
msgstr "客户隧道 - "
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:64
msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
msgstr "匿名性警告 - 设置中包括 0-跳点 隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:69
msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
msgstr "匿名性警告 - 设置中包括 1-跳点 隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:72
msgid "PERFORMANCE WARNING - Settings include very long tunnels."
msgstr "性能警告 - 设置中包括长隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:75
msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
msgstr "性能警告 - 设置中包括高质量隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:77
msgid "Inbound"
msgstr "入站"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:77
msgid "Outbound"
msgstr "出站"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:82
msgid "Depth"
msgstr "深度"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:85
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:87
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:92
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:94
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:102
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:103
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:104
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:106
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:108
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:113
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:114
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:115
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:117
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:119
msgid "hop"
msgstr "跳点"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:99
msgid "Randomization"
msgstr "随机"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:123
msgid "Quantity"
msgstr "质量"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:126
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:128
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:133
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:135
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:143
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:145
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:150
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:152
msgid "tunnel"
msgstr "隧道"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:140
msgid "Backup quantity"
msgstr "备用质量"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:162
msgid "Inbound options"
msgstr "入站选项"
#: src/net/i2p/router/web/ConfigTunnelsHelper.java:175
msgid "Outbound options"
msgstr "出站选项"
#: src/net/i2p/router/web/ConfigUIHelper.java:6
msgid "classic"
msgstr "经典"
@ -1338,7 +1568,7 @@ msgstr "有更新可用,点左侧按钮下载"
#: src/net/i2p/router/web/ConfigUpdateHandler.java:65
msgid "No update available"
msgstr "无可用更新"
msgstr "无更新"
#: src/net/i2p/router/web/ConfigUpdateHandler.java:72
msgid "Updating news URL to"
@ -1395,6 +1625,115 @@ msgstr "仅下载并验证"
msgid "Download, verify, and restart"
msgstr "仅下载、验证并重启"
#: src/net/i2p/router/web/NetDbRenderer.java:58
msgid "Network Database RouterInfo Lookup"
msgstr "网络数据库 RouterInfo 检索"
#: src/net/i2p/router/web/NetDbRenderer.java:73
msgid "Router"
msgstr "路由器"
#: src/net/i2p/router/web/NetDbRenderer.java:73
msgid "not found in network database"
msgstr "在网络数据库概况未找到"
#: src/net/i2p/router/web/NetDbRenderer.java:85
#: src/net/i2p/router/web/NetDbRenderer.java:138
msgid "Network Database Contents"
msgstr "网络数据库内容"
#: src/net/i2p/router/web/NetDbRenderer.java:86
#: src/net/i2p/router/web/NetDbRenderer.java:138
msgid "View"
msgstr "查看"
#: src/net/i2p/router/web/NetDbRenderer.java:97
msgid "Local"
msgstr "本地"
#: src/net/i2p/router/web/NetDbRenderer.java:99
msgid "Unpublished"
msgstr "未发布"
#: src/net/i2p/router/web/NetDbRenderer.java:100
#: src/net/i2p/router/web/NetDbRenderer.java:107
msgid "Destination"
msgstr "目标"
#: src/net/i2p/router/web/NetDbRenderer.java:121
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Gateway"
msgstr "网关"
#: src/net/i2p/router/web/NetDbRenderer.java:123
msgid "Tunnel"
msgstr "隧道"
#: src/net/i2p/router/web/NetDbRenderer.java:140
msgid "Not initialized"
msgstr "未初始化"
#: src/net/i2p/router/web/NetDbRenderer.java:147
msgid "Routers"
msgstr "路由器"
#: src/net/i2p/router/web/NetDbRenderer.java:149
msgid "view without"
msgstr "查看不带"
#: src/net/i2p/router/web/NetDbRenderer.java:151
msgid "view with"
msgstr "查看带"
#: src/net/i2p/router/web/NetDbRenderer.java:152
msgid "stats"
msgstr "统计"
#: src/net/i2p/router/web/NetDbRenderer.java:186
#: src/net/i2p/router/web/NetDbRenderer.java:202
msgid "Count"
msgstr "计数"
#: src/net/i2p/router/web/NetDbRenderer.java:186
#: src/net/i2p/router/web/SummaryBarRenderer.java:150
msgid "Version"
msgstr "版本"
#: src/net/i2p/router/web/NetDbRenderer.java:202
msgid "Country"
msgstr "国家"
#: src/net/i2p/router/web/NetDbRenderer.java:225
msgid "Our info"
msgstr "我方信息"
#: src/net/i2p/router/web/NetDbRenderer.java:227
msgid "Peer info for"
msgstr "节点信息"
#: src/net/i2p/router/web/NetDbRenderer.java:237
msgid "Updated"
msgstr "已更新"
#: src/net/i2p/router/web/NetDbRenderer.java:237
#: src/net/i2p/router/web/NetDbRenderer.java:239
msgid "ago"
msgstr "前"
#: src/net/i2p/router/web/NetDbRenderer.java:239
#: src/net/i2p/router/web/NetDbRenderer.java:241
msgid "Published"
msgstr "发布"
#: src/net/i2p/router/web/NetDbRenderer.java:242
msgid "Address(es)"
msgstr "地址"
#: src/net/i2p/router/web/NetDbRenderer.java:259
#: src/net/i2p/router/web/SummaryBarRenderer.java:124
msgid "Stats"
msgstr "统计数据"
#: src/net/i2p/router/web/SummaryBarRenderer.java:42
msgid "I2P Services"
msgstr "I2P 服务"
@ -1445,6 +1784,7 @@ msgid "View existing tunnels and tunnel build status"
msgstr "查看现存隧道及隧道的建立状态"
#: src/net/i2p/router/web/SummaryBarRenderer.java:82
#: src/net/i2p/router/web/TunnelRenderer.java:252
msgid "Tunnels"
msgstr "隧道"
@ -1502,10 +1842,6 @@ msgstr "统计图"
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 "I2P路由帮助"
@ -1526,10 +1862,6 @@ msgstr "切勿将其告诉任何人"
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 "本次路由运行时间"
@ -1635,6 +1967,106 @@ msgstr "隧道延迟"
msgid "Backlog"
msgstr "积压"
#: src/net/i2p/router/web/TunnelRenderer.java:40
#: src/net/i2p/router/web/TunnelRenderer.java:61
msgid "config"
msgstr "设置"
#: src/net/i2p/router/web/TunnelRenderer.java:69
msgid "Participating tunnels"
msgstr "共享隧道"
#: src/net/i2p/router/web/TunnelRenderer.java:70
msgid "From"
msgstr "从"
#: src/net/i2p/router/web/TunnelRenderer.java:70
msgid "Receive on"
msgstr "接收"
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "Expiration"
msgstr "到期"
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "Send on"
msgstr "发送"
#: src/net/i2p/router/web/TunnelRenderer.java:71
msgid "To"
msgstr "至"
#: src/net/i2p/router/web/TunnelRenderer.java:72
msgid "Rate"
msgstr "速度"
#: src/net/i2p/router/web/TunnelRenderer.java:72
msgid "Role"
msgstr "职能"
#: src/net/i2p/router/web/TunnelRenderer.java:72
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Usage"
msgstr "使用情况"
#: src/net/i2p/router/web/TunnelRenderer.java:116
msgid "Outbound Endpoint"
msgstr "出站终端"
#: src/net/i2p/router/web/TunnelRenderer.java:118
msgid "Inbound Gateway"
msgstr "入站网关"
#: src/net/i2p/router/web/TunnelRenderer.java:120
#: src/net/i2p/router/web/TunnelRenderer.java:161
msgid "Participant"
msgstr "参与节点"
#: src/net/i2p/router/web/TunnelRenderer.java:125
msgid "Inactive participating tunnels"
msgstr "不活跃的共享隧道"
#: src/net/i2p/router/web/TunnelRenderer.java:126
msgid "Lifetime bandwidth usage"
msgstr "运行期间带宽使用情况"
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "Expiry"
msgstr "到期"
#: src/net/i2p/router/web/TunnelRenderer.java:155
msgid "In/Out"
msgstr "入/出"
#: src/net/i2p/router/web/TunnelRenderer.java:158
msgid "Participants"
msgstr "参与节点"
#: src/net/i2p/router/web/TunnelRenderer.java:164
msgid "Endpoint"
msgstr "终端"
#: src/net/i2p/router/web/TunnelRenderer.java:204
#: src/net/i2p/router/web/TunnelRenderer.java:210
msgid "Build in progress"
msgstr "创建中"
#: src/net/i2p/router/web/TunnelRenderer.java:204
msgid "inbound"
msgstr "入站"
#: src/net/i2p/router/web/TunnelRenderer.java:210
msgid "outbound"
msgstr "出站"
#: src/net/i2p/router/web/TunnelRenderer.java:214
msgid "No tunnels; waiting for the grace period to end."
msgstr "无隧道;等待宽限期结束。"
#: src/net/i2p/router/web/TunnelRenderer.java:233
msgid "Tunnel Counts By Peer"
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 "

View File

@ -19,7 +19,7 @@ img {
pre {
overflow: auto;
font-size: 8pt !important;
font-size: 9pt !important;
width: 95%;
padding-top: 10px;
}
@ -503,7 +503,7 @@ table {
border: 1px solid #bbf;
margin: 0 0 5px 0;
cell-padding: 1px;
font-size: 7.5pt;
font-size: 9pt;
background: #fff;
width: 100%;
}
@ -518,7 +518,7 @@ table hr {
}
table tt {
font-size: 7.5pt;
font-size: 9pt;
}
th {
@ -529,11 +529,11 @@ th {
}
tt {
font-size: 8pt;
font-size: 9pt;
}
tt, pre {
font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
}
td {
@ -558,7 +558,7 @@ hr {
.statusnotes {
font-style: italic;
font-size: 8pt;
font-size: 9pt;
color: #001;
text-align: center;
margin: -7px 0 7px 0;
@ -637,13 +637,19 @@ select {
submit {
margin: 3px 5px 3px 5px;
padding: 2px 0;
font: 8pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
font: 9pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
}
table td b{
font-weight:normal;
}
i {
font-weight:normal;
font-size:10pt;
font-family:"<22><><EFBFBD><EFBFBD>";
}
p {
padding: 5px 20px 0px 20px;
text-align: justify;
@ -720,7 +726,7 @@ tt {
.tablefooter tr, .tablefooter td {
background: #bbf;
font-size: 8pt;
font-size: 9pt;
font-weight: bold;
line-height: 150%;
word-wrap: nowrap;