From 39039b89a48d69c2a7ca6b4258ac4749be011c3d Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 10 Mar 2018 17:19:38 +0000 Subject: [PATCH] Console: Fix translated (es) plural Warnings for special cases on /configtunnels --- .../web/helpers/ConfigTunnelsHelper.java | 17 ++++++++-- .../i2p/router/web/helpers/NetDbRenderer.java | 32 +++++++++++-------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigTunnelsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigTunnelsHelper.java index ca4a1e7084..4530e83787 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigTunnelsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigTunnelsHelper.java @@ -6,6 +6,7 @@ import java.util.Set; import net.i2p.data.DataHelper; import net.i2p.data.Destination; import net.i2p.router.TunnelPoolSettings; +import net.i2p.router.transport.TransportUtil; import net.i2p.router.web.HelperBase; public class ConfigTunnelsHelper extends HelperBase { @@ -77,13 +78,23 @@ public class ConfigTunnelsHelper extends HelperBase { if (in.getLength() <= 0 || in.getLength() + in.getLengthVariance() <= 0 || out.getLength() <= 0 || - out.getLength() + out.getLengthVariance() <= 0) + out.getLength() + out.getLengthVariance() <= 0) { buf.append("" + _t("ANONYMITY WARNING - Settings include 0-hop tunnels.") + ""); - else if (in.getLength() <= 1 || + if (TransportUtil.getIPv6Config(_context, "SSU") == TransportUtil.IPv6Config.IPV6_ONLY) { + // rare, don't bother translating + buf.append("WARNING - 0-hop tunnels not recommended for IPv6-only routers."); + } + if ((in.getLength() <= 0 || in.getLength() + in.getLengthVariance() <= 0) && + _context.router().isHidden()) { + // rare, don't bother translating + buf.append("WARNING - Inbound 0-hop tunnels not recommended for hidden routers."); + } + } else if (in.getLength() <= 1 || in.getLength() + in.getLengthVariance() <= 1 || out.getLength() <= 1 || - out.getLength() + out.getLengthVariance() <= 1) + out.getLength() + out.getLengthVariance() <= 1) { buf.append("" + _t("ANONYMITY WARNING - Settings include 1-hop tunnels.") + ""); + } if (in.getLength() + Math.abs(in.getLengthVariance()) >= WARN_LENGTH || out.getLength() + Math.abs(out.getLengthVariance()) >= WARN_LENGTH) buf.append("" + _t("PERFORMANCE WARNING - Settings include very long tunnels.") + ""); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java index 80a749bb81..ffc44d1044 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java @@ -15,6 +15,7 @@ import java.math.BigInteger; // debug import java.text.Collator; import java.text.DecimalFormat; // debug import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -647,20 +648,25 @@ class NetDbRenderer { buf.append("").append(_t("Signing Key")).append(": ") .append(info.getIdentity().getSigningPublicKey().getType().toString()); buf.append("\n") - .append("" + _t("Address(es)") + ":") + .append("" + _t("Addresses") + ":") .append(""); - for (RouterAddress addr : info.getAddresses()) { - String style = addr.getTransportStyle(); - buf.append("
").append(DataHelper.stripHTML(style)).append(":"); - int cost = addr.getCost(); - if (!((style.equals("SSU") && cost == 5) || (style.equals("NTCP") && cost == 10))) - buf.append(" ").append(_t("cost")).append(": ").append("" + cost).append(" "); - Map p = addr.getOptionsMap(); - for (Map.Entry e : p.entrySet()) { - String name = (String) e.getKey(); - String val = (String) e.getValue(); - buf.append(" ").append(_t(DataHelper.stripHTML(name))) - .append(": ").append(DataHelper.stripHTML(val)).append(" "); + Collection addrs = info.getAddresses(); + if (addrs.isEmpty()) { + buf.append(_t("none")); + } else { + for (RouterAddress addr : info.getAddresses()) { + String style = addr.getTransportStyle(); + buf.append("
").append(DataHelper.stripHTML(style)).append(":"); + int cost = addr.getCost(); + if (!((style.equals("SSU") && cost == 5) || (style.equals("NTCP") && cost == 10))) + buf.append(" ").append(_t("cost")).append(": ").append("" + cost).append(" "); + Map p = addr.getOptionsMap(); + for (Map.Entry e : p.entrySet()) { + String name = (String) e.getKey(); + String val = (String) e.getValue(); + buf.append(" ").append(_t(DataHelper.stripHTML(name))) + .append(": ").append(DataHelper.stripHTML(val)).append(" "); + } } } buf.append("\n");