diff --git a/Slackware/i2p-base/i2p-base.SlackBuild b/Slackware/i2p-base/i2p-base.SlackBuild
index 1a5a254dcb7a920a3fc1c1a6767b65a1359db8ec..5b44e63ef8acd303ef8452c6f31b314987515314 100644
--- a/Slackware/i2p-base/i2p-base.SlackBuild
+++ b/Slackware/i2p-base/i2p-base.SlackBuild
@@ -21,7 +21,7 @@ CWD=$(pwd)
 TMP=/tmp
 PKG=/$TMP/package-base-i2p
 NAME=i2p-base
-VERSION=0.0.3
+VERSION=0.0.4
 BUILD=1sponge
 ARCH=noarch
 INSTALL_DIR=opt
diff --git a/Slackware/i2p-base/rc.i2p_def b/Slackware/i2p-base/rc.i2p_def
index c231922e5f59973d16b26fba3321329dc1debcb9..ef96415ba6026c79c77f4ef4bc219e941b60a42d 100644
--- a/Slackware/i2p-base/rc.i2p_def
+++ b/Slackware/i2p-base/rc.i2p_def
@@ -3,7 +3,7 @@
 
 i2p_start() {
  # Check if router is up first!
- /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory status )" > /dev/null
+ /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory status )'" > /dev/null
  if [ $? -eq 0 ] ; then {
   # I2p is already running, so tell the user.
   echo "I2P is already running..."
@@ -14,13 +14,13 @@ i2p_start() {
   # Just in-case there are leftover junk in /tmp...
   rm -Rf `grep /tmp/hsperfdata_root/* -le i2p` /tmp/i2p-*.tmp /tmp/router.ping
   # Now that all junk is cleaned up, start.
-  /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory start )"
+  /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory start )'"
  }
  fi
 }
 
 i2p_stop() {
- /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory stop )"
+ /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory stop )'"
  rm -Rf `grep /tmp/hsperfdata_root/* -le i2p` /tmp/i2p-*.tmp /tmp/router.ping
 }
 
@@ -31,15 +31,15 @@ i2p_restart() {
 }
 
 i2p_status() {
- /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory status )"
+ /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory status )'"
 }
 
 i2p_console() {
- /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory console )"
+ /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory console )'"
 }
 
 i2p_dump() {
- /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory dump )"
+ /bin/su - -c "/bin/bash -l -c '( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\" ; directory dump )'"
 }
 
 case "$1" in
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java b/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java
index e810edc29f7d21aecb764da1dc30ac0759ce6812..3a7154899876c345104b2f57f52fc35dd84e5db1 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PartialPiece.java
@@ -7,6 +7,8 @@ package org.klomp.snark;
  * It is also passed from PeerState to PeerCoordinator when
  * a piece is not completely downloaded, for example
  * when the Peer disconnects or chokes.
+ *
+ * @since 0.8.2
  */
 class PartialPiece implements Comparable {
 
diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index d74426ee12232ad0fd6eb7f15a93f89eba2839cd..a570de2d06a28cc6e3a67fcbf8e29de0f747b90a 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -329,14 +329,18 @@ public class I2PSnarkServlet extends Default {
 
         // Opera and text-mode browsers: no   and no input type=image values submitted
         String ua = req.getHeader("User-Agent");
-        boolean isDegraded = ua != null && (ua.startsWith("Opera") || ua.startsWith("Lynx") ||
+        boolean isDegraded = ua != null && (ua.startsWith("Lynx") ||
                                             ua.startsWith("ELinks") || ua.startsWith("Dillo"));
 
+        boolean noThinsp = isDegraded || ua.startsWith("Opera");
         if (_manager.util().connected()) {
             if (isDegraded)
                 out.write("<a href=\"/i2psnark/?action=StopAll&amp;nonce=" + _nonce + "\"><img title=\"");
-            else
-                out.write("<input type=\"image\" name=\"action\" value=\"StopAll\" title=\"");
+            else {
+                // http://www.onenaught.com/posts/382/firefox-4-change-input-type-image-only-submits-x-and-y-not-name
+                //out.write("<input type=\"image\" name=\"action\" value=\"StopAll\" title=\"");
+                out.write("<input type=\"image\" name=\"action_StopAll\" value=\"foo\" title=\"");
+            }
             out.write(_("Stop all torrents and the I2P tunnel"));
             out.write("\" src=\"" + _imgPath + "stop_all.png\" alt=\"");
             out.write(_("Stop All"));
@@ -347,7 +351,7 @@ public class I2PSnarkServlet extends Default {
             if (isDegraded)
                 out.write("<a href=\"/i2psnark/?action=StartAll&amp;nonce=" + _nonce + "\"><img title=\"");
             else
-                out.write("<input type=\"image\" name=\"action\" value=\"StartAll\" title=\"");
+                out.write("<input type=\"image\" name=\"action_StartAll\" value=\"foo\" title=\"");
             out.write(_("Start all torrents and the I2P tunnel"));
             out.write("\" src=\"" + _imgPath + "start_all.png\" alt=\"");
             out.write(_("Start All"));
@@ -362,7 +366,7 @@ public class I2PSnarkServlet extends Default {
             Snark snark = (Snark)snarks.get(i);
             boolean showDebug = "2".equals(peerParam);
             boolean showPeers = showDebug || "1".equals(peerParam) || Base64.encode(snark.meta.getInfoHash()).equals(peerParam);
-            displaySnark(out, snark, uri, i, stats, showPeers, isDegraded, showDebug);
+            displaySnark(out, snark, uri, i, stats, showPeers, isDegraded, noThinsp, showDebug);
         }
 
         if (snarks.isEmpty()) {
@@ -404,8 +408,19 @@ public class I2PSnarkServlet extends Default {
     private void processRequest(HttpServletRequest req) {
         String action = req.getParameter("action");
         if (action == null) {
-            _manager.addMessage("No action specified");
-            return;
+            // http://www.onenaught.com/posts/382/firefox-4-change-input-type-image-only-submits-x-and-y-not-name
+            Map params = req.getParameterMap();
+            for (Object o : params.keySet()) {
+                String key = (String) o;
+                if (key.startsWith("action_") && key.endsWith(".x")) {
+                    action = key.substring(0, key.length() - 2).substring(7);
+                    break;
+                }
+            }
+            if (action == null) {
+                _manager.addMessage("No action specified");
+                return;
+            }
         }
         // sadly, Opera doesn't send value with input type=image, so we have to use GET there
         //if (!"POST".equals(req.getMethod())) {
@@ -698,7 +713,7 @@ public class I2PSnarkServlet extends Default {
     private static final int MAX_DISPLAYED_FILENAME_LENGTH = 50;
     private static final int MAX_DISPLAYED_ERROR_LENGTH = 43;
     private void displaySnark(PrintWriter out, Snark snark, String uri, int row, long stats[], boolean showPeers,
-                              boolean isDegraded, boolean showDebug) throws IOException {
+                              boolean isDegraded, boolean noThinsp, boolean showDebug) throws IOException {
         String filename = snark.torrent;
         File f = new File(filename);
         filename = f.getName(); // the torrent may be the canonical name, so lets just grab the local name
@@ -758,11 +773,11 @@ public class I2PSnarkServlet extends Default {
             if (isRunning && curPeers > 0 && !showPeers)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "trackererror.png\" title=\"" + err + "\"></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Tracker Error") +
                                ": <a href=\"" + uri + "?p=" + Base64.encode(snark.meta.getInfoHash()) + "\">" +
-                               curPeers + thinsp(isDegraded) +
+                               curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers) + "</a>";
             else if (isRunning)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "trackererror.png\" title=\"" + err + "\"></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Tracker Error") +
-                               ": " + curPeers + thinsp(isDegraded) +
+                               ": " + curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers);
             else {
                 if (err.length() > MAX_DISPLAYED_ERROR_LENGTH)
@@ -774,11 +789,11 @@ public class I2PSnarkServlet extends Default {
             if (isRunning && curPeers > 0 && !showPeers)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "seeding.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Seeding") +
                                ": <a href=\"" + uri + "?p=" + Base64.encode(snark.meta.getInfoHash()) + "\">" +
-                               curPeers + thinsp(isDegraded) +
+                               curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers) + "</a>";
             else if (isRunning)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "seeding.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Seeding") +
-                               ": " + curPeers + thinsp(isDegraded) +
+                               ": " + curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers);
             else
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "complete.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Complete");
@@ -786,24 +801,24 @@ public class I2PSnarkServlet extends Default {
             if (isRunning && curPeers > 0 && downBps > 0 && !showPeers)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "downloading.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("OK") +
                                ": <a href=\"" + uri + "?p=" + Base64.encode(snark.meta.getInfoHash()) + "\">" +
-                               curPeers + thinsp(isDegraded) +
+                               curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers) + "</a>";
             else if (isRunning && curPeers > 0 && downBps > 0)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "downloading.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("OK") +
-                               ": " + curPeers + thinsp(isDegraded) +
+                               ": " + curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers);
             else if (isRunning && curPeers > 0 && !showPeers)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "stalled.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Stalled") +
                                ": <a href=\"" + uri + "?p=" + Base64.encode(snark.meta.getInfoHash()) + "\">" +
-                               curPeers + thinsp(isDegraded) +
+                               curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers) + "</a>";
             else if (isRunning && curPeers > 0)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "stalled.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("Stalled") +
-                               ": " + curPeers + thinsp(isDegraded) +
+                               ": " + curPeers + thinsp(noThinsp) +
                                ngettext("1 peer", "{0} peers", knownPeers);
             else if (isRunning && knownPeers > 0)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "nopeers.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("No Peers") +
-                               ": 0&thinsp;/&thinsp;" + knownPeers ;
+                               ": 0" + thinsp(noThinsp) + knownPeers ;
             else if (isRunning)
                 statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "nopeers.png\" ></td><td class=\"snarkTorrentStatus " + rowClass + "\">" + _("No Peers");
             else
@@ -880,7 +895,7 @@ public class I2PSnarkServlet extends Default {
         out.write("</td>\n\t");
         out.write("<td align=\"right\" class=\"snarkTorrentDownloaded " + rowClass + "\">");
         if (remaining > 0)
-            out.write(formatSize(total-remaining) + thinsp(isDegraded) + formatSize(total));
+            out.write(formatSize(total-remaining) + thinsp(noThinsp) + formatSize(total));
         else
             out.write(formatSize(total)); // 3GB
         out.write("</td>\n\t");
@@ -905,7 +920,7 @@ public class I2PSnarkServlet extends Default {
             if (isDegraded)
                 out.write("<a href=\"/i2psnark/?action=Stop_" + b64 + "&amp;nonce=" + _nonce + "\"><img title=\"");
             else
-                out.write("<input type=\"image\" name=\"action\" value=\"Stop_" + b64 + "\" title=\"");
+                out.write("<input type=\"image\" name=\"action_Stop_" + b64 + "\" value=\"foo\" title=\"");
             out.write(_("Stop the torrent"));
             out.write("\" src=\"" + _imgPath + "stop.png\" alt=\"");
             out.write(_("Stop"));
@@ -917,7 +932,7 @@ public class I2PSnarkServlet extends Default {
                 if (isDegraded)
                     out.write("<a href=\"/i2psnark/?action=Start_" + b64 + "&amp;nonce=" + _nonce + "\"><img title=\"");
                 else
-                    out.write("<input type=\"image\" name=\"action\" value=\"Start_" + b64 + "\" title=\"");
+                    out.write("<input type=\"image\" name=\"action_Start_" + b64 + "\" value=\"foo\" title=\"");
                 out.write(_("Start the torrent"));
                 out.write("\" src=\"" + _imgPath + "start.png\" alt=\"");
                 out.write(_("Start"));
@@ -929,7 +944,7 @@ public class I2PSnarkServlet extends Default {
             if (isDegraded)
                 out.write("<a href=\"/i2psnark/?action=Remove_" + b64 + "&amp;nonce=" + _nonce + "\"><img title=\"");
             else
-                out.write("<input type=\"image\" name=\"action\" value=\"Remove_" + b64 + "\" title=\"");
+                out.write("<input type=\"image\" name=\"action_Remove_" + b64 + "\" value=\"foo\" title=\"");
             out.write(_("Remove the torrent from the active list, deleting the .torrent file"));
             out.write("\" onclick=\"if (!confirm('");
             // Can't figure out how to escape double quotes inside the onclick string.
@@ -946,7 +961,7 @@ public class I2PSnarkServlet extends Default {
             if (isDegraded)
                 out.write("<a href=\"/i2psnark/?action=Delete_" + b64 + "&amp;nonce=" + _nonce + "\"><img title=\"");
             else
-                out.write("<input type=\"image\" name=\"action\" value=\"Delete_" + b64 + "\" title=\"");
+                out.write("<input type=\"image\" name=\"action_Delete_" + b64 + "\" value=\"foo\" title=\"");
             out.write(_("Delete the .torrent file and the associated data file(s)"));
             out.write("\" onclick=\"if (!confirm('");
             // Can't figure out how to escape double quotes inside the onclick string.
@@ -1384,7 +1399,7 @@ public class I2PSnarkServlet extends Default {
     private static String urlify(String s) {
         StringBuilder buf = new StringBuilder(256);
         // browsers seem to work without doing this but let's be strict
-        String link = s.replace("&", "&amp;");
+        String link = s.replace("&", "&amp;").replace(" ", "%20");
         buf.append("<a href=\"").append(link).append("\">").append(link).append("</a>");
         return buf.toString();
     }
diff --git a/apps/i2psnark/locale/messages_de.po b/apps/i2psnark/locale/messages_de.po
index 39132c62669a7efacd527a0a65e6ef593a17aaff..ed5934f52a65c0fe513e8ff7d38daf7de16639b5 100644
--- a/apps/i2psnark/locale/messages_de.po
+++ b/apps/i2psnark/locale/messages_de.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-12-12 23:30+0000\n"
-"PO-Revision-Date: 2010-12-13 01:01+0100\n"
+"PO-Revision-Date: 2010-12-19 04:37+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
@@ -118,12 +118,12 @@ msgstr "Verbinde mit I2P"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:497
 msgid "Error connecting to I2P - check your I2CP settings!"
-msgstr "Fehler beim Verbinden mit I2P - Kontrollieren Sie die I2CP Einstellungen!"
+msgstr "Fehler beim Verbinden mit I2P - Kontrollieren Sie die I2CP-Einstellungen!"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:506
 #, java-format
 msgid "Error: Could not add the torrent {0}"
-msgstr "Fehler: Konnte den Torrent nicht hinzufügen {0}"
+msgstr "Fehler: Konnte den Torrent \"{0}\" nicht hinzufügen"
 
 #. catch this here so we don't try do delete it below
 #: ../java/src/org/klomp/snark/SnarkManager.java:528
@@ -164,7 +164,7 @@ msgstr "Zu viele Dateien in  \"{0}\" ({1}), wird gelöscht! "
 #: ../java/src/org/klomp/snark/SnarkManager.java:736
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
-msgstr "Torrentdatei \"{0}\" darf nicht mit '.torrent' enden, wird gelöscht!"
+msgstr "Torrentdatei \"{0}\" darf nicht auf '.torrent' enden, wird gelöscht!"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:738
 #, java-format
@@ -269,7 +269,7 @@ msgstr "geschätzte verbleibende Zeit"
 #. Translators: Please keep short or translate as " "
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
 msgid "ETA"
-msgstr "Fertig&nbsp;in"
+msgstr "Dauer"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
 msgid "Downloaded"
@@ -388,7 +388,7 @@ msgstr "Datenverzeichnis wurde gelöscht: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587
 msgid "Error creating torrent - you must select a tracker"
-msgstr "Fehler beim Erstellen des Torrents - Sie müssen einen Tracker auswählen"
+msgstr "Fehler beim Erstellen des Torrents - Sie müssen einen Tracker auswählen!"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602
 #, java-format
@@ -638,7 +638,7 @@ msgstr "Datenverzeichnis"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186
 msgid "Edit i2psnark.config and restart to change"
-msgstr "Zum Ändern bearbeite die i2psnark.config und starte neu!"
+msgstr "Zum Ändern, bearbeite die i2psnark.config und starte neu!"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
 msgid "Auto start"
diff --git a/apps/i2psnark/locale/messages_es.po b/apps/i2psnark/locale/messages_es.po
index 313af2b44f8ea416f17fab59a73ef34b690d4b1f..5aa6f8d1737cb24817679b1df881ef779eba4738 100644
--- a/apps/i2psnark/locale/messages_es.po
+++ b/apps/i2psnark/locale/messages_es.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-12-12 23:30+0000\n"
-"PO-Revision-Date: 2010-12-13 00:57+0100\n"
+"POT-Creation-Date: 2010-12-19 03:16+0000\n"
+"PO-Revision-Date: 2010-12-28 00:36+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
@@ -101,7 +101,7 @@ msgstr "Lista de rastreadores abiertos cambiada - Para aplicar ello es necesario
 #: ../java/src/org/klomp/snark/SnarkManager.java:438
 #, java-format
 msgid "{0} theme loaded, return to main i2psnark page to view."
-msgstr "Cargado el tema {0}. ¡Vuelve al menú principal de i2psnark para verlo!"
+msgstr "Tema {0} cargado. ¡Vuelve a la página principal de i2psnark para verlo!"
 
 #: ../java/src/org/klomp/snark/SnarkManager.java:445
 msgid "Configuration unchanged."
@@ -264,14 +264,12 @@ msgstr "Torrent"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
 msgid "Estimated time remaining"
-msgstr "Tiempo restante estimado"
+msgstr "Tiempo restante para completar la descarga"
 
-# NOTE: purposely left blank to leave more room in the table header
-# msgstr "Completado&nbsp;en"
 #. Translators: Please keep short or translate as " "
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
 msgid "ETA"
-msgstr " "
+msgstr "Tiempo"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
 msgid "Downloaded"
@@ -297,13 +295,11 @@ msgstr "Subido"
 msgid "Down Rate"
 msgstr "Tasa&nbsp;de descarga"
 
-# NOTE: purposely left blank to leave more room in the table header
-# msgstr "Tasa&nbsp;de transferencia"
 #. Translators: Please keep short or translate as " "
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
 msgid "Rate"
-msgstr " "
+msgstr "Tasa"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
 msgid "Up Rate"
@@ -795,7 +791,7 @@ msgstr "Torrent ya encolado: {0}"
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755
 #, java-format
 msgid "Failed to copy torrent file to {0}"
-msgstr "No se pudo copiar el archivo torrent a {0}."
+msgstr "No se pudo copiar el torrent a {0}."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
 #, java-format
@@ -809,8 +805,18 @@ msgstr "Torrent no se ha podido obtener de {0}"
 
 #~ msgid " theme locked and loaded."
 #~ msgstr "tema cargado"
+#~ msgid "Hide All Attached Peers [connected/total in swarm]"
+#~ msgstr "Ocultar todos los pares conectados [conectados/todos]"
+#~ msgid "Show All Attached Peers [connected/total in swarm]"
+#~ msgstr "Mostrar todos los pares conectados [conectados/todos]"
+#~ msgid "Loaded Torrents"
+#~ msgstr "Torrents"
 #~ msgid "Estimated Download Time"
 #~ msgstr "tiempo restante de descarga"
+#~ msgid "1"
+#~ msgid_plural "{0}"
+#~ msgstr[0] "{0}"
+#~ msgstr[1] "{0}"
 #~ msgid "Torrent file {0} does not exist"
 #~ msgstr "Archivo del torrent {0} no existe"
 #~ msgid "Copying torrent to {0}"
diff --git a/apps/i2psnark/locale/messages_nl.po b/apps/i2psnark/locale/messages_nl.po
index 5de0d01fc47b17376aac895fcd13d32fee7f5742..1eebf765e8ec773d56a5615af0a0e47a67d56212 100644
--- a/apps/i2psnark/locale/messages_nl.po
+++ b/apps/i2psnark/locale/messages_nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-05 11:48+0000\n"
+"POT-Creation-Date: 2010-12-17 15:04+0000\n"
 "PO-Revision-Date: 2010-06-15 09:07+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
@@ -17,759 +17,822 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Dutch\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:88
+#: ../java/src/org/klomp/snark/SnarkManager.java:94
 #, java-format
 msgid "Adding torrents in {0} minutes"
 msgstr "Torrents toevoegen in {0} minuten"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:258
+#: ../java/src/org/klomp/snark/SnarkManager.java:296
 #, java-format
 msgid "Total uploaders limit changed to {0}"
 msgstr "Totale uploaders limiet gewijzigd in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:260
+#: ../java/src/org/klomp/snark/SnarkManager.java:298
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
 msgstr "Minimum totale uploaders limiet is {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:272
+#: ../java/src/org/klomp/snark/SnarkManager.java:310
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "Up bandbreedte limiet gewijzigd in {0}KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:274
+#: ../java/src/org/klomp/snark/SnarkManager.java:312
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "Minimum up bandbreedte limiet is {0}KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:286
+#: ../java/src/org/klomp/snark/SnarkManager.java:324
 #, java-format
 msgid "Startup delay limit changed to {0} minutes"
 msgstr "Startup vertragings limiet gewijzigd in {0} minuten"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:333
+#: ../java/src/org/klomp/snark/SnarkManager.java:371
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
-msgstr "I2CP en tunnel wijzigingen hebben pas effect na het stoppen van alle torrents"
+msgstr ""
+"I2CP en tunnel wijzigingen hebben pas effect na het stoppen van alle torrents"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:339
+#: ../java/src/org/klomp/snark/SnarkManager.java:378
 msgid "Disconnecting old I2CP destination"
 msgstr "Oude I2CP destination wordt afgesloten"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:343
+#: ../java/src/org/klomp/snark/SnarkManager.java:382
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "I2CP instellingen gewijzigd in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:347
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid ""
 "Unable to connect with the new settings, reverting to the old I2CP settings"
-msgstr "Kan geen connectie maken met de nieuwe instellingen, we keren terug naar oude I2CP instellingen"
+msgstr ""
+"Kan geen connectie maken met de nieuwe instellingen, we keren terug naar "
+"oude I2CP instellingen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:351
+#: ../java/src/org/klomp/snark/SnarkManager.java:390
 msgid "Unable to reconnect with the old settings!"
 msgstr "Kan niet opnieuw verbinden met de oude instellingen!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:353
+#: ../java/src/org/klomp/snark/SnarkManager.java:392
 msgid "Reconnected on the new I2CP destination"
 msgstr "Opnieuw verbonden met de nieuwe I2CP destination"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:364
+#: ../java/src/org/klomp/snark/SnarkManager.java:403
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "I2CP listener herstart voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:375
+#: ../java/src/org/klomp/snark/SnarkManager.java:414
 msgid "Enabled autostart"
 msgstr "Autostart ingeschakeld"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:377
+#: ../java/src/org/klomp/snark/SnarkManager.java:416
 msgid "Disabled autostart"
 msgstr "Autostart uitgeschakeld"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:383
+#: ../java/src/org/klomp/snark/SnarkManager.java:422
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "Open Trackers ingeschakeld - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:385
+#: ../java/src/org/klomp/snark/SnarkManager.java:424
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "Open Trackers uitgeschakeld - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:392
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "Open Tracker lijst gewijzigd - torrent herstart nodig."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:399
+#: ../java/src/org/klomp/snark/SnarkManager.java:438
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr "{0} thema geladen, ga naar de hoofd i2psnark pagina om deze te bekijken."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:445
 msgid "Configuration unchanged."
 msgstr "Configuratie ongewijzigd."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:409
+#: ../java/src/org/klomp/snark/SnarkManager.java:455
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "Kan de configuratie niet opslaan in {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:445
+#: ../java/src/org/klomp/snark/SnarkManager.java:494
 msgid "Connecting to I2P"
 msgstr "Verbinden met I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:448
+#: ../java/src/org/klomp/snark/SnarkManager.java:497
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "Fout bij verbinden met I2P - controlleer je I2CP instellingen!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:457
+#: ../java/src/org/klomp/snark/SnarkManager.java:506
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "Fout: Kan de torrent {0} niet toevoegen"
 
 #. catch this here so we don't try do delete it below
-#: ../java/src/org/klomp/snark/SnarkManager.java:479
+#: ../java/src/org/klomp/snark/SnarkManager.java:528
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "Kan \"{0}\" niet openen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:492
+#: ../java/src/org/klomp/snark/SnarkManager.java:541
 #, java-format
 msgid ""
 "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open "
 "trackers only"
-msgstr "Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, zal alleen aankondigen naar i2p open trackers"
+msgstr ""
+"Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, zal alleen "
+"aankondigen naar i2p open trackers"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:494
+#: ../java/src/org/klomp/snark/SnarkManager.java:543
 #, java-format
 msgid ""
 "Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are "
 "disabled, you must enable open trackers before starting the torrent!"
-msgstr "Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, en open trackers zijn uitgeschakeld, je moet open trackers inschakelen voor het starten van de torrent!"
+msgstr ""
+"Waarschuwing - Niet-I2P tracker in \"{0}\" wordt genegeerd, en open trackers "
+"zijn uitgeschakeld, je moet open trackers inschakelen voor het starten van "
+"de torrent!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:513
+#: ../java/src/org/klomp/snark/SnarkManager.java:563
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "Torrent in \"{0}\" is ongeldig"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:528
+#: ../java/src/org/klomp/snark/SnarkManager.java:578
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "Torrent toegevoegd en gestart: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:530
+#: ../java/src/org/klomp/snark/SnarkManager.java:580
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "Torrent toegevoegd: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:627
+#: ../java/src/org/klomp/snark/SnarkManager.java:734
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "Te veel bestanden in \"{0}\" ({1}), wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:629
+#: ../java/src/org/klomp/snark/SnarkManager.java:736
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
-msgstr "Torrent bestand \"{0}\" kan niet eindigen in \".torrent\", wordt verwijderd!"
+msgstr ""
+"Torrent bestand \"{0}\" kan niet eindigen in \".torrent\", wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:631
+#: ../java/src/org/klomp/snark/SnarkManager.java:738
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "Geen stukken in \"{0}\",  wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:633
+#: ../java/src/org/klomp/snark/SnarkManager.java:740
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "Te veel stukken in \"{0}\", limiet is {1}, wordt verwijderd!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:635
+#: ../java/src/org/klomp/snark/SnarkManager.java:742
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "Stukken zijn te groot in \"{0}\" ({1}B), wordt verwijderd."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:636
+#: ../java/src/org/klomp/snark/SnarkManager.java:743
 #, java-format
 msgid "Limit is {0}B"
 msgstr "Limiet is {0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:644
+#: ../java/src/org/klomp/snark/SnarkManager.java:751
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
-msgstr "Torrents groter dan {0}B worden nog niet ondersteund, verwijder \"{1}\""
+msgstr ""
+"Torrents groter dan {0}B worden nog niet ondersteund, verwijder \"{1}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:660
+#: ../java/src/org/klomp/snark/SnarkManager.java:767
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "Fout: Kan de torrent {0} niet verwijderen"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:681
+#: ../java/src/org/klomp/snark/SnarkManager.java:794
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "Torrent gestopt: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:696
+#: ../java/src/org/klomp/snark/SnarkManager.java:814
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "Torrent verwijderd: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:729
-#, java-format
-msgid "Download finished: \"{0}\""
-msgstr "Download gereed: \"{0}\""
-
-#: ../java/src/org/klomp/snark/SnarkManager.java:729
+#: ../java/src/org/klomp/snark/SnarkManager.java:852
 #, java-format
-msgid "size: {0}B"
-msgstr "grootte: {0}B"
+msgid "Download finished: {0}"
+msgstr "Download gereed: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:757
+#: ../java/src/org/klomp/snark/SnarkManager.java:880
 msgid "Unable to connect to I2P!"
 msgstr "Kan niet verbinden met I2P!"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:174
+#: ../java/src/org/klomp/snark/SnarkManager.java:886
+#, java-format
+msgid "Unable to add {0}"
+msgstr "Kan {0} niet toevoegen"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark - Anonieme BitTorrent Client"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:198
 msgid "Torrents"
 msgstr "Torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:193
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:201
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977
 msgid "I2PSnark"
 msgstr "I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:191
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
 msgid "Refresh page"
 msgstr "Ververs pagina"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:195
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:210
 msgid "Forum"
 msgstr "Forum"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:240
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1289
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
 msgid "Status"
 msgstr "Status"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
 msgid "Hide Peers"
 msgstr "Verberg Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:249
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:277
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:279
 msgid "Show Peers"
 msgstr "Toon Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464
 msgid "Torrent"
 msgstr "Torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:256
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+msgid "Estimated time remaining"
+msgstr "Schatting resterende tijd"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
 msgid "ETA"
 msgstr "ETA"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:258
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
 msgid "Downloaded"
 msgstr "Gedownload"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:260
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:300
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:314
+msgid "RX"
+msgstr "RX"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
 msgid "Uploaded"
 msgstr "Geupload"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:262
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
+msgid "TX"
+msgstr "TX"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:312
 msgid "Down Rate"
 msgstr "Down Snelheid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
+msgid "Rate"
+msgstr "Rato"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
 msgid "Up Rate"
 msgstr "Up Snelheid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:271
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "Stop alle torrents en de I2P tunnel"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
 msgid "Stop All"
 msgstr "Stop Alle"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:278
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:351
 msgid "Start all torrents and the I2P tunnel"
 msgstr "Start alle torrents en de I2P tunnel"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:280
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353
 msgid "Start All"
 msgstr "Start Alle"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:372
 msgid "No torrents loaded."
 msgstr "Geen torrents geladen."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:302
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
 msgid "Totals"
 msgstr "Totalen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
 msgstr[0] "1 torrent"
 msgstr[1] "{0} torrents"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:382
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
 msgstr[0] "1 verbonden peer"
 msgstr[1] "{0} verbonden peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:336
-#, java-format
-msgid "Torrent file {0} does not exist"
-msgstr "Torrent bestand {0} bestaat niet"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476
-#, java-format
-msgid "Torrent already running: {0}"
-msgstr "Torrent draait al: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:348
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1478
-#, java-format
-msgid "Torrent already in the queue: {0}"
-msgstr "Torrent zit al in de wachtrij: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:352
-#, java-format
-msgid "Copying torrent to {0}"
-msgstr "Kopieer torrent naar {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:355
-#, java-format
-msgid "Unable to copy the torrent to {0}"
-msgstr "Kan de de torrent niet kopieren naar {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:355
-#, java-format
-msgid "from {0}"
-msgstr "van {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:363
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:454
 #, java-format
 msgid "Fetching {0}"
 msgstr "Downloaden {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:367
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:458
 msgid "Invalid URL - must start with http://"
 msgstr "Ongeldige URL - moet beginnen met http://"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:397
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
 #, java-format
 msgid "Starting up torrent {0}"
 msgstr "Starten met torrent {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:417
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:435
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:527
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "Torrent bestand verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:441
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:451
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "Data bestand verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:443
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:453
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "Kan data bestand niet verwijderen: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:462
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:554
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "Data directory verwijderd: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:494
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587
 msgid "Error creating torrent - you must select a tracker"
 msgstr "Fout bij maken van torrent - je moet een tracker selecteren"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "Torrent gemaakt voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
 #, java-format
 msgid ""
 "Many I2P trackers require you to register new torrents before seeding - "
 "please do so before starting \"{0}\""
-msgstr "Veel I2P trackers vereisen dat je de nieuwe torrent registreert voor het seeden - "
-"doe dit voordat je \"{0}\" start"
+msgstr ""
+"Veel I2P trackers vereisen dat je de nieuwe torrent registreert voor het "
+"seeden - doe dit voordat je \"{0}\" start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:514
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "Fout bij het maken van een torrent voor \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:517
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:610
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "Kan geen torrent maken voor niet-bestaande data: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:520
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
 msgid "Error creating torrent - you must enter a file or directory"
-msgstr "Fout bij het maken van de torrent - je moet een bestand of directory invullen"
+msgstr ""
+"Fout bij het maken van de torrent - je moet een bestand of directory invullen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:523
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "Stoppen van alle torrents en sluiten van I2P tunnel."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:532
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627
 msgid "I2P tunnel closed."
 msgstr "I2P tunnel gesloten."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "Openen van de I2P tunnel en starten van alle torrents."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:657
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:851
-msgid "Unknown"
-msgstr "Onbekend"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:660
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:665
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:670
-msgid "TrackerErr"
-msgstr "TrackerErr"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:663
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:666
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:677
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:680
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:688
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:691
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:696
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:699
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:770
+msgid "Tracker Error"
+msgstr "Tracker Fout"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:799
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:803
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
 msgstr[0] "1 peer"
 msgstr[1] "{0} peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:679
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
 msgid "Seeding"
 msgstr "Seeding"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:682
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:784
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533
 msgid "Complete"
 msgstr "Voltooid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:685
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:690
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
 msgid "OK"
 msgstr "OK"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:693
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:698
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
 msgid "Stalled"
 msgstr "Vastgelopen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:701
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
 msgid "No Peers"
 msgstr "Geen Peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:703
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810
 msgid "Stopped"
 msgstr "Gestopt"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:718
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#, java-format
+msgid "Details at {0} tracker"
+msgstr "Details op de {0} tracker"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+msgid "Info"
+msgstr "Info"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
 msgid "View files"
 msgstr "Bekijk bestanden"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:720
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:855
 msgid "Open file"
 msgstr "Open bestand"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:750
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:967
-msgid "Tracker"
-msgstr "Tracker"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569
+msgid "Open"
+msgstr "Open"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:751
-msgid "Details"
-msgstr "Details"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:909
 msgid "Stop the torrent"
 msgstr "Stop de torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:911
 msgid "Stop"
 msgstr "Stop"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:793
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
 msgid "Start the torrent"
 msgstr "Start de torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:795
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923
 msgid "Start"
 msgstr "Start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:800
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
 msgid "Remove the torrent from the active list, deleting the .torrent file"
-msgstr "Verwijder de torrent van de actieve lijst, het .torrent bestand wordt verwijderd"
+msgstr ""
+"Verwijder de torrent van de actieve lijst, het .torrent bestand wordt "
+"verwijderd"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:938
 #, java-format
 msgid ""
 "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded "
 "data will not be deleted) ?"
-msgstr "Weet je zeker dat je het bestand \\''{0}.torrent\\'' wilt verwijderen (gedownloade data zal niet worden verwijderd) ?"
+msgstr ""
+"Weet je zeker dat je het bestand \\''{0}.torrent\\'' wilt verwijderen "
+"(gedownloade data zal niet worden verwijderd) ?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
 msgid "Remove"
 msgstr "Weghalen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "Verwijder het .torrent bestand en de gerelateerde data bestand(en)"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:816
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955
 #, java-format
 msgid ""
 "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded "
 "data?"
-msgstr "Weet je zeker dat je de torrent \\''{0}\\'' en alle gedownloade data wilt verwijderen?"
+msgstr ""
+"Weet je zeker dat je de torrent \\''{0}\\'' en alle gedownloade data wilt "
+"verwijderen?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
 msgid "Delete"
 msgstr "Verwijderen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:861
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:991
+msgid "Unknown"
+msgstr "Onbekend"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
 msgid "Seed"
 msgstr "Seed"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "Niet interessant (De peer heeft geen stukken die we nodig hebben)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "Verstikt (De peer laat ons niet toe om stukken op te vragen)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:895
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "Niet geïnteresseerd (We heben geen stukken die de peer nodig heeft)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:897
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "Verstikt (We laten de peer niet toe om stukken op te vragen)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:927
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
 msgid "Add Torrent"
 msgstr "Torrent Toevoegen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:929
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
 msgid "From URL"
 msgstr "Van URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:934
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097
+msgid "Torrent file must originate from an I2P-based tracker"
+msgstr "Torrent bestand moet vaan een I2P tracker komen"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102
 msgid "Add torrent"
 msgstr "Torrent toevoegen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:937
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105
 #, java-format
-msgid "Alternately, you can copy .torrent files to the directory {0}."
-msgstr "Als alternatief kan je het .torrent bestand kopieren naar de directory {0}."
+msgid "You can also copy .torrent files to: {0}."
+msgstr "Je kan ook .torrent bestanden kopieren naar: {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939
-msgid "Removing a .torrent file will cause the torrent to stop."
-msgstr "Verwijderen van een .torrent bestand zorgt dat de torrent stopt."
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
+msgid "Removing a .torrent will cause it to stop."
+msgstr "Verwijderen van een .torrent zorgt dat deze stopt."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131
 msgid "Create Torrent"
 msgstr "Creëer Torrent"
 
 #. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134
 msgid "Data to seed"
 msgstr "Data om te seeden"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:965
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
 msgid "File or directory to seed (must be within the specified path)"
-msgstr "Bestand of directory om te seeden (moet binnen het gespecificeerde pad zijn)"
+msgstr ""
+"Bestand of directory om te seeden (moet binnen het gespecificeerde pad zijn)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1140
+msgid "Tracker"
+msgstr "Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:969
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
 msgid "Select a tracker"
 msgstr "Selecteer een tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:982
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155
 msgid "or"
 msgstr "of"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1158
 msgid "Specify custom tracker announce URL"
 msgstr "Specificeer aangepaste tracker aankondigings URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161
 msgid "Create torrent"
 msgstr "Creëer torrent"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1006
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1133
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
 msgid "Configuration"
 msgstr "Configuratie"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184
 msgid "Data directory"
 msgstr "Data directory"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1012
-msgid "Directory to store torrents and data"
-msgstr "Directory om torrents en data op te slaan"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186
 msgid "Edit i2psnark.config and restart to change"
 msgstr "Bewerk i2psnark.config en herstart de wijziging"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
 msgid "Auto start"
 msgstr "Auto start"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1022
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194
 msgid "If checked, automatically start torrents that are added"
 msgstr "Indien aangevinkt, start toegevoegde torrents automatisch"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1026
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
+msgid "Theme"
+msgstr "Thema"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1211
 msgid "Startup delay"
 msgstr "Startup vertraging"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1028
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213
 msgid "minutes"
 msgstr "minuten"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1052
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
 msgid "Total uploader limit"
 msgstr "Totale uploader limiet"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1055
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240
 msgid "peers"
 msgstr "peers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1059
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244
 msgid "Up bandwidth limit"
 msgstr "Up bandbreedte limiet"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1062
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1247
 msgid "Half available bandwidth recommended."
 msgstr "Helft van beschikbare bandbreedte aanbevolen."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1064
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249
 msgid "View or change router bandwidth"
 msgstr "Bekijk of wijzig router bandbreedte"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253
 msgid "Use open trackers also"
 msgstr "Gebruik ook open trackers"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1072
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
 msgid ""
 "If checked, announce torrents to open trackers as well as the tracker listed "
 "in the torrent file"
-msgstr "Indien aangevinkt, kondig torrents ook aan bij de tracker uit het torrent bestand"
+msgstr ""
+"Indien aangevinkt, kondig torrents ook aan bij de tracker uit het torrent "
+"bestand"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1076
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1261
 msgid "Open tracker announce URLs"
 msgstr "Open tracker aankondigings URLs"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1088
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
 msgid "Inbound Settings"
 msgstr "Inkomende Instellingen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279
 msgid "Outbound Settings"
 msgstr "Uitgaande Instellingen"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1101
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286
 msgid "I2CP host"
 msgstr "I2CP host"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1106
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
 msgid "I2CP port"
 msgstr "I2CP poort"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1118
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303
 msgid "I2CP options"
 msgstr "I2CP opties"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1124
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308
 msgid "Save configuration"
 msgstr "Configuratie opslaan"
 
 #. * dummies for translation
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1141
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
 msgstr[0] "1 hop"
 msgstr[1] "{0} hops"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
 msgstr[0] "1 tunnel"
 msgstr[1] "{0} tunnels"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283
-msgid "Up to higher level directory"
-msgstr "Naar bovenliggende directory"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288
-msgid "File"
-msgstr "Bestand"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
 msgid "Size"
 msgstr "Grootte"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1311
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487
+msgid "Priority"
+msgstr "Prioriteit"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492
+msgid "Up to higher level directory"
+msgstr "Naar bovenliggende directory"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517
 msgid "Directory"
 msgstr "Directory"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1316
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522
 msgid "Torrent not found?"
 msgstr "Torrent niet gevonden?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530
 msgid "File not found in torrent?"
 msgstr "Bestand niet gevonden in torrent?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1330
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543
 msgid "complete"
 msgstr "voltooid"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1331
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544
 msgid "bytes remaining"
 msgstr "bytes resterend"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1456
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595
+msgid "High"
+msgstr "Hoog"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1600
+msgid "Normal"
+msgstr "Normaal"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1605
+msgid "Skip"
+msgstr "Overslaan"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1614
+msgid "Save priorities"
+msgstr "Prioriteiten opslaan"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "Torrent gedownload van {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1484
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
+#, java-format
+msgid "Torrent already running: {0}"
+msgstr "Torrent draait al: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1748
+#, java-format
+msgid "Torrent already in the queue: {0}"
+msgstr "Torrent zit al in de wachtrij: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr "Kan het torrent bestand niet kopieren naar {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "Torrent op {0} was niet geldig"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "Torrent was niet ontvangen van {0}"
diff --git a/apps/i2psnark/locale/messages_pt.po b/apps/i2psnark/locale/messages_pt.po
new file mode 100644
index 0000000000000000000000000000000000000000..a2a859e422eba9a11c042e01a7c7452446a67b19
--- /dev/null
+++ b/apps/i2psnark/locale/messages_pt.po
@@ -0,0 +1,864 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the i2psnark package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P i2psnark\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-12-19 03:16+0000\n"
+"PO-Revision-Date: 2010-12-29 16:29+0100\n"
+"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"Language-Team: foo <foo@bar>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Spanish\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:94
+#, java-format
+msgid "Adding torrents in {0} minutes"
+msgstr "Os torrents serão adicionados em {0} minutos ..."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:296
+#, java-format
+msgid "Total uploaders limit changed to {0}"
+msgstr "Limite total de subidores mudado a {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:298
+#, java-format
+msgid "Minimum total uploaders limit is {0}"
+msgstr "O limite mínimo de subidores é {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:310
+#, java-format
+msgid "Up BW limit changed to {0}KBps"
+msgstr "Largura de banda para a subida foi mudada para {0} kbyte/s."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:312
+#, java-format
+msgid "Minimum up bandwidth limit is {0}KBps"
+msgstr "O limite mínimo da largura de banda para a subida está em {0} kbyte/s."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:324
+#, java-format
+msgid "Startup delay limit changed to {0} minutes"
+msgstr "Demora do arranque mudado a {0} minutos"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:371
+msgid "I2CP and tunnel changes will take effect after stopping all torrents"
+msgstr "Mudanças do I2CP e do túnel terão efeito depois de parar todos os torrents"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:378
+msgid "Disconnecting old I2CP destination"
+msgstr "Desconectando anterior Destinação I2CP"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:382
+#, java-format
+msgid "I2CP settings changed to {0}"
+msgstr "Preferências de I2CP mudadas a {0}"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
+msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
+msgstr "Conectar-se não foi posível com as novas preferências I2CP, utilizarei as anteriores."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:390
+msgid "Unable to reconnect with the old settings!"
+msgstr "Impossível se conectar usando as preferências anteriores!"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:392
+msgid "Reconnected on the new I2CP destination"
+msgstr "Conectado com a nova Destinação I2CP"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:403
+#, java-format
+msgid "I2CP listener restarted for \"{0}\""
+msgstr "Conexão I2CP re-estabelecida para \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:414
+msgid "Enabled autostart"
+msgstr "Ativado o iniciar automáticamente"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:416
+msgid "Disabled autostart"
+msgstr "Desativado o iniciar automáticamente"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:422
+msgid "Enabled open trackers - torrent restart required to take effect."
+msgstr "Uso de rastreadores abertos ativado - Para ter efeito é necesário reiniciar os torrents."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:424
+msgid "Disabled open trackers - torrent restart required to take effect."
+msgstr "Uso dos rastreadores abertos desativado - Para ter efeito é necesário reiniciar os torrents."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
+msgid "Open Tracker list changed - torrent restart required to take effect."
+msgstr "Listado de rastreadores abertos mudado - Para ter efeito é necesário reiniciar os torrents."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:438
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr "Tema {0} foi carregado. Volte no menú principal para vê-lo."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:445
+msgid "Configuration unchanged."
+msgstr "Configuração não mudada."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:455
+#, java-format
+msgid "Unable to save the config to {0}"
+msgstr "Não se pode guardar a configuração em {0}."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:494
+msgid "Connecting to I2P"
+msgstr "Conectando com I2P"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:497
+msgid "Error connecting to I2P - check your I2CP settings!"
+msgstr "Erro ao se conectar com I2P - Verifique a sua configuração I2CP!"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:506
+#, java-format
+msgid "Error: Could not add the torrent {0}"
+msgstr "Erro: Não se pode adicionar o torrent {0}."
+
+#. catch this here so we don't try do delete it below
+#: ../java/src/org/klomp/snark/SnarkManager.java:528
+#, java-format
+msgid "Cannot open \"{0}\""
+msgstr "Não pode se abrir \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:541
+#, java-format
+msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only"
+msgstr "Aviso - Se ignorará rastreado não I2P no \"{0}\", anunciando só aos rastreadores abertos do I2P"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:543
+#, java-format
+msgid "Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are disabled, you must enable open trackers before starting the torrent!"
+msgstr "Aviso - Se ignorará rastreador não I2P no \"{0}\", rastreadores abertos estão desativados. Tens que ativá-los antes de iniciar o torrent!"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:563
+#, java-format
+msgid "Torrent in \"{0}\" is invalid"
+msgstr "O arquivo .torrent em \"{0}\" não é válido."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:578
+#, java-format
+msgid "Torrent added and started: \"{0}\""
+msgstr "Torrent adicionado e iniciado: \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:580
+#, java-format
+msgid "Torrent added: \"{0}\""
+msgstr "Torrent adicionado: \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:734
+#, java-format
+msgid "Too many files in \"{0}\" ({1}), deleting it!"
+msgstr "Ha arquivos demais no  \"{0}\", se apagará ({1}). "
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:736
+#, java-format
+msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
+msgstr "O arquivo de dados do torrent \"{0}\" não pode terminar em \".torrent' e será apagado."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:738
+#, java-format
+msgid "No pieces in \"{0}\",  deleting it!"
+msgstr "Não ha peças no \"{0}\", se apagará."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:740
+#, java-format
+msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
+msgstr "Ha peças demais no  \"{0}\" e o limite é {1}. Se apagarão."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:742
+#, java-format
+msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
+msgstr "Peças no \"{0}\" são grandes demais ({1}B). Se apagarão."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:743
+#, java-format
+msgid "Limit is {0}B"
+msgstr "O limite são \"{0}\"Bytes"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:751
+#, java-format
+msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
+msgstr "Torrents maiores que \"{0}\" Bytes ainda não funcionam, se apagará \"{1}\"."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:767
+#, java-format
+msgid "Error: Could not remove the torrent {0}"
+msgstr "Erro: Não se pode quitar o torrent \"{0}\"."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:794
+#, java-format
+msgid "Torrent stopped: \"{0}\""
+msgstr "Torrent parado: \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:814
+#, java-format
+msgid "Torrent removed: \"{0}\""
+msgstr "Torrent quitado: \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:852
+#, java-format
+msgid "Download finished: {0}"
+msgstr "Finalizada a descarga de \"{0}\""
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:880
+msgid "Unable to connect to I2P!"
+msgstr "Impossível de se conectar com I2P"
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:886
+#, java-format
+msgid "Unable to add {0}"
+msgstr "Impossível de adicionar {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
+msgid "I2PSnark - Anonymous BitTorrent Client"
+msgstr "I2PSnark - Cliente de BitTorrent Anônimo"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:198
+msgid "Torrents"
+msgstr "Torrents"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:201
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977
+msgid "I2PSnark"
+msgstr "I2PSnark"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
+msgid "Refresh page"
+msgstr "Atualizar página"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:210
+msgid "Forum"
+msgstr "Foro"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
+msgid "Status"
+msgstr "Estado"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
+msgid "Hide Peers"
+msgstr "ocultar pares"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:277
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:279
+msgid "Show Peers"
+msgstr "mostrar pares"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464
+msgid "Torrent"
+msgstr "Torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+msgid "Estimated time remaining"
+msgstr "Tempo que falta para completar"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
+msgid "ETA"
+msgstr "Tempo"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
+msgid "Downloaded"
+msgstr "Descarregado"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:300
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:314
+msgid "RX"
+msgstr "Baixado"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
+msgid "Uploaded"
+msgstr "Subido"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
+msgid "TX"
+msgstr "Subido"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:312
+msgid "Down Rate"
+msgstr "Taça de descarga"
+
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
+msgid "Rate"
+msgstr "Taça"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
+msgid "Up Rate"
+msgstr "Taça de subida"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340
+msgid "Stop all torrents and the I2P tunnel"
+msgstr "Parar todos os torrents e o túnel I2P"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
+msgid "Stop All"
+msgstr "Parar tudos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:351
+msgid "Start all torrents and the I2P tunnel"
+msgstr "Iniciar todos os torrents e o túnel I2P"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353
+msgid "Start All"
+msgstr "Arrancar todos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:372
+msgid "No torrents loaded."
+msgstr "Não carregado nenhum torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
+msgid "Totals"
+msgstr "Total"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379
+#, java-format
+msgid "1 torrent"
+msgid_plural "{0} torrents"
+msgstr[0] "1 torrent"
+msgstr[1] "{0} torrents"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:382
+#, java-format
+msgid "1 connected peer"
+msgid_plural "{0} connected peers"
+msgstr[0] "1 par conectado"
+msgstr[1] "{0} pares conectados"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:454
+#, java-format
+msgid "Fetching {0}"
+msgstr "Buscando {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:458
+msgid "Invalid URL - must start with http://"
+msgstr "Endereço não válido - tem que começar com http://"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
+#, java-format
+msgid "Starting up torrent {0}"
+msgstr "Iniciando o torrent {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:527
+#, java-format
+msgid "Torrent file deleted: {0}"
+msgstr "Apagado o arquivo torrent: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
+#, java-format
+msgid "Data file deleted: {0}"
+msgstr "Apagado o arquivo de dados: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545
+#, java-format
+msgid "Data file could not be deleted: {0}"
+msgstr "Não se pode apagar o arquivo de dados: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:554
+#, java-format
+msgid "Data dir deleted: {0}"
+msgstr "Apagada a pasta de dados: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587
+msgid "Error creating torrent - you must select a tracker"
+msgstr "Erro ao criar o torrent - Tens que elegir um rastreador."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602
+#, java-format
+msgid "Torrent created for \"{0}\""
+msgstr "Torrent criado para \"{0}\""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
+#, java-format
+msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
+msgstr "Muitos rastreadores no I2P exigem que você registre novos torrents antes de poder semeá-los. Por favor, faça isto antes de iniciar \"{0}\"!"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607
+#, java-format
+msgid "Error creating a torrent for \"{0}\""
+msgstr "Erro ao criar o torrent \"{0}\""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:610
+#, java-format
+msgid "Cannot create a torrent for the nonexistent data: {0}"
+msgstr "Não se pode criar um torrent para dados que não existam: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
+msgid "Error creating torrent - you must enter a file or directory"
+msgstr "Erro ao criar o torrent - Tens que especificar um arquivo ou uma pasta."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616
+msgid "Stopping all torrents and closing the I2P tunnel."
+msgstr "Parando todos os torrents e fechando o túnel I2P"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627
+msgid "I2P tunnel closed."
+msgstr "Túnel I2P fechado"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630
+msgid "Opening the I2P tunnel and starting all torrents."
+msgstr "Abrendo o túnel I2P e iniciando os torrents ..."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:770
+msgid "Tracker Error"
+msgstr "Erro do rastreador"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:799
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:803
+#, java-format
+msgid "1 peer"
+msgid_plural "{0} peers"
+msgstr[0] "1 par"
+msgstr[1] "{0} pares"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
+msgid "Seeding"
+msgstr "semeando"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:784
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533
+msgid "Complete"
+msgstr "completo"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
+msgid "OK"
+msgstr "Bem"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
+msgid "Stalled"
+msgstr "estancado"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
+msgid "No Peers"
+msgstr "sem pares"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810
+msgid "Stopped"
+msgstr "detenido"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#, java-format
+msgid "Details at {0} tracker"
+msgstr "Detalhes no rastreador {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+msgid "Info"
+msgstr "Info"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
+msgid "View files"
+msgstr "mostrar arquivos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:855
+msgid "Open file"
+msgstr "abrir arquivo"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569
+msgid "Open"
+msgstr "abrir"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:909
+msgid "Stop the torrent"
+msgstr "Parar o torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:911
+msgid "Stop"
+msgstr "Parar"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
+msgid "Start the torrent"
+msgstr "Iniciar o torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923
+msgid "Start"
+msgstr "Iniciar"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
+msgid "Remove the torrent from the active list, deleting the .torrent file"
+msgstr "Retire o torrent da lista ativa, apagando o arquivo .torrent"
+
+#. Can't figure out how to escape double quotes inside the onclick string.
+#. Single quotes in translate strings with parameters must be doubled.
+#. Then the remaining single quite must be escaped
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:938
+#, java-format
+msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?"
+msgstr "Está seguro de que quer apagar o arquivo \\''{0}.torrent\\''? (Dados baixados não se apagarão.)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
+msgid "Remove"
+msgstr "Quitar"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
+msgid "Delete the .torrent file and the associated data file(s)"
+msgstr "Apagar o arquivo torrent e o(s) arquivo(s) de dados pertenecentes"
+
+#. Can't figure out how to escape double quotes inside the onclick string.
+#. Single quotes in translate strings with parameters must be doubled.
+#. Then the remaining single quite must be escaped
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955
+#, java-format
+msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?"
+msgstr "Está seguro de que quer apagar o arquivo torrent \\''{0}\\'' e todos os dados descarregados deste torrent?"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
+msgid "Delete"
+msgstr "Apagar"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:991
+msgid "Unknown"
+msgstr "desconhecido"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
+msgid "Seed"
+msgstr "Semeador"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019
+msgid "Uninteresting (The peer has no pieces we need)"
+msgstr "não interessante (O par não tem peças que precisamos.)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
+msgid "Choked (The peer is not allowing us to request pieces)"
+msgstr "sufocado (De momento o par não está nos permitindo pedir mais peças.c)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
+msgid "Uninterested (We have no pieces the peer needs)"
+msgstr "desinteressado (Não temos as peças que o par quer.)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037
+msgid "Choking (We are not allowing the peer to request pieces)"
+msgstr "sufocando (De momento não estamos permitindo que os pares peçam mais peças)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
+msgid "Add Torrent"
+msgstr "Adicionar um torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
+msgid "From URL"
+msgstr "URL fonte:"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097
+msgid "Torrent file must originate from an I2P-based tracker"
+msgstr "O arquivo torrent tem que incluir um rastreador I2P."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102
+msgid "Add torrent"
+msgstr "Adicionar torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105
+#, java-format
+msgid "You can also copy .torrent files to: {0}."
+msgstr "Também pode copiar arquivos torrent a {0}."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
+msgid "Removing a .torrent will cause it to stop."
+msgstr "A remoção de um arquivo .torrent fará com que ele pare."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131
+msgid "Create Torrent"
+msgstr "Criar um torrent"
+
+#. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134
+msgid "Data to seed"
+msgstr "Dados para semear"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
+msgid "File or directory to seed (must be within the specified path)"
+msgstr "Arquivo ou pasta para semear (deve estar no caminho especificado)"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1140
+msgid "Tracker"
+msgstr "Rastreador"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
+msgid "Select a tracker"
+msgstr "Selecione um rastreador"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155
+msgid "or"
+msgstr "ou"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1158
+msgid "Specify custom tracker announce URL"
+msgstr "Especifique o URL de rastreador personalizado"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161
+msgid "Create torrent"
+msgstr "Criar torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
+msgid "Configuration"
+msgstr "Preferências"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184
+msgid "Data directory"
+msgstr "Pasta de dados"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186
+msgid "Edit i2psnark.config and restart to change"
+msgstr "Para mudar, modifique o arquivo i2psnark.config e re-inície!"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
+msgid "Auto start"
+msgstr "Iniciar automáticamente"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194
+msgid "If checked, automatically start torrents that are added"
+msgstr "se marcado, os torrents adicionados se iniciarão automaticamente"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
+msgid "Theme"
+msgstr "Tema"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1211
+msgid "Startup delay"
+msgstr "Demora do arranque"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213
+msgid "minutes"
+msgstr "minutos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
+msgid "Total uploader limit"
+msgstr "Limite global de subidores"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240
+msgid "peers"
+msgstr "pares"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244
+msgid "Up bandwidth limit"
+msgstr "Limite de largura de banda para a subida"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1247
+msgid "Half available bandwidth recommended."
+msgstr "Se recomenda a metade da largura de banda disponível."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249
+msgid "View or change router bandwidth"
+msgstr "mostrar e mudar as preferências da largura de banda do roteador"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253
+msgid "Use open trackers also"
+msgstr "usar também rastreadores abertos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
+msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"
+msgstr "Se marcado, anunciar os torrents aos rastreadores abertos, assim como aos rastreadores listados no arquivo torrent"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1261
+msgid "Open tracker announce URLs"
+msgstr "URL(s) para anunciar aos rastreadores abertos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
+msgid "Inbound Settings"
+msgstr "Preferências de entrada"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279
+msgid "Outbound Settings"
+msgstr "Preferências de saida"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286
+msgid "I2CP host"
+msgstr "Anfitrião I2CP"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
+msgid "I2CP port"
+msgstr "Porto I2CP"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303
+msgid "I2CP options"
+msgstr "Opções I2CP"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308
+msgid "Save configuration"
+msgstr "Guardar configuração"
+
+#. * dummies for translation
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] "1 salto"
+msgstr[1] "{0} saltos"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] "1 túnel"
+msgstr[1] "{0} túneles"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
+msgid "Size"
+msgstr "Tamanho"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487
+msgid "Priority"
+msgstr "Prioridade"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492
+msgid "Up to higher level directory"
+msgstr "Subir uma herarquia"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517
+msgid "Directory"
+msgstr "Pasta"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522
+msgid "Torrent not found?"
+msgstr "Não achei o arquivo torrent?"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530
+msgid "File not found in torrent?"
+msgstr "Arquivo não achado no torrent?"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543
+msgid "complete"
+msgstr "completo"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544
+msgid "bytes remaining"
+msgstr "Bytes faltando"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595
+msgid "High"
+msgstr "alta"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1600
+msgid "Normal"
+msgstr "normal"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1605
+msgid "Skip"
+msgstr "Ignorar"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1614
+msgid "Save priorities"
+msgstr "Guardar prioridades"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726
+#, java-format
+msgid "Torrent fetched from {0}"
+msgstr "Torrent obtido de {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
+#, java-format
+msgid "Torrent already running: {0}"
+msgstr "Torrent já em marcha: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1748
+#, java-format
+msgid "Torrent already in the queue: {0}"
+msgstr "Torrent já na cola: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr "Não se pode copiar o torrent para {0}."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
+#, java-format
+msgid "Torrent at {0} was not valid"
+msgstr "Torrent em {0} não foi válido"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764
+#, java-format
+msgid "Torrent was not retrieved from {0}"
+msgstr "Não se pode obter torrent de {0}"
+
+#~ msgid " theme locked and loaded."
+#~ msgstr "tema carregado"
+#~ msgid "Hide All Attached Peers [connected/total in swarm]"
+#~ msgstr "Ocultar todos os pares [conectados/total neste torrent]"
+#~ msgid "Show All Attached Peers [connected/total in swarm]"
+#~ msgstr "Mostrar todos os pares [conectados/total neste torrent]"
+#~ msgid "Loaded Torrents"
+#~ msgstr "Torrents carregados"
+#~ msgid "Estimated Download Time"
+#~ msgstr "tempo restante da descarga"
+#~ msgid "1"
+#~ msgid_plural "{0}"
+#~ msgstr[0] "1"
+#~ msgstr[1] "{0}"
+#~ msgid "Torrent file {0} does not exist"
+#~ msgstr "Arquivo do torrent {0} não existe"
+#~ msgid "Copying torrent to {0}"
+#~ msgstr "Copiando torrent para {0}"
+#~ msgid "from {0}"
+#~ msgstr "de {0}"
+#~ msgid "Downloading"
+#~ msgstr "descarregando"
+#~ msgid "File"
+#~ msgstr "Arquivo"
+#~ msgid "FileSize"
+#~ msgstr "Tamanho do arquivo"
+#~ msgid "Download Status"
+#~ msgstr "Estado"
+
+#, fuzzy
+#~ msgid "size: {0}B"
+#~ msgstr "Tamaño: {0}Bytes"
+#~ msgid "Directory to store torrents and data"
+#~ msgstr "Carpeta para guardar los archivos torrent y los datos"
+#~ msgid "Do not download"
+#~ msgstr "No descargues"
+#~ msgid "Details"
+#~ msgstr "Detalles"
+#~ msgid "Cannot change the I2CP settings while torrents are active"
+#~ msgstr ""
+#~ "No se puede cammbiar los ajustes I2CP mientras estén activos los torrents"
+#~ msgid "Non-i2p tracker in \"{0}\", deleting it from our list of trackers!"
+#~ msgstr ""
+#~ "Rastreador fuera de I2P en \"{0}\", borrando de la lista de rastreadores"
+#~ msgid "{0} torrents"
+#~ msgstr "{0} Torrents"
+#~ msgid "Uninteresting"
+#~ msgstr "no interesante"
+#~ msgid "Choked"
+#~ msgstr "frenado"
+#~ msgid "Uninterested"
+#~ msgstr "desinteresado"
+#~ msgid "Choking"
+#~ msgstr "frenando"
+#~ msgid "Custom tracker URL"
+#~ msgstr "URL especial del rastreador"
+#~ msgid "Configure"
+#~ msgstr "Ajustes"
+
diff --git a/apps/i2psnark/locale/messages_ru.po b/apps/i2psnark/locale/messages_ru.po
index 579403a9474251dde1bc9e0f9edb02651c2463cc..ed82ff35c9c065dcf7c797927f043ccf067fb41a 100644
--- a/apps/i2psnark/locale/messages_ru.po
+++ b/apps/i2psnark/locale/messages_ru.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-13 22:04+0000\n"
-"PO-Revision-Date: 2010-11-14 21:18+0500\n"
+"POT-Creation-Date: 2010-12-13 19:43+0000\n"
+"PO-Revision-Date: 2010-12-16 00:10+0500\n"
 "Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "Language: \n"
@@ -19,312 +19,318 @@ msgstr ""
 "X-Poedit-Language: Russian\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:90
+#: ../java/src/org/klomp/snark/SnarkManager.java:94
 #, java-format
 msgid "Adding torrents in {0} minutes"
 msgstr "Торренты будут подгружены через {0} минут(ы)"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:261
+#: ../java/src/org/klomp/snark/SnarkManager.java:296
 #, java-format
 msgid "Total uploaders limit changed to {0}"
 msgstr "Новое значение лимита количества слотов отдачи: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:263
+#: ../java/src/org/klomp/snark/SnarkManager.java:298
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
 msgstr "Минимально допустимое значение для количества слотов: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:275
+#: ../java/src/org/klomp/snark/SnarkManager.java:310
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "Новое значение лимита скорости отдачи: {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:277
+#: ../java/src/org/klomp/snark/SnarkManager.java:312
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "Минимально допустимое значение для лимита скорости отдачи: {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:289
+#: ../java/src/org/klomp/snark/SnarkManager.java:324
 #, java-format
 msgid "Startup delay limit changed to {0} minutes"
 msgstr "Новое значение задержки запуска: {0} минут(ы)"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:336
+#: ../java/src/org/klomp/snark/SnarkManager.java:371
 msgid "I2CP and tunnel changes will take effect after stopping all torrents"
 msgstr "Изменения настроек I2CP и туннелей вступят в силу после остановки всех торрентов."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:343
+#: ../java/src/org/klomp/snark/SnarkManager.java:378
 msgid "Disconnecting old I2CP destination"
 msgstr "Рассоединяемся по старому адресу I2CP"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:347
+#: ../java/src/org/klomp/snark/SnarkManager.java:382
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "Новые параметры I2CP: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:351
+#: ../java/src/org/klomp/snark/SnarkManager.java:386
 msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
 msgstr "Не удалось соединиться с использованием новых настроек I2CP, возвращаемся к старым настройкам"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:355
+#: ../java/src/org/klomp/snark/SnarkManager.java:390
 msgid "Unable to reconnect with the old settings!"
 msgstr "Не удалось пересоединиться с использованием старых настроек I2CP!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:357
+#: ../java/src/org/klomp/snark/SnarkManager.java:392
 msgid "Reconnected on the new I2CP destination"
 msgstr "Пересоединились по новому адресу I2CP"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:368
+#: ../java/src/org/klomp/snark/SnarkManager.java:403
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "I2CP-приёмник перезапущен для \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:379
+#: ../java/src/org/klomp/snark/SnarkManager.java:414
 msgid "Enabled autostart"
 msgstr "Автостарт включен"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:381
+#: ../java/src/org/klomp/snark/SnarkManager.java:416
 msgid "Disabled autostart"
 msgstr "Автостарт выключен"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:387
+#: ../java/src/org/klomp/snark/SnarkManager.java:422
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "Включено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:389
+#: ../java/src/org/klomp/snark/SnarkManager.java:424
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "Отключено использование открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:396
+#: ../java/src/org/klomp/snark/SnarkManager.java:431
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "Изменен список открытых трекеров. Требуется перезапуск торрента, чтобы изменения вступили в силу."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:403
+#: ../java/src/org/klomp/snark/SnarkManager.java:438
+#, java-format
+msgid "{0} theme loaded, return to main i2psnark page to view."
+msgstr "{0} тема загружена, вернитесь на основную страницу i2psnark для просмотра."
+
+#: ../java/src/org/klomp/snark/SnarkManager.java:445
 msgid "Configuration unchanged."
 msgstr "Настройки не изменились."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:413
+#: ../java/src/org/klomp/snark/SnarkManager.java:455
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "Не удалось сохранить настройки в {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:452
+#: ../java/src/org/klomp/snark/SnarkManager.java:494
 msgid "Connecting to I2P"
 msgstr "Устанавливается соединение с I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:455
+#: ../java/src/org/klomp/snark/SnarkManager.java:497
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "Ошибка соединения с I2P, проверьте настройки I2CP!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:464
+#: ../java/src/org/klomp/snark/SnarkManager.java:506
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "Ошибка: Не удалось добавить торрент {0}"
 
 #. catch this here so we don't try do delete it below
-#: ../java/src/org/klomp/snark/SnarkManager.java:486
+#: ../java/src/org/klomp/snark/SnarkManager.java:528
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "Не удалось открыть \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:499
+#: ../java/src/org/klomp/snark/SnarkManager.java:541
 #, java-format
 msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only"
 msgstr "Внимание: указанные в \"{0}\" не-i2p трекеры будут проигнорированы, будут использоваться только открытые i2p трекеры"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:501
+#: ../java/src/org/klomp/snark/SnarkManager.java:543
 #, java-format
 msgid "Warning - Ignoring non-i2p tracker in \"{0}\", and open trackers are disabled, you must enable open trackers before starting the torrent!"
 msgstr "Внимание: указанные в \"{0}\" не-i2p трекеры будут проигнорированы, однако использование открытых i2p трекеров отключено, Вы должны включить поддержку открытых i2p трекеров перед запуском этого торрента!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:521
+#: ../java/src/org/klomp/snark/SnarkManager.java:563
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "Торрент в \"{0}\" некорректен"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:536
+#: ../java/src/org/klomp/snark/SnarkManager.java:578
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "Торрент добавлен и запущен: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:538
+#: ../java/src/org/klomp/snark/SnarkManager.java:580
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "Торрент добавлен: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:692
+#: ../java/src/org/klomp/snark/SnarkManager.java:734
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "Слишком много файлов в торренте \"{0}\" ({1}), удаляем его!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:694
+#: ../java/src/org/klomp/snark/SnarkManager.java:736
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
 msgstr "Торрент \"{0}\" содержит единственный файл заканчивающийся на \".torrent\", удаляем его!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:696
+#: ../java/src/org/klomp/snark/SnarkManager.java:738
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "В торренте \"{0}\" не оказалось ни одной части, удаляем его!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:698
+#: ../java/src/org/klomp/snark/SnarkManager.java:740
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "Слишком много частей в торренте \"{0}\" (наш предел {1}), удаляем его!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:700
+#: ../java/src/org/klomp/snark/SnarkManager.java:742
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "Слишком крупные части в торренте \"{0}\" ({1}B), удаляем его."
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:701
+#: ../java/src/org/klomp/snark/SnarkManager.java:743
 #, java-format
 msgid "Limit is {0}B"
 msgstr "Наш предел {0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:709
+#: ../java/src/org/klomp/snark/SnarkManager.java:751
 #, java-format
 msgid "Torrents larger than {0}B are not supported yet, deleting \"{1}\""
 msgstr "Торренты крупнее чем {0}B пока не поддерживается, удаляем \"{1}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:725
+#: ../java/src/org/klomp/snark/SnarkManager.java:767
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "Ошибка: Невозможно удалить торрент {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:746
+#: ../java/src/org/klomp/snark/SnarkManager.java:794
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "Торрент остановлен: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:761
+#: ../java/src/org/klomp/snark/SnarkManager.java:814
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "Торрент удален: \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:799
+#: ../java/src/org/klomp/snark/SnarkManager.java:852
 #, java-format
 msgid "Download finished: {0}"
 msgstr "Закачка завершена: {0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:799
-#, java-format
-msgid "size: {0}B"
-msgstr "размер: {0}B"
-
-#: ../java/src/org/klomp/snark/SnarkManager.java:827
+#: ../java/src/org/klomp/snark/SnarkManager.java:880
 msgid "Unable to connect to I2P!"
 msgstr "Не удалось установить соединение с I2P!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:833
+#: ../java/src/org/klomp/snark/SnarkManager.java:886
 #, java-format
 msgid "Unable to add {0}"
 msgstr "Не удаётся добавить {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:176
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:185
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark — Анонимный  BitTorrent Клиент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:198
 msgid "Torrents"
 msgstr "Торренты"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:190
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:197
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:901
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:201
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:977
 msgid "I2PSnark"
 msgstr "I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:194
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:205
 msgid "Refresh page"
 msgstr "Обновить страницу"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:199
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:210
 msgid "Forum"
 msgstr "Форум"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:248
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1377
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
 msgid "Status"
 msgstr "Статус"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:255
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:257
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
 msgid "Hide Peers"
 msgstr "спрятать список пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:262
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:277
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:279
 msgid "Show Peers"
 msgstr "показать список пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:271
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1358
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1464
 msgid "Torrent"
 msgstr "Торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:276
-msgid "Estimated Download Time"
-msgstr "Предположительное Время Закачки"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:290
+msgid "Estimated time remaining"
+msgstr "Примерное оставшееся время"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:278
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
 msgid "ETA"
 msgstr "Осталось"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:281
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297
 msgid "Downloaded"
 msgstr "Получено"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:283
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:300
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:314
 msgid "RX"
 msgstr "Принято"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:286
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
 msgid "Uploaded"
 msgstr "Отдано"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:288
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:324
 msgid "TX"
 msgstr "Отдано"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:291
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:312
 msgid "Down Rate"
 msgstr "Скорость загрузки"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:293
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:298
+#. Translators: Please keep short or translate as " "
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:317
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
 msgid "Rate"
 msgstr "Скорость"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:296
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
 msgid "Up Rate"
 msgstr "Скорость отдачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:304
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:307
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:340
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "Остановить все торренты и закрыть соединение с I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:309
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
 msgid "Stop All"
 msgstr "Остановить все"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:315
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:318
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:351
 msgid "Start all torrents and the I2P tunnel"
 msgstr "Запустить все торренты и открыть соединение с I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:336
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353
+msgid "Start All"
+msgstr "Запустить все"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:372
 msgid "No torrents loaded."
 msgstr "Нет загруженных торрентов."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:341
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:377
 msgid "Totals"
 msgstr "Всего"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:343
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:379
 #, java-format
 msgid "1 torrent"
 msgid_plural "{0} torrents"
@@ -332,7 +338,7 @@ msgstr[0] "{0} торрент"
 msgstr[1] "{0} торрента"
 msgstr[2] "{0} торрентов"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:382
 #, java-format
 msgid "1 connected peer"
 msgid_plural "{0} connected peers"
@@ -340,136 +346,98 @@ msgstr[0] "{0} подсоединенный пир"
 msgstr[1] "{0} подсоединенных пиров"
 msgstr[2] "{0} подсоединенных пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:375
-#, java-format
-msgid "Torrent file {0} does not exist"
-msgstr "Торрент {0} не существует"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:385
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1629
-#, java-format
-msgid "Torrent already running: {0}"
-msgstr "Торрент уже запущен: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:387
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1631
-#, java-format
-msgid "Torrent already in the queue: {0}"
-msgstr "Торрент уже в очереди: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:391
-#, java-format
-msgid "Copying torrent to {0}"
-msgstr "Копируем торрент в: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394
-#, java-format
-msgid "Unable to copy the torrent to {0}"
-msgstr "Не удалось скопировать торрент в: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:394
-#, java-format
-msgid "from {0}"
-msgstr "из: {0}"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:402
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:454
 #, java-format
 msgid "Fetching {0}"
 msgstr "Получение торрента: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:406
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:458
 msgid "Invalid URL - must start with http://"
 msgstr "Некорректный URL, должен начинаться с http://"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:436
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:489
 #, java-format
 msgid "Starting up torrent {0}"
 msgstr "Запускаем торрент: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:456
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:474
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:509
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:527
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "Удален торрент: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:480
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "Файл удален: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:482
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:492
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:545
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "Не удалось удалить файл: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:501
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:554
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "Директория удалена: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:587
 msgid "Error creating torrent - you must select a tracker"
 msgstr "Торрент не создан — вы должны указать трекер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:548
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:602
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "Создан торрент для \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:551
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:605
 #, java-format
 msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
 msgstr "Многие I2P трекеры требуют зарегистрировать на них торрент перед началом раздачи — пожалуйста проверьте требуется ли это перед запуском \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:553
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:607
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "Ошибка при создании торрента для: \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:556
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:610
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "Невозможно создать торрент для несуществующего файла или директории: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:559
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:613
 msgid "Error creating torrent - you must enter a file or directory"
 msgstr "Торрент не создан — вы должны указать файл или директорию"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:562
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:616
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "Останавливаем все торренты и закрываем соединение с I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:573
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627
 msgid "I2P tunnel closed."
 msgstr "Соединение с I2P закрыто."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:576
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:630
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "Соединяемся с I2P и запускаем все торренты."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:698
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:915
-msgid "Unknown"
-msgstr "Неизвестный"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:701
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:706
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:712
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:759
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:770
 msgid "Tracker Error"
 msgstr "Ошибка Трекера"
 
 # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN"
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:704
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:708
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:720
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:724
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:732
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:736
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:741
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:745
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:749
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:790
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:799
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:803
 #, java-format
 msgid "1 peer"
 msgid_plural "{0} peers"
@@ -477,261 +445,279 @@ msgstr[0] "{0} пир"
 msgstr[1] "{0} пира"
 msgstr[2] "{0} пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:717
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:722
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:775
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:780
 msgid "Seeding"
 msgstr "Раздается"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:726
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1427
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:784
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1533
 msgid "Complete"
 msgstr "Завершен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:729
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:734
-msgid "Downloading"
-msgstr "Идёт загрузка"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
+msgid "OK"
+msgstr "Загружается"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:738
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:743
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:801
 msgid "Stalled"
 msgstr "Простаивает"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:747
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:805
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
 msgid "No Peers"
 msgstr "Нет Пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:751
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:810
 msgid "Stopped"
 msgstr "Остановлен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837
+#, java-format
+msgid "Details at {0} tracker"
+msgstr "Детали на трекере {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+msgid "Info"
+msgstr "Информация"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:853
 msgid "View files"
 msgstr "Открыть директорию"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:768
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:855
 msgid "Open file"
 msgstr "Открыть файл"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:798
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1049
-msgid "Tracker"
-msgstr "Трекер"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:865
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1569
+msgid "Open"
+msgstr "Открыть"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:836
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:909
 msgid "Stop the torrent"
 msgstr "Остановить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:911
 msgid "Stop"
 msgstr "Остановить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:845
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:848
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
 msgid "Start the torrent"
 msgstr "Запустить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:850
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:923
 msgid "Start"
 msgstr "Запустить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:856
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:864
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr "Удалить торрент из списка и с диска"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:861
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:938
 #, java-format
 msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded data will not be deleted) ?"
 msgstr "Вы действительно хотите удалить \\''{0}.torrent\\''? (загруженные файлы удаляться НЕ будут)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:941
 msgid "Remove"
 msgstr "Удалить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:871
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:950
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "Удалить торрент и стереть загруженные файлы"
 
 #. Can't figure out how to escape double quotes inside the onclick string.
 #. Single quotes in translate strings with parameters must be doubled.
 #. Then the remaining single quite must be escaped
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:876
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:955
 #, java-format
 msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloaded data?"
 msgstr "Вы действительно хотите удалить торрент \\''{0}\\'' и все загруженные файлы?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
 msgid "Delete"
 msgstr "Стереть"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:925
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:991
+msgid "Unknown"
+msgstr "Неизвестный"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1001
 msgid "Seed"
 msgstr "Сид"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:943
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1019
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "Uninteresting (У пира нет нужных нам частей торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:945
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "Choked (Этот пир не позволяет нам запрашивать части торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:959
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "Uninterested (У нас нужных этому пиру частей торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1037
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "Choking (Мы не позволяем этому пиру запрашивать у нас части торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1005
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
 msgid "Add Torrent"
 msgstr "Добавить Торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
 msgid "From URL"
 msgstr "Из URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1010
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1097
 msgid "Torrent file must originate from an I2P-based tracker"
 msgstr "Торрент-файл должен быть с I2P-трекера"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1015
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102
 msgid "Add torrent"
 msgstr "Добавить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1105
 #, java-format
 msgid "You can also copy .torrent files to: {0}."
 msgstr "Либо вы можете просто скопировать .torrent-файлы в директорию {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1020
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
 msgid "Removing a .torrent will cause it to stop."
 msgstr "Удаление .torrent-файла приведёт к остановке торрента."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1040
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1131
 msgid "Create Torrent"
 msgstr "Создать Торрент"
 
 #. out.write("From file: <input type=\"file\" name=\"newFile\" size=\"50\" value=\"" + newFile + "\" /><br>\n");
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1043
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1134
 msgid "Data to seed"
 msgstr "Файлы для раздачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1047
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1138
 msgid "File or directory to seed (must be within the specified path)"
 msgstr "Файл или директория для раздачи (вводите только название файла или директории, указание абсолютных путей не поддерживается)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1051
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1140
+msgid "Tracker"
+msgstr "Трекер"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
 msgid "Select a tracker"
 msgstr "Выбрать трекер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1064
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1155
 msgid "or"
 msgstr "или"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1067
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1158
 msgid "Specify custom tracker announce URL"
 msgstr "Задать URL анонсера вручную"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1070
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1161
 msgid "Create torrent"
 msgstr "Создать торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1089
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1180
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317
 msgid "Configuration"
 msgstr "Настройки"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1184
 msgid "Data directory"
 msgstr "Директория для файлов"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1094
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186
 msgid "Edit i2psnark.config and restart to change"
 msgstr "Для изменения отредактируйте файл i2psnark.config и перезагрузите I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1098
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1190
 msgid "Auto start"
 msgstr "Автозапуск"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1102
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1194
 msgid "If checked, automatically start torrents that are added"
 msgstr "Автоматически запускать торренты после добавления"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1106
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
+msgid "Theme"
+msgstr "Тема"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1211
 msgid "Startup delay"
 msgstr "Задержка запуска"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1108
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1213
 msgid "minutes"
 msgstr "минут"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1132
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
 msgid "Total uploader limit"
 msgstr "Ограничение количества слотов отдачи"
 
 # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN"
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1135
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1240
 msgid "peers"
-msgstr "пир."
+msgstr "пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1139
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1244
 msgid "Up bandwidth limit"
 msgstr "Ограничение скорости отдачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1142
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1247
 msgid "Half available bandwidth recommended."
 msgstr "Рекомендуется использовать половину от доступной пропускной способности."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1144
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1249
 msgid "View or change router bandwidth"
 msgstr "Посмотреть/настроить ограничения скорости в маршрутизаторе I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1148
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1253
 msgid "Use open trackers also"
 msgstr "Дополнительно использовать открытые трекеры"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1152
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
 msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"
 msgstr "Анонсировать торренты на открытых трекерах, дополнительно к тем, что указаны внутри торрента"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1156
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1261
 msgid "Open tracker announce URLs"
 msgstr "URL открытых трекеров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1168
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
 msgid "Inbound Settings"
 msgstr "Входящие туннели"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1174
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279
 msgid "Outbound Settings"
 msgstr "Исходящие туннели"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1181
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1286
 msgid "I2CP host"
 msgstr "Адрес I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1186
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1291
 msgid "I2CP port"
 msgstr "Порт I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1198
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1303
 msgid "I2CP options"
 msgstr "Параметры I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1203
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1308
 msgid "Save configuration"
 msgstr "Сохранить настройки"
 
 #. * dummies for translation
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1221
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1325
 #, java-format
 msgid "1 hop"
 msgid_plural "{0} hops"
@@ -739,7 +725,7 @@ msgstr[0] "{0} хоп"
 msgstr[1] "{0} хопа"
 msgstr[2] "{0} хопов"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1222
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1326
 #, java-format
 msgid "1 tunnel"
 msgid_plural "{0} tunnels"
@@ -747,88 +733,115 @@ msgstr[0] "{0} туннель"
 msgstr[1] "{0} туннеля"
 msgstr[2] "{0} туннелей"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1371
-msgid "File"
-msgstr "Файл"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374
-msgid "FileSize"
-msgstr "Размер Файла"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1374
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1480
 msgid "Size"
 msgstr "Размер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1377
-msgid "Download Status"
-msgstr "Статус закачки"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1381
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1487
 msgid "Priority"
 msgstr "Приоритет"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1386
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1492
 msgid "Up to higher level directory"
 msgstr "Перейти в директорию уровнем выше"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1411
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1517
 msgid "Directory"
 msgstr "Директория"
 
 # This debug error message intentionally left in English
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1416
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1522
 msgid "Torrent not found?"
 msgstr "Torrent not found?"
 
 # This debug error message intentionally left in English
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1424
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1530
 msgid "File not found in torrent?"
 msgstr "File not found in torrent?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1431
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1543
 msgid "complete"
 msgstr "скачано"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1432
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1544
 msgid "bytes remaining"
 msgstr "байт осталось"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1595
 msgid "High"
 msgstr "Высокий"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1488
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1600
 msgid "Normal"
 msgstr "Нормальный"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1493
-msgid "Ignore"
-msgstr "Не качать"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1605
+msgid "Skip"
+msgstr "Пропустить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1502
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1614
 msgid "Save priorities"
 msgstr "Сохранить приоритеты"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1609
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1726
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "Получен торрент из: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1637
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1746
+#, java-format
+msgid "Torrent already running: {0}"
+msgstr "Торрент уже запущен: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1748
+#, java-format
+msgid "Torrent already in the queue: {0}"
+msgstr "Торрент уже в очереди: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1755
+#, java-format
+msgid "Failed to copy torrent file to {0}"
+msgstr "Не удалось скопировать торрент в: {0}"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1759
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "Торрент полученный из {0} некорректен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1642
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1764
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "Не удалось получить торрент из: {0}"
 
-#~ msgid "Start All"
-#~ msgstr "Запустить все"
+#~ msgid "size: {0}B"
+#~ msgstr "размер: {0}B"
+
+#~ msgid "Estimated Download Time"
+#~ msgstr "Предположительное Время Закачки"
+
+#~ msgid "Torrent file {0} does not exist"
+#~ msgstr "Торрент {0} не существует"
+
+#~ msgid "Copying torrent to {0}"
+#~ msgstr "Копируем торрент в: {0}"
+
+#~ msgid "from {0}"
+#~ msgstr "из: {0}"
+
+#~ msgid "Downloading"
+#~ msgstr "Идёт загрузка"
+
+#~ msgid "File"
+#~ msgstr "Файл"
+
+#~ msgid "FileSize"
+#~ msgstr "Размер Файла"
+
+#~ msgid "Download Status"
+#~ msgstr "Статус закачки"
 
-#~ msgid "OK"
-#~ msgstr "Загружается"
+#~ msgid "Ignore"
+#~ msgstr "Не качать"
 
 #~ msgid "Details"
 #~ msgstr "Подробнее"
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java
index bfde2fb32432864bcade361925f7ff33b647c3f4..44c16353210613506d97b1bc3bfbc4452804eb75 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClient.java
@@ -29,7 +29,9 @@ public class I2PTunnelClient extends I2PTunnelClientBase {
     public I2PTunnelClient(int localPort, String destinations, Logging l, 
                            boolean ownDest, EventDispatcher notifyThis, 
                            I2PTunnel tunnel, String pkf) throws IllegalArgumentException {
-        super(localPort, ownDest, l, notifyThis, "SynSender", tunnel, pkf);
+        super(localPort, ownDest, l, notifyThis,
+              "Standard client on " + tunnel.listenHost + ':' + localPort,
+              tunnel, pkf);
 
         if (waitEventValue("openBaseClientResult").equals("error")) {
             notifyEvent("openClientResult", "error");
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
index 0f1b35c3295d27805cf4dae23035e45f942501f6..0668a36b3edd40aacda8948947a0bbe281fef475 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java
@@ -73,7 +73,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem
         _proxyList = new ArrayList(4);
     }
 
-    /** all auth @ince 0.8.2 */
+    /** all auth @since 0.8.2 */
     public static final String PROP_AUTH = "proxyAuth";
     public static final String PROP_USER = "proxyUsername";
     public static final String PROP_PW = "proxyPassword";
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
index a2305f1a45d4da34cc22cbec3283c0b67b1f3d34..d4efaa8ea4ba0425664e07f917f0159c4b7c458b 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java
@@ -385,6 +385,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
         //if (_log.shouldLog(Log.DEBUG))
         //    _log.debug("Read the http command [" + command.toString() + "]");
         
+        // FIXME we probably don't need or want this in the outgoing direction
         int trimmed = 0;
         if (command.length() > 0) {
             for (int i = 0; i < command.length(); i++) {
@@ -424,7 +425,8 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer {
                 else if ("X-Accept-encoding".equalsIgnoreCase(name))
                     name = "X-Accept-encoding";
 
-                //We want to remove certain headers to improve anonymity
+                // For incoming, we remove certain headers to prevent spoofing.
+                // For outgoing, we remove certain headers to improve anonymity.
                 boolean skip = false;
                 for (String skipHeader: skipHeaders) {
                     if (skipHeader.equalsIgnoreCase(name)) {
diff --git a/apps/i2ptunnel/locale/messages_de.po b/apps/i2ptunnel/locale/messages_de.po
index 324dcab89dfe005676e00888d3c214a3e632b739..d253333ae300db13c12e62b2fbf060977befae68 100644
--- a/apps/i2ptunnel/locale/messages_de.po
+++ b/apps/i2ptunnel/locale/messages_de.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: I2P i2ptunnel\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-12-04 17:23+0000\n"
-"PO-Revision-Date: 2010-12-04 18:31+0100\n"
+"PO-Revision-Date: 2010-12-19 04:36+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
diff --git a/apps/i2ptunnel/locale/messages_nl.po b/apps/i2ptunnel/locale/messages_nl.po
index 39c31def23bba86c9f70f4d6a503b4eac4e66e4a..90e5be16b176d0974852a54167b03f037aefeed3 100644
--- a/apps/i2ptunnel/locale/messages_nl.po
+++ b/apps/i2ptunnel/locale/messages_nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2ptunnel\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-04 16:39+0000\n"
+"POT-Creation-Date: 2010-12-17 15:04+0000\n"
 "PO-Revision-Date: 2010-06-15 14:09+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
@@ -17,68 +17,95 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Dutch\n"
 
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:492
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:475
 #, java-format
 msgid ""
 "To visit the destination in your host database, click <a href=\"{0}\">here</"
 "a>. To visit the conflicting addresshelper destination, click <a href=\"{1}"
 "\">here</a>."
-msgstr "Om de destination in je host database te bezoeken, klik <a href=\"{0}\">here</a>. Om de conflicterende adreshelper destination te bezoeken, klik <a href=\"{1}\">here</a>."
+msgstr ""
+"Om de destination in je host database te bezoeken, klik <a href=\"{0}"
+"\">hier</a>. Om de conflicterende adreshelper destination te bezoeken, klik "
+"<a href=\"{1}\">hier</a>."
 
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:909
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:932
 msgid ""
 "Click a link below to look for an address helper by using a \"jump\" service:"
-msgstr "Klik op een onderstaande link om te zoeken naar een adreshelper via een \"jump\" service:"
+msgstr ""
+"Klik op een onderstaande link om te zoeken naar een adreshelper via een "
+"\"jump\" service:"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:170
+msgid ""
+"Invalid form submission, probably because you used the 'back' or 'reload' "
+"button on your browser. Please resubmit."
+msgstr ""
+"Ongeldige formulier verzonden, waarschijnlijk doordat je de 'back' of "
+"'reload' button van je browser hebt gebruikt. Verzend opnieuw."
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:372
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:217
+msgid "Configuration reloaded for all tunnels"
+msgstr "Configuratie van alle tunnels opnieuw geladen"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:229
+msgid "Starting tunnel"
+msgstr "Opstarten van tunnel"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242
+msgid "Stopping tunnel"
+msgstr "Stoppen van tunnel"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389
 msgid "New Tunnel"
 msgstr "Nieuwe Tunnel"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:392
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:409
 msgid "Standard client"
 msgstr "Standaard client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:393
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:410
 msgid "HTTP client"
 msgstr "HTTP client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:394
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:411
 msgid "IRC client"
 msgstr "IRC client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:395
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:412
 msgid "Standard server"
 msgstr "Standaard server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:396
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:413
 msgid "HTTP server"
 msgstr "HTTP server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:397
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:414
 msgid "SOCKS 4/4a/5 proxy"
 msgstr "SOCKS 4/4a/5 proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:415
 msgid "SOCKS IRC proxy"
 msgstr "SOCKS IRC proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:399
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:416
 msgid "CONNECT/SSL/HTTPS proxy"
 msgstr "CONNECT/SSL/HTTPS proxy"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:400
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:417
 msgid "IRC server"
 msgstr "IRC server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:401
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
 msgid "Streamr client"
 msgstr "Streamr client"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:402
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
 msgid "Streamr server"
 msgstr "Streamr server"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:403
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
 msgid "HTTP bidir"
 msgstr "HTTP bidir"
 
@@ -113,7 +140,7 @@ msgstr "Type"
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:226
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
 msgid "Description"
 msgstr "Omschrijving"
 
@@ -175,294 +202,337 @@ msgstr "Tunnel Destinations"
 msgid "name or destination"
 msgstr "naam of destination"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:217
+msgid "b32 not recommended"
+msgstr "b32 niet aanbevolen"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:223
 msgid "Shared Client"
 msgstr "Gedeelde Client"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:224
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227
 msgid ""
 "(Share tunnels with other clients and irc/httpclients? Change requires "
 "restart of client proxy)"
-msgstr "(Deel tunnels met andere clients en irc/httpclients? Wijziging vereist herstart van de client proxy)"
+msgstr ""
+"(Deel tunnels met andere clients en irc/httpclients? Wijziging vereist "
+"herstart van de client proxy)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:231
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
 msgid "Auto Start"
 msgstr "Auto Start"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:232
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:235
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:128
 msgid "(Check the Box for 'YES')"
 msgstr "(Markeer de Box voor 'JA')"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:234
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:249
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:258
 msgid "Advanced networking options"
 msgstr "Geavanceerde netwerk opties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:236
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
 msgid ""
 "(NOTE: when this client proxy is configured to share tunnels, then these "
 "options are for all the shared proxy clients!)"
-msgstr "(OPMERKING: wanneer deze client proxy is geconfigureerd om tunnels te delen, dan zijn deze opties van toepassing voor alle gedeelde proxy clients!)"
+msgstr ""
+"(OPMERKING: wanneer deze client proxy is geconfigureerd om tunnels te delen, "
+"dan zijn deze opties van toepassing voor alle gedeelde proxy clients!)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:260
 msgid "Tunnel Options"
 msgstr "Tunnel Opties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:240
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
 msgid "Length"
 msgstr "Lengte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:260
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:269
 msgid "0 hop tunnel (low anonymity, low latency)"
 msgstr "0 hop tunnel (lage anonimiteit, weinig vertraging)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:264
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:254
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:273
 msgid "1 hop tunnel (medium anonymity, medium latency)"
 msgstr "1 hop tunnel (gemiddelde anonimiteit, gemiddelde vertraging)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:255
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:268
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:258
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:277
 msgid "2 hop tunnel (high anonymity, high latency)"
 msgstr "2 hop tunnel (hoge anonimiteit, hoge vertraging)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:259
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:272
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:262
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
 msgid "3 hop tunnel (very high anonymity, poor performance)"
 msgstr "3 hop tunnel (zeer hoge anonimiteit, slechte prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:268
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:271
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:290
 msgid "hop tunnel (very poor performance)"
 msgstr "hop tunnel (zeer slechte prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:273
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:286
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:276
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:295
 msgid "Variance"
 msgstr "Variantie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:280
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:293
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:283
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:302
 msgid "0 hop variance (no randomisation, consistant performance)"
 msgstr "0 hop variantie (geen randomisatie, consistente prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:284
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:287
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:306
 msgid ""
 "+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
-msgstr "+ 0-1 hop variantie (gemiddeld toegevoegde randomisatie, minder prestatie)"
+msgstr ""
+"+ 0-1 hop variantie (gemiddeld toegevoegde randomisatie, minder prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:288
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:310
 msgid ""
 "+ 0-2 hop variance (high additive randomisation, subtractive performance)"
 msgstr "+ 0-2 hop variantie (hoge toegevoegde randomisatie, minder prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:292
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:295
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:314
 msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
 msgstr "+/- 0-1 hop variantie (standaard randomisatie, standaard prestatie)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:296
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:318
 msgid "+/- 0-2 hop variance (not recommended)"
 msgstr "+/- 0-2 hop variantie (niet aanbevolen)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:308
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:330
 msgid "hop variance"
 msgstr "hop variantie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:313
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:335
 msgid "Count"
 msgstr "Aantal"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:320
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:342
 msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
-msgstr "1 inkomende, 1 uitgaande tunnel (laag bandbreedte gebruik, minder betrouwbaar)"
+msgstr ""
+"1 inkomende, 1 uitgaande tunnel (laag bandbreedte gebruik, minder "
+"betrouwbaar)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:346
 msgid ""
 "2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
 "reliability)"
-msgstr "2 inkomende, 2 uitgaande tunnels (standaard bandbreedte gebruik, standaard betrouwbaarheid)"
+msgstr ""
+"2 inkomende, 2 uitgaande tunnels (standaard bandbreedte gebruik, standaard "
+"betrouwbaarheid)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:328
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:331
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:350
 msgid ""
 "3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
-msgstr "3 inkomende, 3 uitgaande tunnels (hoge bandbreedte gebruik, hogere betrouwbaarheid)"
+msgstr ""
+"3 inkomende, 3 uitgaande tunnels (hoge bandbreedte gebruik, hogere "
+"betrouwbaarheid)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:337
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:359
 msgid "tunnels"
 msgstr "tunnels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:342
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:355
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:364
 msgid "Backup Count"
 msgstr "Backup Aantal"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:349
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:362
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:371
 msgid "0 backup tunnels (0 redundancy, no added resource usage)"
 msgstr "0 backup tunnels (0 redundantie, geen additionele bronnen gebruikt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:353
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:356
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:375
 msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
-msgstr "1 backup tunnel in beide richting (lage redundantie, lage aantal bronnen gebruikt)"
+msgstr ""
+"1 backup tunnel in beide richting (lage redundantie, lage aantal bronnen "
+"gebruikt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:357
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:379
 msgid ""
 "2 backup tunnels each direction (medium redundancy, medium resource usage)"
-msgstr "2 backup tunnels in beide richting (gemiddelde redundantie, gemiddeld aantal bronnen gebruikt)"
+msgstr ""
+"2 backup tunnels in beide richting (gemiddelde redundantie, gemiddeld aantal "
+"bronnen gebruikt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:361
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:374
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:383
 msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
-msgstr "3 backup tunnels in beide richting (hoge redundantie, hoog aantal bronnen gebruikt)"
+msgstr ""
+"3 backup tunnels in beide richting (hoge redundantie, hoog aantal bronnen "
+"gebruikt)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:370
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:383
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:373
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:392
 msgid "backup tunnels"
 msgstr "backup tunnels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:377
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:390
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:380
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:399
 msgid "Profile"
 msgstr "Profiel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:384
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:397
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:406
 msgid "interactive connection"
 msgstr "interactieve connectie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:388
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:401
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:410
 msgid "bulk connection (downloads/websites/BT)"
 msgstr "bulk connection (downloads/websites/BT)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:390
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:393
 msgid "Delay Connect"
 msgstr "Vertraagde Connectie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:397
 msgid "for request/response connections"
 msgstr "voor request/response connecties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:398
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:401
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:414
 msgid "I2CP Options"
 msgstr "I2CP Opties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:400
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:403
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:146
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:407
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:416
 msgid "Host"
 msgstr "Host"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:404
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:407
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:152
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:420
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:244
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
 msgid "Port"
 msgstr "Poort"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:410
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:413
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:452
 msgid "Reduce tunnel quantity when idle"
 msgstr "Verminder tunnel aantal wanneer in rust"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:412
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:446
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:445
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:415
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:437
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:449
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:479
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:426
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:442
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:454
 msgid "Enable"
 msgstr "Ingeschakeld"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:449
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:419
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:458
 msgid "Reduced tunnel count"
 msgstr "Verminder tunnel aantal"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:443
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:462
 msgid "Idle minutes"
 msgstr "Rust minuten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:424
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:427
 msgid "Close tunnels when idle"
 msgstr "Sluit tunnels wanneer in rust"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:433
 msgid "New Keys on Reopen"
 msgstr "Nieuwe Sleutels bij Heropenen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:438
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:441
 msgid "Disable"
 msgstr "Uitgeschakeld"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:444
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:447
 msgid "Delay tunnel open until required"
 msgstr "Vertraag tunnel opening totdat het nodig is"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:454
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:457
 msgid "Persistent private key"
 msgstr "Persistente private sleutel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:463
 msgid "File"
 msgstr "Bestand"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:467
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:235
 msgid "Local destination"
 msgstr "Lokale destination"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:468
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:471
 msgid "(if known)"
 msgstr "(indien bekend)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:489
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:477
+msgid "Local Authorization"
+msgstr "Lokale Autorisatie"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:483
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:497
+msgid "Username"
+msgstr "Gebruikersnaam"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:487
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:501
+msgid "Password"
+msgstr "Wachtwoord"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:491
+msgid "Outproxy Authorization"
+msgstr "Uitgaande Proxy Autorisatie"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:507
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:498
 msgid "Custom options"
 msgstr "Aangepaste opties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:476
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:511
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:502
 msgid ""
 "NOTE: If tunnel is currently running, most changes will not take effect "
 "until tunnel is stopped and restarted."
-msgstr "OPMERKING: Indien de tunnel op dit moment draait, zullen de meeste wijzigingen pas effect hebben na het stoppen en herstarten van de tunnel."
+msgstr ""
+"OPMERKING: Indien de tunnel op dit moment draait, zullen de meeste "
+"wijzigingen pas effect hebben na het stoppen en herstarten van de tunnel."
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:513
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:504
 msgid "Cancel"
 msgstr "Annuleer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:482
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:508
 msgid "Delete"
 msgstr "Verwijder"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:484
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:501
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:519
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:510
 msgid "Save"
 msgstr "Opslaan"
 
@@ -494,72 +564,76 @@ msgstr "Private sleutel bestand"
 msgid "Add to local addressbook"
 msgstr "Toevoegen aan lokaal adresboek"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:415
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:252
+msgid "Hostname Signature"
+msgstr "Hostnaam Handtekening"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:424
 msgid "Encrypt Leaseset"
 msgstr "Versleutel Leaseset"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:421
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:430
 msgid "Encryption Key"
 msgstr "Encryptie Sleutel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:425
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:434
 msgid "Generate New Key"
 msgstr "Genereer Nieuwe Sleutel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:436
 msgid "Generate"
 msgstr "Genereer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:487
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:438
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:496
 msgid "(Tunnel must be stopped first)"
 msgstr "(Tunnel moet eerst gestopt worden)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:440
 msgid "Restricted Access List"
 msgstr "Beperkte Toegangs Lijst"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:437
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:446
 msgid "Access List"
 msgstr "Toegangs Lijst"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:441
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:450
 msgid "(Restrict to these clients only)"
 msgstr "(Beperkt tot slechts deze clients)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:457
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:466
 msgid "New Certificate type"
 msgstr "Nieuw Certificaat type"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:468
 msgid "None"
 msgstr "Geen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:472
 msgid "Hashcash (effort)"
 msgstr "Hashcash (effort)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:469
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:478
 msgid "Hashcash Calc Time"
 msgstr "Hashcash Reken Tijd"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:471
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:480
 msgid "Estimate"
 msgstr "Inschatten"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:473
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:482
 msgid "Hidden"
 msgstr "Verborgen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:477
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:486
 msgid "Signed (signed by)"
 msgstr "Ondertekend (ondertekend door)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:483
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:492
 msgid "Modify Certificate"
 msgstr "Wijzig Certificaat"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:494
 msgid "Modify"
 msgstr "Wijzig"
 
@@ -654,12 +728,12 @@ msgid "New server tunnel"
 msgstr "Nieuwe server tunnel"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:236
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:368
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
 msgid "Standard"
 msgstr "Standaard"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:379
 msgid "Create"
 msgstr "Creëer"
 
@@ -676,14 +750,18 @@ msgstr "Interface"
 msgid "Standby"
 msgstr "Stand-by"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:344
 msgid "Outproxy"
 msgstr "Uitgaande proxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:348
 msgid "Destination"
 msgstr "Destination"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:362
+msgid "none"
+msgstr "geen"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:375
 msgid "New client tunnel"
 msgstr "Nieuwe client tunnel"
diff --git a/apps/i2ptunnel/locale/messages_ru.po b/apps/i2ptunnel/locale/messages_ru.po
index aa52967726e52d242f3a734fdccfebc40527666a..718e82e9ff745deddcbbc7ef8e0c252e6f898372 100644
--- a/apps/i2ptunnel/locale/messages_ru.po
+++ b/apps/i2ptunnel/locale/messages_ru.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2ptunnel\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-13 22:04+0000\n"
-"PO-Revision-Date: 2010-11-14 19:56+0500\n"
+"POT-Creation-Date: 2010-12-13 19:43+0000\n"
+"PO-Revision-Date: 2010-12-14 00:54+0500\n"
 "Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "Language: \n"
@@ -18,64 +18,82 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Russian\n"
 
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:492
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:475
 #, java-format
 msgid "To visit the destination in your host database, click <a href=\"{0}\">here</a>. To visit the conflicting addresshelper destination, click <a href=\"{1}\">here</a>."
 msgstr "Для перехода по ссылке из локальной адресной книги, нажмите <a href=\"{0}\">здесь</a>. Для перехода по новой addresshelper-ссылке, нажмите <a href=\"{1}\">здесь</a>."
 
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:917
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:932
 msgid "Click a link below to look for an address helper by using a \"jump\" service:"
 msgstr "Jump-сервисы, которые, возможно, знают нужную Вам addresshelper-ссылку:"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:382
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:170
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr "Неправильно переданная форма, возможно вы использовали действие браузера \"назад\" или \"обновить\". Пожалуйста повторите попытку."
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:217
+msgid "Configuration reloaded for all tunnels"
+msgstr "Конфигурация для всех туннелей перечитана"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:229
+msgid "Starting tunnel"
+msgstr "Запуск туннеля"
+
+#. and give them something to look at in any case
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:242
+msgid "Stopping tunnel"
+msgstr "Остановка туннеля"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389
 msgid "New Tunnel"
 msgstr "Новый туннель"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:402
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:409
 msgid "Standard client"
 msgstr "Обычный клиент"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:403
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:410
 msgid "HTTP client"
 msgstr "HTTP-клиент"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:404
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:411
 msgid "IRC client"
 msgstr "IRC-клиент"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:405
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:412
 msgid "Standard server"
 msgstr "Обычный сервер"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:406
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:413
 msgid "HTTP server"
 msgstr "HTTP-сервер"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:407
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:414
 msgid "SOCKS 4/4a/5 proxy"
 msgstr "SOCKS 4/4a/5 прокси"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:408
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:415
 msgid "SOCKS IRC proxy"
 msgstr "SOCKS IRC прокси"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:409
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:416
 msgid "CONNECT/SSL/HTTPS proxy"
 msgstr "CONNECT/SSL/HTTPS прокси"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:410
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:417
 msgid "IRC server"
 msgstr "IRC-сервер"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:411
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:418
 msgid "Streamr client"
 msgstr "Streamr-клиент"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:412
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:419
 msgid "Streamr server"
 msgstr "Streamr-сервер"
 
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:413
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:420
 msgid "HTTP bidir"
 msgstr "HTTP bidir (экспериментальный двунаправленный режим, инструкцию спрашивайте у sponge)"
 
@@ -110,7 +128,7 @@ msgstr "Тип"
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:120
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:120
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:226
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:367
 msgid "Description"
 msgstr "Описание"
 
@@ -380,6 +398,8 @@ msgstr "Снижать количество туннелей при просто
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:437
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:449
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:479
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:493
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:426
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:442
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:454
@@ -430,27 +450,45 @@ msgstr "Локальный адрес назначения"
 msgid "(if known)"
 msgstr "(если известен)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:475
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:477
+msgid "Local Authorization"
+msgstr "Локальная авторизация"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:483
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:497
+msgid "Username"
+msgstr "Имя пользователя"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:487
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:501
+msgid "Password"
+msgstr "Пароль"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:491
+msgid "Outproxy Authorization"
+msgstr "Авторизация outproxy"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:507
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:498
 msgid "Custom options"
 msgstr "Дополнительные параметры"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:479
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:511
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:502
 msgid "NOTE: If tunnel is currently running, most changes will not take effect until tunnel is stopped and restarted."
 msgstr "ПРИМЕЧАНИЕ: для вступления в силу измененных настроек потребуется остановка и перезапуск туннеля"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:481
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:513
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:504
 msgid "Cancel"
 msgstr "Отмена"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:517
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:508
 msgid "Delete"
 msgstr "Удалить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:487
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:519
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:510
 msgid "Save"
 msgstr "Сохранить"
@@ -647,12 +685,12 @@ msgid "New server tunnel"
 msgstr "Новый серверный туннель"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:236
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:368
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:377
 msgid "Standard"
 msgstr "Стандартный"
 
 #: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:370
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:379
 msgid "Create"
 msgstr "Создать"
 
@@ -670,15 +708,19 @@ msgid "Standby"
 msgstr "Режим ожидания"
 
 # This term intentionally left in English
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:344
 msgid "Outproxy"
 msgstr "Outproxy"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:348
 msgid "Destination"
 msgstr "Адрес назначения"
 
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:362
+msgid "none"
+msgstr "нет"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:375
 msgid "New client tunnel"
 msgstr "Новый клиентский туннель"
 
diff --git a/apps/jetty/java/src/org/mortbay/http/handler/ResourceHandler.java b/apps/jetty/java/src/org/mortbay/http/handler/ResourceHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..5515df2269322b11b57a151b7bb78f3aa9f05b32
--- /dev/null
+++ b/apps/jetty/java/src/org/mortbay/http/handler/ResourceHandler.java
@@ -0,0 +1,809 @@
+// ========================================================================
+// $Id: ResourceHandler.java,v 1.66 2005/08/24 08:18:17 gregwilkins Exp $
+// Copyright 199-2004 Mort Bay Consulting Pty. Ltd.
+// ------------------------------------------------------------------------
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at 
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ========================================================================
+
+package org.mortbay.http.handler;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Enumeration;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.mortbay.log.LogFactory;
+import org.mortbay.http.HttpException;
+import org.mortbay.http.HttpFields;
+import org.mortbay.http.HttpRequest;
+import org.mortbay.http.HttpResponse;
+import org.mortbay.http.InclusiveByteRange;
+import org.mortbay.http.MultiPartResponse;
+import org.mortbay.http.ResourceCache;
+import org.mortbay.util.CachedResource;
+import org.mortbay.util.IO;
+import org.mortbay.util.LogSupport;
+import org.mortbay.util.Resource;
+import org.mortbay.util.StringMap;
+import org.mortbay.util.TypeUtil;
+import org.mortbay.util.URI;
+
+/* ------------------------------------------------------------ */
+/** Handler to serve files and resources.
+ * Serves files from a given resource URL base and implements
+ * the GET, HEAD, DELETE, OPTIONS, PUT, MOVE methods and the
+ * IfModifiedSince and IfUnmodifiedSince header fields.
+ * A simple memory cache is also provided to reduce file I/O.
+ * HTTP/1.1 ranges are supported.
+ * 
+ * @version $Id: ResourceHandler.java,v 1.66 2005/08/24 08:18:17 gregwilkins Exp $
+ * @author Nuno Preguiça
+ * @author Greg Wilkins
+ */
+public class ResourceHandler extends AbstractHttpHandler
+{
+    private static Log log = LogFactory.getLog(ResourceHandler.class);
+
+    /* ----------------------------------------------------------------- */
+    private boolean _acceptRanges=true;
+    private boolean _redirectWelcomeFiles ;
+    private String[] _methods=null;
+    private String _allowed;
+    private boolean _dirAllowed=true;
+    private int _minGzipLength =-1;
+    private StringMap _methodMap = new StringMap();
+    {
+        setAllowedMethods(new String[]
+            {
+                HttpRequest.__GET,
+                HttpRequest.__POST,
+                HttpRequest.__HEAD,
+                HttpRequest.__OPTIONS,
+                HttpRequest.__TRACE
+            });
+    }
+
+    /* ----------------------------------------------------------------- */
+    /** Construct a ResourceHandler.
+     */
+    public ResourceHandler()
+    {}
+
+ 
+    /* ----------------------------------------------------------------- */
+    public synchronized void start()
+        throws Exception
+    {        
+        super.start();
+    }
+ 
+    /* ----------------------------------------------------------------- */
+    public void stop()
+        throws InterruptedException
+    {
+        super.stop();
+    }
+
+    /* ------------------------------------------------------------ */
+    public String[] getAllowedMethods()
+    {
+        return _methods;
+    }
+
+    /* ------------------------------------------------------------ */
+    public void setAllowedMethods(String[] methods)
+    {
+        StringBuffer b = new StringBuffer();
+        _methods=methods;
+        _methodMap.clear();
+        for (int i=0;i<methods.length;i++)
+        {
+            _methodMap.put(methods[i],methods[i]);
+            if (i>0)
+                b.append(',');
+            b.append(methods[i]);
+        }
+        _allowed=b.toString();
+    }
+
+    /* ------------------------------------------------------------ */
+    public boolean isMethodAllowed(String method)
+    {
+        return _methodMap.get(method)!=null;
+    }
+
+    /* ------------------------------------------------------------ */
+    public String getAllowedString()
+    {
+        return _allowed;
+    }
+    
+    /* ------------------------------------------------------------ */
+    public boolean isDirAllowed()
+    {
+        return _dirAllowed;
+    }
+    
+    /* ------------------------------------------------------------ */
+    public void setDirAllowed(boolean dirAllowed)
+    {
+        _dirAllowed = dirAllowed;
+    }
+    
+    /* ------------------------------------------------------------ */
+    public boolean isAcceptRanges()
+    {
+        return _acceptRanges;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** 
+     * @return True if welcome files are redirected to. False if forward is used.
+     */
+    public boolean getRedirectWelcome()
+    {
+        return _redirectWelcomeFiles;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** 
+     * @param redirectWelcome True if welcome files are redirected to. False
+     * if forward is used. 
+     */
+    public void setRedirectWelcome(boolean redirectWelcome)
+    {
+        _redirectWelcomeFiles = redirectWelcome;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set if the handler accepts range requests.
+     * Default is false;
+     * @param ar True if the handler should accept ranges
+     */
+    public void setAcceptRanges(boolean ar)
+    {
+        _acceptRanges=ar;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get minimum content length for GZIP encoding.
+     * @return Minimum length of content for gzip encoding or -1 if disabled.
+     */
+    public int getMinGzipLength()
+    {
+        return _minGzipLength;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set minimum content length for GZIP encoding.
+     * @param minGzipLength If set to a positive integer, then static content
+     * larger than this will be served as gzip content encoded
+     * if a matching resource is found ending with ".gz"
+     */
+    public void setMinGzipLength(int minGzipLength)
+    {
+        _minGzipLength = minGzipLength;
+    }
+
+    
+    /* ------------------------------------------------------------ */
+    /** get Resource to serve.
+     * Map a path to a resource. The default implementation calls
+     * HttpContext.getResource but derived handers may provide
+     * their own mapping.
+     * @param pathInContext The path to find a resource for.
+     * @return The resource to serve.
+     */
+    protected Resource getResource(String pathInContext)
+        throws IOException
+    {
+        return getHttpContext().getResource(pathInContext);
+    }
+    
+    /* ------------------------------------------------------------ */
+    public void handle(String pathInContext,
+                       String pathParams,
+                       HttpRequest request,
+                       HttpResponse response)
+        throws HttpException, IOException
+    {
+        Resource resource = getResource(pathInContext);
+        if (resource==null)
+            return;
+
+        // Is the method allowed?
+        if (!isMethodAllowed(request.getMethod()))
+        {
+            if(log.isDebugEnabled())log.debug("Method not allowed: "+request.getMethod());
+            if (resource.exists())
+            {
+                setAllowHeader(response);
+                response.sendError(HttpResponse.__405_Method_Not_Allowed);
+            }
+            return;
+        }
+
+        // Handle the request
+        try
+        {
+            if(log.isDebugEnabled())log.debug("PATH="+pathInContext+" RESOURCE="+resource);
+            
+            // check filename
+            String method=request.getMethod();
+            if (method.equals(HttpRequest.__GET) ||
+                method.equals(HttpRequest.__POST) ||
+                method.equals(HttpRequest.__HEAD))
+                handleGet(request, response, pathInContext, pathParams, resource);  
+            else if (method.equals(HttpRequest.__PUT))
+                handlePut(request, response, pathInContext, resource);
+            else if (method.equals(HttpRequest.__DELETE))
+                handleDelete(request, response, pathInContext, resource);
+            else if (method.equals(HttpRequest.__OPTIONS))
+                handleOptions(response, pathInContext);
+            else if (method.equals(HttpRequest.__MOVE))
+                handleMove(request, response, pathInContext, resource);
+            else if (method.equals(HttpRequest.__TRACE))
+                handleTrace(request, response);
+            else
+            {
+                if(log.isDebugEnabled())log.debug("Unknown action:"+method);
+                // anything else...
+                try{
+                    if (resource.exists())
+                        response.sendError(HttpResponse.__501_Not_Implemented);
+                }
+                catch(Exception e) {LogSupport.ignore(log,e);}
+            }
+        }
+        catch(IllegalArgumentException e)
+        {
+            LogSupport.ignore(log,e);
+        }
+        finally
+        {
+            if (resource!=null && !(resource instanceof CachedResource))
+                resource.release();
+        }
+    }
+
+    /* ------------------------------------------------------------------- */
+    public void handleGet(HttpRequest request,
+                          HttpResponse response,
+                          String pathInContext,
+                          String pathParams,
+                          Resource resource)
+        throws IOException
+    {
+        if(log.isDebugEnabled())log.debug("Looking for "+resource);
+        
+        if (resource!=null && resource.exists())
+        {            
+            // check if directory
+            if (resource.isDirectory())
+            {
+                if (!pathInContext.endsWith("/") && !pathInContext.equals("/"))
+                {
+                    log.debug("Redirect to directory/");
+                    
+                    String q=request.getQuery();
+                    
+                    // Properly fix URI
+                    URI urifix = new URI(request.getRequestURL().toString());
+                    urifix.setPath(urifix.getPath());
+                    StringBuffer buf = new StringBuffer(urifix.toString());
+                    urifix = null;
+                    
+                    if (q!=null&&q.length()!=0)
+                    {
+                        buf.append('?');
+                        buf.append(q);
+                    }
+                    response.setField(HttpFields.__Location, URI.addPaths(buf.toString(),"/"));
+                    response.setStatus(302);
+                    request.setHandled(true);
+                    return;
+                }
+  
+                // See if index file exists
+                String welcome=getHttpContext().getWelcomeFile(resource);
+                if (welcome!=null)
+                {     
+                    // Forward to the index
+                    String ipath=URI.addPaths(pathInContext,welcome);
+                    if (_redirectWelcomeFiles)
+                    {
+                        // Redirect to the index
+                        ipath=URI.addPaths(getHttpContext().getContextPath(),ipath);
+                        response.setContentLength(0);
+                        response.sendRedirect(ipath);
+                    }
+                    else
+                    {
+                        URI uri=request.getURI();
+                        uri.setPath(URI.addPaths(uri.getPath(),welcome));
+                        getHttpContext().handle(ipath,pathParams,request,response);
+                    }
+                    return;
+                }
+
+                // Check modified dates
+                if (!passConditionalHeaders(request,response,resource))
+                    return;
+                // If we got here, no forward to index took place
+                sendDirectory(request,response,resource,pathInContext.length()>1);
+            }
+            // check if it is a file
+            else if (resource.exists())
+            {
+                // Check modified dates
+                if (!passConditionalHeaders(request,response,resource))
+                    return;
+                sendData(request,response,pathInContext,resource,true);
+            }
+            else
+                // don't know what it is
+                log.warn("Unknown file type");
+        }
+    }
+
+ 
+    /* ------------------------------------------------------------ */
+    /* Check modification date headers.
+     */
+    private boolean passConditionalHeaders(HttpRequest request,
+                                           HttpResponse response,
+                                           Resource resource)
+        throws IOException
+    {
+        if (!request.getMethod().equals(HttpRequest.__HEAD))
+        {
+            // If we have meta data for the file
+            // Try a direct match for most common requests. Avoids
+            // parsing the date.
+            ResourceCache.ResourceMetaData metaData =
+                (ResourceCache.ResourceMetaData)resource.getAssociate();
+            if (metaData!=null)
+            {
+                String ifms=request.getField(HttpFields.__IfModifiedSince);
+                String mdlm=metaData.getLastModified();
+                if (ifms!=null && mdlm!=null && ifms.equals(mdlm))
+                {
+                    response.setStatus(HttpResponse.__304_Not_Modified);
+                    request.setHandled(true);
+                    return false;
+                }
+            }
+
+            
+            long date=0;
+            // Parse the if[un]modified dates and compare to resource
+            
+            if ((date=request.getDateField(HttpFields.__IfUnmodifiedSince))>0)
+            {
+                if (resource.lastModified()/1000 > date/1000)
+                {
+                    response.sendError(HttpResponse.__412_Precondition_Failed);
+                    return false;
+                }
+            }
+            
+            if ((date=request.getDateField(HttpFields.__IfModifiedSince))>0)
+            {
+                
+                if (resource.lastModified()/1000 <= date/1000)
+                {
+                    response.setStatus(HttpResponse.__304_Not_Modified);
+                    request.setHandled(true);
+                    return false;
+                }
+            }
+   
+        }
+        return true;
+    }
+ 
+ 
+    /* ------------------------------------------------------------ */
+    void handlePut(HttpRequest request,
+                   HttpResponse response,
+                   String pathInContext,
+                   Resource resource)
+        throws IOException
+    {
+        if(log.isDebugEnabled())log.debug("PUT "+pathInContext+" in "+resource);
+
+        boolean exists=resource!=null && resource.exists();
+        if (exists &&
+            !passConditionalHeaders(request,response,resource))
+            return;
+        
+        if (pathInContext.endsWith("/"))
+        {
+            if (!exists)
+            {
+                if (!resource.getFile().mkdirs())
+                    response.sendError(HttpResponse.__403_Forbidden, "Directories could not be created");
+                else
+                {
+                    request.setHandled(true);
+                    response.setStatus(HttpResponse.__201_Created);
+                    response.commit();
+                }
+            }
+            else
+            {
+                request.setHandled(true);
+                response.setStatus(HttpResponse.__200_OK);
+                response.commit();
+            }
+        }
+        else
+        {
+            try
+            {
+                int toRead = request.getContentLength();
+                InputStream in = request.getInputStream();
+                OutputStream out = resource.getOutputStream();
+                if (toRead>=0)
+                    IO.copy(in,out,toRead);
+                else
+                    IO.copy(in,out);
+                out.close();
+                request.setHandled(true);
+                response.setStatus(exists
+                                   ?HttpResponse.__200_OK
+                                   :HttpResponse.__201_Created);
+                response.commit();
+            }
+            catch (Exception ex)
+            {
+                log.warn(LogSupport.EXCEPTION,ex);
+                response.sendError(HttpResponse.__403_Forbidden,
+                                   ex.getMessage());
+            }
+        }
+    }
+
+    /* ------------------------------------------------------------ */
+    void handleDelete(HttpRequest request,
+                      HttpResponse response,
+                      String pathInContext,
+                      Resource resource)
+        throws IOException
+    {
+        if(log.isDebugEnabled())log.debug("DELETE "+pathInContext+" from "+resource);  
+ 
+        if (!resource.exists() ||
+            !passConditionalHeaders(request,response,resource))
+            return;
+ 
+        try
+        {
+            // delete the file
+            if (resource.delete())
+                response.setStatus(HttpResponse.__204_No_Content);
+            else
+                response.sendError(HttpResponse.__403_Forbidden);
+
+            // Send response
+            request.setHandled(true);
+        }
+        catch (SecurityException sex)
+        {
+            log.warn(LogSupport.EXCEPTION,sex);
+            response.sendError(HttpResponse.__403_Forbidden, sex.getMessage());
+        }
+    }
+
+ 
+    /* ------------------------------------------------------------ */
+    void handleMove(HttpRequest request,
+                    HttpResponse response,
+                    String pathInContext,
+                    Resource resource)
+        throws IOException
+    {
+        if (!resource.exists() || !passConditionalHeaders(request,response,resource))
+            return;
+
+ 
+        String newPath = URI.canonicalPath(request.getField("New-uri"));
+        if (newPath==null)
+        {
+            response.sendError(HttpResponse.__405_Method_Not_Allowed,
+                               "Bad new uri");
+            return;
+        }
+
+        String contextPath = getHttpContext().getContextPath();
+        if (contextPath!=null && !newPath.startsWith(contextPath))
+        {
+            response.sendError(HttpResponse.__405_Method_Not_Allowed,
+                               "Not in context");
+            return;
+        }
+        
+
+        // Find path
+        try
+        {
+            // TODO - Check this
+            String newInfo=newPath;
+            if (contextPath!=null)
+                newInfo=newInfo.substring(contextPath.length());
+            Resource newFile = getHttpContext().getBaseResource().addPath(newInfo);
+     
+            if(log.isDebugEnabled())log.debug("Moving "+resource+" to "+newFile);
+            resource.renameTo(newFile);
+    
+            response.setStatus(HttpResponse.__204_No_Content);
+            request.setHandled(true);
+        }
+        catch (Exception ex)
+        {
+            log.warn(LogSupport.EXCEPTION,ex);
+            setAllowHeader(response);
+            response.sendError(HttpResponse.__405_Method_Not_Allowed,
+                               "Error:"+ex);
+            return;
+        }
+    }
+ 
+    /* ------------------------------------------------------------ */
+    void handleOptions(HttpResponse response, String pathInContext)
+        throws IOException
+    {
+        if ("*".equals(pathInContext))
+            return;
+        setAllowHeader(response);
+        response.commit();
+    }
+ 
+    /* ------------------------------------------------------------ */
+    void setAllowHeader(HttpResponse response)
+    {
+        response.setField(HttpFields.__Allow, getAllowedString());
+    }
+    
+    /* ------------------------------------------------------------ */
+    public void writeHeaders(HttpResponse response,Resource resource, long count)
+        throws IOException
+    {
+        ResourceCache.ResourceMetaData metaData =
+            (ResourceCache.ResourceMetaData)resource.getAssociate();
+
+        response.setContentType(metaData.getMimeType());
+        if (count != -1)
+        {
+            if (count==resource.length())
+                response.setField(HttpFields.__ContentLength,metaData.getLength());
+            else
+                response.setContentLength((int)count);
+        }
+
+        response.setField(HttpFields.__LastModified,metaData.getLastModified());
+        
+        if (_acceptRanges && response.getHttpRequest().getDotVersion()>0)
+            response.setField(HttpFields.__AcceptRanges,"bytes");
+    }
+
+    /* ------------------------------------------------------------ */
+    public void sendData(HttpRequest request,
+                         HttpResponse response,
+                         String pathInContext,
+                         Resource resource,
+                         boolean writeHeaders)
+        throws IOException
+    {
+        long resLength=resource.length();
+        
+        //  see if there are any range headers
+        Enumeration reqRanges =
+            request.getDotVersion()>0
+            ?request.getFieldValues(HttpFields.__Range)
+            :null;
+        
+        if (!writeHeaders || reqRanges == null || !reqRanges.hasMoreElements())
+        {
+            // look for a gziped content.
+            Resource data=resource;
+            if (_minGzipLength>0)
+            {
+                String accept=request.getField(HttpFields.__AcceptEncoding);
+                if (accept!=null && resLength>_minGzipLength &&
+                    !pathInContext.endsWith(".gz"))
+                {
+                    Resource gz = getHttpContext().getResource(pathInContext+".gz");
+                    if (gz.exists() && accept.indexOf("gzip")>=0)
+                    {
+                        if(log.isDebugEnabled())log.debug("gzip="+gz);
+                        response.setField(HttpFields.__ContentEncoding,"gzip");
+                        data=gz;
+                        resLength=data.length();
+                    }
+                }
+            }
+            writeHeaders(response,resource,resLength);
+            
+            request.setHandled(true);
+            OutputStream out = response.getOutputStream();
+            data.writeTo(out,0,resLength);
+            return;
+        }
+            
+        // Parse the satisfiable ranges
+        List ranges =InclusiveByteRange.satisfiableRanges(reqRanges,resLength);
+        if(log.isDebugEnabled())log.debug("ranges: " + reqRanges + " == " + ranges);
+        
+        //  if there are no satisfiable ranges, send 416 response
+        if (ranges==null || ranges.size()==0)
+        {
+            log.debug("no satisfiable ranges");
+            writeHeaders(response, resource, resLength);
+            response.setStatus(HttpResponse.__416_Requested_Range_Not_Satisfiable);
+            response.setReason((String)HttpResponse.__statusMsg
+                               .get(TypeUtil.newInteger(HttpResponse.__416_Requested_Range_Not_Satisfiable)));
+
+            response.setField(HttpFields.__ContentRange, 
+                              InclusiveByteRange.to416HeaderRangeString(resLength));
+            
+            OutputStream out = response.getOutputStream();
+            resource.writeTo(out,0,resLength);
+            request.setHandled(true);
+            return;
+        }
+
+        
+        //  if there is only a single valid range (must be satisfiable 
+        //  since were here now), send that range with a 216 response
+        if ( ranges.size()== 1)
+        {
+            InclusiveByteRange singleSatisfiableRange =
+                (InclusiveByteRange)ranges.get(0);
+            if(log.isDebugEnabled())log.debug("single satisfiable range: " + singleSatisfiableRange);
+            long singleLength = singleSatisfiableRange.getSize(resLength);
+            writeHeaders(response,resource,singleLength);
+            response.setStatus(HttpResponse.__206_Partial_Content);
+            response.setReason((String)HttpResponse.__statusMsg
+                               .get(TypeUtil.newInteger(HttpResponse.__206_Partial_Content)));
+            response.setField(HttpFields.__ContentRange, 
+                              singleSatisfiableRange.toHeaderRangeString(resLength));
+            OutputStream out = response.getOutputStream();
+            resource.writeTo(out,
+                             singleSatisfiableRange.getFirst(resLength), 
+                             singleLength);
+            request.setHandled(true);
+            return;
+        }
+
+        
+        //  multiple non-overlapping valid ranges cause a multipart
+        //  216 response which does not require an overall 
+        //  content-length header
+        //
+        ResourceCache.ResourceMetaData metaData =
+            (ResourceCache.ResourceMetaData)resource.getAssociate();
+        String encoding = metaData.getMimeType();
+        MultiPartResponse multi = new MultiPartResponse(response);
+        response.setStatus(HttpResponse.__206_Partial_Content);
+        response.setReason((String)HttpResponse.__statusMsg
+                           .get(TypeUtil.newInteger(HttpResponse.__206_Partial_Content)));
+
+	// If the request has a "Request-Range" header then we need to
+	// send an old style multipart/x-byteranges Content-Type. This
+	// keeps Netscape and acrobat happy. This is what Apache does.
+	String ctp;
+	if (request.containsField(HttpFields.__RequestRange))
+	    ctp = "multipart/x-byteranges; boundary=";
+	else
+	    ctp = "multipart/byteranges; boundary=";
+	response.setContentType(ctp+multi.getBoundary());
+
+        InputStream in=(resource instanceof CachedResource)
+            ?null:resource.getInputStream();
+        OutputStream out = response.getOutputStream();
+        long pos=0;
+            
+        for (int i=0;i<ranges.size();i++)
+        {
+            InclusiveByteRange ibr = (InclusiveByteRange) ranges.get(i);
+            String header=HttpFields.__ContentRange+": "+
+                ibr.toHeaderRangeString(resLength);
+            if(log.isDebugEnabled())log.debug("multi range: "+encoding+" "+header);
+            multi.startPart(encoding,new String[]{header});
+
+            long start=ibr.getFirst(resLength);
+            long size=ibr.getSize(resLength);
+            if (in!=null)
+            {
+                // Handle non cached resource
+                if (start<pos)
+                {
+                    in.close();
+                    in=resource.getInputStream();
+                    pos=0;
+                }
+                if (pos<start)
+                {
+                    in.skip(start-pos);
+                    pos=start;
+                }
+                IO.copy(in,out,size);
+                pos+=size;
+            }
+            else
+                // Handle cached resource
+                resource.writeTo(out,start,size);
+            
+        }
+        if (in!=null)
+            in.close();
+        multi.close();
+
+        request.setHandled(true);
+
+        return;
+    }
+
+
+    /* ------------------------------------------------------------------- */
+    void sendDirectory(HttpRequest request,
+                       HttpResponse response,
+                       Resource resource,
+                       boolean parent)
+        throws IOException
+    {
+        if (!_dirAllowed)
+        {
+            response.sendError(HttpResponse.__403_Forbidden);
+            return;
+        }
+        
+        request.setHandled(true);
+        
+        if(log.isDebugEnabled())log.debug("sendDirectory: "+resource);
+        byte[] data=null;
+        if (resource instanceof CachedResource)
+            data=((CachedResource)resource).getCachedData();
+        
+        if (data==null)
+        {
+            String base = URI.addPaths(request.getPath(),"/");
+            String dir = resource.getListHTML(URI.encodePath(base),parent);
+            if (dir==null)
+            {
+                response.sendError(HttpResponse.__403_Forbidden,
+                                   "No directory");
+                return;
+            }
+            data=dir.getBytes("UTF8");
+            if (resource instanceof CachedResource)
+                ((CachedResource)resource).setCachedData(data);
+        }
+        
+        response.setContentType("text/html; charset=UTF8");
+        response.setContentLength(data.length);
+        
+        if (request.getMethod().equals(HttpRequest.__HEAD))
+        {
+            response.commit();
+            return;
+        }
+        
+        response.getOutputStream().write(data,0,data.length);
+        response.commit();
+    }
+}
+
+
+
diff --git a/apps/jetty/java/src/org/mortbay/util/FileResource.java b/apps/jetty/java/src/org/mortbay/util/FileResource.java
new file mode 100644
index 0000000000000000000000000000000000000000..8788f14fdfb59228ee3c40c0fd351ebb90a2d9b6
--- /dev/null
+++ b/apps/jetty/java/src/org/mortbay/util/FileResource.java
@@ -0,0 +1,352 @@
+// ========================================================================
+// $Id: FileResource.java,v 1.31 2006/01/04 13:55:31 gregwilkins Exp $
+// Copyright 1996-2004 Mort Bay Consulting Pty. Ltd.
+// ------------------------------------------------------------------------
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at 
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ========================================================================
+package org.mortbay.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.security.Permission;
+
+import org.apache.commons.logging.Log;
+import org.mortbay.log.LogFactory;
+
+
+/* ------------------------------------------------------------ */
+/** File Resource.
+ *
+ * Handle resources of implied or explicit file type.
+ * This class can check for aliasing in the filesystem (eg case
+ * insensitivity).  By default this is turned on if the platform does
+ * not have the "/" path separator, or it can be controlled with the
+ * "org.mortbay.util.FileResource.checkAliases" system parameter.
+ *
+ * If alias checking is turned on, then aliased resources are
+ * treated as if they do not exist, nor can they be created.
+ *
+ * @version $Revision: 1.31 $
+ * @author Greg Wilkins (gregw)
+ */
+public class FileResource extends URLResource
+{
+	private static Log log = LogFactory.getLog(Credential.class);
+    private static boolean __checkAliases;
+    static
+    {
+        __checkAliases=
+            "true".equalsIgnoreCase
+            (System.getProperty("org.mortbay.util.FileResource.checkAliases","true"));
+ 
+       if (__checkAliases)
+            log.info("Checking Resource aliases");
+    }
+    
+    /* ------------------------------------------------------------ */
+    private File _file;
+    private transient URL _alias=null;
+    private transient boolean _aliasChecked=false;
+
+    /* ------------------------------------------------------------------------------- */
+    /** setCheckAliases.
+     * @param checkAliases True of resource aliases are to be checked for (eg case insensitivity or 8.3 short names) and treated as not found.
+     */
+    public static void setCheckAliases(boolean checkAliases)
+    {
+        __checkAliases=checkAliases;
+    }
+
+    /* ------------------------------------------------------------------------------- */
+    /** getCheckAliases.
+     * @return True of resource aliases are to be checked for (eg case insensitivity or 8.3 short names) and treated as not found.
+     */
+    public static boolean getCheckAliases()
+    {
+        return __checkAliases;
+    }
+    
+    /* -------------------------------------------------------- */
+    FileResource(URL url)
+        throws IOException, URISyntaxException
+    {
+        super(url,null);
+
+        try
+        {
+            // Try standard API to convert URL to file.
+            _file =new File(new URI(url.toString()));
+        }
+        catch (Exception e)
+        {
+            LogSupport.ignore(log,e);
+            try
+            {
+                // Assume that File.toURL produced unencoded chars. So try
+                // encoding them.
+                String urls=
+                    "file:"+org.mortbay.util.URI.encodePath(url.toString().substring(5));
+                _file =new File(new URI(urls));
+            }
+            catch (Exception e2)
+            {
+                LogSupport.ignore(log,e2);
+
+                // Still can't get the file.  Doh! try good old hack!
+                checkConnection();
+                Permission perm = _connection.getPermission();
+                _file = new File(perm==null?url.getFile():perm.getName());
+            }
+        }
+        
+        if (_file.isDirectory() && !_urlString.endsWith("/"))
+            _urlString=_urlString+"/";
+    }
+    
+    /* -------------------------------------------------------- */
+    FileResource(URL url, URLConnection connection, File file)
+    {
+        super(url,connection);
+        _file=file;
+        if (_file.isDirectory() && !_urlString.endsWith("/"))
+            _urlString=_urlString+"/";
+    }
+    
+    /* -------------------------------------------------------- */
+    public Resource addPath(String path)
+        throws IOException,MalformedURLException
+    {
+        FileResource r=null;
+
+        if (!isDirectory())
+        {
+            r=(FileResource)super.addPath(path);
+        }
+        else
+        {
+            path = org.mortbay.util.URI.canonicalPath(path);
+            
+            // treat all paths being added as relative
+            String rel=path;
+            if (path.startsWith("/"))
+                rel = path.substring(1);
+            
+            File newFile = new File(_file,rel.replace('/', File.separatorChar));
+            r=new FileResource(newFile.toURI().toURL(),null,newFile);
+        }
+        
+        String encoded=org.mortbay.util.URI.encodePath(path);
+        int expected=r._urlString.length()-encoded.length();
+        int index = r._urlString.lastIndexOf(encoded, expected);
+        
+        if (expected!=index && ((expected-1)!=index || path.endsWith("/") || !r.isDirectory()))
+        {
+            r._alias=r._url;
+            r._aliasChecked=true;
+        }                   
+        return r;
+    }
+   
+    
+    /* ------------------------------------------------------------ */
+    public URL getAlias()
+    {
+        if (__checkAliases) {
+          if (!_aliasChecked)
+          {
+            try
+            {    
+                String abs=_file.getAbsolutePath();
+                String can=_file.getCanonicalPath();
+                
+                if (abs.length()!=can.length() || !abs.equals(can))
+                    _alias=new File(can).toURI().toURL();
+                
+                _aliasChecked=true;
+
+                if (_alias!=null && log.isDebugEnabled())
+                {
+                    log.debug("ALIAS abs="+abs);
+                    log.debug("ALIAS can="+can);
+                }
+            }
+            catch(Exception e)
+            {
+                log.warn(LogSupport.EXCEPTION,e);
+                return getURL();
+            }
+          }                
+        } else return null;
+        return _alias;
+    }
+    
+    /* -------------------------------------------------------- */
+    /**
+     * Returns true if the resource exists.
+     */
+    public boolean exists()
+    {
+        return _file.exists();
+    }
+        
+    /* -------------------------------------------------------- */
+    /**
+     * Returns the last modified time
+     */
+    public long lastModified()
+    {
+        return _file.lastModified();
+    }
+
+    /* -------------------------------------------------------- */
+    /**
+     * Returns true if the respresenetd resource is a container/directory.
+     */
+    public boolean isDirectory()
+    {
+        return _file.isDirectory();
+    }
+
+    /* --------------------------------------------------------- */
+    /**
+     * Return the length of the resource
+     */
+    public long length()
+    {
+        return _file.length();
+    }
+        
+
+    /* --------------------------------------------------------- */
+    /**
+     * Returns the name of the resource
+     */
+    public String getName()
+    {
+        return _file.getAbsolutePath();
+    }
+        
+    /* ------------------------------------------------------------ */
+    /**
+     * Returns an File representing the given resource or NULL if this
+     * is not possible.
+     */
+    public File getFile()
+    {
+        return _file;
+    }
+        
+    /* --------------------------------------------------------- */
+    /**
+     * Returns an input stream to the resource
+     */
+    public InputStream getInputStream() throws IOException
+    {
+        return new FileInputStream(_file);
+    }
+        
+    /* --------------------------------------------------------- */
+    /**
+     * Returns an output stream to the resource
+     */
+    public OutputStream getOutputStream()
+        throws java.io.IOException, SecurityException
+    {
+        return new FileOutputStream(_file);
+    }
+        
+    /* --------------------------------------------------------- */
+    /**
+     * Deletes the given resource
+     */
+    public boolean delete()
+        throws SecurityException
+    {
+        return _file.delete();
+    }
+
+    /* --------------------------------------------------------- */
+    /**
+     * Rename the given resource
+     */
+    public boolean renameTo( Resource dest)
+        throws SecurityException
+    {
+        if( dest instanceof FileResource)
+            return _file.renameTo( ((FileResource)dest)._file);
+        else
+            return false;
+    }
+
+    /* --------------------------------------------------------- */
+    /**
+     * Returns a list of resources contained in the given resource
+     */
+    public String[] list()
+    {
+        String[] list =_file.list();
+        if (list==null)
+            return null;
+        for (int i=list.length;i-->0;)
+        {
+            if (new File(_file,list[i]).isDirectory() &&
+                !list[i].endsWith("/"))
+                list[i]+="/";
+        }
+        return list;
+    }
+         
+    /* ------------------------------------------------------------ */
+    /** Encode according to this resource type.
+     * File URIs are encoded.
+     * @param uri URI to encode.
+     * @return The uri unchanged.
+     */
+    public String encode(String uri)
+    {
+        return uri;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** 
+     * @param o
+     * @return 
+     */
+    public boolean equals( Object o)
+    {
+        if (this == o)
+            return true;
+
+        if (null == o || ! (o instanceof FileResource))
+            return false;
+
+        FileResource f=(FileResource)o;
+        return f._file == _file || (null != _file && _file.equals(f._file));
+    }
+
+    /* ------------------------------------------------------------ */
+    /**
+     * @return the hashcode.
+     */
+    public int hashCode()
+    {
+       return null == _file ? super.hashCode() : _file.hashCode();
+    }
+}
diff --git a/apps/jetty/java/src/org/mortbay/util/Resource.java b/apps/jetty/java/src/org/mortbay/util/Resource.java
index 4180b8b011ccf33c3e45b5a1da9cf702cc08cc86..ed992cfd55f482ab7d0fa8a4cd3918fcc6c1cba0 100644
--- a/apps/jetty/java/src/org/mortbay/util/Resource.java
+++ b/apps/jetty/java/src/org/mortbay/util/Resource.java
@@ -392,7 +392,7 @@ public abstract class Resource implements Serializable
             buf.append(path);
             buf.append("\">");
             buf.append(StringUtil.replace(StringUtil.replace(ls[i],"<","&lt;"),">","&gt;"));
-            buf.append("&nbsp;");
+            buf.append("</A>&nbsp;");
             buf.append("</TD><TD ALIGN=right>");
             buf.append(item.length());
             buf.append(" bytes&nbsp;</TD><TD>");
diff --git a/apps/jetty/java/src/org/mortbay/util/URI.java b/apps/jetty/java/src/org/mortbay/util/URI.java
new file mode 100644
index 0000000000000000000000000000000000000000..867ef19f40c14273a2b5154e2efe6ebf8127e429
--- /dev/null
+++ b/apps/jetty/java/src/org/mortbay/util/URI.java
@@ -0,0 +1,1010 @@
+// ========================================================================
+// $Id: URI.java,v 1.40 2009/05/16 02:02:00 gregwilkins Exp $
+// Copyright 199-2004 Mort Bay Consulting Pty. Ltd.
+// ------------------------------------------------------------------------
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at 
+// http://www.apache.org/licenses/LICENSE-2.0
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ========================================================================
+package org.mortbay.util;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.mortbay.log.LogFactory;
+
+/* ------------------------------------------------------------ */
+/** URI Holder.
+ * This class assists with the decoding and encoding or HTTP URI's.
+ * It differs from the java.net.URL class as it does not provide
+ * communications ability, but it does assist with query string
+ * formatting.
+ * <P>ISO_8859_1 encoding is used by default for % encoded characters. This
+ * may be overridden with the org.mortbay.util.URI.charset system property.
+ * @see UrlEncoded
+ * @version $Id: URI.java,v 1.40 2009/05/16 02:02:00 gregwilkins Exp $
+ * @author Greg Wilkins (gregw)
+ */
+public class URI
+    implements Cloneable
+{
+    private static Log log = LogFactory.getLog(URI.class);
+
+    public static final String __CHARSET=System.getProperty("org.mortbay.util.URI.charset",StringUtil.__UTF_8);
+    public static final boolean __CHARSET_IS_DEFAULT=__CHARSET.equals(StringUtil.__UTF_8);
+    
+    /* ------------------------------------------------------------ */
+    private String _uri;
+    private String _scheme;
+    private String _host;
+    private int _port;
+    private String _path;
+    private String _encodedPath;
+    private String _query;
+    private UrlEncoded _parameters;
+    private boolean _dirty;
+    private static String unreserved = "/0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~";
+    private static String reserved = "!*'();:@&=+$,?%#[]";
+    private static String hexchars = "0123456789ABCDEF";
+    
+    /* ------------------------------------------------------------ */
+    /** Copy Constructor .
+     * @param uri
+     */
+    public URI(URI uri)
+        throws IllegalArgumentException
+    {
+        _uri=uri.toString();
+        _scheme=uri._scheme;
+        _host=uri._host;
+        _port=uri._port;
+        _path=uri._path;
+        _encodedPath=uri._encodedPath;
+        _query=uri._query;
+        if (uri._parameters!=null) 
+            _parameters=(UrlEncoded)uri._parameters.clone();
+        _dirty=false;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Construct from a String.
+     * The string must contain a URI path, but optionaly may contain a
+     * scheme, host, port and query string.
+     * 
+     * @param uri [scheme://host[:port]]/path[?query]
+     */
+    public URI(String uri)
+        throws IllegalArgumentException
+    {
+        setURI(uri);
+    }
+    
+    /* ------------------------------------------------------------ */
+    public void setURI(String uri)
+        throws IllegalArgumentException
+    {
+        try
+        {    
+            _uri=uri;
+            _scheme=null;
+            _host=null;
+            _port=0;
+            _path=null;
+            _encodedPath=null;
+            _query=null;
+            if (_parameters!=null)
+                _parameters.clear();
+            
+            // Scan _uri for host, port, path & query
+            int maxi=uri.length()-1;
+            int mark=0;
+            int state=0;
+            int i=0;
+
+            if (maxi==0 || uri.charAt(0)=='/' && uri.charAt(1)!='/')
+            {
+                state=3;
+                _scheme=null;
+                _host=null;
+                _port=0;
+            }
+            else
+            {
+                for (i=0;state<3 && i<=maxi;i++)
+                {
+                    char c=uri.charAt(i);
+                    switch(state)
+                    {
+                      case 0: // looking for scheme or path
+                          if (c==':' &&
+                              uri.charAt(i+1)=='/' &&
+                              uri.charAt(i+2)=='/')
+                          {
+                              // found end of scheme & start of host
+                              _scheme=uri.substring(mark,i);
+                              i+=2;
+                              mark=i+1;
+                              state=1;
+                          }
+                          else if (i==0 && c=='/')
+                          {
+                              // Found path
+                              state=3;
+                          }
+                          else if (i==0 && c=='*')
+                          {
+                              state=5;
+                              _path="*";
+                              _encodedPath="*";
+                          }
+                          continue;
+                          
+                      case 1: // Get host & look for port or path
+                          if (c==':')
+                          {
+                              // found port
+                              _host=uri.substring(mark,i);
+                              mark=i+1;
+                              state=2;
+                          }
+                          else if (c=='/')
+                          {
+                              // found path
+                              _host=uri.substring(mark,i);
+                              mark=i;
+                              state=3;
+                          }
+                          continue;
+                          
+                      case 2: // Get port & look for path
+                          if (c=='/')
+                          {
+                              _port=TypeUtil.parseInt(uri,mark,i-mark,10);
+                              mark=i;
+                              state=3;
+                          }
+                          continue;
+                    }
+                }
+            }
+            
+            // State 3 - Get path & look for query
+            _query=null;
+            for (i++;i<=maxi;i++)
+            {
+                char c=uri.charAt(i); 
+                if (c=='?')
+                {
+                    // Found query
+                    _encodedPath=uri.substring(mark,i);
+                    _path=decodePath(_encodedPath);
+
+                    mark=i+1;
+                    state=4;
+                    break;
+                }
+            }
+
+            // complete last state
+            switch(state)
+            {
+              case 0:
+                  _dirty=false;
+                  _encodedPath=_uri;
+                  _path=decodePath(_encodedPath);
+                  break;
+                  
+              case 1:
+                  _dirty=true;
+                  _encodedPath="/";
+                  _path=_encodedPath;
+                  _host=uri.substring(mark);
+                  break;
+                  
+              case 2:
+                  _dirty=true;
+                  _encodedPath="/";
+                  _path=_encodedPath;
+                  _port=TypeUtil.parseInt(uri,mark,-1,10);
+                  break;
+              case 3:
+                  _dirty=(mark==maxi);
+                  _encodedPath=uri.substring(mark);
+                  _path=decodePath(_encodedPath);
+                  break;
+                  
+              case 4:
+                  _dirty=false; 
+                  if (mark<=maxi)
+                      _query=uri.substring(mark);
+                  break;
+                  
+              case 5:
+                  _dirty=false; 
+            }
+        
+            if (_query!=null && _query.length()>0)
+            {
+                if (_parameters==null)
+                    _parameters= new UrlEncoded();
+                else
+                    _parameters.clear();
+                _parameters.decode(_query,__CHARSET);
+                
+            }
+            else
+                _query=null;           
+        }
+        catch (Exception e)
+        {
+            LogSupport.ignore(log,e);
+            throw new IllegalArgumentException("Malformed URI '"+uri+
+                                               "' : "+e.toString());
+        }        
+    }
+
+    /* ------------------------------------------------------------ */
+    /** Is the URI an absolute URL? 
+     * @return True if the URI has a scheme or host
+     */
+    public boolean isAbsolute()
+    {
+        return _scheme!=null || _host!=null;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri scheme.
+     * @return the URI scheme
+     */
+    public String getScheme()
+    {
+        return _scheme;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set the uri scheme.
+     * @param scheme the uri scheme
+     */
+    public void setScheme(String scheme)
+    {
+        _scheme=scheme;
+        _dirty=true;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri host.
+     * @return the URI host
+     */
+    public String getHost()
+    {
+        return _host;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set the uri host.
+     * @param host the uri host
+     */
+    public void setHost(String host)
+    {
+        _host=host;
+        _dirty=true;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri port.
+     * @return the URI port
+     */
+    public int getPort()
+    {
+        return _port;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set the uri port.
+     * A port of 0 implies use the default port.
+     * @param port the uri port
+     */
+    public void setPort(int port)
+    {
+        _port=port;
+        _dirty=true;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri path.
+     * @return the URI path
+     */
+    public String getPath()
+    {
+        return _path;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the encoded uri path.
+     * @return the URI path
+     */
+    public String getEncodedPath()
+    {
+        return _encodedPath;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set the uri path.
+     * @param path the URI path
+     */
+    public void setPath(String path)
+    {
+        _path=path;
+        _encodedPath=encodePath(_path);
+        _dirty=true;
+    }
+    
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri query String.
+     * @return the URI query string
+     */
+    public String getQuery()
+    {
+        if (_dirty && _parameters!=null)
+        {
+            _query = _parameters.encode(__CHARSET);
+            if (_query!=null && _query.length()==0)
+                _query=null;
+        }
+        return _query;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Set the uri query String.
+     * @param query the URI query string
+     */
+    public void setQuery(String query)
+    {
+        _query=query;
+        
+        if (_parameters!=null)
+            _parameters.clear();
+        else if (query!=null)
+            _parameters=new UrlEncoded();
+        
+        if (query!=null)
+            _parameters.decode(query,__CHARSET);
+        
+        cleanURI();
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri query _parameters names.
+     * @return  Unmodifiable set of URI query _parameters names
+     */
+    public Set getParameterNames()
+    {
+        if (_parameters==null)
+            return Collections.EMPTY_SET;
+        return _parameters.keySet();
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri query _parameters.
+     * @return the URI query _parameters
+     */
+    public MultiMap getParameters()
+    {
+        if (_parameters==null)
+            _parameters=new UrlEncoded();
+        _dirty=true;
+        return _parameters;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get the uri query _parameters.
+     * @return the URI query _parameters in an unmodifiable map.
+     */
+    public Map getUnmodifiableParameters()
+    {
+        if (_parameters==null)
+            return Collections.EMPTY_MAP;
+        return Collections.unmodifiableMap(_parameters);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Add the uri query _parameters to a MultiMap
+     */
+    public void putParametersTo(MultiMap map)
+    {
+        if (_parameters!=null && _parameters.size()>0)
+            map.putAll(_parameters);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Clear the URI _parameters.
+     */
+    public void clearParameters()
+    {
+        if (_parameters!=null)
+        {
+            _dirty=true;
+            _parameters.clear();
+        }
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Add encoded _parameters.
+     * @param encoded A HTTP encoded string of _parameters: e.g.. "a=1&b=2"
+     */
+    public void put(String encoded)
+    {
+        UrlEncoded params = new UrlEncoded(encoded);
+        put(params);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Add name value pair to the uri query _parameters.
+     * @param name name of value
+     * @param value The value, which may be a multi valued list or
+     * String array.
+     */
+    public Object put(Object name, Object value)
+    {
+        return getParameters().put(name,value);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Add dictionary to the uri query _parameters.
+     */
+    public void put(Map values)
+    {
+        getParameters().putAll(values);
+    }
+
+    /* ------------------------------------------------------------ */
+    /** Get named value 
+     */
+    public String get(String name)
+    {
+        if (_parameters==null)
+            return null;
+        return (String)_parameters.get(name);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Get named multiple values.
+     * @param name The parameter name
+     * @return Umodifiable list of values or null
+     */
+    public List getValues(String name)
+    {
+        if (_parameters==null)
+            return null;
+        return _parameters.getValues(name);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Remove named value 
+     */
+    public void remove(String name)
+    {
+        if (_parameters!=null)
+        {
+            _dirty=
+                _parameters.remove(name)!=null;
+        }
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** @return the URI string encoded.
+     */
+    public String toString()
+    {
+        if (_dirty)
+        {
+            getQuery();
+            cleanURI();
+        }
+        return _uri;
+    }
+
+    /* ------------------------------------------------------------ */
+    private void cleanURI()
+    {
+        StringBuffer buf = new StringBuffer(_uri.length()*2);
+        synchronized(buf)
+        {
+            if (_scheme!=null)
+            {
+                buf.append(_scheme);
+                buf.append("://");
+                buf.append(_host);
+                if (_port>0)
+                {
+                    buf.append(':');
+                    buf.append(_port);
+                }
+            }
+
+            buf.append(_encodedPath);
+            
+            if (_query!=null && _query.length()>0)
+            {
+                buf.append('?');
+                buf.append(_query);
+            }
+            _uri=buf.toString();
+            _dirty=false;
+        }
+    }
+    
+                
+    /* ------------------------------------------------------------ */
+    /** Encode a URI path.
+     * This is the same encoding offered by URLEncoder, except that
+     * the '/' character is not encoded.
+     * @param path The path the encode
+     * @return The encoded path
+     */
+    public static String encodePath(String path)
+    {
+        if (path==null || path.length()==0)
+            return path;
+        
+        StringBuffer buf = encodePath(null,path);
+        return buf==null?path:buf.toString();
+    }
+        
+    /* ------------------------------------------------------------ */
+    /** Encode a URI path.
+     * @param path The path the encode
+     * @param buf StringBuffer to encode path into (or null)
+     * @return The StringBuffer or null if no substitutions required.
+     */
+    public static StringBuffer encodePath(StringBuffer buf, String path)
+    {
+        /* Convert path to native character set not __CHARSET.
+         * This is important to do this way because the path 
+         * contains *OS specific characters* and __CHARSET could
+         * be wrong and not encode/decode the path correctly.
+         */
+        byte[] b = null;
+        /*
+        Keep commented out unless you can prove that this does the right thing.
+        try {
+            b = path.getBytes(__CHARSET);
+        } catch(UnsupportedEncodingException ex) {
+            return null; // Shouldn't be possible.
+        }
+        */
+        b = path.getBytes();
+        StringBuffer x = new StringBuffer(b.length);
+        for(int i=0; i<b.length; i++) {
+            x.append((char)(b[i]&0xff));
+        }
+        String _path = new String(x);
+        if(buf == null) {
+            loop:
+            for(int i = 0; i < _path.length(); i++) {
+                char c = _path.charAt(i);
+                String cs = "" + c;
+                if(reserved.contains(cs) || !unreserved.contains(cs)) {
+                    buf = new StringBuffer(_path.length() << 1);
+                    break loop;
+                }
+            }
+            if(buf == null) {
+                return null;
+            }
+        }
+        synchronized(buf) {
+            for(int i = 0; i < _path.length(); i++) {
+                char c = _path.charAt(i);
+                String cs = "" + c;
+                if(reserved.contains(cs) || !unreserved.contains(cs)) {
+                    /*
+                    We are already bytes
+                    if((c & 0xff) == c) {
+                        buf.append(gethex(c & 0xff));
+                    } else {
+                        buf.append(gethex((c >> 8) & 0xff));
+                        buf.append(gethex(c & 0xff));
+                    }
+                    */
+                    buf.append(gethex(c & 0xff));
+                } else {
+                    buf.append(c);
+                }
+            }
+        }
+
+        return buf;
+    }
+    
+    /**
+     *
+     * @param decimal value not greater than 255.
+     * @return a percent sign followed by two hexadecimal digits.
+     */
+    private static String gethex(int decimal) {
+        return new String("%" + hexchars.charAt(decimal >> 4) + hexchars.charAt(decimal & 0xF));
+    }
+    /* ------------------------------------------------------------ */
+    /** Encode a URI path.
+     * @param path The path the encode
+     * @param buf StringBuffer to encode path into (or null)
+     * @param encode String of characters to encode. % is always encoded.
+     * @return The StringBuffer or null if no substitutions required.
+     */
+    public static StringBuffer encodeString(StringBuffer buf,
+                                            String path,
+                                            String encode)
+    {
+        if (buf==null)
+        {
+        loop:
+            for (int i=0;i<path.length();i++)
+            {
+                char c=path.charAt(i);
+                if (c=='%' || encode.indexOf(c)>=0)
+                {    
+                    buf=new StringBuffer(path.length()<<1);
+                    break loop;
+                }
+            }
+            if (buf==null)
+                return null;
+        }
+        
+        synchronized(buf)
+        {
+            for (int i=0;i<path.length();i++)
+            {
+                char c=path.charAt(i);
+                if (c=='%' || encode.indexOf(c)>=0)
+                {
+                    buf.append('%');
+                    StringUtil.append(buf,(byte)(0xff&c),16);
+                }
+                else
+                    buf.append(c);
+            }
+        }
+
+        return buf;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /* Decode a URI path.
+     * @param path The path the encode
+     * @param buf StringBuffer to encode path into
+     */
+    public static String decodePath(String path)
+    {
+        int len=path.length();
+        byte[] bytes=null;
+        int n=0;
+        boolean noDecode=true;
+        
+        for (int i=0;i<len;i++)
+        {
+            char c = path.charAt(i);
+            
+            byte b = (byte)(0xff & c);
+
+            if (c=='%' && (i+2)<len)
+            {
+                noDecode=false;
+                b=(byte)(0xff&TypeUtil.parseInt(path,i+1,2,16));
+                i+=2;
+            }
+            else if (bytes==null)
+            {
+                n++;
+                continue;
+            }
+            
+            if (bytes==null)
+            {
+                noDecode=false;
+                bytes=new byte[len];
+                for (int j=0;j<n;j++)
+                    bytes[j]=(byte)(0xff & path.charAt(j));                
+            }
+            
+            bytes[n++]=b;
+        }
+
+        if (noDecode)
+            return path;
+
+        /*
+        Keep commented out unless you can prove that this does the right thing.
+        try
+        {    
+            return new String(bytes,0,n,__CHARSET);
+        }
+        catch(UnsupportedEncodingException e)
+        {
+            log.warn(LogSupport.EXCEPTION,e);
+            return new String(bytes,0,n);
+        }
+        */
+        
+        return new String(bytes,0,n);
+        
+    }
+
+    /* ------------------------------------------------------------ */
+    /** Clone URI.
+     * @return cloned URI
+     */
+    public Object clone()
+	throws CloneNotSupportedException
+    {
+         URI u = (URI)super.clone();
+         if (_parameters!=null)
+             u._parameters=(UrlEncoded)_parameters.clone();
+         _dirty=false;
+         
+         return u;
+    }
+
+
+    /* ------------------------------------------------------------ */
+    /** Add two URI path segments.
+     * Handles null and empty paths, path and query params (eg ?a=b or
+     * ;JSESSIONID=xxx) and avoids duplicate '/'
+     *
+     * WARNING: URI path segments must be encoded properly first!
+     *          Use the encodePath method above BEFORE attaching a path
+     *          that contains characters that need escaping! --Sponge
+     *
+     * @param p1 URI path segment 
+     * @param p2 URI path segment
+     * @return Legally combined path segments.
+     */
+    public static String addPaths(String p1, String p2)
+    {
+        if (p1==null || p1.length()==0)
+        {
+            if (p2==null || p2.length()==0)
+                return p1;
+            return p2;
+        }
+        if (p2==null || p2.length()==0)
+            return p1;
+        
+        int split=p1.indexOf(';');
+        if (split<0)
+            split=p1.indexOf('?');
+        if (split==0)
+            return p2+p1;
+        if (split<0)
+            split=p1.length();
+
+        StringBuffer buf = new StringBuffer(p1.length()+p2.length()+2);
+        buf.append(p1);
+        
+        if (buf.charAt(split-1)=='/')
+        {
+            if (p2.startsWith("/"))
+            {
+                buf.deleteCharAt(split-1);
+                buf.insert(split-1,p2);
+            }
+            else
+                buf.insert(split,p2);
+        }
+        else
+        {
+            if (p2.startsWith("/"))
+                buf.insert(split,p2);
+            else
+            {
+                buf.insert(split,'/');
+                buf.insert(split+1,p2);
+            }
+        }
+
+        return buf.toString();
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Return the parent Path.
+     * Treat a URI like a directory path and return the parent directory.
+     */
+    public static String parentPath(String p)
+    {
+        if (p==null || "/".equals(p))
+            return null;
+        int slash=p.lastIndexOf('/',p.length()-2);
+        if (slash>=0)
+            return p.substring(0,slash+1);
+        return null;
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Strip parameters from a path.
+     * Return path upto any semicolon parameters.
+     */
+    public static String stripPath(String path)
+    {
+        if (path==null)
+            return null;
+        int semi=path.indexOf(';');
+        if (semi<0)
+            return path;
+        return path.substring(0,semi);
+    }
+    
+    /* ------------------------------------------------------------ */
+    /** Convert a path to a cananonical form.
+     * All instances of "." and ".." are factored out.  Null is returned
+     * if the path tries to .. above it's root.
+     * @param path 
+     * @return path or null.
+     */
+    public static String canonicalPath(String path)
+    {
+        if (path==null || path.length()==0)
+            return path;
+
+        int end=path.length();
+        int start = path.lastIndexOf('/', end);
+
+    search:
+        while (end>0)
+        {
+            switch(end-start)
+            {
+              case 2: // possible single dot
+                  if (path.charAt(start+1)!='.')
+                      break;
+                  break search;
+              case 3: // possible double dot
+                  if (path.charAt(start+1)!='.' || path.charAt(start+2)!='.')
+                      break;
+                  break search;
+            }
+            
+            end=start;
+            start=path.lastIndexOf('/',end-1);
+        }
+
+        // If we have checked the entire string
+        if (start>=end)
+            return path;
+        
+        StringBuffer buf = new StringBuffer(path);
+        int delStart=-1;
+        int delEnd=-1;
+        int skip=0;
+        
+        while (end>0)
+        {
+            switch(end-start)
+            {       
+              case 2: // possible single dot
+                  if (buf.charAt(start+1)!='.')
+                  {
+                      if (skip>0 && --skip==0)
+                      {   
+                          delStart=start>=0?start:0;
+                          if(delStart>0 && delEnd==buf.length() && buf.charAt(delEnd-1)=='.')
+                              delStart++;
+                      }
+                      break;
+                  }
+                  
+                  if(start<0 && buf.length()>2 && buf.charAt(1)=='/' && buf.charAt(2)=='/')
+                      break;
+                  
+                  if(delEnd<0)
+                      delEnd=end;
+                  delStart=start;
+                  if (delStart<0 || delStart==0&&buf.charAt(delStart)=='/')
+                  {
+                      delStart++;
+                      if (delEnd<buf.length() && buf.charAt(delEnd)=='/')
+                          delEnd++;
+                      break;
+                  }
+                  if (end==buf.length())
+                      delStart++;
+                  
+                  end=start--;
+                  while (start>=0 && buf.charAt(start)!='/')
+                      start--;
+                  continue;
+                  
+              case 3: // possible double dot
+                  if (buf.charAt(start+1)!='.' || buf.charAt(start+2)!='.')
+                  {
+                      if (skip>0 && --skip==0)
+                      {   delStart=start>=0?start:0;
+                      	  if(delStart>0 && delEnd==buf.length() && buf.charAt(delEnd-1)=='.')
+                      	      delStart++;
+                      }
+                      break;
+                  }
+                  
+                  delStart=start;
+                  if (delEnd<0)
+                      delEnd=end;
+
+                  skip++;
+                  end=start--;
+                  while (start>=0 && buf.charAt(start)!='/')
+                      start--;
+                  continue;
+
+              default:
+                  if (skip>0 && --skip==0)
+                  {
+                      delStart=start>=0?start:0;
+                      if(delEnd==buf.length() && buf.charAt(delEnd-1)=='.')
+                          delStart++;
+                  }
+            }     
+            
+            // Do the delete
+            if (skip<=0 && delStart>=0 && delStart>=0)
+            {  
+                buf.delete(delStart,delEnd);
+                delStart=delEnd=-1;
+                if (skip>0)
+                    delEnd=end;
+            }
+            
+            end=start--;
+            while (start>=0 && buf.charAt(start)!='/')
+                start--;
+        }      
+
+        // Too many ..
+        if (skip>0)
+            return null;
+        
+        // Do the delete
+        if (delEnd>=0)
+            buf.delete(delStart,delEnd);
+
+        return buf.toString();
+    }
+
+    /* ------------------------------------------------------------ */
+    /** 
+     * @param uri URI
+     * @return True if the uri has a scheme
+     */
+    public static boolean hasScheme(String uri)
+    {
+        for (int i=0;i<uri.length();i++)
+        {
+            char c=uri.charAt(i);
+            if (c==':')
+                return true;
+            if (!(c>='a'&&c<='z' ||
+                  c>='A'&&c<='Z' ||
+                  (i>0 &&(c>='0'&&c<='9' ||
+                          c=='.' ||
+                          c=='+' ||
+                          c=='-'))
+                  ))
+                break;
+        }
+        return false;
+    }
+    
+}
+
+
+
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNavHelper.java
index c97647fc97b16af1cb07513c91b8489dccf332e6..cdc7caeb7ff4cf0f107019fb1ffdd555388b0667 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNavHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNavHelper.java
@@ -12,12 +12,12 @@ public class ConfigNavHelper extends HelperBase {
     private static final String pages[] =
                                           {"", "ui", "service", "update", "tunnels",
                                            "clients", "peer", "keyring", "logging", "stats",
-                                           "advanced" };
+                                           "reseed", "advanced" };
 
     private static final String titles[] =
                                           {_x("Network"), _x("UI"), _x("Service"), _x("Update"), _x("Tunnels"),
                                            _x("Clients"), _x("Peers"), _x("Keyring"), _x("Logging"), _x("Stats"),
-                                           _x("Advanced") };
+                                           _x("Reseeding"), _x("Advanced") };
 
     public void renderNavBar(String requestURI) throws IOException {
         StringBuilder buf = new StringBuilder(1024);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e07d9d24ef0d99670377422290a90edf984a6c8
--- /dev/null
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHandler.java
@@ -0,0 +1,68 @@
+package net.i2p.router.web;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import net.i2p.router.networkdb.reseed.Reseeder;
+
+/**
+ *  @since 0.8.3
+ */
+public class ConfigReseedHandler extends FormHandler {
+    private Map _settings;
+    
+    @Override
+    protected void processForm() {
+
+        if (_action.equals(_("Save Configuration and Reseed Now"))) {
+            saveChanges();
+            boolean reseedInProgress = Boolean.valueOf(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress")).booleanValue();
+            if (reseedInProgress) {
+                addFormError(_("Reseeding is already in progress"));
+            } else {
+                // skip the nonce checking in ReseedHandler
+                addFormNotice(_("Starting reseed process"));
+                (new ReseedHandler(_context)).requestReseed();
+            }
+            return;
+        }
+        if (_action.equals(_("Save Configuration"))) {
+            saveChanges();
+            return;
+        }
+        addFormError(_("Unsupported") + ' ' + _action + '.');
+    }
+    
+    public void setSettings(Map settings) { _settings = new HashMap(settings); }
+
+    /** curses Jetty for returning arrays */
+    private String getJettyString(String key) {
+        String[] arr = (String[]) _settings.get(key);
+        if (arr == null)
+            return null;
+        return arr[0].trim();
+    }
+
+    private void saveChanges() {
+        String port = getJettyString("port");
+        if (port != null)
+            _context.router().setConfigSetting(Reseeder.PROP_PROXY_PORT, port);
+        String host = getJettyString("host");
+        if (host != null)
+            _context.router().setConfigSetting(Reseeder.PROP_PROXY_HOST, host);
+        String url = getJettyString("reseedURL");
+        if (url != null)
+            _context.router().setConfigSetting(Reseeder.PROP_RESEED_URL, url.trim().replace("\r\n", ",").replace("\n", ","));
+        String mode = getJettyString("mode");
+        boolean req = "1".equals(mode);
+        boolean disabled = "2".equals(mode);
+        _context.router().setConfigSetting(Reseeder.PROP_SSL_REQUIRED,
+                                           Boolean.toString(req));
+        _context.router().setConfigSetting(Reseeder.PROP_SSL_DISABLE,
+                                           Boolean.toString(disabled));
+        boolean proxy = getJettyString("enable") != null;
+        _context.router().setConfigSetting(Reseeder.PROP_PROXY_ENABLE, Boolean.toString(proxy));
+        _context.router().saveConfig();
+        addFormNotice(_("Configuration saved successfully."));
+    }
+}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..ec5337cc5138d03ec8e0d86f2520a0cce0a40684
--- /dev/null
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigReseedHelper.java
@@ -0,0 +1,58 @@
+package net.i2p.router.web;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import net.i2p.router.networkdb.reseed.Reseeder;
+
+/**
+ *  @since 0.8.3
+ */
+public class ConfigReseedHelper extends HelperBase {
+
+    public String getPort() {
+        return _context.getProperty(Reseeder.PROP_PROXY_PORT, "");
+    }
+
+    public String getHost() {
+        return _context.getProperty(Reseeder.PROP_PROXY_HOST, "");
+    }
+
+    public String modeChecked(int mode) {
+        boolean required =  _context.getBooleanProperty(Reseeder.PROP_SSL_REQUIRED);
+        boolean disabled =  _context.getBooleanProperty(Reseeder.PROP_SSL_DISABLE);
+        if ((mode == 0 && (!disabled) && (!required)) ||
+            (mode == 1 && (!disabled) && required) ||
+            (mode == 2 && disabled))
+            return "checked=\"true\"";
+        return "";
+    }
+
+    public String getEnable() {
+        boolean enabled =  _context.getBooleanProperty(Reseeder.PROP_PROXY_ENABLE);
+        if (enabled)
+            return "checked=\"true\"";
+        return "";
+    }
+
+    public String getReseedURL() {
+        String urls = _context.getProperty(Reseeder.PROP_RESEED_URL, Reseeder.DEFAULT_SEED_URL + ',' + Reseeder.DEFAULT_SSL_SEED_URL);
+        StringTokenizer tok = new StringTokenizer(urls, " ,\r\n");
+        List<String> URLList = new ArrayList(16);
+        while (tok.hasMoreTokens()) {
+            String s = tok.nextToken().trim();
+            if (s.length() > 0)
+                URLList.add(s);
+        }
+        Collections.sort(URLList);
+        StringBuilder buf = new StringBuilder();
+        for (String s : URLList) {
+             if (buf.length() > 0)
+                 buf.append('\n');
+             buf.append(s);
+        }
+        return buf.toString();
+    }
+}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
index 1ed18e5b42d754edc06186d61910570f4fa6a6c5..55c7b009c5cc9ee657be9cadaecf2a8044276abc 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java
@@ -267,7 +267,7 @@ public class SummaryBarRenderer {
            .append(":</b></td><td align=\"right\">");
         int active = _helper.getActivePeers();
         buf.append(active)
-           .append("&thinsp;/&thinsp;")
+           .append(SummaryHelper.THINSP)
            .append(Math.max(active, _helper.getActiveProfiles()))
            .append("</td></tr>\n" +
 
@@ -351,7 +351,7 @@ public class SummaryBarRenderer {
                    "<table>\n" +
 
                    "<tr><td align=\"left\"><b>")
-           .append(_("1 sec"))   // formatDuration2() would say 1000 ms
+           .append(DataHelper.formatDuration2(3 * 1000))   // lie and say 3 sec since 1 sec would appear as 1000 ms
            .append(":</b></td><td align=\"right\">")
            .append(_helper.getSecondKBps())
            .append("Bps</td></tr>\n");
@@ -376,7 +376,7 @@ public class SummaryBarRenderer {
            .append(_("Used"))
            .append(":</b></td><td align=\"right\">")
            .append(_helper.getInboundTransferred())
-           .append("&thinsp;/&thinsp;")
+           .append(SummaryHelper.THINSP)
            .append(_helper.getOutboundTransferred())
            .append("</td></tr></table>\n" +
 
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
index c6b9a593a5ae61ee07634f47baf53e56c0bdf83d..7783bf8110460c423170ec291323751bdcf82694 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
@@ -29,6 +29,11 @@ import net.i2p.stat.RateStat;
  * the summary sections on the router console.  
  */
 public class SummaryHelper extends HelperBase {
+
+    // Opera 10.63 doesn't have the char, TODO check UA
+    //static final String THINSP = "&thinsp;/&thinsp;";
+    static final String THINSP = " / ";
+
     /**
      * Retrieve the shortened 4 character ident for the router located within
      * the current JVM at the given context.
@@ -321,7 +326,7 @@ public class SummaryHelper extends HelperBase {
             fmt = new DecimalFormat("#0.0");
         else
             fmt = new DecimalFormat("#0.00");
-        return fmt.format(in) + "&thinsp;/&thinsp;" + fmt.format(out) + "&nbsp;" +
+        return fmt.format(in) + THINSP + fmt.format(out) + "&nbsp;" +
                (mega ? 'M' : 'K');
     }
 
diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp
index a4d670295740c8f375e6581f7b0c5e5ce1860d8d..ec34b1079d2c3049ca171879afc324d302dec5c1 100644
--- a/apps/routerconsole/jsp/configclients.jsp
+++ b/apps/routerconsole/jsp/configclients.jsp
@@ -77,7 +77,7 @@ button span.hide{
 </select><br>
 <b><%=intl._("Authorization")%></b><br>
 <input type="checkbox" class="optbox" name="auth" value="true" <jsp:getProperty name="clientshelper" property="auth" /> >
-<%=intl._("Requre username and password")%><br>
+<%=intl._("Require username and password")%><br>
 <%=intl._("Username")%>:
 <input name="user" type="text" value="<jsp:getProperty name="clientshelper" property="user" />" ><br>
 <%=intl._("Password")%>:
diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..0829112e9d9a7a7a6666b5d8ea3b2d37ae4ac0c5
--- /dev/null
+++ b/apps/routerconsole/jsp/configreseed.jsp
@@ -0,0 +1,59 @@
+<%@page contentType="text/html"%>
+<%@page pageEncoding="UTF-8"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html><head>
+<%@include file="css.jsi" %>
+<%=intl.title("config reseeding")%>
+</head><body>
+
+<%@include file="summary.jsi" %>
+
+<jsp:useBean class="net.i2p.router.web.ConfigReseedHelper" id="reseedHelper" scope="request" />
+<jsp:setProperty name="reseedHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
+<h1><%=intl._("I2P Reseeding Configuration")%></h1>
+<div class="main" id="main">
+<%@include file="confignav.jsi" %>
+
+<jsp:useBean class="net.i2p.router.web.ConfigReseedHandler" id="formhandler" scope="request" />
+<% formhandler.storeMethod(request.getMethod()); %>
+<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
+<jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter("action")%>" />
+<jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" />
+<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
+<jsp:getProperty name="formhandler" property="allMessages" />
+<div class="configure"><form action="" method="POST">
+<%  String prev = System.getProperty("net.i2p.router.web.ConfigReseedHandler.nonce");
+    if (prev != null) System.setProperty("net.i2p.router.web.ConfigReseedHandler.noncePrev", prev);
+    System.setProperty("net.i2p.router.web.ConfigReseedHandler.nonce", new java.util.Random().nextLong()+""); %>
+<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigReseedHandler.nonce")%>" >
+<h3><%=intl._("Reseeding Configuration")%></h3>
+<p><%=intl._("Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining.")%>
+<%=intl._("If reseeding has failed, you should first check your network connection.")%>
+<p><b><%=intl._("The default settings will work for most people.")%></b>
+<%=intl._("Change these only if HTTP is blocked by a restrictive firewall, reseed has failed, and you have access to an HTTP proxy.")%>
+<%=intl._("See {0} for instructions on reseeding manually.", "<a href=\"http://www.i2p2.de/faq.html#manual_reseed\">" + intl._("the FAQ") + "</a>")%>
+</p>
+<div class="wideload">
+<table border="0" cellspacing="5">
+<tr><td class="mediumtags" align="right"><b><%=intl._("Reseed URL Selection")%></b></td>
+<td><input type="radio" class="optbox" name="mode" value="0" <%=reseedHelper.modeChecked(0) %> >
+<%=intl._("Try SSL first then non-SSL")%>
+<input type="radio" class="optbox" name="mode" value="1" <%=reseedHelper.modeChecked(1) %> >
+<%=intl._("Use SSL only")%>
+<input type="radio" class="optbox" name="mode" value="2" <%=reseedHelper.modeChecked(2) %> >
+<%=intl._("Use non-SSL only")%></td></tr>
+<tr><td class="mediumtags" align="right"><b><%=intl._("Reseed URLs")%></b></td>
+<td><textarea name="reseedURL" wrap="off"><jsp:getProperty name="reseedHelper" property="reseedURL" /></textarea></td></tr>
+<tr><td class="mediumtags" align="right"><b><%=intl._("Enable HTTP proxy (not used for SSL)")%></b></td>
+<td><input type="checkbox" class="optbox" name="enable" value="true" <jsp:getProperty name="reseedHelper" property="enable" /> ></td></tr>
+<tr><td class="mediumtags" align="right"><b><%=intl._("HTTP Proxy Host")%>:</b></td>
+<td><input name="host" type="text" value="<jsp:getProperty name="reseedHelper" property="host" />" ></td></tr>
+<tr><td class="mediumtags" align="right"><b><%=intl._("HTTP Proxy Port")%>:</b></td>
+<td><input name="port" type="text" value="<jsp:getProperty name="reseedHelper" property="port" />" ></td></tr>
+</table></div>
+<hr><div class="formaction">
+<input type="submit" name="foo" value="<%=intl._("Cancel")%>" />
+<input type="submit" name="action" value="<%=intl._("Save Configuration and Reseed Now")%>" />
+<input type="submit" name="action" value="<%=intl._("Save Configuration")%>" />
+</div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/error500.jsp b/apps/routerconsole/jsp/error500.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..c4af35bb1fad020dc10523cfd4eeae5c64d08925
--- /dev/null
+++ b/apps/routerconsole/jsp/error500.jsp
@@ -0,0 +1,63 @@
+<%@page contentType="text/html"%>
+<%@page pageEncoding="UTF-8"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<%
+    // Let's make this easy...
+    final Integer ERROR_CODE = (Integer) request.getAttribute(org.mortbay.jetty.servlet.ServletHandler.__J_S_ERROR_STATUS_CODE);
+    final String ERROR_URI = (String) request.getAttribute(org.mortbay.jetty.servlet.ServletHandler.__J_S_ERROR_REQUEST_URI);
+    final String ERROR_MESSAGE = (String) request.getAttribute(org.mortbay.jetty.servlet.ServletHandler.__J_S_ERROR_MESSAGE);
+    final Class ERROR_CLASS = (Class)request.getAttribute(org.mortbay.jetty.servlet.ServletHandler.__J_S_ERROR_EXCEPTION_TYPE);
+    final Throwable ERROR_THROWABLE = (Throwable)request.getAttribute(org.mortbay.jetty.servlet.ServletHandler.__J_S_ERROR_EXCEPTION);
+    if (ERROR_CODE != null && ERROR_MESSAGE != null) {
+        // this is deprecated but we don't want sendError()
+        response.setStatus(ERROR_CODE.intValue(), ERROR_MESSAGE);
+    }
+%>
+<html><head>
+<%@include file="css.jsi" %>
+<%=intl.title("Internal Error")%>
+</head><body>
+<div class="routersummaryouter">
+<div class="routersummary">
+<a href="/" title="<%=intl._("Router Console")%>"><img src="/themes/console/images/i2plogo.png" alt="<%=intl._("I2P Router Console")%>" border="0"></a><hr>
+<a href="/config"><%=intl._("Configuration")%></a> <a href="/help"><%=intl._("Help")%></a>
+</div></div>
+<h1><%=ERROR_CODE%> <%=ERROR_MESSAGE%></h1>
+<div class="sorry" id="warning">
+<%=intl._("Sorry! There has been an internal error.")%>
+<hr>
+<p>
+<% /* note to translators - both parameters are URLs */
+%><%=intl._("Please report bugs on {0} or {1}.",
+          "<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>",
+          "<a href=\"http://trac.i2p2.de/newticket\">trac.i2p2.de</a>")%>
+<%=intl._("You may use the username \"guest\" and password \"guest\" if you do not wish to register.")%>
+<p><%=intl._("Please include this information in bug reports")%>:
+</p></div><div class="sorry" id="warning2">
+<h3><%=intl._("Error Details")%></h3>
+<p>
+<%=intl._("Error {0}", ERROR_CODE)%>: <%=ERROR_URI%> <%=ERROR_MESSAGE%>
+</p><p>
+<%
+    if (ERROR_THROWABLE != null) {
+        java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream(2048);
+        java.io.PrintStream ps = new java.io.PrintStream(baos);
+        ERROR_THROWABLE.printStackTrace(ps);
+        ps.close();
+        String trace = baos.toString();
+        trace = trace.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;");
+        trace = trace.replace("\n", "<br>&nbsp;&nbsp;&nbsp;&nbsp;\n");
+        out.print(trace);
+    }
+%>
+</p>
+<h3><%=intl._("I2P Version and Running Environment")%></h3>
+<p>
+<b>I2P version:</b> <%=net.i2p.router.RouterVersion.FULL_VERSION%><br>
+<b>Java version:</b> <%=System.getProperty("java.vendor")%> <%=System.getProperty("java.version")%> (<%=System.getProperty("java.runtime.name")%> <%=System.getProperty("java.runtime.version")%>)<br>
+<b>Platform:</b> <%=System.getProperty("os.name")%> <%=System.getProperty("os.arch")%> <%=System.getProperty("os.version")%><br>
+<b>Processor:</b> <%=net.i2p.util.NativeBigInteger.cpuModel()%> (<%=net.i2p.util.NativeBigInteger.cpuType()%>)<br>
+<b>Jbigi:</b> <%=net.i2p.util.NativeBigInteger.loadStatus()%><br>
+<b>Encoding:</b> <%=System.getProperty("file.encoding")%></p>
+<p><%=intl._("Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report.")%></p>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/help_ru.jsp b/apps/routerconsole/jsp/help_ru.jsp
index 03b1fdde833cd3a09e4f5378b27c37bac8f2708d..c52749f9613add19494cfc346183bb43880eeb89 100644
--- a/apps/routerconsole/jsp/help_ru.jsp
+++ b/apps/routerconsole/jsp/help_ru.jsp
@@ -172,5 +172,5 @@
  <jsp:setProperty name="contenthelper" property="startAtBeginning" value="true" />
  <jsp:getProperty name="contenthelper" property="textContent" />
 
- <p>Более подробный список изменений можно найти в файле history.txt в каталоге Вашего I2P.
+ <p>Более подробный список изменений можно найти в файле history.txt, который находится в директории установки I2P.
  </p><hr></div></body></html>
diff --git a/apps/routerconsole/jsp/logs.jsp b/apps/routerconsole/jsp/logs.jsp
index b6fe3fe71dfd1fcc11bb7e7143ae3960777bbab2..da33b9179c8f3d10fc19b9cb4eb06fb0a01a50f3 100644
--- a/apps/routerconsole/jsp/logs.jsp
+++ b/apps/routerconsole/jsp/logs.jsp
@@ -9,7 +9,7 @@
 <%@include file="summary.jsi" %>
 <h1><%=intl._("I2P Router Logs")%></h1>
 <div class="main" id="main">
- <div class="joblog"><h3><%=intl._("I2P Version & Running Environment")%></h3><a name="version"> </a>
+<div class="joblog"><h3><%=intl._("I2P Version and Running Environment")%></h3><a name="version"> </a>
 <p>
 <% /* note to translators - both parameters are URLs */
 %><%=intl._("Please report bugs on {0} or {1}.",
diff --git a/apps/routerconsole/jsp/web.xml b/apps/routerconsole/jsp/web.xml
index e5bdbeb32d27599f182980802ce6e27b9f9ebf4c..f519312e4d56d751e7b744af1fd3eca8494d4040 100644
--- a/apps/routerconsole/jsp/web.xml
+++ b/apps/routerconsole/jsp/web.xml
@@ -35,4 +35,8 @@
         <error-code>404</error-code>
         <location>/error.jsp</location>
     </error-page>
+    <error-page>
+        <error-code>500</error-code>
+        <location>/error500.jsp</location>
+    </error-page>
 </web-app>
diff --git a/apps/routerconsole/locale/messages_de.po b/apps/routerconsole/locale/messages_de.po
index 423d966b518d9691ecffff36bd3414d71b8bfe6c..f2f79e6b65e100a43bdc9ec06b2faffe69b6ad9a 100644
--- a/apps/routerconsole/locale/messages_de.po
+++ b/apps/routerconsole/locale/messages_de.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-12-12 23:29+0000\n"
-"PO-Revision-Date: 2010-12-13 01:17+0100\n"
+"PO-Revision-Date: 2010-12-19 04:36+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: echelon <echelon@mail.i2p>, Sperreingang <sperrbezirk@mail.i2p>\n"
 "MIME-Version: 1.0\n"
@@ -1759,7 +1759,7 @@ msgstr "zum Schlüsselbund hinzugefügt"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:36
 msgid "Invalid destination or key"
-msgstr "Ungültiges Ziel oder Schlüssel"
+msgstr "ungültiges Ziel oder Schlüssel"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
 msgid "removed from keyring"
@@ -1771,7 +1771,7 @@ msgstr "nicht im Schlüsselbund gefunden"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:45
 msgid "Invalid destination"
-msgstr "Ungültiges Ziel"
+msgstr "ungültiges Ziel"
 
 #: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
 msgid "Log overrides updated"
@@ -2000,7 +2000,7 @@ msgstr "gesperrt bis zum Neustart"
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:38
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:59
 msgid "Invalid peer"
-msgstr "Ungültiger Teilnehmer"
+msgstr "ungültiger Teilnehmer"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
@@ -2022,11 +2022,11 @@ msgstr "Teilnehmer-Boni anpassen"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
 msgid "Bad speed value"
-msgstr "Ungültige Geschwindigkeitsangabe"
+msgstr "ungültige Geschwindigkeitsangabe"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:52
 msgid "Bad capacity value"
-msgstr "Ungültiger Wert zur Kapazität"
+msgstr "ungültiger Wert für die Kapazität"
 
 #. Normal browsers send value, IE sends button label
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
@@ -2510,7 +2510,7 @@ msgstr "Datei nicht gefunden"
 
 #: ../java/src/net/i2p/router/web/LogsHelper.java:52
 msgid "No log messages"
-msgstr "Keine Ereignisse"
+msgstr "keine Ereignisse"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
 msgid "Network Database RouterInfo Lookup"
@@ -2544,11 +2544,11 @@ msgstr "LeaseSet"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
 msgid "Local"
-msgstr "Lokal"
+msgstr "lokal"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
 msgid "Unpublished"
-msgstr "Unveröffentlicht"
+msgstr "unveröffentlicht"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
@@ -2685,12 +2685,12 @@ msgstr "NTCP und SSU mit Hilfsrouter"
 #: ../java/src/net/i2p/router/web/NewsFetcher.java:93
 #, java-format
 msgid "News last updated {0} ago."
-msgstr "Nachrichten wurden vor {0} aktualisiert"
+msgstr "Zeit seit letzter Aktualisierung der Nachrichten: {0}"
 
 #: ../java/src/net/i2p/router/web/NewsFetcher.java:99
 #, java-format
 msgid "News last checked {0} ago."
-msgstr "Vor {0} wurde auf neue Nachrichten geprüft"
+msgstr "Zeit seit letzter Prüfung auf neue Nachrichten: {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
 #, java-format
@@ -3178,7 +3178,7 @@ msgstr "innerhalb dieser Periode, welche vor {0} endete."
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:204
 msgid "No events"
-msgstr "Keine Ereignisse"
+msgstr "keine Ereignisse"
 
 #: ../java/src/net/i2p/router/web/StatsGenerator.java:210
 msgid "Average event count"
diff --git a/apps/routerconsole/locale/messages_es.po b/apps/routerconsole/locale/messages_es.po
new file mode 100644
index 0000000000000000000000000000000000000000..9badde11b578424d748b1d9f91a314a12e8e3f8a
--- /dev/null
+++ b/apps/routerconsole/locale/messages_es.po
@@ -0,0 +1,5211 @@
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the routerconsole package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P routerconsole\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-12-19 03:15+0000\n"
+"PO-Revision-Date: 2010-12-28 00:46+0100\n"
+"Last-Translator: mixxy <m1xxy@mail.i2p>\n"
+"Language-Team: foo <foo@bar>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: French\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1092
+#, java-format
+msgid "1 ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] "1 ms"
+msgstr[1] "{0,number,####} ms"
+
+#. seconds
+#. Note to translators: quantity will always be greater than one.
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1097
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:354
+#, java-format
+msgid "1 sec"
+msgid_plural "{0} sec"
+msgstr[0] "1 s"
+msgstr[1] "{0} s"
+
+#. minutes
+#. Note to translators: quantity will always be greater than one.
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1102
+#, java-format
+msgid "1 min"
+msgid_plural "{0} min"
+msgstr[0] "{0} min"
+msgstr[1] "{0} min"
+
+#. hours
+#. Note to translators: quantity will always be greater than one.
+#. alternates: hrs, hr., hrs.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1107
+#, java-format
+msgid "1 hour"
+msgid_plural "{0} hours"
+msgstr[0] "1 hora"
+msgstr[1] "{0} horas"
+
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1109
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+msgid "n/a"
+msgstr ""
+
+#. days
+#. Note to translators: quantity will always be greater than one.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113
+#, java-format
+msgid "1 day"
+msgid_plural "{0} days"
+msgstr[0] "1 día"
+msgstr[1] "{0} días"
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:126
+#, java-format
+msgid "Banned by router hash: {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:128
+msgid "Banned by router hash"
+msgstr "baneado por hash del enrutador"
+
+#. Temporary reason, until the job finishes
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:673
+msgid "IP banned"
+msgstr "IP baneado"
+
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:743
+#, java-format
+msgid "IP banned by blocklist.txt entry {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:92
+msgid "Rejecting tunnels: Shutting down"
+msgstr "rechazando túneles: apagando"
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:141
+msgid "Rejecting tunnels: High message delay"
+msgstr "rechazando túneles: alta tardanza de los mensajes"
+
+#. hard to do {0} from here
+#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of tunnels: High number of requests");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:177
+msgid "Rejecting most tunnels: High number of requests"
+msgstr "rechazando la mayor parte de los túneles: alto número de peticiones"
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:233
+msgid "Rejecting tunnels: Limit reached"
+msgstr "rechazando túneles: límite alcanzado"
+
+#. .067KBps
+#. * also limited to 90% - see below
+#. always leave at least 4KBps free when allowing
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:301
+msgid "Rejecting tunnels: Bandwidth limit"
+msgstr "rechazando túneles: límite de ancho de banda"
+
+#. hard to do {0} from here
+#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:371
+msgid "Rejecting most tunnels: Bandwidth limit"
+msgstr "rechazando la mayor parte de los túneles: límite de ancho de banda"
+
+#. hard to do {0} from here
+#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels");
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375
+msgid "Accepting most tunnels"
+msgstr "Acceptando la mayoría de los túneles"
+
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:377
+msgid "Accepting tunnels"
+msgstr "acceptando túneles"
+
+#. NPE, too early
+#. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
+#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
+#. else
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:488
+msgid "Rejecting tunnels"
+msgstr "Rechazando túneles"
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:67
+msgid "Ensure that nothing blocks outbound HTTP, check <a target=\"_top\" href=\"logs.jsp\">logs</a> and if nothing helps, read the <a target=\"_top\" href=\"http://www.i2p2.de/faq.html\">FAQ</a> about reseeding manually."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:100
+msgid "Reseeding"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:123
+#, java-format
+msgid "Reseed fetched only 1 router."
+msgid_plural "Reseed fetched only {0} routers."
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130
+msgid "Reseed failed."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231
+msgid "Reseeding: fetching seed URL."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272
+#, java-format
+msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510
+msgid "NetDb entry"
+msgstr ""
+
+#. This used to be "no common transports" but it is almost always no transports at all
+#: ../../../router/java/src/net/i2p/router/transport/GetBidsJob.java:70
+msgid "No transports (hidden or starting up?)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:451
+msgid "Unreachable on any transport"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:500
+msgid "Router Transport Addresses"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:505
+#, java-format
+msgid "{0} is used for outbound connections only"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid "Help"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+msgid "Definitions"
+msgstr "Definiciones"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:81
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:187
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Peer"
+msgstr "Par"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
+msgid "The remote peer, identified by router hash"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
+msgid "Dir"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527
+msgid "Inbound connection"
+msgstr "Conexión entrante"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+msgid "Outbound connection"
+msgstr "Conexión saliente"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
+msgid "They offered to introduce us (help other peers traverse our firewall)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+msgid "We offered to introduce them (help other peers traverse their firewall)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+msgid "How long since a packet has been received / sent"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
+msgid "Idle"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "In/Out"
+msgstr "Entrante/Saliente"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+msgid "How long ago this connection was established"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902
+msgid "Up"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904
+msgid "Skew"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+msgid "The difference between the peer's clock and your own"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+msgid "The number of sent messages awaiting acknowledgement"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+msgid "The maximum number of concurrent messages to send"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+msgid "The number of pending sends which exceed congestion window"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+msgid "The slow start threshold"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+msgid "The round trip time in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914
+msgid "Dev"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+msgid "The standard deviation of the round trip time in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+msgid "The retransmit timeout in milliseconds"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
+msgid "TX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+msgid "The total number of packets sent to the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
+msgid "RX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+msgid "The total number of packets received from the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
+msgid "Dup TX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+msgid "The total number of packets retransmitted to the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928
+msgid "Dup RX"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+msgid "The total number of duplicate packets received from the peer"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:409
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:627
+#, java-format
+msgid "Excessive clock skew: {0}"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:710
+msgid "NTCP connections"
+msgstr "conexiones NTCP"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883
+msgid "Limit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884
+msgid "Timeout"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:723
+msgid "Out Queue"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:724
+msgid "Backlogged?"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Inbound"
+msgstr "Entrante"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Outbound"
+msgstr "Saliente"
+
+#. buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:787
+msgid "peers"
+msgstr "Pares"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882
+msgid "UDP connections"
+msgstr "conexiones UDP"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+msgid "Sort by peer hash"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
+msgid "Direction/Introduction"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
+msgid "Sort by idle inbound"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
+msgid "Sort by idle outbound"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+msgid "Sort by inbound rate"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
+msgid "Sort by outbound rate"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
+msgid "Sort by connection uptime"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
+msgid "Sort by clock skew"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
+msgid "Sort by congestion window"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910
+msgid "Sort by slow start threshold"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
+msgid "Sort by round trip time"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
+msgid "Sort by round trip time deviation"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
+msgid "Sort by retransmission timeout"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
+msgid "Sort by outbound maximum transmit unit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
+msgid "Sort by packets sent"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+msgid "Sort by packets received"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
+msgid "Sort by packets retransmitted"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
+msgid "Sort by packets received more than once"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950
+msgid "We offered to introduce them"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952
+msgid "They offered to introduce us"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956
+msgid "Choked"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964
+msgid "1 fail"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1966
+#, java-format
+msgid "{0} fails"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1972
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
+msgid "Banned"
+msgstr ""
+
+#. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2103
+msgid "SUMMARY"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:145
+msgid "Dropping tunnel requests: Too slow"
+msgstr ""
+
+#. don't even bother, since we are so overloaded locally
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:352
+msgid "Dropping tunnel requests: Overloaded"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:525
+msgid "Rejecting tunnels: Request overload"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:550
+msgid "Rejecting tunnels: Connection limit"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:744
+msgid "Dropping tunnel requests: High load"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:753
+msgid "Dropping tunnel requests: Queue time"
+msgstr ""
+
+#. Automatically generated pseudo-java for xgettext - do not edit
+#. Translators may wish to translate a few of these, do not bother to translate all of them!!
+#: ../java/build/Countries.java:3
+msgid "Andorra"
+msgstr "Andorre"
+
+#: ../java/build/Countries.java:4
+msgid "United Arab Emirates"
+msgstr ""
+
+#: ../java/build/Countries.java:5
+msgid "Afghanistan"
+msgstr ""
+
+#: ../java/build/Countries.java:6
+msgid "Antigua and Barbuda"
+msgstr ""
+
+#: ../java/build/Countries.java:7
+msgid "Anguilla"
+msgstr ""
+
+#: ../java/build/Countries.java:8
+msgid "Albania"
+msgstr "Albania"
+
+#: ../java/build/Countries.java:9
+msgid "Armenia"
+msgstr ""
+
+#: ../java/build/Countries.java:10
+msgid "Netherlands Antilles"
+msgstr ""
+
+#: ../java/build/Countries.java:11
+msgid "Angola"
+msgstr ""
+
+#: ../java/build/Countries.java:12
+msgid "Antarctica"
+msgstr ""
+
+#: ../java/build/Countries.java:13
+msgid "Argentina"
+msgstr "Argentina"
+
+#: ../java/build/Countries.java:14
+msgid "American Samoa"
+msgstr ""
+
+#: ../java/build/Countries.java:15
+msgid "Austria"
+msgstr "Austria"
+
+#: ../java/build/Countries.java:16
+msgid "Australia"
+msgstr ""
+
+#: ../java/build/Countries.java:17
+msgid "Aruba"
+msgstr ""
+
+#: ../java/build/Countries.java:19
+msgid "Azerbaijan"
+msgstr ""
+
+#: ../java/build/Countries.java:20
+msgid "Bosnia and Herzegovina"
+msgstr ""
+
+#: ../java/build/Countries.java:21
+msgid "Barbados"
+msgstr ""
+
+#: ../java/build/Countries.java:22
+msgid "Bangladesh"
+msgstr ""
+
+#: ../java/build/Countries.java:23
+msgid "Belgium"
+msgstr ""
+
+#: ../java/build/Countries.java:24
+msgid "Burkina Faso"
+msgstr ""
+
+#: ../java/build/Countries.java:25
+msgid "Bulgaria"
+msgstr ""
+
+#: ../java/build/Countries.java:26
+msgid "Bahrain"
+msgstr ""
+
+#: ../java/build/Countries.java:27
+msgid "Burundi"
+msgstr ""
+
+#: ../java/build/Countries.java:28
+msgid "Benin"
+msgstr ""
+
+#: ../java/build/Countries.java:29
+msgid "Bermuda"
+msgstr ""
+
+#: ../java/build/Countries.java:30
+msgid "Brunei Darussalam"
+msgstr ""
+
+#: ../java/build/Countries.java:31
+msgid "Bolivia"
+msgstr ""
+
+#: ../java/build/Countries.java:32
+msgid "Brazil"
+msgstr ""
+
+#: ../java/build/Countries.java:33
+msgid "Bahamas"
+msgstr ""
+
+#: ../java/build/Countries.java:34
+msgid "Bhutan"
+msgstr ""
+
+#: ../java/build/Countries.java:35
+msgid "Bouvet Island"
+msgstr ""
+
+#: ../java/build/Countries.java:36
+msgid "Botswana"
+msgstr ""
+
+#: ../java/build/Countries.java:37
+msgid "Belarus"
+msgstr ""
+
+#: ../java/build/Countries.java:38
+msgid "Belize"
+msgstr ""
+
+#: ../java/build/Countries.java:39
+msgid "Canada"
+msgstr ""
+
+#: ../java/build/Countries.java:40
+msgid "The Democratic Republic of the Congo"
+msgstr ""
+
+#: ../java/build/Countries.java:41
+msgid "Central African Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:42
+msgid "Congo"
+msgstr ""
+
+#: ../java/build/Countries.java:43
+msgid "Switzerland"
+msgstr ""
+
+#: ../java/build/Countries.java:44
+msgid "Cote D'Ivoire"
+msgstr ""
+
+#: ../java/build/Countries.java:45
+msgid "Cook Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:46
+msgid "Chile"
+msgstr ""
+
+#: ../java/build/Countries.java:47
+msgid "Cameroon"
+msgstr ""
+
+#: ../java/build/Countries.java:48
+msgid "China"
+msgstr ""
+
+#: ../java/build/Countries.java:49
+msgid "Colombia"
+msgstr ""
+
+#: ../java/build/Countries.java:50
+msgid "Costa Rica"
+msgstr ""
+
+#: ../java/build/Countries.java:51
+msgid "Serbia and Montenegro"
+msgstr ""
+
+#: ../java/build/Countries.java:52
+msgid "Cuba"
+msgstr ""
+
+#: ../java/build/Countries.java:53
+msgid "Cape Verde"
+msgstr ""
+
+#: ../java/build/Countries.java:54
+msgid "Cyprus"
+msgstr ""
+
+#: ../java/build/Countries.java:55
+msgid "Czech Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:56
+msgid "Germany"
+msgstr "Allemania"
+
+#: ../java/build/Countries.java:57
+msgid "Djibouti"
+msgstr ""
+
+#: ../java/build/Countries.java:58
+msgid "Denmark"
+msgstr ""
+
+#: ../java/build/Countries.java:59
+msgid "Dominica"
+msgstr ""
+
+#: ../java/build/Countries.java:60
+msgid "Dominican Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:61
+msgid "Algeria"
+msgstr ""
+
+#: ../java/build/Countries.java:62
+msgid "Ecuador"
+msgstr ""
+
+#: ../java/build/Countries.java:63
+msgid "Estonia"
+msgstr ""
+
+#: ../java/build/Countries.java:64
+msgid "Egypt"
+msgstr ""
+
+#: ../java/build/Countries.java:65
+msgid "Eritrea"
+msgstr ""
+
+#: ../java/build/Countries.java:66
+msgid "Spain"
+msgstr ""
+
+#: ../java/build/Countries.java:67
+msgid "Ethiopia"
+msgstr ""
+
+#: ../java/build/Countries.java:68
+msgid "Finland"
+msgstr ""
+
+#: ../java/build/Countries.java:69
+msgid "Fiji"
+msgstr ""
+
+#: ../java/build/Countries.java:70
+msgid "Falkland Islands (Malvinas)"
+msgstr ""
+
+#: ../java/build/Countries.java:71
+msgid "Federated States of Micronesia"
+msgstr ""
+
+#: ../java/build/Countries.java:72
+msgid "Faroe Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:73
+msgid "France"
+msgstr "Francia"
+
+#: ../java/build/Countries.java:74
+msgid "Gabon"
+msgstr ""
+
+#: ../java/build/Countries.java:75
+msgid "United Kingdom"
+msgstr ""
+
+#: ../java/build/Countries.java:76
+msgid "Grenada"
+msgstr ""
+
+#: ../java/build/Countries.java:77
+msgid "Georgia"
+msgstr ""
+
+#: ../java/build/Countries.java:78
+msgid "French Guiana"
+msgstr ""
+
+#: ../java/build/Countries.java:79
+msgid "Ghana"
+msgstr ""
+
+#: ../java/build/Countries.java:80
+msgid "Gibraltar"
+msgstr ""
+
+#: ../java/build/Countries.java:81
+msgid "Greenland"
+msgstr ""
+
+#: ../java/build/Countries.java:82
+msgid "Gambia"
+msgstr ""
+
+#: ../java/build/Countries.java:83
+msgid "Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:84
+msgid "Guadeloupe"
+msgstr ""
+
+#: ../java/build/Countries.java:85
+msgid "Equatorial Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:86
+msgid "Greece"
+msgstr ""
+
+#: ../java/build/Countries.java:87
+msgid "South Georgia and the South Sandwich Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:88
+msgid "Guatemala"
+msgstr ""
+
+#: ../java/build/Countries.java:89
+msgid "Guam"
+msgstr ""
+
+#: ../java/build/Countries.java:90
+msgid "Guinea-Bissau"
+msgstr ""
+
+#: ../java/build/Countries.java:91
+msgid "Guyana"
+msgstr ""
+
+#: ../java/build/Countries.java:92
+msgid "Hong Kong"
+msgstr ""
+
+#: ../java/build/Countries.java:93
+msgid "Honduras"
+msgstr ""
+
+#: ../java/build/Countries.java:94
+msgid "Croatia"
+msgstr ""
+
+#: ../java/build/Countries.java:95
+msgid "Haiti"
+msgstr ""
+
+#: ../java/build/Countries.java:96
+msgid "Hungary"
+msgstr ""
+
+#: ../java/build/Countries.java:97
+msgid "Indonesia"
+msgstr ""
+
+#: ../java/build/Countries.java:98
+msgid "Ireland"
+msgstr ""
+
+#: ../java/build/Countries.java:99
+msgid "Israel"
+msgstr ""
+
+#: ../java/build/Countries.java:101
+msgid "India"
+msgstr ""
+
+#: ../java/build/Countries.java:102
+msgid "British Indian Ocean Territory"
+msgstr ""
+
+#: ../java/build/Countries.java:103
+msgid "Iraq"
+msgstr ""
+
+#: ../java/build/Countries.java:104
+msgid "Islamic Republic of Iran"
+msgstr ""
+
+#: ../java/build/Countries.java:105
+msgid "Iceland"
+msgstr ""
+
+#: ../java/build/Countries.java:106
+msgid "Italy"
+msgstr ""
+
+#: ../java/build/Countries.java:108
+msgid "Jamaica"
+msgstr ""
+
+#: ../java/build/Countries.java:109
+msgid "Jordan"
+msgstr ""
+
+#: ../java/build/Countries.java:110
+msgid "Japan"
+msgstr ""
+
+#: ../java/build/Countries.java:111
+msgid "Kenya"
+msgstr ""
+
+#: ../java/build/Countries.java:112
+msgid "Kyrgyzstan"
+msgstr ""
+
+#: ../java/build/Countries.java:113
+msgid "Cambodia"
+msgstr ""
+
+#: ../java/build/Countries.java:114
+msgid "Kiribati"
+msgstr ""
+
+#: ../java/build/Countries.java:115
+msgid "Comoros"
+msgstr ""
+
+#: ../java/build/Countries.java:116
+msgid "Saint Kitts and Nevis"
+msgstr ""
+
+#: ../java/build/Countries.java:117
+msgid "Republic of Korea"
+msgstr ""
+
+#: ../java/build/Countries.java:118
+msgid "Kuwait"
+msgstr ""
+
+#: ../java/build/Countries.java:119
+msgid "Cayman Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:120
+msgid "Kazakhstan"
+msgstr ""
+
+#: ../java/build/Countries.java:121
+msgid "Lao People's Democratic Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:122
+msgid "Lebanon"
+msgstr ""
+
+#: ../java/build/Countries.java:123
+msgid "Saint Lucia"
+msgstr ""
+
+#: ../java/build/Countries.java:124
+msgid "Liechtenstein"
+msgstr ""
+
+#: ../java/build/Countries.java:125
+msgid "Sri Lanka"
+msgstr ""
+
+#: ../java/build/Countries.java:126
+msgid "Liberia"
+msgstr ""
+
+#: ../java/build/Countries.java:127
+msgid "Lesotho"
+msgstr ""
+
+#: ../java/build/Countries.java:128
+msgid "Lithuania"
+msgstr ""
+
+#: ../java/build/Countries.java:129
+msgid "Luxembourg"
+msgstr ""
+
+#: ../java/build/Countries.java:130
+msgid "Latvia"
+msgstr ""
+
+#: ../java/build/Countries.java:131
+msgid "Libyan Arab Jamahiriya"
+msgstr ""
+
+#: ../java/build/Countries.java:132
+msgid "Morocco"
+msgstr ""
+
+#: ../java/build/Countries.java:133
+msgid "Monaco"
+msgstr ""
+
+#: ../java/build/Countries.java:134
+msgid "Republic of Moldova"
+msgstr ""
+
+#: ../java/build/Countries.java:137
+msgid "Madagascar"
+msgstr ""
+
+#: ../java/build/Countries.java:138
+msgid "Marshall Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:139
+msgid "The Former Yugoslav Republic of Macedonia"
+msgstr ""
+
+#: ../java/build/Countries.java:140
+msgid "Mali"
+msgstr ""
+
+#: ../java/build/Countries.java:141
+msgid "Myanmar"
+msgstr ""
+
+#: ../java/build/Countries.java:142
+msgid "Mongolia"
+msgstr ""
+
+#: ../java/build/Countries.java:143
+msgid "Macao"
+msgstr ""
+
+#: ../java/build/Countries.java:144
+msgid "Northern Mariana Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:145
+msgid "Martinique"
+msgstr ""
+
+#: ../java/build/Countries.java:146
+msgid "Mauritania"
+msgstr ""
+
+#: ../java/build/Countries.java:147
+msgid "Montserrat"
+msgstr ""
+
+#: ../java/build/Countries.java:148
+msgid "Malta"
+msgstr ""
+
+#: ../java/build/Countries.java:149
+msgid "Mauritius"
+msgstr ""
+
+#: ../java/build/Countries.java:150
+msgid "Maldives"
+msgstr ""
+
+#: ../java/build/Countries.java:151
+msgid "Malawi"
+msgstr ""
+
+#: ../java/build/Countries.java:152
+msgid "Mexico"
+msgstr ""
+
+#: ../java/build/Countries.java:153
+msgid "Malaysia"
+msgstr ""
+
+#: ../java/build/Countries.java:154
+msgid "Mozambique"
+msgstr ""
+
+#: ../java/build/Countries.java:155
+msgid "Namibia"
+msgstr ""
+
+#: ../java/build/Countries.java:156
+msgid "New Caledonia"
+msgstr ""
+
+#: ../java/build/Countries.java:157
+msgid "Niger"
+msgstr ""
+
+#: ../java/build/Countries.java:158
+msgid "Norfolk Island"
+msgstr ""
+
+#: ../java/build/Countries.java:159
+msgid "Nigeria"
+msgstr ""
+
+#: ../java/build/Countries.java:160
+msgid "Nicaragua"
+msgstr ""
+
+#: ../java/build/Countries.java:161
+msgid "Netherlands"
+msgstr ""
+
+#: ../java/build/Countries.java:162
+msgid "Norway"
+msgstr ""
+
+#: ../java/build/Countries.java:163
+msgid "Nepal"
+msgstr ""
+
+#: ../java/build/Countries.java:164
+msgid "Nauru"
+msgstr ""
+
+#: ../java/build/Countries.java:165
+msgid "Niue"
+msgstr ""
+
+#: ../java/build/Countries.java:166
+msgid "New Zealand"
+msgstr ""
+
+#: ../java/build/Countries.java:167
+msgid "Oman"
+msgstr ""
+
+#: ../java/build/Countries.java:168
+msgid "Panama"
+msgstr ""
+
+#: ../java/build/Countries.java:169
+msgid "Peru"
+msgstr ""
+
+#: ../java/build/Countries.java:170
+msgid "French Polynesia"
+msgstr ""
+
+#: ../java/build/Countries.java:171
+msgid "Papua New Guinea"
+msgstr ""
+
+#: ../java/build/Countries.java:172
+msgid "Philippines"
+msgstr ""
+
+#: ../java/build/Countries.java:173
+msgid "Pakistan"
+msgstr ""
+
+#: ../java/build/Countries.java:174
+msgid "Poland"
+msgstr ""
+
+#: ../java/build/Countries.java:175
+msgid "Saint Pierre and Miquelon"
+msgstr ""
+
+#: ../java/build/Countries.java:176
+msgid "Puerto Rico"
+msgstr ""
+
+#: ../java/build/Countries.java:177
+msgid "Palestinian Territory"
+msgstr ""
+
+#: ../java/build/Countries.java:178
+msgid "Portugal"
+msgstr ""
+
+#: ../java/build/Countries.java:179
+msgid "Palau"
+msgstr ""
+
+#: ../java/build/Countries.java:180
+msgid "Paraguay"
+msgstr ""
+
+#: ../java/build/Countries.java:181
+msgid "Qatar"
+msgstr ""
+
+#: ../java/build/Countries.java:182
+msgid "Reunion"
+msgstr ""
+
+#: ../java/build/Countries.java:183
+msgid "Romania"
+msgstr ""
+
+#: ../java/build/Countries.java:184
+msgid "Serbia"
+msgstr ""
+
+#: ../java/build/Countries.java:185
+msgid "Russian Federation"
+msgstr ""
+
+#: ../java/build/Countries.java:186
+msgid "Rwanda"
+msgstr ""
+
+#: ../java/build/Countries.java:187
+msgid "Saudi Arabia"
+msgstr ""
+
+#: ../java/build/Countries.java:188
+msgid "Solomon Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:189
+msgid "Seychelles"
+msgstr ""
+
+#: ../java/build/Countries.java:190
+msgid "Sudan"
+msgstr ""
+
+#: ../java/build/Countries.java:191
+msgid "Sweden"
+msgstr ""
+
+#: ../java/build/Countries.java:192
+msgid "Singapore"
+msgstr ""
+
+#: ../java/build/Countries.java:193
+msgid "Slovenia"
+msgstr ""
+
+#: ../java/build/Countries.java:194
+msgid "Slovakia"
+msgstr ""
+
+#: ../java/build/Countries.java:195
+msgid "Sierra Leone"
+msgstr ""
+
+#: ../java/build/Countries.java:196
+msgid "San Marino"
+msgstr ""
+
+#: ../java/build/Countries.java:197
+msgid "Senegal"
+msgstr ""
+
+#: ../java/build/Countries.java:198
+msgid "Somalia"
+msgstr ""
+
+#: ../java/build/Countries.java:199
+msgid "Suriname"
+msgstr ""
+
+#: ../java/build/Countries.java:200
+msgid "Sao Tome and Principe"
+msgstr ""
+
+#: ../java/build/Countries.java:201
+msgid "El Salvador"
+msgstr ""
+
+#: ../java/build/Countries.java:202
+msgid "Syrian Arab Republic"
+msgstr ""
+
+#: ../java/build/Countries.java:203
+msgid "Swaziland"
+msgstr ""
+
+#: ../java/build/Countries.java:204
+msgid "Turks and Caicos Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:205
+msgid "Chad"
+msgstr ""
+
+#: ../java/build/Countries.java:206
+msgid "French Southern Territories"
+msgstr ""
+
+#: ../java/build/Countries.java:207
+msgid "Togo"
+msgstr ""
+
+#: ../java/build/Countries.java:208
+msgid "Thailand"
+msgstr ""
+
+#: ../java/build/Countries.java:209
+msgid "Tajikistan"
+msgstr ""
+
+#: ../java/build/Countries.java:210
+msgid "Tokelau"
+msgstr ""
+
+#: ../java/build/Countries.java:211
+msgid "Timor-Leste"
+msgstr ""
+
+#: ../java/build/Countries.java:212
+msgid "Turkmenistan"
+msgstr ""
+
+#: ../java/build/Countries.java:213
+msgid "Tunisia"
+msgstr ""
+
+#: ../java/build/Countries.java:214
+msgid "Tonga"
+msgstr ""
+
+#: ../java/build/Countries.java:215
+msgid "Turkey"
+msgstr ""
+
+#: ../java/build/Countries.java:216
+msgid "Trinidad and Tobago"
+msgstr ""
+
+#: ../java/build/Countries.java:217
+msgid "Tuvalu"
+msgstr ""
+
+#: ../java/build/Countries.java:218
+msgid "Taiwan"
+msgstr ""
+
+#: ../java/build/Countries.java:219
+msgid "United Republic of Tanzania"
+msgstr ""
+
+#: ../java/build/Countries.java:220
+msgid "Ukraine"
+msgstr ""
+
+#: ../java/build/Countries.java:221
+msgid "Uganda"
+msgstr ""
+
+#: ../java/build/Countries.java:222
+msgid "United States Minor Outlying Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:223
+msgid "United States"
+msgstr ""
+
+#: ../java/build/Countries.java:224
+msgid "Uruguay"
+msgstr ""
+
+#: ../java/build/Countries.java:225
+msgid "Uzbekistan"
+msgstr ""
+
+#: ../java/build/Countries.java:226
+msgid "Holy See (Vatican City State)"
+msgstr ""
+
+#: ../java/build/Countries.java:227
+msgid "Saint Vincent and the Grenadines"
+msgstr ""
+
+#: ../java/build/Countries.java:228
+msgid "Venezuela"
+msgstr ""
+
+#: ../java/build/Countries.java:229
+#: ../java/build/Countries.java:230
+msgid "Virgin Islands"
+msgstr ""
+
+#: ../java/build/Countries.java:231
+msgid "Viet Nam"
+msgstr ""
+
+#: ../java/build/Countries.java:232
+msgid "Vanuatu"
+msgstr ""
+
+#: ../java/build/Countries.java:233
+msgid "Wallis and Futuna"
+msgstr ""
+
+#: ../java/build/Countries.java:234
+msgid "Samoa"
+msgstr ""
+
+#: ../java/build/Countries.java:235
+msgid "Yemen"
+msgstr ""
+
+#: ../java/build/Countries.java:236
+msgid "Mayotte"
+msgstr ""
+
+#: ../java/build/Countries.java:237
+msgid "South Africa"
+msgstr ""
+
+#: ../java/build/Countries.java:238
+msgid "Zambia"
+msgstr ""
+
+#: ../java/build/Countries.java:239
+msgid "Zimbabwe"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/CSSHelper.java:57
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:35
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:37
+#: ../java/strings/Strings.java:29
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:233
+msgid "I2P Router Console"
+msgstr "Console del Enrutador I2P"
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:57
+msgid "Error updating the configuration - please see the error logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:69
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:266
+msgid "Configuration saved successfully"
+msgstr "Configuración guardada con éxito"
+
+#: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:268
+msgid "Error saving the configuration (applied but not saved) - please see the error logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
+msgid "Save Client Configuration"
+msgstr "Guardar la configuración de clientes"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
+msgid "Save WebApp Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
+msgid "Save Plugin Configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
+msgid "Install Plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:82
+#, java-format
+msgid "Deleted plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:84
+#, java-format
+msgid "Error deleting plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:96
+#, java-format
+msgid "Stopped plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:98
+#, java-format
+msgid "Error stopping plugin {0}"
+msgstr ""
+
+#. label (IE)
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189
+msgid "Start"
+msgstr "Lanzar"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:138
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:49
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:61
+msgid "Unsupported"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:184
+msgid "New client added"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:188
+msgid "Client configuration saved successfully - restart required to take effect."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:202
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:213
+msgid "Bad client index."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:379
+msgid "Client"
+msgstr "Cliente"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
+msgid "started"
+msgstr "lanzado"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
+msgid "deleted"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235
+msgid "WebApp configuration saved."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:251
+msgid "Plugin configuration saved."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
+msgid "WebApp"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:268
+msgid "Failed to start"
+msgstr "Fallido el lanzamiento"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
+msgid "Failed to find server."
+msgstr "No se encontró el servidor"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279
+msgid "No plugin URL specified."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:289
+#, java-format
+msgid "No update URL specified for {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:297
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:302
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:315
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:320
+msgid "Plugin or update download already in progress."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118
+#, java-format
+msgid "Downloading plugin from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:324
+#, java-format
+msgid "Checking plugin {0} for updates"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334
+#, java-format
+msgid "Started plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:336
+#, java-format
+msgid "Error starting plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:21
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:192
+msgid "Edit"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
+msgid "Add Client"
+msgstr "Añadir cliente"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
+msgid "Class and arguments"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+msgid "Control"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+msgid "Run at Startup?"
+msgstr "Lanzar al iniciarse?"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:131
+msgid "Description"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:82
+msgid "Plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
+msgid "Version"
+msgstr "Versión"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:97
+msgid "Signed by"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:114
+msgid "Date"
+msgstr "Fecha"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:120
+msgid "Author"
+msgstr "Autor"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:136
+msgid "License"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:141
+msgid "Website"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:146
+msgid "Update link"
+msgstr "Enlace para actualizaciones"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194
+msgid "Stop"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313
+msgid "Check for updates"
+msgstr "Buscar actualizaciones"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242
+msgid "Update"
+msgstr "Actualizar"
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
+#, java-format
+msgid "Are you sure you want to delete {0}?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:204
+msgid "Delete"
+msgstr "Borrar"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
+msgid "Add key"
+msgstr "Añadir clave"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
+msgid "Delete key"
+msgstr "Borrar clave"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:21
+msgid "You must enter a destination"
+msgstr "¡Tienes que entrar un destino!"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:23
+msgid "You must enter a key"
+msgstr "Tienes que entrar una clave"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:43
+msgid "Key for"
+msgstr "Clave para"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:34
+msgid "added to keyring"
+msgstr "añadida al llavero"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:36
+msgid "Invalid destination or key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:41
+msgid "removed from keyring"
+msgstr "quitada del llavero"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:43
+msgid "not found in keyring"
+msgstr "no encontrada en el llavero"
+
+#: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:45
+msgid "Invalid destination"
+msgstr "Destino no válido"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
+msgid "Log overrides updated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
+msgid "Log configuration saved"
+msgstr "Guardados los ajustes de registros"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
+msgid "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
+msgid "Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
+msgid "Valid levels are DEBUG, INFO, WARN, ERROR, CRIT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "CRIT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "DEBUG"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "ERROR"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "INFO"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
+msgid "WARN"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
+msgid "Remove"
+msgstr "Quitar"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
+msgid "Select a class to add"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
+msgid "Network"
+msgstr "Red"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+msgid "Service"
+msgstr "Servicio"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
+#: ../java/strings/Strings.java:72
+msgid "Tunnels"
+msgstr "Túneles"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
+msgid "UI"
+msgstr "Interfaz humana"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+msgid "Clients"
+msgstr "Clientes"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
+msgid "Keyring"
+msgstr "Llavero"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+msgid "Logging"
+msgstr "Registros"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
+#: ../java/strings/Strings.java:67
+msgid "Peers"
+msgstr "Pares"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
+msgid "Stats"
+msgstr "Estadísticas"
+
+#: ../java/src/net/i2p/router/web/ConfigNavHelper.java:20
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:344
+msgid "Save changes"
+msgstr "Guardar"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:121
+msgid "Rechecking router reachability..."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:153
+msgid "Updating IP address"
+msgstr "Actualizando dirección IP"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:171
+msgid "Disabling TCP completely"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:175
+msgid "Updating inbound TCP address to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:179
+msgid "Disabling inbound TCP"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:181
+msgid "Updating inbound TCP address to auto"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190
+msgid "Updating inbound TCP port to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:193
+msgid "Updating inbound TCP port to auto"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
+msgid "Updating UDP port from"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205
+msgid "to"
+msgstr "a"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:221
+msgid "Gracefully restarting into Hidden Router Mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:223
+msgid "Gracefully restarting to exit Hidden Router Mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:232
+msgid "Enabling UPnP, restart required to take effect"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:234
+msgid "Disabling UPnP, restart required to take effect"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:242
+msgid "Enabling laptop mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:244
+msgid "Disabling laptop mode"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:250
+msgid "Requiring SSU introducers"
+msgstr ""
+
+#. There's a few changes that don't really require restart (e.g. enabling inbound TCP)
+#. But it would be hard to get right, so just do a restart.
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:291
+msgid "Gracefully restarting I2P to change published router address"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:314
+msgid "Updating bandwidth share percentage"
+msgstr "Actualización del porcentaje de compartición del ancho de banda"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:397
+msgid "Updated bandwidth limits"
+msgstr "Límites del ancho de banda actualizados"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:39
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:47
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:50
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:57
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:60
+msgid "unknown"
+msgstr "desconocido"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:169
+msgid "bits per second"
+msgstr "bits por segundo"
+
+#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:170
+#, java-format
+msgid "or {0} bytes per month maximum"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
+msgid "Ban peer until restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:23
+#, java-format
+msgid "Manually banned via {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
+msgid "banned until restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:27
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:38
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:59
+msgid "Invalid peer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
+msgid "Unban peer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
+msgid "unbanned"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
+msgid "is not currently banned"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+msgid "Adjust peer bonuses"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
+msgid "Bad speed value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:52
+msgid "Bad capacity value"
+msgstr ""
+
+#. Normal browsers send value, IE sends button label
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
+msgid "Shutdown immediately"
+msgstr "Apagar en seguida"
+
+#. ctx.router().shutdown(Router.EXIT_HARD); // never returns
+#. give the UI time to respond
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:36
+msgid "Cancel shutdown"
+msgstr "Cancelar el apagarse"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:37
+msgid "Cancel restart"
+msgstr "Cancelar el reiniciarse"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:39
+msgid "Restart immediately"
+msgstr "Reiniciar en seguida"
+
+#. ctx.router().shutdown(Router.EXIT_HARD_RESTART); // never returns
+#. give the UI time to respond
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:43
+msgid "Restart"
+msgstr "Reiniciar"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:46
+msgid "Shutdown"
+msgstr "Apagar"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:59
+msgid "Restart imminent"
+msgstr "por reiniciarse"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:61
+msgid "Shutdown imminent"
+msgstr "por apagarse"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:65
+#, java-format
+msgid "Shutdown in {0}"
+msgstr "Apagando en {0}"
+
+#: ../java/src/net/i2p/router/web/ConfigRestartBean.java:70
+#, java-format
+msgid "Restart in {0}"
+msgstr "Reiniciando en {0}"
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
+msgid "Shutdown gracefully"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:56
+msgid "Graceful shutdown initiated"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:60
+msgid "Shutdown immediately!  boom bye bye bad bwoy"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
+msgid "Cancel graceful shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:63
+msgid "Graceful shutdown cancelled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
+msgid "Graceful restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:67
+msgid "Graceful restart requested"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
+msgid "Hard restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:71
+msgid "Hard restart requested"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:72
+msgid "Rekey and Restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:73
+msgid "Rekeying after graceful restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:76
+msgid "Rekey and Shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:77
+msgid "Rekeying after graceful shutdown"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:335
+msgid "Run I2P on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
+msgid "Don't run I2P on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:355
+msgid "Dump threads"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
+msgid "Show systray icon"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:96
+msgid "System tray icon enabled."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:98
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:110
+msgid "System tray icon feature not supported on this platform. Sorry!"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:101
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:113
+msgid "Warning: unable to contact the systray manager"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
+msgid "Hide systray icon"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:108
+msgid "System tray icon disabled."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:363
+msgid "View console on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:117
+msgid "Console is to be shown on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
+msgid "Do not view console on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:120
+msgid "Console is not to be shown on startup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:129
+msgid "Service installed"
+msgstr "Servicio instalado"
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:131
+msgid "Warning: unable to install the service"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:137
+msgid "Service removed"
+msgstr "Servicio quitado"
+
+#: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:139
+msgid "Warning: unable to remove the service"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
+msgid "Stat filter and location updated successfully to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
+msgid "Failed to update the stat filter and location"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
+msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
+msgstr ""
+
+#. the count isn't really correct anyway, since we don't check for actual changes
+#. addFormNotice("Updated settings for " + updated + " pools.");
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
+msgid "Updated settings for all pools."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
+msgid "Exploratory tunnel configuration saved successfully."
+msgstr "Ajustes de los túneles exploratorios guardados con éxito"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
+msgid "Error saving the configuration (applied but not saved) - please see the error logs."
+msgstr ""
+
+#. * dummies for translation
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] "1 salto"
+msgstr[1] "{0} saltos"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:15
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
+msgid "Exploratory tunnels"
+msgstr "Túneles exploratorios"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:46
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:61
+msgid "Client tunnels for"
+msgstr "Túneles clientes para"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:69
+msgid "ANONYMITY WARNING - Settings include 0-hop tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:74
+msgid "ANONYMITY WARNING - Settings include 1-hop tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:77
+msgid "PERFORMANCE WARNING - Settings include very long tunnels."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:80
+msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
+msgstr ""
+
+#. buf.append("<tr><th></th><th>Inbound</th><th>Outbound</th></tr>\n");
+#. tunnel depth
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
+msgid "Length"
+msgstr ""
+
+#. tunnel depth variance
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104
+msgid "Randomization"
+msgstr ""
+
+#. tunnel quantity
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128
+msgid "Quantity"
+msgstr "Cantidad"
+
+#. tunnel backup quantity
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145
+msgid "Backup quantity"
+msgstr "Cantidad de reserva"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:167
+msgid "Inbound options"
+msgstr "Opciones de Entrada"
+
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:180
+msgid "Outbound options"
+msgstr "Opciones de Salida"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:31
+msgid "Theme change saved."
+msgstr "Cambio del tema guardado."
+
+#: ../java/src/net/i2p/router/web/ConfigUIHandler.java:33
+msgid "Refresh the page to view."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "English"
+msgstr "Inglés"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "French"
+msgstr "Francés"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "German"
+msgstr "Alemán"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "Spanish"
+msgstr "Español"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Dutch"
+msgstr "Neerlandés"
+
+# added manually
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Portuguese"
+msgstr "Portugués"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Russian"
+msgstr "Ruso"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Chinese"
+msgstr "Chino"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Swedish"
+msgstr "Sueco"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:88
+msgid "Update available, attempting to download now"
+msgstr "Actualización disponible; tratando de descargarla"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:90
+msgid "Update available, click button on left to download"
+msgstr "Actualización disponible; ¡presiona el botón al lado izquierdo para descargarla!"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:96
+msgid "No update available"
+msgstr "No está disponible ninguna actualización"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:104
+msgid "Updating news URL to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:112
+msgid "Updating proxy host to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:120
+msgid "Updating proxy port to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:133
+msgid "Updating refresh frequency to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:140
+msgid "Updating update policy to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:149
+msgid "Updating update URLs."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:158
+msgid "Updating trusted keys."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:166
+msgid "Updating unsigned update URL to"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
+msgid "Never"
+msgstr "Nunca"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:90
+msgid "Every"
+msgstr "Cada"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:108
+msgid "Notify only"
+msgstr "Sólo avisar"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:115
+msgid "Download and verify only"
+msgstr "Sólo descargar y verificar"
+
+#: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:123
+msgid "Download, verify, and restart"
+msgstr "Descargar, verificar y reiniciar"
+
+#: ../java/src/net/i2p/router/web/FormHandler.java:174
+msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:87
+msgid "Combined bandwidth graph"
+msgstr ""
+
+#. e.g. "statname for 60m"
+#: ../java/src/net/i2p/router/web/GraphHelper.java:101
+#, java-format
+msgid "{0} for {1}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+msgid "Configure Graph Display"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+msgid "Select Stats"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:142
+msgid "Periods"
+msgstr "Períodos"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:143
+msgid "Plot averages"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
+msgid "or"
+msgstr "o"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
+msgid "plot events"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
+msgid "Image sizes"
+msgstr "Tamanño de las imágenes"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
+msgid "width"
+msgstr "ancho"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+msgid "height"
+msgstr "altura"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+#: ../java/src/net/i2p/router/web/GraphHelper.java:147
+msgid "pixels"
+msgstr "píxeles"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
+msgid "Refresh delay"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
+msgid "hour"
+msgstr "hora"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
+msgid "minute"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
+msgid "minutes"
+msgstr "minutos"
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:149
+msgid "Redraw"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/GraphHelper.java:181
+msgid "Graph settings saved"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:13
+#: ../java/src/net/i2p/router/web/LogsHelper.java:37
+msgid "File location"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:34
+msgid "File not found"
+msgstr "Archivo no encontrado"
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:52
+msgid "No log messages"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
+msgid "Network Database RouterInfo Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+#: ../java/strings/Strings.java:68
+msgid "Router"
+msgstr "Enrutador"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
+msgid "not found in network database"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
+msgid "Network Database Contents"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
+msgid "View RouterInfo"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
+msgid "LeaseSets"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
+msgid "LeaseSet"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
+msgid "Local"
+msgstr "Local"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
+msgid "Unpublished"
+msgstr "No publicado"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
+msgid "Destination"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
+#, java-format
+msgid "Expires in {0}"
+msgstr "Caduca en {0}"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
+#, java-format
+msgid "Expired {0} ago"
+msgstr "Caducó hace {0}"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Gateway"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
+msgid "Lease"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
+msgid "Tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
+msgid "View LeaseSets"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
+msgid "Not initialized"
+msgstr "No inicializado"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
+msgid "Routers"
+msgstr "Enrutadores"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
+msgid "Show all routers"
+msgstr "Mostrar todos los enrutadores"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
+msgid "Show all routers with full stats"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
+msgid "Network Database Router Statistics"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+msgid "Count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+msgid "Transports"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
+msgid "Country"
+msgstr "País"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
+msgid "Our info"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
+msgid "Peer info for"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
+msgid "Full entry"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:110
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+msgid "Hidden"
+msgstr "Oculto"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
+msgid "Updated"
+msgstr "Actualizado"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
+#, java-format
+msgid "{0} ago"
+msgstr "hace {0}"
+
+#. shouldnt happen
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
+msgid "Published"
+msgstr "Publicado"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
+msgid "Address(es)"
+msgstr "Dirección(es)"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
+msgid "cost"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "Hidden or starting up"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "SSU"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
+msgid "SSU with introducers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP and SSU"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
+msgid "NTCP and SSU with introducers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
+#, java-format
+msgid "News last updated {0} ago."
+msgstr "Noticias actualizadas hace {0}."
+
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
+#, java-format
+msgid "News last checked {0} ago."
+msgstr "Noticias chequeadas hace {0}."
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
+#, java-format
+msgid "Cannot check, plugin {0} is not installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:129
+#, java-format
+msgid "Checking for update of plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154
+#, java-format
+msgid "New plugin version {0} is available"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156
+#, java-format
+msgid "No new version is available for plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:165
+#, java-format
+msgid "Update check failed for plugin {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
+msgid "Downloading plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
+#, java-format
+msgid "{0}B transferred"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:152
+msgid "Plugin downloaded"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:157
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:344
+#, java-format
+msgid "Cannot create plugin directory {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:226
+#, java-format
+msgid "from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:176
+#, java-format
+msgid "Plugin from {0} is corrupt"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:187
+#, java-format
+msgid "Plugin from {0} does not contain the required configuration file"
+msgstr ""
+
+#. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:200
+#, java-format
+msgid "Plugin from {0} contains an invalid key"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:219
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:228
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:237
+#, java-format
+msgid "Plugin signature verification of {0} failed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:252
+#, java-format
+msgid "Plugin from {0} has invalid name or version"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:257
+#, java-format
+msgid "Plugin {0} has mismatched versions"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:265
+#, java-format
+msgid "This plugin requires I2P version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:273
+#, java-format
+msgid "This plugin requires Java version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:281
+msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
+msgid "Installed plugin does not contain the required configuration file"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:301
+msgid "Signature of downloaded plugin does not match installed plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:308
+#, java-format
+msgid "Downloaded plugin version {0} is not newer than installed plugin"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:315
+#, java-format
+msgid "Plugin update requires installed plugin version {0} or higher"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:322
+#, java-format
+msgid "Plugin update requires installed plugin version {0} or lower"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:339
+msgid "Plugin is for upgrades only, but the plugin is not installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:352
+#, java-format
+msgid "Failed to install plugin in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:359
+#, java-format
+msgid "Plugin {0} installed, router restart required"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:361
+#, java-format
+msgid "Plugin {0} installed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:379
+#, java-format
+msgid "Plugin {0} installed and started"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:382
+#, java-format
+msgid "Plugin {0} installed but failed to start, check logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384
+#, java-format
+msgid "Plugin {0} installed but failed to start"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
+#, java-format
+msgid "Failed to download plugin from {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:72
+msgid "Peer Profiles"
+msgstr "Perfiles de los pares"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:73
+#, java-format
+msgid "Showing {0} recent profiles."
+msgstr "Mostrando {0} perfiles recientes"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:75
+#, java-format
+msgid "Hiding {0} older profiles."
+msgstr "Ocultando {0} perfiles antiguos"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:77
+#, java-format
+msgid "Hiding {0} standard profiles."
+msgstr "Ocultando {0} perfiles estándar"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:82
+msgid "Groups (Caps)"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
+msgid "Speed"
+msgstr "Velocidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
+msgid "Capacity"
+msgstr "Capacidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:85
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:255
+msgid "Integration"
+msgstr "Integración"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:86
+msgid "Status"
+msgstr "Estado"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:126
+msgid "Fast, High Capacity"
+msgstr "Rápido, alta capacidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:127
+msgid "High Capacity"
+msgstr "Alta  Capacidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:128
+msgid "Standard"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:129
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:163
+msgid "Failing"
+msgstr "Fallando"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+msgid "Integrated"
+msgstr "Integrados"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:164
+msgid "Unreachable"
+msgstr "Inaccesible"
+
+#. hide if < 10%
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:171
+msgid "Test Fails"
+msgstr "Test fallido"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:175
+msgid "profile"
+msgstr "perfil"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:184
+msgid "Floodfill and Integrated Peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:188
+msgid "Caps"
+msgstr "Categorías"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189
+msgid "Integ. Value"
+msgstr "Valor de Integración"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190
+msgid "Last Heard About"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:191
+msgid "Last Heard From"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:192
+msgid "Last Good Send"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:193
+msgid "Last Bad Send"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:194
+msgid "10m Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:195
+msgid "1h Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:196
+msgid "1d Resp. Time"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:197
+msgid "Last Good Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:198
+msgid "Last Bad Lookup"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:199
+msgid "Last Good Store"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:200
+msgid "Last Bad Store"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:201
+msgid "1h Fail Rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:202
+msgid "1d Fail Rate"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:250
+msgid "Thresholds"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:252
+msgid "fast peers"
+msgstr "pares rápidos"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:254
+msgid "high capacity peers"
+msgstr "pares de alta capacidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:256
+msgid " well integrated peers"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+msgid "as determined by the profile organizer"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
+msgid "groups"
+msgstr "grupos"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+msgid "capabilities in the netDb, not used to determine profiles"
+msgstr ""
+
+#. capabilities
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/strings/Strings.java:81
+msgid "caps"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+msgid "peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:260
+msgid "speed"
+msgstr "velocidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+msgid "capacity"
+msgstr "capacidad"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:261
+msgid "how many tunnels can we ask them to join in an hour?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+msgid "how many new peers have they told us about lately?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:262
+msgid "integration"
+msgstr "integración"
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+msgid "is the peer banned, or unreachable, or failing tunnel tests?"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:263
+msgid "status"
+msgstr "estado"
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
+#, java-format
+msgid "Temporary ban expiring in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:59
+#, java-format
+msgid "Banned until restart or in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/ShitlistRenderer.java:71
+msgid "unban now"
+msgstr ""
+
+#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:223
+msgid "Bandwidth usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:230
+msgid "Outbound bytes/sec"
+msgstr ""
+
+#. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:232
+msgid "Inbound bytes/sec"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+msgid "bytes/sec"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+msgid "out average"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:115
+msgid "max"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+msgid "in average"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:57
+msgid "GO"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:60
+msgid "Statistics gathered during this router's uptime"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:63
+msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:64
+msgid "These statistics are primarily used for development and debugging."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+msgid "No lifetime events"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+msgid "frequency"
+msgstr "frecuencia"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+msgid "Rolling average events per period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+msgid "Highest events per period"
+msgstr ""
+
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. buf.append("(current is ");
+#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
+#. buf.append(" of max)");
+#. }
+#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
+msgid "Lifetime average events per period"
+msgstr ""
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+msgid "Lifetime average frequency"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
+msgid "rate"
+msgstr "Tasa"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+msgid "Average"
+msgstr "Promedio"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+msgid "Highest average"
+msgstr "Promedio máximo"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:202
+#, java-format
+msgid "in this period which ended {0} ago."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:204
+msgid "No events"
+msgstr "sin acontecimientos"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:210
+msgid "Average event count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:212
+msgid "Events in peak period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:220
+msgid "Graph Data"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:222
+msgid "Graph Event Count"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:225
+msgid "Export Data as XML"
+msgstr ""
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:230
+msgid "Lifetime average value"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
+msgid "I2P Router Help &amp; FAQ"
+msgstr "Ayuda acerca del enrutador I2P &amp; FAQ"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
+msgid "Help &amp; FAQ"
+msgstr "Ayuda"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
+msgid "Configure startup of clients and webapps (services); manually start dormant services"
+msgstr "Configura el arranque de clientes y servicios o lanza servicios no activados"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
+msgid "I2P Services"
+msgstr "Servicios I2P"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
+msgid "Manage your I2P hosts file here (I2P domain name resolution)"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
+msgid "Addressbook"
+msgstr "Libreta de direcciones"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
+msgid "Built-in anonymous BitTorrent Client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
+msgid "Torrents"
+msgstr "Torrents"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
+msgid "Anonymous webmail client"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
+msgid "Webmail"
+msgstr "Mensagería web"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
+msgid "Anonymous resident webserver"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
+msgid "Webserver"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
+msgid "Configure I2P Router"
+msgstr "Configura Enrutador I2P"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
+msgid "I2P Internals"
+msgstr "Configuración"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
+msgid "View existing tunnels and tunnel build status"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
+msgid "Show all current peer connections"
+msgstr "Mostrar todas las conexiones actuales con pares"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
+msgid "Show recent peer performance profiles"
+msgstr "Mostrar perfiles recientes del rendimiento de los pares"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
+msgid "Profiles"
+msgstr "Perfiles"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
+msgid "Show list of all known I2P routers"
+msgstr "Mostrar lista de todos los enrutadores I2P conocidos"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
+msgid "NetDB"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
+msgid "Health Report"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
+msgid "Logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
+msgid "Graph router performance"
+msgstr "Mostrar el rendimiento del enrutador"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
+msgid "Graphs"
+msgstr "Gráficos"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
+msgid "Textual router performance statistics"
+msgstr "Estadísticas textuales del rendimiento del enrutador"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:365
+msgid "Local Destinations"
+msgstr "Destinos locales"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
+#: ../java/strings/Strings.java:62
+msgid "I2PTunnel"
+msgstr "I2PTunnel"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
+msgid "I2P Router Help"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
+msgid "General"
+msgstr "General"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
+msgid "Local Identity"
+msgstr "Identidad propia"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
+msgid "Your unique I2P router identity is"
+msgstr "La identidad de tu enrutador I2P es "
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
+msgid "never reveal it to anyone"
+msgstr "¡Nunca se la digas a nadie!"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
+msgid "show"
+msgstr "mostrar"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
+msgid "How long we've been running for this session"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
+msgid "Uptime"
+msgstr "Tiempo de servicio"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
+msgid "Help with configuring your firewall and router for optimal I2P performance"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
+msgid "Download"
+msgstr "Descargar"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
+msgid "Download Unsigned"
+msgstr "Descargar de forma no authentificada"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
+msgid "Active"
+msgstr "Activos"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+msgid "Fast"
+msgstr "Rápidos"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+msgid "High capacity"
+msgstr "Alta capacidad"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
+msgid "Known"
+msgstr "Conocidos"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
+msgid "Help with firewall configuration"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
+msgid "Check NAT/firewall"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
+msgid "Reseed"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
+msgid "Configure router bandwidth allocation"
+msgstr "Configurar ancho de banda del enrutador I2P"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
+msgid "Bandwidth in/out"
+msgstr "Ancho de Banda entrante/saliente"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
+msgid "Total"
+msgstr "Total"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+msgid "Used"
+msgstr "Usado"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
+msgid "Exploratory"
+msgstr "Exploratorios"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
+msgid "Participating"
+msgstr "Participando&nbsp;en"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
+msgid "Share ratio"
+msgstr "Compartición"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
+msgid "What's in the router's job queue?"
+msgstr "¿Qué está en la cola de tareas del enrutador?"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
+msgid "Congestion"
+msgstr "Tareas"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
+msgid "Job lag"
+msgstr "Demora - tareas"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
+msgid "Message delay"
+msgstr "Demora - mensajes"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
+msgid "Tunnel lag"
+msgstr "Demora - túnel"
+
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
+msgid "Backlog"
+msgstr "tareas"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:101
+msgid "ERR-Client Manager I2CP Error - check logs"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:108
+#, java-format
+msgid "ERR-Clock Skew of {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:117
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
+msgid "OK"
+msgstr "BIEN"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:118
+msgid "ERR-Private TCP Address"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:120
+msgid "ERR-SymmetricNAT"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:123
+msgid "WARN-Firewalled with Inbound TCP Enabled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:125
+msgid "WARN-Firewalled and Floodfill"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:127
+msgid "WARN-Firewalled and Fast"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:128
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+msgid "Firewalled"
+msgstr "Bloqueado por un corta-fuegos"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:130
+msgid "ERR-UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:136
+msgid "ERR-No Active Peers, Check Network Connection and Firewall"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:139
+msgid "ERR-UDP Disabled and Inbound TCP host/port not set"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:141
+msgid "WARN-Firewalled with UDP Disabled"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:143
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+msgid "Testing"
+msgstr "Comprobando"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:365
+msgid "Add/remove/edit &amp; control your client and server tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:377
+msgid "Server"
+msgstr "Servidor"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:381
+msgid "Show tunnels"
+msgstr "Mostrar los túneles"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:392
+msgid "Leases expired"
+msgstr ""
+
+#. red or yellow light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:392
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:393
+msgid "Rebuilding"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:393
+msgid "ago"
+msgstr "hace"
+
+#. green light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:396
+msgid "Ready"
+msgstr "Listo"
+
+#. yellow light
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:400
+msgid "Building"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:400
+msgid "Building tunnels"
+msgstr "Creando túneles"
+
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:405
+msgid "none"
+msgstr "ninguno"
+
+#. tunnel nicknames, taken from i2ptunnel.config so they will display
+#. nicely under 'local destinations' in the summary bar
+#. note that if the wording changes in i2ptunnel.config, we have to
+#. keep the old string here as well for existing installs
+#: ../java/src/net/i2p/router/web/SummaryHelper.java:416
+#: ../java/strings/Strings.java:36
+msgid "shared clients"
+msgstr "clientes diferentes"
+
+#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
+#, java-format
+msgid "events in {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
+#, java-format
+msgid "averaged for {0}"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
+msgid "Events per period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
+msgid "avg"
+msgstr "promedio"
+
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
+msgid "now"
+msgstr "ahora"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
+msgid "configure"
+msgstr "configurar"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:65
+msgid "dead"
+msgstr "muerto"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:71
+msgid "Participating tunnels"
+msgstr "participando en"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
+msgid "From"
+msgstr "De"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:72
+msgid "Receive on"
+msgstr "Recibiendo en"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "Expiration"
+msgstr "Vencimiento"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "Send on"
+msgstr "Enviando en"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:73
+msgid "To"
+msgstr "A"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+msgid "Rate"
+msgstr "Tasa"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+msgid "Role"
+msgstr "Papel"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:74
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:107
+msgid "grace period"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:117
+msgid "Outbound Endpoint"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:119
+msgid "Inbound Gateway"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:121
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:162
+msgid "Participant"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:126
+msgid "Inactive participating tunnels"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:127
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:218
+msgid "Lifetime bandwidth usage"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "Expiry"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:159
+msgid "Participants"
+msgstr "Participantes"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:165
+msgid "Endpoint"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
+msgid "Build in progress"
+msgstr "Creación de túnel en marcha"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:205
+msgid "inbound"
+msgstr "entrante"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212
+msgid "outbound"
+msgstr "saliente"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:217
+msgid "No tunnels; waiting for the grace period to end."
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:219
+msgid "in"
+msgstr "entrante"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:220
+msgid "out"
+msgstr "saliente"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:237
+msgid "Tunnel Counts By Peer"
+msgstr "Cantidad de túneles por par"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "% of total"
+msgstr "% de todos"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Our Tunnels"
+msgstr "nuestros túneles"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238
+msgid "Participating Tunnels"
+msgstr "participando en"
+
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:256
+msgid "Totals"
+msgstr "Total"
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:132
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:145
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:178
+msgid "Updating"
+msgstr "Actualizando"
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:88
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:116
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:189
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
+msgid "Update downloaded"
+msgstr "actualización descargado"
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:91
+#, java-format
+msgid "Unsigned update file from {0} is corrupt"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
+msgid "Restarting"
+msgstr "Reiniciando"
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:216
+msgid "Click Restart to install"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:218
+msgid "Click Shutdown and restart to install"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
+#, java-format
+msgid "Version {0}"
+msgstr "Versión {0}"
+
+#: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:126
+#, java-format
+msgid "Failed copy to {0}"
+msgstr "Fallido copiar a {0}"
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
+msgid "Update verified"
+msgstr "Actualización actualizada"
+
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:234
+msgid "Transfer failed"
+msgstr ""
+
+#. wars for ConfigClientsHelper
+#: ../java/strings/Strings.java:12
+msgid "addressbook"
+msgstr "libreta de direcciones"
+
+#: ../java/strings/Strings.java:13
+msgid "i2psnark"
+msgstr "i2psnark"
+
+#: ../java/strings/Strings.java:14
+msgid "i2ptunnel"
+msgstr "i2ptunnel"
+
+#: ../java/strings/Strings.java:15
+msgid "susimail"
+msgstr "Susimail"
+
+#: ../java/strings/Strings.java:16
+msgid "susidns"
+msgstr "Susidns"
+
+#: ../java/strings/Strings.java:17
+msgid "routerconsole"
+msgstr ""
+
+#. clients, taken from clients.config, for ConfigClientsHelper
+#. note that if the wording changes in clients.config, we have to
+#. keep the old string here as well for existing installs
+#: ../java/strings/Strings.java:22
+msgid "Web console"
+msgstr ""
+
+#: ../java/strings/Strings.java:23
+msgid "SAM application bridge"
+msgstr ""
+
+#: ../java/strings/Strings.java:24
+msgid "Application tunnels"
+msgstr "Túneles de aplicaciónes"
+
+#: ../java/strings/Strings.java:25
+msgid "My eepsite web server"
+msgstr ""
+
+#: ../java/strings/Strings.java:26
+msgid "I2P webserver (eepsite)"
+msgstr ""
+
+#: ../java/strings/Strings.java:27
+msgid "Browser launch at startup"
+msgstr ""
+
+#: ../java/strings/Strings.java:28
+msgid "BOB application bridge"
+msgstr ""
+
+#: ../java/strings/Strings.java:30
+msgid "Open Router Console in web browser at startup"
+msgstr ""
+
+#: ../java/strings/Strings.java:37
+msgid "IRC proxy"
+msgstr "proxy IRC"
+
+#: ../java/strings/Strings.java:38
+msgid "eepsite"
+msgstr ""
+
+#: ../java/strings/Strings.java:39
+msgid "I2P webserver"
+msgstr ""
+
+#: ../java/strings/Strings.java:40
+msgid "HTTP Proxy"
+msgstr ""
+
+#. older names for pre-0.7.4 installs
+#: ../java/strings/Strings.java:42
+msgid "eepProxy"
+msgstr ""
+
+#: ../java/strings/Strings.java:43
+msgid "ircProxy"
+msgstr ""
+
+#. hardcoded in i2psnark
+#: ../java/strings/Strings.java:45
+msgid "I2PSnark"
+msgstr "I2PSnark"
+
+#. hardcoded in iMule?
+#: ../java/strings/Strings.java:47
+msgid "iMule"
+msgstr ""
+
+#. standard themes for ConfigUIHelper
+#: ../java/strings/Strings.java:51
+msgid "classic"
+msgstr "clásico"
+
+#: ../java/strings/Strings.java:52
+msgid "dark"
+msgstr "oscuro"
+
+#: ../java/strings/Strings.java:53
+msgid "light"
+msgstr "luminoso"
+
+#: ../java/strings/Strings.java:54
+msgid "midnight"
+msgstr "medianoche"
+
+#. stat groups for stats.jsp
+#: ../java/strings/Strings.java:57
+msgid "Bandwidth"
+msgstr "Ancho de Banda"
+
+#: ../java/strings/Strings.java:58
+msgid "BandwidthLimiter"
+msgstr "Limitador de Ancho de Banda"
+
+#: ../java/strings/Strings.java:59
+msgid "ClientMessages"
+msgstr "Mensajes de Clientes"
+
+#: ../java/strings/Strings.java:60
+msgid "Encryption"
+msgstr "Clave del Cifrado"
+
+#: ../java/strings/Strings.java:61
+msgid "i2cp"
+msgstr ""
+
+#: ../java/strings/Strings.java:63
+msgid "InNetPool"
+msgstr ""
+
+#: ../java/strings/Strings.java:64
+msgid "JobQueue"
+msgstr "Cola de Tareas"
+
+#: ../java/strings/Strings.java:65
+msgid "NetworkDatabase"
+msgstr "BaseDeDatosRed"
+
+#: ../java/strings/Strings.java:66
+msgid "ntcp"
+msgstr ""
+
+#: ../java/strings/Strings.java:69
+msgid "Stream"
+msgstr ""
+
+#: ../java/strings/Strings.java:70
+msgid "Throttle"
+msgstr ""
+
+#: ../java/strings/Strings.java:71
+msgid "Transport"
+msgstr ""
+
+#: ../java/strings/Strings.java:73
+msgid "udp"
+msgstr ""
+
+#. parameters in transport addresses (netdb.jsp)
+#. may or may not be worth translating
+#: ../java/strings/Strings.java:77
+msgid "host"
+msgstr ""
+
+#: ../java/strings/Strings.java:78
+msgid "key"
+msgstr "clave"
+
+#: ../java/strings/Strings.java:79
+msgid "port"
+msgstr "puerto"
+
+#. introducer host
+#: ../java/strings/Strings.java:83
+msgid "ihost0"
+msgstr ""
+
+#: ../java/strings/Strings.java:84
+msgid "ihost1"
+msgstr ""
+
+#: ../java/strings/Strings.java:85
+msgid "ihost2"
+msgstr ""
+
+#. introducer port
+#: ../java/strings/Strings.java:87
+msgid "iport0"
+msgstr ""
+
+#: ../java/strings/Strings.java:88
+msgid "iport1"
+msgstr ""
+
+#: ../java/strings/Strings.java:89
+msgid "iport2"
+msgstr ""
+
+#. introducer key
+#: ../java/strings/Strings.java:91
+msgid "ikey0"
+msgstr ""
+
+#: ../java/strings/Strings.java:92
+msgid "ikey1"
+msgstr ""
+
+#: ../java/strings/Strings.java:93
+msgid "ikey2"
+msgstr ""
+
+#. introducer tag
+#: ../java/strings/Strings.java:95
+msgid "itag0"
+msgstr ""
+
+#: ../java/strings/Strings.java:96
+msgid "itag1"
+msgstr ""
+
+#: ../java/strings/Strings.java:97
+msgid "itag2"
+msgstr ""
+
+#. Descriptions for the stats that are graphed by default
+#. There are over 500 stats currently defined, we aren't going to tag them all
+#: ../java/strings/Strings.java:101
+msgid "Low-level bandwidth receive rate"
+msgstr ""
+
+#. bw.recvRate
+#: ../java/strings/Strings.java:102
+msgid "Low-level bandwidth send rate"
+msgstr ""
+
+#. bw.sendRate
+#: ../java/strings/Strings.java:103
+msgid "How many peers we are actively talking with"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
+msgid "config networking"
+msgstr ""
+
+#. We have intl defined when this is included, but not when compiled standalone.
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:215
+msgid "Refresh (s)"
+msgstr "Actualizar (s)"
+
+#. ditto
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219
+msgid "Enable"
+msgstr "Activar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
+msgid "I2P Network Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
+msgid "Bandwidth limiter"
+msgstr "Limitador de ancho de banda"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
+msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
+msgid "KBps In"
+msgstr "KB/s entrantes"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
+msgid "KBps Out"
+msgstr "KB/s salientes"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
+msgid "Share"
+msgstr "Compartir"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
+msgid "NOTE"
+msgstr "AVISO"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
+#, java-format
+msgid "You have configured I2P to share only {0} KBps."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
+msgid "I2P requires at least 12KBps to enable sharing. "
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
+msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
+msgid "It improves your anonymity by creating cover traffic, and helps the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
+#, java-format
+msgid "You have configured I2P to share {0} KBps."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
+msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
+msgid "Cancel"
+msgstr "Cancelar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+msgid "IP and Transport Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
+msgid "The default settings will work for most people."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
+msgid "There is help below."
+msgstr "Hay una ayuda abjo."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
+msgid "UPnP Configuration"
+msgstr "Configuración UPnP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
+msgid "Enable UPnP to open firewall ports"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+msgid "UPnP status"
+msgstr "Estado UPnP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
+msgid "IP Configuration"
+msgstr "Configuración IP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
+msgid "Externally reachable hostname or IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+msgid "Use all auto-detect methods"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
+msgid "Disable UPnP IP address detection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
+msgid "Ignore local interface IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
+msgid "Use SSU IP address detection only"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
+msgid "Specify hostname or IP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+msgid "Select Interface"
+msgstr "Elige interfaz"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+msgid "Hidden mode - do not publish IP"
+msgstr "Modo oculto - no se publica el IP"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+msgid "(prevents participating traffic)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
+msgid "Action when IP changes"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
+msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
+msgid "Experimental"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
+msgid "UDP Configuration:"
+msgstr "Ajustes de UDP:"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
+msgid "UDP port:"
+msgstr "Puerto UDP :"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+msgid "TCP Configuration"
+msgstr "Ajustes de TCP:"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
+msgid "Use auto-detected IP address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:467
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:499
+msgid "currently"
+msgstr "actualmente"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
+msgid "if we are not firewalled"
+msgstr "si no estamos bloqueados por el corta-fuegos"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
+msgid "Always use auto-detected IP address (Not firewalled)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+msgid "Disable inbound (Firewalled)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
+msgid "Completely disable"
+msgstr "Desactivar por completo"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
+msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+msgid "Externally reachable TCP port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+msgid "Use the same port configured for UDP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
+msgid "Specify Port"
+msgstr "Elegir un puerto"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
+msgid "Note"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+msgid "Changing these settings will restart your router."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
+msgid "Configuration Help"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
+msgid "While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
+msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
+msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
+msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
+msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
+msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+msgid "UPnP support is beta, and may not work for any number of reasons"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+msgid "No UPnP-compatible device present"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+msgid "UPnP disabled on the device"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+msgid "Software firewall interference with UPnP"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+msgid "Bugs in the device's UPnP implementation"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+msgid "Multiple firewall/routers in the internet connection path"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+msgid "UPnP device change, reset, or address change"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+msgid "Review the UPnP status here."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+msgid "Hostnames entered above will be published in the network database."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
+msgid "They are <b>not private</b>."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
+msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
+msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+msgid "When in doubt, leave the settings at the defaults."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
+msgid "Reachability Help"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
+msgid "If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
+msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+msgid "Your UDP port does not appear to be firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
+msgid "Your UDP port appears to be firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
+msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
+msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
+msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
+msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
+msgid "If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
+msgid "Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
+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:603
+msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+msgid "WARN - Firewalled and Fast"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
+msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
+msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
+msgid "WARN - Firewalled and Floodfill"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
+msgid "You have configured I2P to be a floodfill router, but you are firewalled."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
+msgid "For best participation as a floodfill router, you should open your firewall."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
+msgid "WARN - Firewalled with Inbound TCP Enabled"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
+msgid "You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
+msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
+msgid "Please open your firewall or disable inbound TCP above."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
+msgid "WARN - Firewalled with UDP Disabled"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+msgid "You have configured inbound TCP, however you have disabled UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
+msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
+msgid "Please open your firewall or enable UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+msgid "ERR - Clock Skew"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
+msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
+msgid "Correct your clock setting if this error persists."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+msgid "ERR - Private TCP Address"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
+msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
+msgid "Correct the address or disable inbound TCP above."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
+msgid "ERR - SymmetricNAT"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
+msgid "I2P detected that you are firewalled by a Symmetric NAT."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
+msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
+msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
+msgid "I2P was unable to bind to port 8887 or other configured port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
+msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
+msgid "This may be a transient error, if the other program is no longer using the port."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
+msgid "However, a restart is always required after this error."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
+msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
+msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
+msgid "Therefore your router cannot accept inbound connections."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
+msgid "Please configure a TCP host and port above or enable UDP."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
+msgid "ERR - Client Manager I2CP Error - check logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
+msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
+msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:107
+msgid "config advanced"
+msgstr "configuración avanzada"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
+msgid "I2P Advanced Configuration"
+msgstr "Ajustes Avanzados de I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
+msgid "Advanced I2P Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
+msgid "Some changes may require a restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:106
+msgid "config clients"
+msgstr "configuración de clientes"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
+msgid "I2P Client Configuration"
+msgstr "Configuración de Clientes I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
+msgid "Client Configuration"
+msgstr "Configuración Clientes"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
+msgid "The Java clients listed below are started by the router and run in the same JVM."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
+msgid "To change other client options, edit the file"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
+msgid "All changes require restart to take effect."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
+msgid "WebApp Configuration"
+msgstr "Configuración de las Applicaciones Web"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
+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 ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:341
+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 ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
+msgid "Plugin Configuration"
+msgstr "Configuración de Complementos"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353
+msgid "The plugins listed below are started by the webConsole client."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
+msgid "Plugin Installation"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
+msgid "To install a plugin, enter the download URL:"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:106
+msgid "config keyring"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
+msgid "I2P Keyring Configuration"
+msgstr "Configuración del Llavero"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
+msgid "The router keyring is used to decrypt encrypted leaseSets."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
+msgid "The keyring may contain keys for local or remote encrypted destinations."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
+msgid "Manual Keyring Addition"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
+msgid "Enter keys for encrypted remote destinations here."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
+msgid "Keys for local destinations must be entered on the"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
+msgid "I2PTunnel page"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
+msgid "Dest. name, hash, or full key"
+msgstr "Nombre del destino, hash o clave completa"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
+msgid "Encryption Key"
+msgstr "Clave de cifrado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:107
+msgid "config logging"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
+msgid "I2P Logging Configuration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
+msgid "Configure I2P Logging Options"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
+msgid "Logging filename"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
+msgid "(the symbol '@' will be replaced during log rotation)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
+msgid "Log record format"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
+msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
+msgstr "(use 'd' = fecha, 'c' = clase, 't' = hilo, 'p' = prioridad, 'm' = mensaje)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
+msgid "Log date format"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
+msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
+msgstr "('MM' = mes, 'dd' = día, 'HH' = hora, 'mm' = minuto, 'ss' = segundo, 'SSS' = milisegundo)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
+msgid "Max log file size"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
+msgid "Default log level"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
+msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
+msgid "Log level overrides"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+msgid "New override"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
+msgid "config peers"
+msgstr "configuración de los pares"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
+msgid "I2P Peer Configuration"
+msgstr "Configuración de los Pares I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
+msgid "Manual Peer Controls"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
+msgid "Router Hash"
+msgstr "Hash del Enrutador"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
+msgid "Manually Ban / Unban a Peer"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
+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:323
+msgid "Adjust Profile Bonuses"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
+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 ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
+msgid "profiles page"
+msgstr "página de perfiles"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
+msgid "Banned Peers"
+msgstr "Pares Relegados"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:366
+msgid "Banned IPs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:106
+msgid "config service"
+msgstr "configuración de servicios"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
+msgid "I2P Service Configuration"
+msgstr "Configuración de Servicios I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
+msgid "Shutdown the router"
+msgstr "Apagar el enrutador"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
+msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
+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:299
+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:301
+msgid "This is useful in some situations - 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:303
+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:305
+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:315
+msgid "Systray integration"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
+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:319
+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:321
+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:327
+msgid "Run on startup"
+msgstr "Lanzar al iniciar el enrutador"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:329
+msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:331
+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:341
+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:343
+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:347
+msgid "Debugging"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:349
+msgid "View the job queue"
+msgstr "Ver cola de tareas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:353
+msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:359
+msgid "Launch browser on router startup?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:361
+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/configstats_jsp.java:107
+msgid "config stats"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
+msgid "I2P Stats Configuration"
+msgstr "Ajustes de Estadísticas I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
+msgid "Configure I2P Stat Collection"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
+msgid "Enable full stats?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
+msgid "change requires restart to take effect"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
+msgid "Stat file"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
+msgid "Filter"
+msgstr "Filtro"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+msgid "toggle all"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
+msgid "Log"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
+msgid "Graph"
+msgstr "Gráficas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
+msgid "Advanced filter"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:106
+msgid "config tunnels"
+msgstr "Configuración de túneles"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
+msgid "I2P Tunnel Configuration"
+msgstr "Configuración de los túneles I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
+msgid "The default settings work for most people."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
+msgid "There is a fundamental tradeoff between anonymity and performance."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
+msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
+msgid "High CPU and/or high outbound bandwidth usage may result."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
+msgid "Change these settings with care, and adjust them if you have problems."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
+msgid "Exploratory tunnel setting changes are stored in the router.config file."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
+msgid "Client tunnel changes are temporary and are not saved."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
+msgid "To make permanent client tunnel changes see the"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
+msgid "i2ptunnel page"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:106
+msgid "config UI"
+msgstr "configuración IU"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
+msgid "I2P UI Configuration"
+msgstr "Interfaz de Usuario"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
+msgid "Router Console Theme"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
+msgid "Theme selection disabled for Internet Explorer, sorry."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
+msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
+msgid "Router Console Language"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
+msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
+msgid "Apply"
+msgstr "Aplicar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
+msgid "config update"
+msgstr "Actualización de la configuración"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
+msgid "I2P Update Configuration"
+msgstr "Configuración de actualizaciones I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
+msgid "Check for I2P and news updates"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
+msgid "News &amp; I2P Updates"
+msgstr "Noticias &amp; actualizaciones de I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
+msgid "Update In Progress"
+msgstr "Actualizando"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
+msgid "News URL"
+msgstr "URL de Noticias"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
+msgid "Refresh frequency"
+msgstr "Frecuencia de actualización"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
+msgid "Update policy"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
+msgid "Update through the eepProxy?"
+msgstr "¿Actualizar ustilizando el eeProxy?"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
+msgid "eepProxy host"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
+msgid "eepProxy port"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
+msgid "Update URLs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
+msgid "Trusted keys"
+msgstr "Claves confiadas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
+msgid "Update with unsigned development builds?"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
+msgid "Unsigned Build URL"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
+msgid "I2P updates are disabled because you do not have write permission for the install directory."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
+msgid "Save"
+msgstr "Guardar"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:117
+msgid "Page Not Found"
+msgstr "Página no encontrada"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
+msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
+msgid "Error 404"
+msgstr "Error 404"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
+msgid "not found"
+msgstr "no encontrado"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:106
+msgid "graphs"
+msgstr "gráficas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
+msgid "I2P Performance Graphs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:105
+msgid "home"
+msgstr "página de inicio"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:105
+msgid "job queue"
+msgstr "cola de tareas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
+msgid "I2P Router Job Queue"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:105
+msgid "logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
+msgid "I2P Router Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:228
+msgid "I2P Version & Running Environment"
+msgstr ""
+
+#. note to translators - both parameters are URLs
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:232
+#, java-format
+msgid "Please report bugs on {0} or {1}."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
+msgid "Please include this information in bug reports"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
+msgid "Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
+msgid "Critical Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
+msgid "Router Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
+msgid "Service (Wrapper) Logs"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:105
+msgid "network database summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
+msgid "I2P Network Database Summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:109
+msgid "WebApp Not Found"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
+msgid "Web Application Not Running"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
+msgid "The requested web application is not running."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
+msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:105
+msgid "peer connections"
+msgstr "conexiones con pares"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
+msgid "I2P Network Peers"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:105
+msgid "peer profiles"
+msgstr "perfiles de los pares"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
+msgid "I2P Network Peer Profiles"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:105
+msgid "statistics"
+msgstr "estadísticas"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
+msgid "I2P Router Statistics"
+msgstr "Estadísticas del enrutador I2P"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248
+#, java-format
+msgid "Disable {0} Refresh"
+msgstr "Deshabilitar el recargar cada {0}"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
+msgid "tunnel summary"
+msgstr ""
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
+msgid "I2P Tunnel Summary"
+msgstr ""
+
+#~ msgid "This is useful in some situations"
+#~ msgstr "C'est utile dans certains cas"
+#~ msgid "Start Now"
+#~ msgstr "Démarrer tout de suite"
+#~ msgid "Depth"
+#~ msgstr "Profondeur"
+#~ msgid "view without"
+#~ msgstr "montrer sans"
+#~ msgid "view with"
+#~ msgstr "montrer avec"
+#~ msgid "Show the router's workload, and how it's performing"
+#~ msgstr "Montrer les tâches en cours"
+#~ msgid "Jobs"
+#~ msgstr "Tâches"
+#~ msgid "Tunnels in/out"
+#~ msgstr "Tunnels entrants/sortants"
+
diff --git a/apps/routerconsole/locale/messages_nl.po b/apps/routerconsole/locale/messages_nl.po
index 3850aefd2350d5b7c8d7abf8ba22786afa1a2ddc..53ab8ee9d29477d8888bb1f9de2174d31ca07835 100644
--- a/apps/routerconsole/locale/messages_nl.po
+++ b/apps/routerconsole/locale/messages_nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-08 14:29+0000\n"
+"POT-Creation-Date: 2010-12-17 15:03+0000\n"
 "PO-Revision-Date: 2010-07-04 15:04+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
@@ -18,6 +18,66 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 "X-Poedit-Language: Dutch\n"
 
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1092
+#, java-format
+msgid "1 ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] "1 ms"
+msgstr[1] "{0,number,####} ms"
+
+#. seconds
+#. Note to translators: quantity will always be greater than one.
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1097
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:354
+#, java-format
+msgid "1 sec"
+msgid_plural "{0} sec"
+msgstr[0] "1 s"
+msgstr[1] "{0} s"
+
+#. minutes
+#. Note to translators: quantity will always be greater than one.
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1102
+#, java-format
+msgid "1 min"
+msgid_plural "{0} min"
+msgstr[0] "1 min"
+msgstr[1] "{0} min"
+
+#. hours
+#. Note to translators: quantity will always be greater than one.
+#. alternates: hrs, hr., hrs.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1107
+#, java-format
+msgid "1 hour"
+msgid_plural "{0} hours"
+msgstr[0] "1 uur"
+msgstr[1] "{0} uren"
+
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1109
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+msgid "n/a"
+msgstr "nvt"
+
+#. days
+#. Note to translators: quantity will always be greater than one.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113
+#, java-format
+msgid "1 day"
+msgid_plural "{0} days"
+msgstr[0] "1 dag"
+msgstr[1] "{0} dagen"
+
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:126
 #, java-format
 msgid "Banned by router hash: {0}"
@@ -82,11 +142,11 @@ msgstr "Tunnels geaccepteerd"
 #. if (_context.router().getRouterInfo().getBandwidthTier().equals("K"))
 #. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low");
 #. else
-#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:487
+#: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:488
 msgid "Rejecting tunnels"
 msgstr "Tunnels geweigerd"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:48
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:68
 msgid ""
 "Ensure that nothing blocks outbound HTTP, check <a target=\"_top\" href="
 "\"logs.jsp\">logs</a> and if nothing helps, read the <a target=\"_top\" href="
@@ -97,43 +157,32 @@ msgstr ""
 "zie de <a target=\"_top\" href=\"http://www.i2p2.de/faq.html\">FAQ</a> over "
 "handmatig reseeden."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:80
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:101
 msgid "Reseeding"
 msgstr "Reseeden"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:144
-msgid "Reseeding: fetching seed URL."
-msgstr "Reseed: opvragen seed URL."
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:124
+#, java-format
+msgid "Reseed fetched only 1 router."
+msgid_plural "Reseed fetched only {0} routers."
+msgstr[0] "Reseed heeft slechts 1 router opgehaald."
+msgstr[1] "Reseed heeft slechts {0} routers opgehaald."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150
-msgid "Last reseed failed fully (failed reading seed URL)."
-msgstr "Laatste reseed volledig gefaald (kan seed URL niet lezen)."
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:131
+msgid "Reseed failed."
+msgstr "Reseed gefaald"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:176
-msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
-msgstr "Laatste reseed volledig gefaald (geen routerInfo URLs op de seed URL)."
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:232
+msgid "Reseeding: fetching seed URL."
+msgstr "Reseed: opvragen seed URL."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:189
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:273
 #, java-format
 msgid ""
 "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
 msgstr ""
 "Reseeden: opvragen router info van seed URL ({0} succesvol, {1} fouten)."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:210
-#, java-format
-msgid "Last reseed failed partly ({0}% of {1})."
-msgstr "Laatste reseed gedeeltelijk gefaald ({0}% van {1})."
-
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:215
-#, java-format
-msgid "Last reseed failed ({0}% of {1})."
-msgstr "Laatste reseed gefaald ({0}% van {1})."
-
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:225
-msgid "Last reseed failed fully (exception caught)."
-msgstr "Laatste reseed volledig gefaald (exception opgetreden)."
-
 #: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510
 msgid "NetDb entry"
 msgstr "NetDd item"
@@ -143,27 +192,48 @@ msgstr "NetDd item"
 msgid "No transports (hidden or starting up?)"
 msgstr "Geen transport (verborgen of aan het opstarten?)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:457
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:451
 msgid "Unreachable on any transport"
 msgstr "Onbereikbaar op alle transports"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:508
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:500
 msgid "Router Transport Addresses"
 msgstr "Router Transport Adressen"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:514
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:505
 #, java-format
 msgid "{0} is used for outbound connections only"
 msgstr "{0} is alleen gebruikt voor uitgaande connecties"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid "Help"
+msgstr "Help"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+msgid ""
+"Your transport connection limits are automatically set based on your "
+"configured bandwidth."
+msgstr ""
+"De limieten van je transport verbinding zijn automatisch ingesteld gebaseerd "
+"op de geconfigureerde bandbreedte."
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522
+msgid ""
+"To override these limits, add the settings i2np.ntcp.maxConnections=nnn and "
+"i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr ""
+"Om deze limieten te overschrijven, voeg dan de instelling "
+"i2np.ntcp.maxConnections=nnn en i2np.udp.maxConnections=nnn toe aan de "
+"geavanceerde configuratie pagina."
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid "Definitions"
 msgstr "Definities"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
@@ -173,79 +243,79 @@ msgstr "Definities"
 msgid "Peer"
 msgstr "Peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 msgid "The remote peer, identified by router hash"
 msgstr "De remote peer, geïdentificeerd door de router hash"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
 msgid "Dir"
 msgstr "Richting"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527
 msgid "Inbound connection"
 msgstr "Inkomende connectie"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
 msgid "Outbound connection"
 msgstr "Uitgaande connectie"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
 msgid "They offered to introduce us (help other peers traverse our firewall)"
 msgstr ""
 "Ze hebben aangeboden ons te introduceren (helpt andere peers om door onze "
 "firewall te komen)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "We offered to introduce them (help other peers traverse their firewall)"
 msgstr ""
 "We hebben aangeboden ze te introduceren (helpt andere peers om door hun "
 "firewall te komen)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "How long since a packet has been received / sent"
 msgstr "Hoe lang sinds een pakket ontvangen / verstuurd is"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
 msgid "Idle"
 msgstr "Idle"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
 msgstr "In/Uit"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
 msgstr ""
 "De afgevlakte inkomende / uitgaande overdrachtsnelheid (KBytes per seconde)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "How long ago this connection was established"
 msgstr "Hoe lang sinds deze connectie is gemaakt"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902
 msgid "Up"
 msgstr "Up"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904
 msgid "Skew"
 msgstr "Afwijking"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
 msgid "The difference between the peer's clock and your own"
 msgstr "Het verschil tussen de klok van de peer en je eigen"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid ""
 "The congestion window, which is how many bytes can be sent without an "
 "acknowledgement"
@@ -253,42 +323,42 @@ msgstr ""
 "Het congestion window, hoeveel bytes verzonden kunnen worden zonder een "
 "bevestiging"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The number of sent messages awaiting acknowledgement"
 msgstr "Het aantal verzonden berichten, wachtend op bevestiging"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The maximum number of concurrent messages to send"
 msgstr "Het maximum aantal berichten om gelijktijdig te verzenden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The number of pending sends which exceed congestion window"
 msgstr ""
 "Het aantal wachtende uitgaande berichten dat het congestion window "
 "overschrijdt"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The slow start threshold"
 msgstr "De vertraagde-start drempel"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The round trip time in milliseconds"
 msgstr "De rondgangstijd in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1912
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914
 msgid "Dev"
 msgstr "SD"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The standard deviation of the round trip time in milliseconds"
 msgstr "De standaarddeviatie van de rondgangstijd in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
 msgid "The retransmit timeout in milliseconds"
 msgstr "De herzend time-out in milliseconden"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid ""
 "Current maximum send packet size / estimated maximum receive packet size "
 "(bytes)"
@@ -296,46 +366,46 @@ msgstr ""
 "Huidige maximum verzonden pakket grootte / verwachte maximimum ontvangen "
 "pakket grootte (bytes)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
 msgid "TX"
 msgstr "TX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets sent to the peer"
 msgstr "Het totaal aantal pakketten verzonden aan de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
 msgid "RX"
 msgstr "RX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets received from the peer"
 msgstr "Het totaal aantal ontvangen pakketten van de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "Dup TX"
 msgstr "Dup TX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of packets retransmitted to the peer"
 msgstr "Het totaal aantal pakketten dat opnieuw is verzonden aan de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928
 msgid "Dup RX"
 msgstr "Dup RX"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
 msgid "The total number of duplicate packets received from the peer"
 msgstr "Het totaal aantal pakketten dat dubbel is ontvangen van de peer"
 
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:380
-#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:594
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:409
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:627
 #, java-format
 msgid "Excessive clock skew: {0}"
 msgstr "Te grote klok afwijking: {0}"
@@ -345,12 +415,12 @@ msgid "NTCP connections"
 msgstr "NTCP connecties"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1881
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883
 msgid "Limit"
 msgstr "Limiet"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884
 msgid "Timeout"
 msgstr "Time-out"
 
@@ -363,13 +433,13 @@ msgid "Backlogged?"
 msgstr "In achterstand?"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1944
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Inbound"
 msgstr "Inkomend"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Outbound"
 msgstr "Uitgaand"
@@ -379,110 +449,110 @@ msgstr "Uitgaand"
 msgid "peers"
 msgstr "peers"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1880
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882
 msgid "UDP connections"
 msgstr "UDP connecties"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
 msgid "Sort by peer hash"
 msgstr "Gesorteerd op peer hash"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
 msgid "Direction/Introduction"
 msgstr "Richting/Introductie"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
 msgid "Sort by idle inbound"
 msgstr "Gesorteerd op idle inkomend"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Sort by idle outbound"
 msgstr "Gesorteerd op idle uitgaand"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
 msgid "Sort by inbound rate"
 msgstr "Gesorteerd op inkomende snelheid"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 msgid "Sort by outbound rate"
 msgstr "Gesorteerd op uitgaande snelheid"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
 msgid "Sort by connection uptime"
 msgstr "Gesorteerd op uptime van de connectie"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Sort by clock skew"
 msgstr "Gesorteerd op klok afwijking"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
 msgid "Sort by congestion window"
 msgstr "Gesorteerd op congestion window"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910
 msgid "Sort by slow start threshold"
 msgstr "Gesorteerd op vertraagde-start drempel"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
 msgid "Sort by round trip time"
 msgstr "Gesorteerd op rondgangstijd"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
 msgid "Sort by round trip time deviation"
 msgstr "Gesorteerd op rondgangstijd afwijking"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Sort by retransmission timeout"
 msgstr "Gesorteerd op herzendings time-out"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
 msgid "Sort by outbound maximum transmit unit"
 msgstr "Gesorteerd op uitgaande maximum verzend unit"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
 msgid "Sort by packets sent"
 msgstr "Gesorteerd op verzonden pakketten"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "Sort by packets received"
 msgstr "Gesorteerd op ontvangen pakketten"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
 msgid "Sort by packets retransmitted"
 msgstr "Gesorteerd op herzonden pakketten"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
 msgid "Sort by packets received more than once"
 msgstr "Gesorteerd op meerdere keren ontvangen pakketten"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950
 msgid "We offered to introduce them"
 msgstr "We hebben aangeboden ze te introduceren"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952
 msgid "They offered to introduce us"
 msgstr "Zij hebben aangeboden ons te introduceren"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1954
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956
 msgid "Choked"
 msgstr "Verstikt"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1962
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964
 msgid "1 fail"
 msgstr "1 gefaald"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1966
 #, java-format
 msgid "{0} fails"
 msgstr "{0} gefaald"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1970
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1972
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
 msgid "Banned"
 msgstr "Verbannen"
 
 #. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2102
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2103
 msgid "SUMMARY"
 msgstr "SAMENVATTING"
 
@@ -495,19 +565,19 @@ msgstr "Negeer tunnel aanvragen: Te traag"
 msgid "Dropping tunnel requests: Overloaded"
 msgstr "Negeer tunnel aanvragen: Overladen"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:523
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:525
 msgid "Rejecting tunnels: Request overload"
 msgstr "Weiger tunnels: Overladen met aanvragen"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:548
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:550
 msgid "Rejecting tunnels: Connection limit"
 msgstr "Weiger tunnels: Connectie limiet"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:742
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:744
 msgid "Dropping tunnel requests: High load"
 msgstr "Negeer tunnel aanvragen: Hoge load"
 
-#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:751
+#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:753
 msgid "Dropping tunnel requests: Queue time"
 msgstr "Negeer tunnel aanvragen: Wachttijd"
 
@@ -1438,10 +1508,10 @@ msgid "Zimbabwe"
 msgstr "Zimbabwe"
 
 #: ../java/src/net/i2p/router/web/CSSHelper.java:57
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:34
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:36
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:35
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:37
 #: ../java/strings/Strings.java:29
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:233
 msgid "I2P Router Console"
 msgstr "I2P Router Console"
 
@@ -1464,22 +1534,22 @@ msgstr ""
 "kijk in de fout logs"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
 msgid "Save Client Configuration"
 msgstr "Client Configuratie Opslaan"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
 msgid "Save WebApp Configuration"
 msgstr "WebApp Configuratie Opslaan"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:356
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Save Plugin Configuration"
 msgstr "Plugin Configuratie Opslaan"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:362
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
 msgid "Install Plugin"
 msgstr "Installeer Plugin"
 
@@ -1532,7 +1602,7 @@ msgstr "Foute client index."
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:379
 msgid "Client"
 msgstr "Client"
@@ -1584,7 +1654,7 @@ msgid "Plugin or update download already in progress."
 msgstr "Plugin of update download is reeds bezig."
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:117
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:118
 #, java-format
 msgid "Downloading plugin from {0}"
 msgstr "Downloaden plugin van {0}"
@@ -1610,7 +1680,7 @@ msgid "Edit"
 msgstr "Bewerk"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
 msgid "Add Client"
 msgstr "Client Toevoegen"
 
@@ -1641,8 +1711,8 @@ msgid "Plugin"
 msgstr "Plugin"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:180
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Versie"
 
@@ -1676,14 +1746,14 @@ msgstr "Stop"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313
 msgid "Check for updates"
 msgstr "Controlleer op updates"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:230
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:237
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242
 msgid "Update"
 msgstr "Update"
 
@@ -1697,12 +1767,12 @@ msgid "Delete"
 msgstr "Verwijder"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
 msgid "Add key"
 msgstr "Sleutel toevoegen"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
 msgid "Delete key"
 msgstr "Steutel verwijderen"
 
@@ -1740,14 +1810,22 @@ msgstr "niet gevonden in sleutelbos"
 msgid "Invalid destination"
 msgstr "Ongeldige bestemming"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:46
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:82
+msgid "Log overrides updated"
+msgstr "Log overschrijving bijgewerkt"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHandler.java:160
+msgid "Log configuration saved"
+msgstr "Log configuratie opgeslagen"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
 msgid ""
 "Add additional logging statements above. Example: net.i2p.router.tunnel=WARN"
 msgstr ""
 "Voeg additionele logging regels boven toe. Bijvoorbeeld: net.i2p.router."
 "tunnel=WARN"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:47
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:49
 msgid ""
 "Or put entries in the logger.config file. Example: logger.record.net.i2p."
 "router.tunnel=WARN"
@@ -1755,32 +1833,40 @@ msgstr ""
 "Of stop regels in het logger.config bestand. Bijvoorbeeld: logger.record.net."
 "i2p.router.tunnel=WARN"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:48
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:50
 msgid "Valid levels are DEBUG, INFO, WARN, ERROR, CRIT"
 msgstr "Geldige niveaus zijn DEBUG, INFO, WARN, ERROR, CRIT"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "CRIT"
 msgstr "CRIT"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "ERROR"
 msgstr "ERROR"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "INFO"
 msgstr "INFO"
 
-#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:68
 msgid "WARN"
 msgstr "WARN"
 
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:88
+msgid "Remove"
+msgstr "Verwijder"
+
+#: ../java/src/net/i2p/router/web/ConfigLoggingHelper.java:125
+msgid "Select a class to add"
+msgstr "Selecteer een klasse om toe te voegen"
+
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:199
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
 msgid "Network"
 msgstr "Netwerk"
 
@@ -1789,8 +1875,8 @@ msgid "Service"
 msgstr "Service"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:100
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "Tunnels"
@@ -1804,7 +1890,7 @@ msgid "Clients"
 msgstr "Clients"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
 msgid "Keyring"
 msgstr "Sleutelbos"
 
@@ -1813,15 +1899,15 @@ msgid "Logging"
 msgstr "Logging"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:106
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:255
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "Peers"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:382
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:142
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Statistieken"
 
@@ -1831,13 +1917,13 @@ msgstr "Geavanceerd"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:343
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:344
 msgid "Save changes"
 msgstr "Opslaan"
 
@@ -1941,7 +2027,7 @@ msgid "or {0} bytes per month maximum"
 msgstr "of {0} bytes per maand maximaal"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
 msgid "Ban peer until restart"
 msgstr "Verban peer tot aan herstart"
 
@@ -1961,7 +2047,7 @@ msgid "Invalid peer"
 msgstr "Ongeldige peer"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
 msgid "Unban peer"
 msgstr "Hef verbanning van peer op"
 
@@ -1974,9 +2060,9 @@ msgid "is not currently banned"
 msgstr "is op dit moment niet verbannen"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:322
-msgid "Adjust Profile Bonuses"
-msgstr "Aanpassing van Profiel Bonussen"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+msgid "Adjust peer bonuses"
+msgstr "Peer bonussen aanpassen"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
 msgid "Bad speed value"
@@ -1989,7 +2075,7 @@ msgstr "Foutieve capaciteits waarde"
 #. Normal browsers send value, IE sends button label
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
 msgid "Shutdown immediately"
 msgstr "Onmiddelijk afsluiten"
 
@@ -2036,7 +2122,7 @@ msgid "Restart in {0}"
 msgstr "Herstart in {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:290
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
 msgid "Shutdown gracefully"
 msgstr "Gecontrolleerd afsluiten"
 
@@ -2049,7 +2135,7 @@ msgid "Shutdown immediately!  boom bye bye bad bwoy"
 msgstr "Onmiddelijk afsluiten! doei"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
 msgid "Cancel graceful shutdown"
 msgstr "Annuleer gecontrolleerde stop"
 
@@ -2058,7 +2144,7 @@ msgid "Graceful shutdown cancelled"
 msgstr "Gecontrolleerd afsluiten afgebroken"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
 msgid "Graceful restart"
 msgstr "Gecontrolleerde herstart"
 
@@ -2067,7 +2153,7 @@ msgid "Graceful restart requested"
 msgstr "Gecontrolleerde herstart aangevraagd"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Hard restart"
 msgstr "Harde herstart"
 
@@ -2092,22 +2178,22 @@ msgid "Rekeying after graceful shutdown"
 msgstr "Hersleuteling na gecontrolleerde stop"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
-#: ../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:335
 msgid "Run I2P on startup"
 msgstr "Start I2P bij opstarten"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
 msgid "Don't run I2P on startup"
 msgstr "Start I2P niet bij opstarten"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
-#: ../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:355
 msgid "Dump threads"
 msgstr "Dump threads"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
 msgid "Show systray icon"
 msgstr "Toon systray icon"
 
@@ -2126,7 +2212,7 @@ msgid "Warning: unable to contact the systray manager"
 msgstr "Waarschuwing: kan geen verbinding maken met de systray manager"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Hide systray icon"
 msgstr "Verberg systray icon"
 
@@ -2135,7 +2221,7 @@ msgid "System tray icon disabled."
 msgstr "System tray icon uitgeschakeld."
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
-#: ../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:363
 msgid "View console on startup"
 msgstr "Toon console na opstarten"
 
@@ -2144,7 +2230,7 @@ msgid "Console is to be shown on startup"
 msgstr "Console wordt getoond na opstarten"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
 msgid "Do not view console on startup"
 msgstr "Toon console niet na opstarten"
 
@@ -2168,15 +2254,15 @@ msgstr "Service verwijderd"
 msgid "Warning: unable to remove the service"
 msgstr "Waarschuwing: kan de service niet verwijderen"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:118
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
 msgid "Stat filter and location updated successfully to"
 msgstr "Statistiek filter en lokatie gesuccesvol geupdate in"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
 msgid "Failed to update the stat filter and location"
 msgstr "Kan de statistiek filter en locatie niet updaten"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:121
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
 msgid ""
 "Graph list updated, may take up to 60s to be reflected here and on the <a "
 "href=\"graphs.jsp\">Graphs Page</a>"
@@ -2186,15 +2272,15 @@ msgstr ""
 
 #. the count isn't really correct anyway, since we don't check for actual changes
 #. addFormNotice("Updated settings for " + updated + " pools.");
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
 msgid "Updated settings for all pools."
 msgstr "Instelling voor alle pools geupdate."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
 msgid "Exploratory tunnel configuration saved successfully."
 msgstr "Exploratory tunnel configuratie succesvol opgeslagen."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:144
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
 msgid ""
 "Error saving the configuration (applied but not saved) - please see the "
@@ -2293,19 +2379,27 @@ msgstr "Frans"
 msgid "German"
 msgstr "Duits"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
-msgid "Chinese"
-msgstr "Chinees"
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "Spanish"
+msgstr "Spaans"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Dutch"
 msgstr "Nederlands"
 
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Portuguese"
+msgstr "Portugees"
+
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Russian"
 msgstr "Russies"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Chinese"
+msgstr "Chinees"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Swedish"
 msgstr "Zweeds"
 
@@ -2354,7 +2448,7 @@ msgid "Updating unsigned update URL to"
 msgstr "Updaten niet-ondertekende update URL in"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "Never"
 msgstr "Nooit"
 
@@ -2374,7 +2468,7 @@ msgstr "Download en alleen controlleren"
 msgid "Download, verify, and restart"
 msgstr "Download, controlleer en herstart"
 
-#: ../java/src/net/i2p/router/web/FormHandler.java:163
+#: ../java/src/net/i2p/router/web/FormHandler.java:174
 msgid ""
 "Invalid form submission, probably because you used the 'back' or 'reload' "
 "button on your browser. Please resubmit."
@@ -2382,260 +2476,272 @@ msgstr ""
 "Ongeldig formulier verzonden, mogelijk omdat je de 'terug' of 'vernieuw' "
 "knop in je browser hebt gebruikt. Probeer opnieuw te verzenden."
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:82
+#: ../java/src/net/i2p/router/web/GraphHelper.java:87
 msgid "Combined bandwidth graph"
 msgstr "Gecombineerde bandbreedte grafiek"
 
 #. e.g. "statname for 60m"
-#: ../java/src/net/i2p/router/web/GraphHelper.java:96
+#: ../java/src/net/i2p/router/web/GraphHelper.java:101
 #, java-format
 msgid "{0} for {1}"
 msgstr "{0} voor {1}"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
 msgid "Configure Graph Display"
 msgstr "Configureer Grafiek Weergave"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
 msgid "Select Stats"
 msgstr "Selecteer Statistieken"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:132
+#: ../java/src/net/i2p/router/web/GraphHelper.java:142
 msgid "Periods"
 msgstr "Perioden"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:133
+#: ../java/src/net/i2p/router/web/GraphHelper.java:143
 msgid "Plot averages"
 msgstr "Teken gemiddelden"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "or"
 msgstr "of"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
 msgid "plot events"
 msgstr "teken gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
 msgid "Image sizes"
 msgstr "Afbeelding grootte"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
 msgid "width"
 msgstr "breedte"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "height"
 msgstr "hoogte"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
-#: ../java/src/net/i2p/router/web/GraphHelper.java:137
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+#: ../java/src/net/i2p/router/web/GraphHelper.java:147
 msgid "pixels"
 msgstr "pixels"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "Refresh delay"
 msgstr "Ververs vertraging"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "hour"
 msgstr "uur"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "minute"
 msgstr "minuut"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "minutes"
 msgstr "minuten"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:139
+#: ../java/src/net/i2p/router/web/GraphHelper.java:149
 msgid "Redraw"
 msgstr "Vernieuw"
 
+#: ../java/src/net/i2p/router/web/GraphHelper.java:181
+msgid "Graph settings saved"
+msgstr "Grafiek instellingen opgeslagen"
+
 #: ../java/src/net/i2p/router/web/LogsHelper.java:13
 #: ../java/src/net/i2p/router/web/LogsHelper.java:37
 msgid "File location"
 msgstr "Bestands lokatie"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:77
+#: ../java/src/net/i2p/router/web/LogsHelper.java:34
+msgid "File not found"
+msgstr "Bestand niet gevonden"
+
+#: ../java/src/net/i2p/router/web/LogsHelper.java:52
+msgid "No log messages"
+msgstr "Geen log berichten"
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:80
 msgid "Network Database RouterInfo Lookup"
 msgstr "Netwerk Database RouterInfo Lookup"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 #: ../java/strings/Strings.java:68
 msgid "Router"
 msgstr "Router"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95
 msgid "not found in network database"
 msgstr "niet gevonden in netwerk database"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:104
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:107
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "Network Database Contents"
 msgstr "Inhoud Netwerk Database"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:105
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:108
 msgid "View RouterInfo"
 msgstr "Bekijk RouterInfo"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:106
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:109
 msgid "LeaseSets"
 msgstr "LeaseSets"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:128
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:131
 msgid "LeaseSet"
 msgstr "LeaseSet"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:130
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
 msgid "Local"
 msgstr "Lokaal"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:132
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135
 msgid "Unpublished"
 msgstr "Niet-gepubliceerd"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:140
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:136
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:143
 msgid "Destination"
 msgstr "Bestemming"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:150
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:153
 #, java-format
 msgid "Expires in {0}"
 msgstr "Verloopt in {0}"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:152
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:155
 #, java-format
 msgid "Expired {0} ago"
 msgstr "Verliep {0} geleden"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "Gateway"
 msgstr "Gateway"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:167
 msgid "Lease"
 msgstr "Lease"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:169
 msgid "Tunnel"
 msgstr "Tunnel"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:215
 msgid "View LeaseSets"
 msgstr "Bekijk LeaseSets"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:214
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:217
 msgid "Not initialized"
 msgstr "Niet geïnitialiseerd"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:223
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:226
 msgid "Routers"
 msgstr "Routers"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:225
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:228
 msgid "Show all routers"
 msgstr "Bekijk alle routers"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:227
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:230
 msgid "Show all routers with full stats"
 msgstr "Bekijk alle routers met volledige statistieken"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:262
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:265
 msgid "Network Database Router Statistics"
 msgstr "Netwerk Database Router Statistieken"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
 msgid "Count"
 msgstr "Aantal"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:285
 msgid "Transports"
 msgstr "Transports"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:303
 msgid "Country"
 msgstr "Land"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:339
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:342
 msgid "Our info"
 msgstr "Onze info"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:341
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:344
 msgid "Peer info for"
 msgstr "Peer info voor"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:345
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:348
 msgid "Full entry"
 msgstr "Volledige item"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:110
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:600
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 msgid "Hidden"
 msgstr "Verborgen"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
 msgid "Updated"
 msgstr "Geupdate"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:352
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:355
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
 #, java-format
 msgid "{0} ago"
 msgstr "{0} geleden"
 
 #. shouldnt happen
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:357
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:361
 msgid "Published"
 msgstr "Gepubliceerd"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:360
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:363
 msgid "Address(es)"
 msgstr "Adres(sen)"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:373
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:376
 msgid "cost"
 msgstr "kosten"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "Hidden or starting up"
 msgstr "Verborgen of aan het opstarten"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "SSU"
 msgstr "SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:402
 msgid "SSU with introducers"
 msgstr "SSU met introducers"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP"
 msgstr "NTCP"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP and SSU"
 msgstr "NTCP en SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:403
 msgid "NTCP and SSU with introducers"
 msgstr "NTCP en SSU met introducers"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:82
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Nieuws {0} geleden voor het laatste geupdate."
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:88
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Nieuws {0} geleden voor het laatste gecontrolleerd."
@@ -2665,76 +2771,76 @@ msgstr "Geen nieuwe versie beschikbaar voor plugin {0}"
 msgid "Update check failed for plugin {0}"
 msgstr "Update check voor plugin {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:138
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
 msgid "Downloading plugin"
 msgstr "Downloaden van plugin"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:145
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:179
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
 #, java-format
 msgid "{0}B transferred"
 msgstr "{0}B ontvangen"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:151
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:152
 msgid "Plugin downloaded"
 msgstr "Plugin gedownload"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:156
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:343
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:157
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:344
 #, java-format
 msgid "Cannot create plugin directory {0}"
 msgstr "Kan plugin directory {0} niet maken"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:165
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:226
 #, java-format
 msgid "from {0}"
 msgstr "van {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:175
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:176
 #, java-format
 msgid "Plugin from {0} is corrupt"
 msgstr "Plugin van {0} is corrupt"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:186
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:187
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
 msgstr "Plugin van {0} bevat niet het vereiste configuratie bestand"
 
 #. updateStatus("<b>" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + "</b>");
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:199
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:200
 #, java-format
 msgid "Plugin from {0} contains an invalid key"
 msgstr "Plugin van {0} bevat een ongeldige sleutel"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:218
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:227
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:236
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:219
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:228
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:237
 #, java-format
 msgid "Plugin signature verification of {0} failed"
 msgstr "Plugin handtekening verificatie van {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:251
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:252
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
 msgstr "Plugin van {0} heeft ingeldige naam of versie"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:256
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:257
 #, java-format
 msgid "Plugin {0} has mismatched versions"
 msgstr "Plugin {0} heeft een verkeerde combinatie van versies"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:264
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:265
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
 msgstr "Deze plugin heeft I2P versie {0} of hoger nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:272
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:273
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
 msgstr "Deze plugin heeft Java versie {0} of hoger nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:280
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:281
 msgid ""
 "Downloaded plugin is for new installs only, but the plugin is already "
 "installed"
@@ -2742,68 +2848,68 @@ msgstr ""
 "De gedownloaded plugin is alleen voor nieuwe installaties, maar de plugin is "
 "al geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:292
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:293
 msgid "Installed plugin does not contain the required configuration file"
 msgstr "De geïnstalleerde plugin bevat het vereiste configuratie bestand niet"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:300
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:301
 msgid "Signature of downloaded plugin does not match installed plugin"
 msgstr ""
 "De handtekening van de gedownloade plugin komt niet overeen met de "
 "geïnstalleerde plugin"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:307
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:308
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
 msgstr ""
 "De gedownloade plugin versie {0} is niet nieuwer dan de geïnstalleerde plugin"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:314
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:315
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
 msgstr "Plugin update vereist de installatie van plugin versie {0} of hoger"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:321
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:322
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
 msgstr "Plugin update vereist de installatie van plugin versie {0} of lager"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:338
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:339
 msgid "Plugin is for upgrades only, but the plugin is not installed"
 msgstr ""
 "De plugin is alleen voor upgrades, maar de plugin is niet geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:352
 #, java-format
 msgid "Failed to install plugin in {0}"
 msgstr "Installatie van plugin in {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:358
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:359
 #, java-format
 msgid "Plugin {0} installed, router restart required"
 msgstr "Plugin {0} geïnstalleerd, router herstart nodig"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:361
 #, java-format
 msgid "Plugin {0} installed"
 msgstr "Plugin {0} geïnstalleerd"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:369
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:379
 #, java-format
 msgid "Plugin {0} installed and started"
 msgstr "Plugin {0} geïnstalleerd en gestart"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:371
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:382
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
 msgstr "Plugin {0} geïnstalleerd maar gefaald om te starten, kijk in de logs"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:373
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384
 #, java-format
 msgid "Plugin {0} installed but failed to start"
 msgstr "Plugin {0} geïnstalleerd maar gefaald om te starten"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
 #, java-format
 msgid "Failed to download plugin from {0}"
 msgstr "Kan de plugin niet downloaden van {0}"
@@ -2833,13 +2939,13 @@ msgstr "Groupen (Caps)"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Speed"
 msgstr "Snelheid"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
 msgid "Capacity"
 msgstr "Capaciteit"
 
@@ -2870,7 +2976,7 @@ msgid "Failing"
 msgstr "Gefaald"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
 msgid "Integrated"
 msgstr "Geïntegreerd"
 
@@ -3022,10 +3128,6 @@ msgstr "is de peer verbannen, of onbereikbaar, of faalt het tunnel tests?"
 msgid "status"
 msgstr "status"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
-msgid "n/a"
-msgstr "nvt"
-
 #: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
 #, java-format
 msgid "Temporary ban expiring in {0}"
@@ -3041,49 +3143,49 @@ msgid "unban now"
 msgstr "Hef verbanning nu op"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:174
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:223
 msgid "Bandwidth usage"
 msgstr "Bandbreedte gebruik"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:181
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:230
 msgid "Outbound bytes/sec"
 msgstr "Uitgaande bytes/sec"
 
 #. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:183
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:232
 msgid "Inbound bytes/sec"
 msgstr "Inkomende bytes / sec"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
 msgid "bytes/sec"
 msgstr "bytes/sec"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
 msgid "out average"
 msgstr "uit gemiddeld"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:110
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:115
 msgid "max"
 msgstr "max"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
 msgid "in average"
 msgstr "in gemiddeld"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:56
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:57
 msgid "GO"
 msgstr "GA"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:59
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:60
 msgid "Statistics gathered during this router's uptime"
 msgstr "Statistieken verzameld gedurende de uptime van deze router"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:62
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:63
 msgid ""
 "The data gathered is quantized over a 1 minute period, so should just be "
 "used as an estimate."
@@ -3091,52 +3193,98 @@ msgstr ""
 "De verzamelde data is gekwantiseerd over een 1 minuut peiode, dit is dus "
 "slechts een schatting."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:108
-msgid "frequency"
-msgstr "frequentie"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:64
+msgid "These statistics are primarily used for development and debugging."
+msgstr "Deze statistieken worden primair gebruikt voor ontwikkeling en debugging."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:142
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
 msgid "No lifetime events"
 msgstr "Geen levenslange gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:154
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
+msgid "frequency"
+msgstr "frequentie"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+msgid "Rolling average events per period"
+msgstr "Voortschrijdend gemiddelde gebeurtenissen per periode"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+msgid "Highest events per period"
+msgstr "Hoogste gebeurtenissen per periode"
+
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. buf.append("(current is ");
+#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
+#. buf.append(" of max)");
+#. }
+#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
+msgid "Lifetime average events per period"
+msgstr "Levenslange gemiddelde gebeurtenissen per periode"
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+msgid "Lifetime average frequency"
+msgstr "Levenslange gemiddelde frequentie"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
 msgid "rate"
 msgstr "rato"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
-msgid "avg value"
-msgstr "gem waarde"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+msgid "Average"
+msgstr "Gemiddelde"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+msgid "Highest average"
+msgstr "Hoogste gemiddelde"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:185
-msgid "events"
-msgstr "gebeurtenissen"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:202
+#, java-format
+msgid "in this period which ended {0} ago."
+msgstr "in deze periode welke {0} geleden eindigde."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:191
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:204
 msgid "No events"
-msgstr "Geen gebeertenissen"
+msgstr "Geen gebeurtenissen"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:210
+msgid "Average event count"
+msgstr "Gemiddeld aantal gebeurtenissen"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:212
+msgid "Events in peak period"
+msgstr "Gebeurtenissen in piek periode"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:220
+msgid "Graph Data"
+msgstr "Grafiek Data"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:197
-msgid "lifetime average"
-msgstr "levenslange gemiddelde"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:222
+msgid "Graph Event Count"
+msgstr "Grafiek Aantal Gebeurtenissen"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:199
-msgid "peak average"
-msgstr "piek gemiddelde"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:225
+msgid "Export Data as XML"
+msgstr "Exporteer Data als XML"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:217
-msgid "lifetime average value"
-msgstr "levenslange gemiddelde waarde"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:230
+msgid "Lifetime average value"
+msgstr "Levenslange gemiddelde waarde"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:40
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
 msgid "I2P Router Help &amp; FAQ"
 msgstr "I2P Router Hulp &amp; FAQ"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:42
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
 msgid "Help &amp; FAQ"
 msgstr "Hulp &amp; FAQ"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:54
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
 msgid ""
 "Configure startup of clients and webapps (services); manually start dormant "
 "services"
@@ -3144,230 +3292,230 @@ msgstr ""
 "Configureer de opstart van clients en webapps (services); start sluimerende "
 "services handmatig"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:56
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
 msgstr "I2P Services"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:62
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
 msgstr "Beheer je I2P hosts bestand hier (I2P domeinnaam bepaling)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:64
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
 msgstr "Adresboek"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:68
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
 msgid "Built-in anonymous BitTorrent Client"
 msgstr "Ingebouwde anonieme BitTorrent Client"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:70
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
 msgid "Torrents"
 msgstr "Torrents"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:74
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
 msgid "Anonymous webmail client"
 msgstr "Anonieme webmail client"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:76
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
 msgid "Webmail"
 msgstr "Webmail"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:80
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
 msgid "Anonymous resident webserver"
 msgstr "Anonieme ingebouwde webserver"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:82
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
 msgid "Webserver"
 msgstr "Webserver"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:90
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
 msgid "Configure I2P Router"
 msgstr "Configureer I2P Router"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:92
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
 msgid "I2P Internals"
 msgstr "I2P Intern"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:98
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:374
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
 msgid "View existing tunnels and tunnel build status"
 msgstr "Bekijk bestaande tunnels en tunnel opbouw status"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:104
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
 msgid "Show all current peer connections"
 msgstr "Toon alle huidige peer connecties"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:110
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
 msgid "Show recent peer performance profiles"
 msgstr "Toon recente peer prestatie profielen"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:112
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
 msgid "Profiles"
 msgstr "Profielen"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:116
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
 msgid "Show list of all known I2P routers"
 msgstr "Toon lijst met alle bekende I2P routers"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:118
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
 msgid "NetDB"
 msgstr "NetDB"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:122
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
 msgid "Health Report"
 msgstr "Gezondheids Rapport"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:124
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
 msgid "Logs"
 msgstr "Logs"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:134
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
 msgid "Graph router performance"
 msgstr "Grafieken router prestatie"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:136
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
 msgid "Graphs"
 msgstr "Grafieken"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:140
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
 msgid "Textual router performance statistics"
 msgstr "Tekstuele router prestatie statistieken"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:146
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:365
 msgid "Local Destinations"
 msgstr "Lokale Bestemmingen"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:148
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
 #: ../java/strings/Strings.java:62
 msgid "I2PTunnel"
 msgstr "I2PTunnel"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:159
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
 msgid "I2P Router Help"
 msgstr "I2P Router Hulp"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:161
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
 msgid "General"
 msgstr "Algemeen"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
 msgid "Local Identity"
 msgstr "Lokale Identiteit"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:170
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
 msgid "Your unique I2P router identity is"
 msgstr "Je unique I2P router identiteit is"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:174
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
 msgid "never reveal it to anyone"
 msgstr "vertel dit aan niemand"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:176
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
 msgid "show"
 msgstr "toon"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:187
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
 msgid "How long we've been running for this session"
 msgstr "Hoe lang draaien we al voor deze sessie"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:190
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
 msgid "Uptime"
 msgstr "Uptime"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:197
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
 msgid ""
 "Help with configuring your firewall and router for optimal I2P performance"
 msgstr ""
 "Hulp bij het configureren van je firewall en router voor optimale I2P "
 "prestatie"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:226
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
 msgid "Download"
 msgstr "Download"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
 msgid "Download Unsigned"
 msgstr "Download Niet-ondertekend"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
 msgid "Active"
 msgstr "Actief"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:269
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
 msgid "Fast"
 msgstr "Snel"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
 msgid "High capacity"
 msgstr "Grote capaciteit"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
 msgid "Known"
 msgstr "Bekend"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:302
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
 msgid "Help with firewall configuration"
 msgstr "Hulp met firewall configuratie"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:304
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
 msgid "Check NAT/firewall"
 msgstr "Controlleer NAT/firewall"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:324
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
 msgid "Reseed"
 msgstr "Reseed"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:341
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
 msgid "Configure router bandwidth allocation"
 msgstr "Configureer router bandbreedte toewijzing"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:343
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
 msgid "Bandwidth in/out"
 msgstr "Bandbreedte in/uit"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:359
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
 msgid "Total"
 msgstr "Totaal"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:366
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
 msgid "Used"
 msgstr "Gebruikt"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:381
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
 msgid "Exploratory"
 msgstr "Onderzoekend"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:393
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
 msgid "Participating"
 msgstr "Deelnemend"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:399
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
 msgid "Share ratio"
 msgstr "Share rato"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:405
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
 msgid "What's in the router's job queue?"
 msgstr "Wat is er in de taken wachtrij van de router?"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:407
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Congestion"
 msgstr "Verstopping"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
 msgid "Job lag"
 msgstr "Taak vertraging"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:418
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
 msgid "Message delay"
 msgstr "Bericht vertraging"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:424
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
 msgid "Tunnel lag"
 msgstr "Tunnel vertraging"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:430
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
 msgid "Backlog"
 msgstr "Achterstand"
 
@@ -3381,7 +3529,7 @@ msgid "ERR-Clock Skew of {0}"
 msgstr "ERR-Klok Afwijking van {0}"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:117
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:576
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "OK"
 msgstr "OK"
 
@@ -3406,7 +3554,7 @@ msgid "WARN-Firewalled and Fast"
 msgstr "WARN-Firewall en Snel"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:128
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:580
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
 msgid "Firewalled"
 msgstr "Firewall"
 
@@ -3429,7 +3577,7 @@ msgid "WARN-Firewalled with UDP Disabled"
 msgstr "WARN-Firewall met UDP Uitgeschakeld"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:143
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:596
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Testing"
 msgstr "Testen"
 
@@ -3488,31 +3636,31 @@ msgid "shared clients"
 msgstr "gedeelde clients"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:84
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
 #, java-format
 msgid "events in {0}"
 msgstr "gebeurtenissen in {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:86
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
 #, java-format
 msgid "averaged for {0}"
 msgstr "gemiddeld voor {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:96
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
 msgid "Events per period"
 msgstr "Gebeurtenissen per periode"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:109
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
 msgid "avg"
 msgstr "gemiddeld"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:111
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
 msgid "now"
 msgstr "nu"
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:280
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
 msgid "configure"
 msgstr "configureer"
 
@@ -3643,15 +3791,15 @@ msgstr "Totalen"
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:132
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:145
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:172
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:178
 msgid "Updating"
 msgstr "Aan het updaten"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:88
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:116
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:183
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:208
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:189
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
 msgid "Update downloaded"
 msgstr "Update gedownload"
 
@@ -3661,22 +3809,22 @@ msgid "Unsigned update file from {0} is corrupt"
 msgstr "Niet-ondertekende update bestand van {0} is corrupt"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
 msgid "Restarting"
 msgstr "Herstarten"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:210
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:216
 msgid "Click Restart to install"
 msgstr "Klik Herstart om te installeren"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:212
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:218
 msgid "Click Shutdown and restart to install"
 msgstr "Klik Afsluiten and herstart om te installeren"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
 #, java-format
 msgid "Version {0}"
 msgstr "Versie {0}"
@@ -3686,11 +3834,11 @@ msgstr "Versie {0}"
 msgid "Failed copy to {0}"
 msgstr "Kopie naar {0} gefaald"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
 msgid "Update verified"
 msgstr "Update geverifieerd"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:228
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:234
 msgid "Transfer failed"
 msgstr "Overdracht gefaald"
 
@@ -3946,76 +4094,78 @@ msgid "config networking"
 msgstr "configureer netwerk"
 
 #. We have intl defined when this is included, but not when compiled standalone.
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:231
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:228
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:223
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:215
 msgid "Refresh (s)"
 msgstr "Ververs (s)"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:232
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:227
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219
 msgid "Enable"
 msgstr "Inschakelen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
 msgid "I2P Network Configuration"
 msgstr "I2P Netwerk Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
 msgid "Bandwidth limiter"
 msgstr "Bandbreedte beperker"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
 msgid ""
 "I2P will work best if you configure your rates to match the speed of your "
 "internet connection."
@@ -4023,34 +4173,34 @@ msgstr ""
 "I2P zal beter werken wanneer je de configuratie van de bandbreedte afstemt "
 "met de snelheid van je internet verbinding."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
 msgid "KBps In"
 msgstr "KBps In"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
 msgid "KBps Out"
 msgstr "KBps Uit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
 msgid "Share"
 msgstr "Share"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:340
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
 msgid "NOTE"
 msgstr "OPMERKING"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
 msgstr "Je hebt I2P geconfigureerd om slechts {0} KBps te delen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
 msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P vereist tenminste 12KBps om sharing in te schakelen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
 msgid ""
 "Please enable sharing (participating in tunnels) by configuring more "
 "bandwidth. "
@@ -4058,19 +4208,19 @@ msgstr ""
 "Schakel sharing in (deelname aan tunnels) door meer bandbreedte toe te "
 "kennen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
 msgid ""
 "It improves your anonymity by creating cover traffic, and helps the network."
 msgstr ""
 "Het verbeterd je anonimiteit door camouflage verkeer te genereren en help "
 "het netwerk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
 msgstr "Je hebt I2P geconfigureerd om {0} KBps te delen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:353
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
 msgid ""
 "The higher the share bandwidth the more you improve your anonymity and help "
 "the network."
@@ -4078,90 +4228,90 @@ msgstr ""
 "Hoe meer bandbreedte je deelt, des te meer je anonimiteit verbeterd en je "
 "het netwerk helpt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:357
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:513
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:303
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:326
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:320
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:373
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:321
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Cancel"
 msgstr "Annuleer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:374
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
 msgid "IP and Transport Configuration"
 msgstr "IP en Transport Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
 msgid "The default settings will work for most people."
 msgstr "De standaard instellingen zullen voor de meeste mensen werken."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:378
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
 msgid "There is help below."
 msgstr "Help is hieronder."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:380
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
 msgid "UPnP Configuration"
 msgstr "UPnP Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:384
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
 msgid "Enable UPnP to open firewall ports"
 msgstr "Schakel UPnP in om firewall poorten te openen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:386
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
 msgid "UPnP status"
 msgstr "UPnP status"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:388
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
 msgid "IP Configuration"
 msgstr "IP Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:390
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:460
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "Externally reachable hostname or IP address"
 msgstr "Extern bereikbare hostname of IP adres"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:394
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
 msgid "Use all auto-detect methods"
 msgstr "Gebruik alle auto-detect methoden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:398
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "Disable UPnP IP address detection"
 msgstr "Schakel UPnP IP adres detectie uit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:402
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Ignore local interface IP address"
 msgstr "Negeer IP adres van lokale interface"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:406
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "Use SSU IP address detection only"
 msgstr "Gebruikt alleen SSU IP adres detectie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:410
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:478
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Specify hostname or IP"
 msgstr "Specificeer hostname of IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Select Interface"
 msgstr "Selecteer Interface"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:430
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
 msgid "Hidden mode - do not publish IP"
 msgstr "Verborgen modus - publiceer IP niet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:432
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
 msgid "(prevents participating traffic)"
 msgstr "(voorkomt deelnemend verkeer)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:434
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Action when IP changes"
 msgstr "Actie wanneer IP wijzigd"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:438
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
 msgid ""
 "Laptop mode - Change router identity and UDP port when IP changes for "
 "enhanced anonymity"
@@ -4169,82 +4319,82 @@ msgstr ""
 "Laptop modus - Wijzig router identiteit en UDP poort wanneeer IP wijzigd for "
 "meer anonimiteit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:440
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
 msgid "Experimental"
 msgstr "Experimenteel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:442
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
 msgid "UDP Configuration:"
 msgstr "UDP Configuratie:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:444
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
 msgid "UDP port:"
 msgstr "UDP poort:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:458
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "TCP Configuration"
 msgstr "TCP Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:464
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
 msgid "Use auto-detected IP address"
 msgstr "Gebruik auto-detected IP adres"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:466
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:498
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:467
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:499
 msgid "currently"
 msgstr "om dit moment"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:470
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
 msgid "if we are not firewalled"
 msgstr "wanneer we niet gefirewalled zijn"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:474
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "Gebruik altijd auto-detected IP adres (Geen firewall)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:484
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
 msgid "Disable inbound (Firewalled)"
 msgstr "Schakel inkomend uit (Firewall)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:488
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "Completely disable"
 msgstr "Schakel volledig uit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:490
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
 msgid ""
 "(select only if behind a firewall that throttles or blocks outbound TCP)"
 msgstr ""
 "(selecteer alleen wanneer je achter een firewall zit dat uitgaand TCP "
 "beperkt of blokkeert)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:492
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Externally reachable TCP port"
 msgstr "Extern bereikbare TCP poort"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Use the same port configured for UDP"
 msgstr "Gebruik dezelfde poort als geconfigureerd voor UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
 msgid "Specify Port"
 msgstr "Specificeer Poort"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:338
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
 msgid "Note"
 msgstr "Opmerking"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
 msgid "Changing these settings will restart your router."
 msgstr "Wijziging van deze instellingen herstart je router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
 msgid "Configuration Help"
 msgstr "Configuratie Help"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:519
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:568
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid ""
 "While I2P will work fine behind most firewalls, your speeds and network "
 "integration will generally improve if the I2P port is forwarded for both UDP "
@@ -4254,7 +4404,7 @@ msgstr ""
 "netwerk integratie doorgaans verbeteren wanneer de I2P poort is geforward "
 "voor zowel UDP als TCP."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
 msgid ""
 "If you can, please poke a hole in your firewall to allow unsolicited UDP and "
 "TCP packets to reach you."
@@ -4262,7 +4412,7 @@ msgstr ""
 "Indien mogelijk, probeer een opening in je firewall te maken om nieuwe UDP "
 "en TCP pakketten binnen te laten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
 msgid ""
 "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole "
 "punching with \"SSU introductions\" to relay traffic."
@@ -4270,7 +4420,7 @@ msgstr ""
 "Indien dit niet mogelijk is, I2P ondersteunt UPnP (Universal Plug en Play) "
 "en UDP perforatie met \"SSU introducties\" om verkeer te herleiden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:525
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
 msgid ""
 "Most of the options above are for special situations, for example where UPnP "
 "does not work correctly, or a firewall not under your control is doing harm."
@@ -4279,12 +4429,12 @@ msgstr ""
 "wanneer UPnP niet correct werkt, of wanneer firewall buiten je beheer in de "
 "weg zit."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
 msgstr ""
 "Bepaalde firewalls zoals symmetrische NATs werken mogelijk niet goed met I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
 msgid ""
 "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect "
 "the external IP address and forward ports."
@@ -4292,39 +4442,39 @@ msgstr ""
 "UPnP is gebruikt om te communiceren met Internet Gateway Devices (IGDs) om "
 "het externe IP adres te detecteren en poorten door te sturen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:538
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
 msgid "UPnP support is beta, and may not work for any number of reasons"
 msgstr "UPnP support is beta, en kan om verscheidene redenen niet goed werken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
 msgid "No UPnP-compatible device present"
 msgstr "Geen UPnP-compatible device aanwezig"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
 msgid "UPnP disabled on the device"
 msgstr "UPnP uitgeschakeld op het device"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
 msgid "Software firewall interference with UPnP"
 msgstr "Software firewall zit UPnP in de weg"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
 msgid "Bugs in the device's UPnP implementation"
 msgstr "Bugs in de device's UPnP implementatie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:548
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "Meerdere firewall/routers in het pad van de internet verbinding"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:550
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
 msgid "UPnP device change, reset, or address change"
 msgstr "UPnP device wijziging, reset, of adres wijziging"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:552
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
 msgid "Review the UPnP status here."
 msgstr "Bekijk de UPnP status hier."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:554
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
 msgid ""
 "UPnP may be enabled or disabled above, but a change requires a router "
 "restart to take effect."
@@ -4332,23 +4482,23 @@ msgstr ""
 "UPnP kan hierboven in- en uitgeschakeld worden, maar na een wijziging is een "
 "router herstart nodig."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:556
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "Hostnames entered above will be published in the network database."
 msgstr ""
 "Hierboven ingevulde hostnames zullen worden gepubliceerd in de netwerk "
 "database."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:558
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "They are <b>not private</b>."
 msgstr "Deze zijn <b>niet privé</b>."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:560
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid ""
 "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
 msgstr ""
 "Tevens, <b>vul geen privé IP addres in</b> zoals 127.0.0.1 of 192.168.1.1."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:562
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid ""
 "If you specify the wrong IP address or hostname, or do not properly "
 "configure your NAT or firewall, your network performance will degrade "
@@ -4357,15 +4507,15 @@ msgstr ""
 "Als je het verkeerde IP adres of hostnaam invult, of je NAT of firewall niet "
 "goed te configureert, zal je netwerk prestaties aanzienlijk verslechteren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:564
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "In geval van twijfel, laat de instellingen op de standaard waarden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:566
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Reachability Help"
 msgstr "Bereikbaarheids Help"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
 msgid ""
 "If you think you have opened up your firewall and I2P still thinks you are "
 "firewalled, remember that you may have multiple firewalls, for example both "
@@ -4376,7 +4526,7 @@ msgstr ""
 "firewalls hebt, bijvoorbeeld zowel als software pakket en een externe "
 "hardware router."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:574
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid ""
 "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help "
 "diagnose the problem."
@@ -4384,15 +4534,15 @@ msgstr ""
 "Indien er een fout is zijn de <a href=\"logs.jsp\">logs</a> mogelijk hulpvol "
 "om het probleem te onderzoeken."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:578
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "Je UDP poort lijkt niet achter een firewall te zitten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:582
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "Your UDP port appears to be firewalled."
 msgstr "Je UDP poort lijkt achter een firewall te zitten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:584
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid ""
 "As the firewall detection methods are not 100% reliable, this may "
 "occasionally be displayed in error."
@@ -4400,7 +4550,7 @@ msgstr ""
 "Omdat de firewall detectie methode niet 100% betrouwbaar is, kan dit soms "
 "foutief getoond worden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:586
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
 msgid ""
 "However, if it appears consistently, you should check whether both your "
 "external and internal firewalls are open for your port."
@@ -4408,7 +4558,7 @@ msgstr ""
 "Indien dit echter consistent optreedt, controlleer in zowel externe als "
 "interne firewalls of de poort wel geopend is."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:588
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
 msgid ""
 "I2P will work fine when firewalled, there is no reason for concern. When "
 "firewalled, the router uses \"introducers\" to relay inbound connections."
@@ -4417,7 +4567,7 @@ msgstr ""
 "maakt de router gebruik van \"introducers\" om inkomende connecties door te "
 "sturen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
 msgid ""
 "However, you will get more participating traffic and help the network more "
 "if you can open your firewall(s)."
@@ -4425,7 +4575,7 @@ msgstr ""
 "Je krijgt meer deelnemend verkeer en helpt het netwerk meer door de firewall"
 "(s) te openen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:592
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
 msgid ""
 "If you think you have already done so, remember that you may have both a "
 "hardware and a software firewall, or be behind an additional, institutional "
@@ -4435,7 +4585,7 @@ msgstr ""
 "hardware als software firewall kan zijn, of dat er een additionele firewall "
 "(universiteit, provider, etc) kan zijn waar je geen invloed op hebt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:594
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid ""
 "Also, some routers cannot correctly forward both TCP and UDP on a single "
 "port, or may have other limitations or bugs that prevent them from passing "
@@ -4445,11 +4595,11 @@ msgstr ""
 "correct door te laten, of hebben andere beperkingen of bugs die voorkomen "
 "dat I2P verkeer goed doorkomt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:598
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 msgid "The router is currently testing whether your UDP port is firewalled."
 msgstr "De router test op dit moment of je UDP poort achter een firewall is."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:602
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
 msgid ""
 "The router is not configured to publish its address, therefore it does not "
 "expect incoming connections."
@@ -4457,11 +4607,11 @@ msgstr ""
 "De router is niet geconfigureerd om zijn adres te publiceren, daarom "
 "verwacht het geen inkomende verbindingen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:604
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
 msgid "WARN - Firewalled and Fast"
 msgstr "WARN - Firewall en Snel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:606
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
 msgid ""
 "You have configured I2P to share more than 128KBps of bandwidth, but you are "
 "firewalled."
@@ -4469,7 +4619,7 @@ msgstr ""
 "Je hebt I2P geconfigureerd om meer dan 128KBps aan bandbreedte te delen, "
 "maar je zit achter een firewall."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:608
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
 msgid ""
 "While I2P will work fine in this configuration, if you really have over "
 "128KBps of bandwidth to share, it will be much more helpful to the network "
@@ -4478,28 +4628,28 @@ msgstr ""
 "Alhoewel I2P met deze configuratie prima werkt, zal je 128KBps of meer aan "
 "bandbreedte het netwerk beter helpen wanneer je je firewall open zet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:610
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
 msgid "WARN - Firewalled and Floodfill"
 msgstr "WARN - Firewall en Floodfill"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:612
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
 msgid ""
 "You have configured I2P to be a floodfill router, but you are firewalled."
 msgstr ""
 "Je hebt I2P geconfigureerd als floodfill router, maar je zit achter een "
 "firewall."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:614
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid ""
 "For best participation as a floodfill router, you should open your firewall."
 msgstr ""
 "Voor een betere deelname als floodfill router, moet je je firewall openen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:616
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "WARN - Firewall en Inkomende TCP Ingeschakeld"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:618
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid ""
 "You have configured inbound TCP, however your UDP port is firewalled, and "
 "therefore it is likely that your TCP port is firewalled as well."
@@ -4508,7 +4658,7 @@ msgstr ""
 "een firewall zit, is het waarschijnlijk dat dit ook voor je TCP poort het "
 "geval is."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:620
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
 msgid ""
 "If your TCP port is firewalled with inbound TCP enabled, routers will not be "
 "able to contact you via TCP, which will hurt the network."
@@ -4517,19 +4667,19 @@ msgstr ""
 "kunnen routers geen verbinding met je maken via TCP, dit is niet goed voor "
 "het netwerk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:622
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 msgid "Please open your firewall or disable inbound TCP above."
 msgstr "Open je firewall of schakel inkomend TCP hierboven uit."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:624
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "WARN - Firewall met UDP Uitgeschakeld"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:626
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
 msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "Je hebt inkomende TCP geconfigureerd, echter UDP is uitgeschakeld."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:628
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
 msgid ""
 "You appear to be firewalled on TCP, therefore your router cannot accept "
 "inbound connections."
@@ -4537,15 +4687,15 @@ msgstr ""
 "Het lijkt erop dat je voor TCP achter een firewall zit, daarom kan je router "
 "geen inkomende connecties accepteren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:630
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
 msgid "Please open your firewall or enable UDP."
 msgstr "Open je firewall of schakel UDP in."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:632
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
 msgid "ERR - Clock Skew"
 msgstr "ERR - Klok Afwijking"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:634
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
 msgid ""
 "Your system's clock is skewed, which will make it difficult to participate "
 "in the network."
@@ -4553,15 +4703,15 @@ msgstr ""
 "Je systeemklok heeft een afwijking, dit zal het moeilijk maken om aan het "
 "netwerk deel te nemen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:636
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
 msgid "Correct your clock setting if this error persists."
 msgstr "Corrigeer je klok instelling indien deze fout blijft optreden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:638
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
 msgid "ERR - Private TCP Address"
 msgstr "ERR - Privaat TCP Adres"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:640
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
 msgid ""
 "You must never advertise an unroutable IP address such as 127.0.0.1 or "
 "192.168.1.1 as your external address."
@@ -4569,20 +4719,20 @@ msgstr ""
 "Je moet nooit een niet-routeerbaar IP adres zoals 127.0.0.1 of 192.168.1.1 "
 "adverteren als je externe adres."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:642
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "Correct the address or disable inbound TCP above."
 msgstr "Corrigeer het adres of schakel inkomend TCP hierboven uit."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:644
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
 msgid "ERR - SymmetricNAT"
 msgstr "ERR - SymmetricNAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:646
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr ""
 "I2P heeft gedetecteerd dat je achter een firewall zit door een Symmetric NAT."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:648
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
 msgid ""
 "I2P does not work well behind this type of firewall. You will probably not "
 "be able to accept inbound connections, which will limit your participation "
@@ -4591,7 +4741,7 @@ msgstr ""
 "I2P werkt niet goed achter dit type firewall. Waarschijnlijk kan je geen "
 "inkomende verbindingen accepteren, "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:650
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
 msgid ""
 "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config "
 "and restart"
@@ -4599,12 +4749,12 @@ msgstr ""
 "ERR - UDP Poort In Gebruik - Zet i2np.udp.internalPort=xxxx in geavanceerde "
 "configuratie en herstart"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:652
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
 msgid "I2P was unable to bind to port 8887 or other configured port."
 msgstr ""
 "I2P kon niet binden met poort 8887 of een andere geconfigureerde poort."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:654
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
 msgid ""
 "Check to see if another program is using the configured port. If so, stop "
 "that program or configure I2P to use a different port."
@@ -4612,7 +4762,7 @@ msgstr ""
 "Controlleer of een ander programma de geconfigureerde poort gebruikt. Als "
 "dit zo is, stop dit programma of configureer I2P op een andere poort."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:656
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
 msgid ""
 "This may be a transient error, if the other program is no longer using the "
 "port."
@@ -4620,15 +4770,15 @@ msgstr ""
 "Dit kan een voorbijgaande fout zijn, als het andere programma de poort niet "
 "meer gebruikt."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:658
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
 msgid "However, a restart is always required after this error."
 msgstr "Echter, een herstart is altijd nodig na deze fout."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:660
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
 msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
 msgstr "ERR - UDP Uitgeschakeld en Inkomende TCP host/poort niet gezet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:662
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
 msgid ""
 "You have not configured inbound TCP with a hostname and port above, however "
 "you have disabled UDP."
@@ -4636,25 +4786,25 @@ msgstr ""
 "Je hebt inkomende TCP hierboven niet geconfigureerd met een hostname en "
 "poort, echter heb je je UDP uitgeschakeld."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:664
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "Therefore your router cannot accept inbound connections."
 msgstr "Daarom kan je router geen inkomende connecties accepteren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:666
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
 msgid "Please configure a TCP host and port above or enable UDP."
 msgstr "Configureer een TCP host en poort hierboven of schakel UDP in."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:668
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "ERR - Client Manager I2CP Fout - controlleer logs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:670
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
 msgstr ""
 "Dit komt doorgaans door een conflict met poort 7654. Kijk in de logs om dit "
 "te bevestigen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:672
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
 msgid ""
 "Do you have another I2P instance running? Stop the conflicting program and "
 "restart I2P."
@@ -4666,15 +4816,15 @@ msgstr ""
 msgid "config advanced"
 msgstr "geavanceerde configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
 msgid "I2P Advanced Configuration"
 msgstr "I2P Geavanceerde Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
 msgid "Advanced I2P Configuration"
 msgstr "Geavanceerde I2P Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
 msgid "Some changes may require a restart to take effect."
 msgstr "Voor de toepassing van sommige wijzigingen is een herstart nodig."
 
@@ -4682,15 +4832,15 @@ msgstr "Voor de toepassing van sommige wijzigingen is een herstart nodig."
 msgid "config clients"
 msgstr "client configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
 msgid "I2P Client Configuration"
 msgstr "I2P Client Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
 msgid "Client Configuration"
 msgstr "Client Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
 msgid ""
 "The Java clients listed below are started by the router and run in the same "
 "JVM."
@@ -4698,20 +4848,20 @@ msgstr ""
 "De Java clients in onderstaande lijst zijn gestart door de router en draaien "
 "in dezelfde JVM."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
 msgid "To change other client options, edit the file"
 msgstr "Om andere client opties te wijzigen, bewerk het bestand"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
 msgid "All changes require restart to take effect."
 msgstr "Voor alle wijzigingen is een herstart nodig."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
 msgid "WebApp Configuration"
 msgstr "WebApp Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
 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 "
@@ -4727,7 +4877,7 @@ msgstr ""
 "dat los hiervan ingeschakeld moet worden (zoals susidns, i2ptunnel), of "
 "zonder web interface (zoals addressbook)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:341
 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 "
@@ -4740,19 +4890,19 @@ msgstr ""
 "nieuwere versie. Daarom is het aanbevolen om de web app hier uit te "
 "schakelen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Plugin Configuration"
 msgstr "Plugin Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353
 msgid "The plugins listed below are started by the webConsole client."
 msgstr "De plugins hier beneden zijn gestart door de webConsole client."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
 msgid "Plugin Installation"
 msgstr "Plugin Installatie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "To install a plugin, enter the download URL:"
 msgstr "Om een plugin te installeren, voer de download URL in:"
 
@@ -4760,44 +4910,44 @@ msgstr "Om een plugin te installeren, voer de download URL in:"
 msgid "config keyring"
 msgstr "configureer sleutelbos"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
 msgid "I2P Keyring Configuration"
 msgstr "I2P Sleutelbos Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
 msgid "The router keyring is used to decrypt encrypted leaseSets."
 msgstr ""
 "De sleutelbos van de router is gebruikt om versleutelde leaseSets te "
 "ontsleutelen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
 msgid ""
 "The keyring may contain keys for local or remote encrypted destinations."
 msgstr ""
 "De sleutelbos kan sleutels bevatten voor lokale en remote versleutelde "
 "destinations."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
 msgid "Manual Keyring Addition"
 msgstr "Handmatige Sleutelbos Toevoeging"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
 msgid "Enter keys for encrypted remote destinations here."
 msgstr "Voer sleutels in om remote destinations te versleutelen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
 msgid "Keys for local destinations must be entered on the"
 msgstr "Sleutels voor lokale destinations moeten worden ingevoerd op de"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "I2PTunnel page"
 msgstr "I2PTunnel pagina"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "Dest. name, hash, or full key"
 msgstr "Dest. naam, hash, of volledige sleutel"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
 msgid "Encryption Key"
 msgstr "Encryptie Sleutel"
 
@@ -4805,38 +4955,38 @@ msgstr "Encryptie Sleutel"
 msgid "config logging"
 msgstr "configureer logging"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
 msgid "I2P Logging Configuration"
 msgstr "I2P Logging Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
 msgid "Configure I2P Logging Options"
 msgstr "Configureer I2P Logging Opties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
 msgid "Logging filename"
 msgstr "Logging bestandsnaam"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
 msgid "(the symbol '@' will be replaced during log rotation)"
 msgstr "(het symbool '@' zal worden vervangen bij het doordraaien van de log)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
 msgid "Log record format"
 msgstr "Log regel formaat"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
 msgid ""
 "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
 msgstr ""
 "(gebruik 'd' = datum, 'c' = class, 't' = thread, 'p' = prioriteit, 'm' = "
 "bericht)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
 msgid "Log date format"
 msgstr "Log datum formaat"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
 msgid ""
 "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' "
 "= millisecond)"
@@ -4844,15 +4994,15 @@ msgstr ""
 "('MM' = maand, 'dd' = dag, 'HH' = uur, 'mm' = minuut, 'ss' = seconde, 'SSS' "
 "= milliseconde)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Max log file size"
 msgstr "Max log bestand grootte"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
 msgid "Default log level"
 msgstr "Standaard log niveau"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
 msgid ""
 "(DEBUG and INFO are not recommended defaults, as they will drastically slow "
 "down your router)"
@@ -4860,36 +5010,44 @@ msgstr ""
 "(DEBUG en INFO zijn geen aanbevolen standaardwaarden, ze zullen je router "
 "drastisch vertragen)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
 msgid "Log level overrides"
 msgstr "Log niveau overschrijving"
 
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
+msgid "New override"
+msgstr "Nieuwe overschrijving"
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:106
 msgid "config peers"
 msgstr "configureer peers"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
 msgid "I2P Peer Configuration"
 msgstr "I2P Peer Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
 msgid "Manual Peer Controls"
 msgstr "Handmatige Peer Beheer"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
 msgid "Router Hash"
 msgstr "Router Hash"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
 msgid "Manually Ban / Unban a Peer"
 msgstr "Handmatig een Peer Verbannen / Verbanning Opheffen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
 msgid ""
 "Banning will prevent the participation of this peer in tunnels you create."
 msgstr "Verbanning zorgt ervoor dat deze peer niet deelneemt aan je tunnels."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+msgid "Adjust Profile Bonuses"
+msgstr "Aanpassing van Profiel Bonussen"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 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 "
@@ -4902,16 +5060,12 @@ msgstr ""
 "gebruikt voor sommige exploratory tunnels. De huidige bonussen worden "
 "getoond op de"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
 msgid "profiles page"
 msgstr "profielen pagina"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:342
-msgid "Adjust peer bonuses"
-msgstr "Peer bonussen aanpassen"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:344
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
 msgid "Banned Peers"
 msgstr "Verbannen Peers"
 
@@ -4923,15 +5077,15 @@ msgstr "Verbannen IPs"
 msgid "config service"
 msgstr "configureer service"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
 msgid "I2P Service Configuration"
 msgstr "I2P Service Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
 msgid "Shutdown the router"
 msgstr "Stop de router"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:286
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
 msgid ""
 "Graceful shutdown lets the router satisfy the agreements it has already made "
 "before shutting down, but may take a few minutes."
@@ -4940,12 +5094,12 @@ msgstr ""
 "overeenkomsten vervullen alvorens te stoppen, maar dit kan een aantal "
 "minuten duren."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:288
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
 msgid ""
 "If you need to kill the router immediately, that option is available as well."
 msgstr "Indien je de router onmiddelijk wilt stoppen, dan is dit ook mogelijk."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
 msgid ""
 "If you want the router to restart itself after shutting down, you can choose "
 "one of the following."
@@ -4953,7 +5107,7 @@ msgstr ""
 "Indien je de router wilt herstarten na het afsluiten, kies dan één van de "
 "volgende opties."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
 msgid ""
 "This is useful in some situations - for example, if you changed some "
 "settings that client applications only read at startup, such as the "
@@ -4964,7 +5118,7 @@ msgstr ""
 "opstarten, zoals het routerconsole wachtwoord of de interface waar het op "
 "luistert."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid ""
 "A graceful restart will take a few minutes (but your peers will appreciate "
 "your patience), while a hard restart does so immediately."
@@ -4972,7 +5126,7 @@ msgstr ""
 "Een gecontrolleerde herstart zal een aantal minuten duren (maar je peers "
 "stellen je gedult zeer op prijs), terwijl een harde herstart onmiddelijk is."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
 msgid ""
 "After tearing down the router, it will wait 1 minute before starting back up "
 "again."
@@ -4980,11 +5134,11 @@ msgstr ""
 "Na het stoppen van de router, zal het 1 minuut wachten alvorens opnieuw te "
 "starten."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
 msgid "Systray integration"
 msgstr "Systray integratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
 msgid ""
 "On the windows platform, there is a small application to sit in the system "
 "tray, allowing you to view the router's status"
@@ -4992,7 +5146,7 @@ msgstr ""
 "Op het windows platform is er een kleine applicatie die in je system tray "
 "zit, waarmee de router status te bekijken is"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
 msgid ""
 "(later on, I2P client applications will be able to integrate their own "
 "functionality into the system tray as well)."
@@ -5000,15 +5154,15 @@ msgstr ""
 "(in de toekomst zullen I2P client applicaties hun functionaliteit ook in de "
 "system tray kunnen integreren)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
 msgid "If you are on windows, you can either enable or disable that icon here."
 msgstr "Indien je windows gebruikt kun je het icon hier in- of uitschakelen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Run on startup"
 msgstr "Aan bij opstarten"
 
-#: ../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:329
 msgid ""
 "You can control whether I2P is run on startup or not by selecting one of the "
 "following options - I2P will install (or remove) a service accordingly."
@@ -5016,12 +5170,12 @@ msgstr ""
 "Je kan bepalen of I2P al dan niet bij het opstarten moet starten met behulp "
 "van de volgende opties - I2P zal dan de service toevoegen (of verwijderen)."
 
-#: ../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:331
 msgid "If you prefer the command line, you can also run the "
 msgstr ""
 "Indien je de voorkeur geeft aan de command line, kan je het ook starten met "
 
-#: ../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:341
 msgid ""
 "If you are running I2P as service right now, removing it will shut down your "
 "router immediately."
@@ -5029,7 +5183,7 @@ msgstr ""
 "Indien je op dit moment I2P als service draait zal het verwijderen je router "
 "onmiddelijk stoppen."
 
-#: ../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:343
 msgid ""
 "You may want to consider shutting down gracefully, as above, then running "
 "uninstall_i2p_service_winnt.bat."
@@ -5037,15 +5191,15 @@ msgstr ""
 "Overweeg om hierboven je router gecontrolleerd te stoppen, en daarna "
 "uninstall_i2p_service_winnt.bat te draaien."
 
-#: ../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:347
 msgid "Debugging"
 msgstr "Debugging"
 
-#: ../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:349
 msgid "View the job queue"
 msgstr "Bekijk de taak wachtrij"
 
-#: ../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:353
 msgid ""
 "At times, it may be helpful to debug I2P by getting a thread dump. To do so, "
 "please select the following option and review the thread dumped to <a href="
@@ -5055,11 +5209,11 @@ msgstr ""
 "doen, selecteer de volgende optie en bekijk de thread dump in de <a href="
 "\"logs.jsp#servicelogs\">wrapper.log</a>."
 
-#: ../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:359
 msgid "Launch browser on router startup?"
 msgstr "Start browser bij opstarten router?"
 
-#: ../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:361
 msgid ""
 "I2P's main configuration interface is this web console, so for your "
 "convenience I2P can launch a web browser on startup pointing at"
@@ -5071,44 +5225,44 @@ msgstr ""
 msgid "config stats"
 msgstr "configureer statistieken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
 msgid "I2P Stats Configuration"
 msgstr "I2P Statistieken Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
 msgid "Configure I2P Stat Collection"
 msgstr "Configureer I2P Statistiek Vergaring"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
 msgid "Enable full stats?"
 msgstr "Volledige statistieken inschakelen?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
 msgid "change requires restart to take effect"
 msgstr "na wijziging is een herstart nodig"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
 msgid "Stat file"
 msgstr "Statistiek bestand"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
 msgid "Filter"
 msgstr "Filter"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
 msgid "toggle all"
 msgstr "alles aan/uit"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
 msgid "Log"
 msgstr "Log"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
 msgid "Graph"
 msgstr "Grafiek"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:369
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
 msgid "Advanced filter"
 msgstr "Geavanceerd filter"
 
@@ -5116,19 +5270,19 @@ msgstr "Geavanceerd filter"
 msgid "config tunnels"
 msgstr "configureer tunnels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
 msgid "I2P Tunnel Configuration"
 msgstr "I2P Tunnel Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
 msgid "The default settings work for most people."
 msgstr "De standaard settings werken voor de meeste mensen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
 msgid "There is a fundamental tradeoff between anonymity and performance."
 msgstr "Er is een fundamentele afweging tussen anonimiteit en prestatie."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
 msgid ""
 "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 "
 "hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely "
@@ -5138,31 +5292,31 @@ msgstr ""
 "hops, 3 hops + 0-2 hops), of een hoge hoeveelheid + backup hoeveelheid, "
 "kunnen leiden tot een vermindering van prestatie of bereikbaarheid."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
 msgid "High CPU and/or high outbound bandwidth usage may result."
 msgstr "CPU gebruik en/of uitgaand bandbreedte kan toenemen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
 msgid "Change these settings with care, and adjust them if you have problems."
 msgstr ""
 "Wijzig deze instellingen met zorg, en pas ze aan indien problemen optreden."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
 msgid ""
 "Exploratory tunnel setting changes are stored in the router.config file."
 msgstr ""
 "Exploratory tunnel configuratie wijzigingen zijn opgeslagen in het router."
 "config bestand."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
 msgid "Client tunnel changes are temporary and are not saved."
 msgstr "Client tunnel wijzigingen zijn tijdelijk en worden niet opgeslagen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "To make permanent client tunnel changes see the"
 msgstr "Om permanente client tunnel wijzigingen te maken zie de"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
 msgid "i2ptunnel page"
 msgstr "i2ptunnel pagina"
 
@@ -5170,19 +5324,19 @@ msgstr "i2ptunnel pagina"
 msgid "config UI"
 msgstr "configureer UI"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
 msgid "I2P UI Configuration"
 msgstr "I2P UI Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
 msgid "Router Console Theme"
 msgstr "Router Console Thema"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
 msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "Thema selectie is uitgeschakeld voor Internet Explorer, sorry."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
 msgid ""
 "If you're not using IE, it's likely that your browser is pretending to be "
 "IE; please configure your browser (or proxy) to use a different User Agent "
@@ -5192,11 +5346,11 @@ msgstr ""
 "IE; configureer je browser (of proxy) om een andere User Agent tekst te "
 "gebruiken indien je de console thema's wilt wijzigen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
 msgid "Router Console Language"
 msgstr "Router Console Taal"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
 msgid ""
 "Please contribute to the router console translation project! Contact the "
 "developers on IRC #i2p to help."
@@ -5204,7 +5358,7 @@ msgstr ""
 "Lever een bijdrage aan het router console vertaal project! Neem contact op "
 "met de ontwikkelaars op IRC #i2p om te helpen."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
 msgid "Apply"
 msgstr "Toepassen"
 
@@ -5212,63 +5366,63 @@ msgstr "Toepassen"
 msgid "config update"
 msgstr "configureer update"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
 msgid "I2P Update Configuration"
 msgstr "I2P Update Configuratie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
 msgid "Check for I2P and news updates"
 msgstr "Controlleer op I2P en nieuws updates"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
 msgid "News &amp; I2P Updates"
 msgstr "Nieuws &amp; I2P Updates"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
 msgid "Update In Progress"
 msgstr "Bezig Met Upgrade"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
 msgid "News URL"
 msgstr "Nieuws URL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Refresh frequency"
 msgstr "Ververs frequentie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update policy"
 msgstr "Update regels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Update through the eepProxy?"
 msgstr "Update door de eepProxy?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "eepProxy host"
 msgstr "eepProxy host"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "eepProxy port"
 msgstr "eepProxy poort"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
 msgid "Update URLs"
 msgstr "Update URLs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
 msgid "Trusted keys"
 msgstr "Vertrouwde sleutels"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
 msgid "Update with unsigned development builds?"
 msgstr "Update met niet ondertekende ontwikkel builds?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
 msgid "Unsigned Build URL"
 msgstr "Niet-ondertekende Build URL"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid ""
 "I2P updates are disabled because you do not have write permission for the "
 "install directory."
@@ -5276,7 +5430,7 @@ msgstr ""
 "I2P updates zijn uitgeschakeld omdat je geen schrijf rechten hebt op de "
 "installatie directory."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
 msgid "Save"
 msgstr "Opslaan"
 
@@ -5284,17 +5438,17 @@ msgstr "Opslaan"
 msgid "Page Not Found"
 msgstr "Pagina Niet Gevonden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
 msgid ""
 "Sorry! You appear to be requesting a non-existent Router Console page or "
 "resource."
 msgstr "Sorry! Je benadert een niet bestaande Router Console pagina of bron."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
 msgid "Error 404"
 msgstr "Fout 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
 msgid "not found"
 msgstr "niet gevonden"
 
@@ -5302,7 +5456,7 @@ msgstr "niet gevonden"
 msgid "graphs"
 msgstr "grafieken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
 msgid "I2P Performance Graphs"
 msgstr "I2P Prestatie Grafieken"
 
@@ -5314,7 +5468,7 @@ msgstr "start"
 msgid "job queue"
 msgstr "taak wachtrij"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
 msgid "I2P Router Job Queue"
 msgstr "I2P Router Taak wachtrij"
 
@@ -5322,35 +5476,50 @@ msgstr "I2P Router Taak wachtrij"
 msgid "logs"
 msgstr "logs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
 msgid "I2P Router Logs"
 msgstr "I2P Router Logs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:228
 msgid "I2P Version & Running Environment"
 msgstr "I2P Versie & Omgevingsinformatie"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:231
+#. note to translators - both parameters are URLs
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:232
+#, java-format
+msgid "Please report bugs on {0} or {1}."
+msgstr "Rapporteer bugs op {0} of {1}."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
 msgid ""
-"Please report bugs on <a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2."
-"i2p</a>."
+"You may use the username \"guest\" and password \"guest\" if you do not wish "
+"to register."
 msgstr ""
-"Rapporteer bugs op <a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</"
-"a>."
+"Indien je niet wilt registreren kan je de username \"guest\" en wachtwoord "
+"\"guest\" gebruiken."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:233
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
 msgid "Please include this information in bug reports"
 msgstr "Graag deze informatie in bug reports vermelden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:274
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
+msgid ""
+"Note that system information, log timestamps, and log messages may provide "
+"clues to your location; please review everything you include in a bug report."
+msgstr ""
+"Merk op dat systeem informatie, log timestamps en log berichten mogelijk "
+"aanwijzingen kunnen geven over je lokatie; controlleer daarom alles dat je in "
+"een bug report opneemt."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
 msgid "Critical Logs"
 msgstr "Kritieke Logs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:278
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
 msgid "Router Logs"
 msgstr "Router Logs"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
 msgid "Service (Wrapper) Logs"
 msgstr "Service (Wrapper) Logs"
 
@@ -5358,7 +5527,7 @@ msgstr "Service (Wrapper) Logs"
 msgid "network database summary"
 msgstr "samenvatting netwerk database"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
 msgid "I2P Network Database Summary"
 msgstr "Samenvatting I2P Netwerk Database "
 
@@ -5366,15 +5535,15 @@ msgstr "Samenvatting I2P Netwerk Database "
 msgid "WebApp Not Found"
 msgstr "WebApp Niet Gevonden"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
 msgid "Web Application Not Running"
 msgstr "Web Applicatie Draai Niet"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:233
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
 msgid "The requested web application is not running."
 msgstr "De gevraagde web applicatie draait niet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
 msgid ""
 "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</"
 "a> to start it."
@@ -5386,7 +5555,7 @@ msgstr ""
 msgid "peer connections"
 msgstr "peer connecties"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
 msgid "I2P Network Peers"
 msgstr "I2P Netwerk Peers"
 
@@ -5394,7 +5563,7 @@ msgstr "I2P Netwerk Peers"
 msgid "peer profiles"
 msgstr "peer profielen"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
 msgid "I2P Network Peer Profiles"
 msgstr "I2P Netwerk Peer Profielen"
 
@@ -5402,11 +5571,11 @@ msgstr "I2P Netwerk Peer Profielen"
 msgid "statistics"
 msgstr "statistieken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
 msgid "I2P Router Statistics"
 msgstr "I2P Router Statistieken"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248
 #, java-format
 msgid "Disable {0} Refresh"
 msgstr "{0} Verversing Uitschakelen"
@@ -5415,6 +5584,6 @@ msgstr "{0} Verversing Uitschakelen"
 msgid "tunnel summary"
 msgstr "tunnel samenvatting"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
 msgid "I2P Tunnel Summary"
 msgstr "I2P Tunnel Samenvatting"
diff --git a/apps/routerconsole/locale/messages_ru.po b/apps/routerconsole/locale/messages_ru.po
index 10d386c27f53637b232ed6cd8b166f5b151702e2..41f73635c55406ae0e18f1ba8d0df7582076b182 100644
--- a/apps/routerconsole/locale/messages_ru.po
+++ b/apps/routerconsole/locale/messages_ru.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-13 18:50+0000\n"
-"PO-Revision-Date: 2010-11-14 23:29+0500\n"
+"POT-Creation-Date: 2010-12-13 19:43+0000\n"
+"PO-Revision-Date: 2010-12-24 00:11+0500\n"
 "Last-Translator: Hidden Z <hiddenz@mail.i2p>\n"
 "Language-Team: \n"
 "Language: \n"
@@ -20,6 +20,71 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
 "X-Poedit-Bookmarks: 283,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 
+#. NOTE TO TRANSLATORS: Feel free to translate all these as you see fit, there are several options...
+#. spaces or not, '.' or not, plural or not. Try not to make it too long, it is used in
+#. a lot of tables.
+#. milliseconds
+#. Note to translators, may be negative or zero, 2999 maximum.
+#. {0,number,####} prevents 1234 from being output as 1,234 in the English locale.
+#. If you want the digit separator in your locale, translate as {0}.
+#. alternates: msec, msecs
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1092
+#, java-format
+msgid "1 ms"
+msgid_plural "{0,number,####} ms"
+msgstr[0] "{0,number,####} мс"
+msgstr[1] "{0,number,####} мс"
+msgstr[2] "{0,number,####} мс"
+
+#. seconds
+#. Note to translators: quantity will always be greater than one.
+#. alternates: secs, sec. 'seconds' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1097
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:354
+#, java-format
+msgid "1 sec"
+msgid_plural "{0} sec"
+msgstr[0] "{0} с."
+msgstr[1] "{0} с."
+msgstr[2] "{0} с."
+
+#. minutes
+#. Note to translators: quantity will always be greater than one.
+#. alternates: mins, min. 'minutes' is probably too long.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1102
+#, java-format
+msgid "1 min"
+msgid_plural "{0} min"
+msgstr[0] "{0} мин."
+msgstr[1] "{0} мин."
+msgstr[2] "{0} мин."
+
+#. hours
+#. Note to translators: quantity will always be greater than one.
+#. alternates: hrs, hr., hrs.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1107
+#, java-format
+msgid "1 hour"
+msgid_plural "{0} hours"
+msgstr[0] "{0} час"
+msgstr[1] "{0} часа"
+msgstr[2] "{0} часов"
+
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1109
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
+msgid "n/a"
+msgstr "нет данных"
+
+#. days
+#. Note to translators: quantity will always be greater than one.
+#: ../../../core/java/src/net/i2p/data/DataHelper.java:1113
+#, java-format
+msgid "1 day"
+msgid_plural "{0} days"
+msgstr[0] "{0} день"
+msgstr[1] "{0} дней"
+msgstr[2] "{0} дней"
+
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:126
 #, java-format
 msgid "Banned by router hash: {0}"
@@ -88,45 +153,35 @@ msgstr "Принимаем туннели"
 msgid "Rejecting tunnels"
 msgstr "Не принимаем туннели"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:50
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:67
 msgid "Ensure that nothing blocks outbound HTTP, check <a target=\"_top\" href=\"logs.jsp\">logs</a> and if nothing helps, read the <a target=\"_top\" href=\"http://www.i2p2.de/faq.html\">FAQ</a> about reseeding manually."
 msgstr "Убедитесь, что исходящие HTTP-запросы ничем не блокируются, загляните в <a href=logs.jsp>логи</a> и если ничто не помогло, прочтите в <a target=\"_top\" href=\"http://www.i2p2.de/faq.html\">FAQ</a> инструкцию по начальной загрузке вручную."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:82
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:100
 msgid "Reseeding"
 msgstr "Производится начальная загрузка"
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:146
-msgid "Reseeding: fetching seed URL."
-msgstr "Производится начальная загрузка: загружается URL каталога маршрутизаторов."
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:123
+#, java-format
+msgid "Reseed fetched only 1 router."
+msgid_plural "Reseed fetched only {0} routers."
+msgstr[0] "При начальной загрузке получены данные только об {0} роутере."
+msgstr[1] "При начальной загрузке получены данные только о {0} роутерах."
+msgstr[2] "При начальной загрузке получены данные только о {0} роутерах."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:152
-msgid "Last reseed failed fully (failed reading seed URL)."
-msgstr "Предыдущая попытка начальной загрузки полностью провалилась (не удалось загрузить URL каталога маршрутизаторов)"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:130
+msgid "Reseed failed."
+msgstr "Попытка начальной загрузки провалилась."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:178
-msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
-msgstr "Предыдущая попытка начальной загрузки полностью провалилась (не удалось найти список routerInfo-ссылок в загруженном каталоге)"
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:231
+msgid "Reseeding: fetching seed URL."
+msgstr "Производится начальная загрузка: загружается URL каталога маршрутизаторов."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:191
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:272
 #, java-format
 msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)."
 msgstr "Производится начальная загрузка: получение информации о маршрутизаторах ({0} удачно, {1} ошибок)."
 
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:212
-#, java-format
-msgid "Last reseed failed partly ({0}% of {1})."
-msgstr "Предыдущая попытка начальной загрузки частично не удалась ({0}% из {1})."
-
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:217
-#, java-format
-msgid "Last reseed failed ({0}% of {1})."
-msgstr "Предыдущая попытка начальной загрузки почти полностью провалилась ({0}% из {1})."
-
-#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:227
-msgid "Last reseed failed fully (exception caught)."
-msgstr "Предыдущая попытка начальной загрузки полностью провалилась (произошла необрабатываемая ошибка)."
-
 #: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510
 msgid "NetDb entry"
 msgstr "показать описание в NetDb"
@@ -150,13 +205,25 @@ msgid "{0} is used for outbound connections only"
 msgstr "{0} используется только для исходящих соединений"
 
 #: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:519
+msgid "Help"
+msgstr "Справка"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+msgid "Your transport connection limits are automatically set based on your configured bandwidth."
+msgstr "Лимиты транспортных соединений назначены автоматически на основе заданной вами пропускной способности."
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522
+msgid "To override these limits, add the settings i2np.ntcp.maxConnections=nnn and i2np.udp.maxConnections=nnn on the advanced configuration page."
+msgstr "Для переопределения этих лимитов добавьте параметры i2np.ntcp.maxConnections=nnn и i2np.udp.maxConnections=nnn на странице расширенных настроек."
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
 msgid "Definitions"
 msgstr "Условные обозначения"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1888
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35
@@ -166,149 +233,149 @@ msgstr "Условные обозначения"
 msgid "Peer"
 msgstr "Пир"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:520
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:525
 msgid "The remote peer, identified by router hash"
 msgstr "Уникальный идентификатор пира (несколько начальных символов из хеша его маршрутизатора)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:521
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
 msgid "Dir"
 msgstr "Направление"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:522
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:527
 msgid "Inbound connection"
 msgstr "Входящее соединение"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:524
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
 msgid "Outbound connection"
 msgstr "Исходящее соединение"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:526
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
 msgid "They offered to introduce us (help other peers traverse our firewall)"
 msgstr "Этот пир предлагает себя в качестве нашего посредника (для того, чтобы другие пиры могли соединяться с нами в обход нашего брандмауэра)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
 msgid "We offered to introduce them (help other peers traverse their firewall)"
 msgstr "Мы предлагаем себя в качестве посредника для этого пира (для того, чтобы другие пиры могли соединяться с ним в обход его брандмауэра)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 msgid "How long since a packet has been received / sent"
 msgstr "Сколько прошло времени после приёма/передачи последнего пакета"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
 msgid "Idle"
 msgstr "Неактивен"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1897
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
 msgid "In/Out"
 msgstr "Приём/Передача"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
 msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
 msgstr "Усреднённые скорости приёма / передачи (КБайт/сек) "
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 msgid "How long ago this connection was established"
 msgstr "Время жизни соединения"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902
 msgid "Up"
 msgstr "Подключен"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904
 msgid "Skew"
 msgstr "Сдвиг"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:532
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
 msgid "The difference between the peer's clock and your own"
 msgstr "Разница хода часов между пиром и нами"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
 msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
 msgstr "<i>Congestion Window.</i> Окно насыщения — количество байт, которое мы можем послать до ожидания подтверждения"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:534
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
 msgid "The number of sent messages awaiting acknowledgement"
 msgstr "Количество отправленных сообщений ожидающих подтверждения"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
 msgid "The maximum number of concurrent messages to send"
 msgstr "Максимальное количество параллельно отправляемых сообщений"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:536
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
 msgid "The number of pending sends which exceed congestion window"
 msgstr "Количество ожидающих посылок превосходящих размер окна насыщения"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
 msgid "The slow start threshold"
 msgstr "<i>Slow Start Threshold.</i> Величина порога медленного старта"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
 msgid "The round trip time in milliseconds"
 msgstr "<i>Round-Trip Time.</i> Время между отправкой запроса и получением ответа (миллисекунды)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914
 msgid "Dev"
 msgstr "Отклонение"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
 msgid "The standard deviation of the round trip time in milliseconds"
 msgstr "Среднеквадратическое отклонение RTT (миллисекунды)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
 msgid "The retransmit timeout in milliseconds"
 msgstr "<i>Retransmit Time-Out.</i> Время ожидания подтверждения перед повторной посылкой пакета (миллисекунды)"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546
 msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
 msgstr "<i>Maximum Transfer Unit.</i> Текущий максимальный размер исходящего пакета / максимальный размер принятого пакета (байт) "
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
 msgid "TX"
 msgstr "Передано"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547
 msgid "The total number of packets sent to the peer"
 msgstr "Общее количество посланных пиру пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
 msgid "RX"
 msgstr "Принято"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548
 msgid "The total number of packets received from the peer"
 msgstr "Общее количество принятых от пира пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926
 msgid "Dup TX"
 msgstr "Повт. принято"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549
 msgid "The total number of packets retransmitted to the peer"
 msgstr "Общее количество повторно посланных пиру пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928
 msgid "Dup RX"
 msgstr "Повт. передано"
 
-#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550
 msgid "The total number of duplicate packets received from the peer"
 msgstr "Общее количество повторно принятых от пира пакетов"
 
@@ -323,12 +390,12 @@ msgid "NTCP connections"
 msgstr "NTCP соединения"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883
 msgid "Limit"
 msgstr "Ограничение"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1884
 msgid "Timeout"
 msgstr "Таймаут"
 
@@ -341,13 +408,13 @@ msgid "Backlogged?"
 msgstr "В очереди?"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1947
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Inbound"
 msgstr "Входящие"
 
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1949
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
 msgid "Outbound"
 msgstr "Исходящие"
@@ -357,110 +424,110 @@ msgstr "Исходящие"
 msgid "peers"
 msgstr "пиров"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882
 msgid "UDP connections"
 msgstr "UDP соединения"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
 msgid "Sort by peer hash"
 msgstr "Сортировать по идентификатору пира"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1892
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
 msgid "Direction/Introduction"
 msgstr "Направление / Посредничество"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
 msgid "Sort by idle inbound"
 msgstr "Сортировать по неактивности приёма"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895
 msgid "Sort by idle outbound"
 msgstr "Сортировать по неактивности передачи"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1899
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
 msgid "Sort by inbound rate"
 msgstr "Сортировать по скорости приёма"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
 msgid "Sort by outbound rate"
 msgstr "Сортировать по скорости передачи"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903
 msgid "Sort by connection uptime"
 msgstr "Сортировать по времени жизни соединения"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1905
 msgid "Sort by clock skew"
 msgstr "Сортировать по расхождению часов"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1909
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908
 msgid "Sort by congestion window"
 msgstr "Сортировать по размеру окна насыщения"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910
 msgid "Sort by slow start threshold"
 msgstr "Сортировать по размеру порога медленного старта"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1914
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
 msgid "Sort by round trip time"
 msgstr "Сортировать по времени прохождения сигнала"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915
 msgid "Sort by round trip time deviation"
 msgstr "Сортировать по отклонению времени прохождения сигнала"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
 msgid "Sort by retransmission timeout"
 msgstr "Сортировать по таймауту передачи"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
 msgid "Sort by outbound maximum transmit unit"
 msgstr "Сортировать по размеру исходящего MTU"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
 msgid "Sort by packets sent"
 msgstr "Сортировать по количеству посланных пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
 msgid "Sort by packets received"
 msgstr "Сортировать по количеству принятых пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1928
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927
 msgid "Sort by packets retransmitted"
 msgstr "Сортировать по количеству повторно посланных пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1930
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1929
 msgid "Sort by packets received more than once"
 msgstr "Сортировать по количеству повторно принятых пакетов"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1951
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950
 msgid "We offered to introduce them"
 msgstr "Мы предлагаем себя в качестве посредника для этого пира"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1953
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952
 msgid "They offered to introduce us"
 msgstr "Этот пир предлагает себя в качестве нашего посредника"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1957
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1956
 msgid "Choked"
 msgstr "Дросселирован"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1965
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964
 msgid "1 fail"
 msgstr "1 сбой"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1967
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1966
 #, java-format
 msgid "{0} fails"
 msgstr "{0} сбоя(-ев)"
 
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1973
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1972
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
 msgid "Banned"
 msgstr "Забанен"
 
 #. buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
-#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2105
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2103
 msgid "SUMMARY"
 msgstr "ИТОГО"
 
@@ -1417,10 +1484,10 @@ msgid "Zimbabwe"
 msgstr "Зимбабве"
 
 #: ../java/src/net/i2p/router/web/CSSHelper.java:57
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:34
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:36
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:35
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:37
 #: ../java/strings/Strings.java:29
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:233
 msgid "I2P Router Console"
 msgstr "Консоль маршрутизатора I2P"
 
@@ -1439,22 +1506,22 @@ msgid "Error saving the configuration (applied but not saved) - please see the e
 msgstr "Не удалось сохранить настройки (применены, но не сохранены) — загляните в логи ошибок"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:335
 msgid "Save Client Configuration"
 msgstr "Сохранить настройки клиентов"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:347
 msgid "Save WebApp Configuration"
 msgstr "Сохранить настройки веб-апплетов"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:356
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:357
 msgid "Save Plugin Configuration"
 msgstr "Сохранить настройки плагинов"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:362
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:363
 msgid "Install Plugin"
 msgstr "Установить плагин"
 
@@ -1506,10 +1573,10 @@ msgstr "Индекс клиента не найден в списке."
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:387
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:397
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:379
 msgid "Client"
-msgstr "Клиент"
+msgstr "Клиентские"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
@@ -1584,7 +1651,7 @@ msgid "Edit"
 msgstr "Редактировать"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:30
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:331
 msgid "Add Client"
 msgstr "Добавить клиент"
 
@@ -1616,7 +1683,7 @@ msgstr "Плагин"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:271
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:180
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:185
 msgid "Version"
 msgstr "Версия"
 
@@ -1650,14 +1717,14 @@ msgstr "Остановить"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:313
 msgid "Check for updates"
 msgstr "Проверить обновления"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:230
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:237
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:242
 msgid "Update"
 msgstr "Обновление"
 
@@ -1671,12 +1738,12 @@ msgid "Delete"
 msgstr "Удалить"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:325
 msgid "Add key"
 msgstr "Добавить ключ"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:323
 msgid "Delete key"
 msgstr "Удалить ключ"
 
@@ -1768,7 +1835,7 @@ msgid "Select a class to add"
 msgstr "Выберите класс для добавления"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:199
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:204
 msgid "Network"
 msgstr "Сеть"
 
@@ -1777,8 +1844,8 @@ msgid "Service"
 msgstr "Служба"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:100
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:101
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:386
 #: ../java/strings/Strings.java:72
 msgid "Tunnels"
 msgstr "Туннели"
@@ -1792,7 +1859,7 @@ msgid "Clients"
 msgstr "Апплеты"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:293
 msgid "Keyring"
 msgstr "Ключи"
 
@@ -1801,15 +1868,15 @@ msgid "Logging"
 msgstr "Логи"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:106
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:255
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:107
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:260
 #: ../java/strings/Strings.java:67
 msgid "Peers"
 msgstr "Пиры"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:387
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:142
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:143
 msgid "Stats"
 msgstr "Статистика"
 
@@ -1819,13 +1886,13 @@ msgstr "Расширенные"
 
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:343
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:344
 msgid "Save changes"
 msgstr "Сохранить настройки"
 
@@ -1929,7 +1996,7 @@ msgid "or {0} bytes per month maximum"
 msgstr "или {0} байт/месяц максимум"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:315
 msgid "Ban peer until restart"
 msgstr "Забанить пира до перезапуска маршрутизатора"
 
@@ -1949,7 +2016,7 @@ msgid "Invalid peer"
 msgstr "Некорректное описание пира"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:28
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:317
 msgid "Unban peer"
 msgstr "Разбанить пира"
 
@@ -1962,9 +2029,9 @@ msgid "is not currently banned"
 msgstr "на данный момент не забанен"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:322
-msgid "Adjust Profile Bonuses"
-msgstr "Настроить бонусы для этого пира"
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:343
+msgid "Adjust peer bonuses"
+msgstr "Изменить бонусы"
 
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:47
 msgid "Bad speed value"
@@ -1977,7 +2044,7 @@ msgstr "Некорректное значение ёмкости"
 #. Normal browsers send value, IE sends button label
 #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:293
 msgid "Shutdown immediately"
 msgstr "Выключить немедленно"
 
@@ -2024,7 +2091,7 @@ msgid "Restart in {0}"
 msgstr "Перезапуск через {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:53
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:290
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:291
 msgid "Shutdown gracefully"
 msgstr "Выключить плавно"
 
@@ -2037,7 +2104,7 @@ msgid "Shutdown immediately!  boom bye bye bad bwoy"
 msgstr "Выключаем немедленно!"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:61
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:295
 msgid "Cancel graceful shutdown"
 msgstr "Отменить плавное выключение"
 
@@ -2046,7 +2113,7 @@ msgid "Graceful shutdown cancelled"
 msgstr "Плавное отключение отменено"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:64
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:307
 msgid "Graceful restart"
 msgstr "Перезапустить плавно"
 
@@ -2055,7 +2122,7 @@ msgid "Graceful restart requested"
 msgstr "Запущен плавный перезапуск"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:68
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:309
 msgid "Hard restart"
 msgstr "Перезапустить немедленно"
 
@@ -2080,22 +2147,22 @@ msgid "Rekeying after graceful shutdown"
 msgstr "Смена ключа после плавного выключения"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:80
-#: ../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:335
 msgid "Run I2P on startup"
 msgstr "Запускать I2P при старте"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:82
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:337
 msgid "Don't run I2P on startup"
 msgstr "Не запускать I2P при старте"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:84
-#: ../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:355
 msgid "Dump threads"
 msgstr "Вывести список потоков"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:91
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:323
 msgid "Show systray icon"
 msgstr "Показать значок статуса"
 
@@ -2114,7 +2181,7 @@ msgid "Warning: unable to contact the systray manager"
 msgstr "Предупреждение: Не удалось соединиться с менеджером области уведомлений"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:103
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:325
 msgid "Hide systray icon"
 msgstr "Спрятать значок статуса"
 
@@ -2123,7 +2190,7 @@ msgid "System tray icon disabled."
 msgstr "Выключен значок-индикатор статуса в области уведомлений."
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:115
-#: ../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:363
 msgid "View console on startup"
 msgstr "Открывать веб-консоль при запуске I2P"
 
@@ -2132,7 +2199,7 @@ msgid "Console is to be shown on startup"
 msgstr "Веб-консоль будет открываться при запуске I2P"
 
 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:118
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:365
 msgid "Do not view console on startup"
 msgstr "Не открывать веб-консоль при запуске I2P"
 
@@ -2156,29 +2223,29 @@ msgstr "Служба удалена"
 msgid "Warning: unable to remove the service"
 msgstr "Предупреждение: не удалось удалить службу"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:118
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:111
 msgid "Stat filter and location updated successfully to"
 msgstr "Обновлены настройки файла и фильтра статистики. Новый фильтр"
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:120
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:113
 msgid "Failed to update the stat filter and location"
 msgstr "Не удалось обновить настройки файла и фильтра статистики."
 
-#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:121
+#: ../java/src/net/i2p/router/web/ConfigStatsHandler.java:114
 msgid "Graph list updated, may take up to 60s to be reflected here and on the <a href=\"graphs.jsp\">Graphs Page</a>"
 msgstr "Список графиков обновлен, для обновления содержимого <a href=\"graphs.jsp\">страницы графиков</a> может потребоваться до 60 секунд."
 
 #. the count isn't really correct anyway, since we don't check for actual changes
 #. addFormNotice("Updated settings for " + updated + " pools.");
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:137
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:135
 msgid "Updated settings for all pools."
 msgstr "Обновлены настройки для всех пулов."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:140
 msgid "Exploratory tunnel configuration saved successfully."
 msgstr "Настройки зондирующих туннелей сохранены."
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:144
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:142
 #: ../java/src/net/i2p/router/web/ConfigUIHandler.java:36
 msgid "Error saving the configuration (applied but not saved) - please see the error logs."
 msgstr "Не удалось сохранить настройки (применены, но не сохранены) — загляните в логи ошибок"
@@ -2275,19 +2342,27 @@ msgstr "Français"
 msgid "German"
 msgstr "Deutsch"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
-msgid "Chinese"
-msgstr "中文"
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:51
+msgid "Spanish"
+msgstr "Испанский"
 
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Dutch"
 msgstr "Nederlands"
 
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+msgid "Portuguese"
+msgstr "Португальский"
+
 #: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
 msgid "Russian"
 msgstr "Русский"
 
-#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:52
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
+msgid "Chinese"
+msgstr "中文"
+
+#: ../java/src/net/i2p/router/web/ConfigUIHelper.java:53
 msgid "Swedish"
 msgstr "Svenska"
 
@@ -2336,7 +2411,7 @@ msgid "Updating unsigned update URL to"
 msgstr "Новый URL неподписанной тестовой сборки"
 
 #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "Never"
 msgstr "Никогда"
 
@@ -2356,83 +2431,87 @@ msgstr "Только скачать и проверить целостность
 msgid "Download, verify, and restart"
 msgstr "Скачать, проверить и обновить I2P"
 
-#: ../java/src/net/i2p/router/web/FormHandler.java:163
+#: ../java/src/net/i2p/router/web/FormHandler.java:174
 msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit."
 msgstr "Форма не принята, скорее всего это произошло из-за того, что Вы нажимали кнопку \"Назад\" или \"Обновить\" в браузере. Пожалуйста, заполните форму заново."
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:82
+#: ../java/src/net/i2p/router/web/GraphHelper.java:87
 msgid "Combined bandwidth graph"
 msgstr "График загрузки канала"
 
 #. e.g. "statname for 60m"
-#: ../java/src/net/i2p/router/web/GraphHelper.java:96
+#: ../java/src/net/i2p/router/web/GraphHelper.java:101
 #, java-format
 msgid "{0} for {1}"
 msgstr "{0} за {1}"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
 msgid "Configure Graph Display"
 msgstr "Настройка показа графиков"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:130
+#: ../java/src/net/i2p/router/web/GraphHelper.java:138
 msgid "Select Stats"
 msgstr "Выбрать параметры"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:132
+#: ../java/src/net/i2p/router/web/GraphHelper.java:142
 msgid "Periods"
 msgstr "Количество интервалов"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:133
+#: ../java/src/net/i2p/router/web/GraphHelper.java:143
 msgid "Plot averages"
 msgstr "Строить график средних значений"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:333
 msgid "or"
 msgstr "или"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:134
+#: ../java/src/net/i2p/router/web/GraphHelper.java:144
 msgid "plot events"
 msgstr "строить график количества событий"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
 msgid "Image sizes"
 msgstr "Размеры графиков"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:135
+#: ../java/src/net/i2p/router/web/GraphHelper.java:145
 msgid "width"
 msgstr "ширина"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
 msgid "height"
 msgstr "высота"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:136
-#: ../java/src/net/i2p/router/web/GraphHelper.java:137
+#: ../java/src/net/i2p/router/web/GraphHelper.java:146
+#: ../java/src/net/i2p/router/web/GraphHelper.java:147
 msgid "pixels"
 msgstr "пикселей"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "Refresh delay"
 msgstr "Интервал обновления"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "hour"
 msgstr "час"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "minute"
 msgstr "минута"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:138
+#: ../java/src/net/i2p/router/web/GraphHelper.java:148
 msgid "minutes"
 msgstr "минут(ы)"
 
-#: ../java/src/net/i2p/router/web/GraphHelper.java:139
+#: ../java/src/net/i2p/router/web/GraphHelper.java:149
 msgid "Redraw"
 msgstr "Перерисовать"
 
+#: ../java/src/net/i2p/router/web/GraphHelper.java:181
+msgid "Graph settings saved"
+msgstr "Настройки графиков сохранены"
+
 #: ../java/src/net/i2p/router/web/LogsHelper.java:13
 #: ../java/src/net/i2p/router/web/LogsHelper.java:37
 msgid "File location"
@@ -2442,7 +2521,7 @@ msgstr "Путь к лог-файлу"
 msgid "File not found"
 msgstr "Файл не найден"
 
-#: ../java/src/net/i2p/router/web/LogsHelper.java:50
+#: ../java/src/net/i2p/router/web/LogsHelper.java:52
 msgid "No log messages"
 msgstr "Нет сообщений"
 
@@ -2566,7 +2645,7 @@ msgstr "Показать полную запись"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:354
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:110
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:600
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
 msgid "Hidden"
 msgstr "Скрытый"
 
@@ -2619,12 +2698,12 @@ msgstr "NTCP и SSU"
 msgid "NTCP and SSU with introducers"
 msgstr "NTCP и SSU через посредников"
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:82
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:93
 #, java-format
 msgid "News last updated {0} ago."
 msgstr "Новости последний раз обновлялись {0} назад."
 
-#: ../java/src/net/i2p/router/web/NewsFetcher.java:88
+#: ../java/src/net/i2p/router/web/NewsFetcher.java:99
 #, java-format
 msgid "News last checked {0} ago."
 msgstr "Новости последний раз проверялись {0} назад."
@@ -2659,7 +2738,7 @@ msgid "Downloading plugin"
 msgstr "Загружается плагин"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:146
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:179
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:185
 #, java-format
 msgid "{0}B transferred"
 msgstr "{0} байт скачано"
@@ -2675,7 +2754,7 @@ msgid "Cannot create plugin directory {0}"
 msgstr "Не удалось создать директорию плагина {0}"
 
 #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:166
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:226
 #, java-format
 msgid "from {0}"
 msgstr "из {0}"
@@ -2769,22 +2848,22 @@ msgstr "Плагин {0} установлен, требуется перезап
 msgid "Plugin {0} installed"
 msgstr "Плагин {0} установлен"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:370
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:379
 #, java-format
 msgid "Plugin {0} installed and started"
 msgstr "Плагин {0} установлен и запущен"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:372
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:382
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
 msgstr "Плагин {0} установлен, но при его запуске произошел сбой, загляните в логи"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:374
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384
 #, java-format
 msgid "Plugin {0} installed but failed to start"
 msgstr "Плагин {0} установлен, но при его запуске произошел сбой"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:384
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:394
 #, java-format
 msgid "Failed to download plugin from {0}"
 msgstr "Не удалось скачать плагин из {0}"
@@ -2814,13 +2893,13 @@ msgstr "Входит в группы (Caps)"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:83
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:335
 msgid "Speed"
 msgstr "Скорость"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:84
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:253
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:339
 msgid "Capacity"
 msgstr "Ёмкость"
 
@@ -2851,7 +2930,7 @@ msgid "Failing"
 msgstr "Сбоит"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
 msgid "Integrated"
 msgstr "Интегрированные"
 
@@ -3000,10 +3079,6 @@ msgstr "забанен ли этот пир, недоступен, дает ош
 msgid "status"
 msgstr "статус"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:313
-msgid "n/a"
-msgstr "нет данных"
-
 #: ../java/src/net/i2p/router/web/ShitlistRenderer.java:57
 #, java-format
 msgid "Temporary ban expiring in {0}"
@@ -3019,323 +3094,369 @@ msgid "unban now"
 msgstr "разбанить"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:174
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:223
 msgid "Bandwidth usage"
 msgstr "Загрузка канала"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:181
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:230
 msgid "Outbound bytes/sec"
 msgstr "Исходящ. байт/сек"
 
 #. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3);
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:183
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:232
 msgid "Inbound bytes/sec"
 msgstr "Входящ. байт/сек"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
 msgid "bytes/sec"
 msgstr "байт/сек"
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:186
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:235
 msgid "out average"
 msgstr "исх. сред."
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:187
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:189
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:110
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:236
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:238
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:115
 msgid "max"
 msgstr "макс."
 
-#: ../java/src/net/i2p/router/web/StatSummarizer.java:188
+#: ../java/src/net/i2p/router/web/StatSummarizer.java:237
 msgid "in average"
 msgstr "вх. сред."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:56
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:57
 msgid "GO"
 msgstr "Перейти"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:59
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:60
 msgid "Statistics gathered during this router's uptime"
 msgstr "Статистика собрана за время с последнего запуска маршрутизатора"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:62
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:63
 msgid "The data gathered is quantized over a 1 minute period, so should just be used as an estimate."
 msgstr "Собираемые данные округляются за 1-минутные промежутки, поэтому используйте эту информацию только для приблизительной оценки."
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:108
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:64
+msgid "These statistics are primarily used for development and debugging."
+msgstr "Эта статистика в основном используется для разработки и отладки."
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:105
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
+msgid "No lifetime events"
+msgstr "Нет событий за время работы"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:116
 msgid "frequency"
 msgstr "частота"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:142
-msgid "No lifetime events"
-msgstr "Счетчик lifetime событий пуст"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:120
+msgid "Rolling average events per period"
+msgstr "Скользящее среднее количество событий за период"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:124
+msgid "Highest events per period"
+msgstr "Максимально количество событий за период"
+
+#. if (showAll && (curFreq.getMaxAverageEventsPerPeriod() > 0) && (curFreq.getAverageEventsPerPeriod() > 0) ) {
+#. buf.append("(current is ");
+#. buf.append(pct(curFreq.getAverageEventsPerPeriod()/curFreq.getMaxAverageEventsPerPeriod()));
+#. buf.append(" of max)");
+#. }
+#. buf.append(" <i>avg interval between updates:</i> (").append(num(curFreq.getAverageInterval())).append("ms, min ");
+#. buf.append(num(curFreq.getMinAverageInterval())).append("ms)");
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:135
+msgid "Lifetime average events per period"
+msgstr "Среднее количество событий за период"
+
+#. Display the strict average
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:140
+msgid "Lifetime average frequency"
+msgstr "Средняя частота за время работы"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:154
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:168
 msgid "rate"
 msgstr "интервал"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:156
-msgid "avg value"
-msgstr "среднее значение"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:170
+msgid "Average"
+msgstr "Среднее"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:185
-msgid "events"
-msgstr "событий"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:173
+msgid "Highest average"
+msgstr "Максимальное среднее"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:191
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:202
+#, java-format
+msgid "in this period which ended {0} ago."
+msgstr "в этом периоде который закончился {0} назад."
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:204
 msgid "No events"
 msgstr "Нет событий"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:197
-msgid "lifetime average"
-msgstr "среднее за время работы"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:210
+msgid "Average event count"
+msgstr "Среднее число событий"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:212
+msgid "Events in peak period"
+msgstr "Событий за период пика"
 
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:199
-msgid "peak average"
-msgstr "пиковое среднее"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:220
+msgid "Graph Data"
+msgstr "График данных"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:222
+msgid "Graph Event Count"
+msgstr "График количества событий"
+
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:225
+msgid "Export Data as XML"
+msgstr "Экспорт данных в XML"
 
 #. Display the strict average
-#: ../java/src/net/i2p/router/web/StatsGenerator.java:217
-msgid "lifetime average value"
-msgstr "среднее значение за время работы"
+#: ../java/src/net/i2p/router/web/StatsGenerator.java:230
+msgid "Lifetime average value"
+msgstr "Среднее значение за время работы"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:40
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:41
 msgid "I2P Router Help &amp; FAQ"
 msgstr "Справка и FAQ Маршрутизатора I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:42
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:43
 msgid "Help &amp; FAQ"
 msgstr "Справка и FAQ"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:54
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:55
 msgid "Configure startup of clients and webapps (services); manually start dormant services"
 msgstr "Настройка автозапуска клиентов и веб-апплетов, ручной запуск неактивных приложений"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:56
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:57
 msgid "I2P Services"
 msgstr "Сервисы I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:62
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:63
 msgid "Manage your I2P hosts file here (I2P domain name resolution)"
 msgstr "Здесь можно управлять hosts-файлами (единственный механизм, используемый I2P для отображения доменных имен)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:64
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:65
 msgid "Addressbook"
 msgstr "Адресная книга"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:68
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:69
 msgid "Built-in anonymous BitTorrent Client"
 msgstr "Встроенный анонимный Bittorrent-клиент"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:70
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:71
 msgid "Torrents"
 msgstr "Торренты"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:74
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:75
 msgid "Anonymous webmail client"
 msgstr "Анонимный почтовый клиент с веб-интерфейсом"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:76
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:77
 msgid "Webmail"
 msgstr "Веб-почта"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:80
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:81
 msgid "Anonymous resident webserver"
 msgstr "Встроенный анонимный веб-сервер"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:82
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:83
 msgid "Webserver"
 msgstr "Веб-сервер"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:90
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:91
 msgid "Configure I2P Router"
 msgstr "Настройка Маршрутизатора I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:92
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:93
 msgid "I2P Internals"
 msgstr "Настройки I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:98
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:374
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:99
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:384
 msgid "View existing tunnels and tunnel build status"
 msgstr "Обзор списка существующих туннелей и статуса строящихся"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:104
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:105
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258
 msgid "Show all current peer connections"
 msgstr "Просмотр списка текущих соединения с пирами"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:110
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:111
 msgid "Show recent peer performance profiles"
 msgstr "Просмотр профилей пиров"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:112
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:113
 msgid "Profiles"
 msgstr "Профили"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:116
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:117
 msgid "Show list of all known I2P routers"
 msgstr "Показать список всех известных I2P маршрутизаторов"
 
 # This term intentionally left in English
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:118
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:119
 msgid "NetDB"
 msgstr "NetDB"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:122
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:123
 msgid "Health Report"
 msgstr "Логи маршрутизатора"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:124
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:125
 msgid "Logs"
 msgstr "Логи"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:134
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:135
 msgid "Graph router performance"
 msgstr "График производительности маршрутизатора"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:136
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:137
 msgid "Graphs"
 msgstr "Графики"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:140
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:141
 msgid "Textual router performance statistics"
 msgstr "Статистика производительности маршрутизатора в текстовом виде"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:146
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:147
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:365
 msgid "Local Destinations"
 msgstr "Локальные туннели"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:148
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149
 #: ../java/strings/Strings.java:62
 msgid "I2PTunnel"
 msgstr "Менеджер туннелей"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:159
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:164
 msgid "I2P Router Help"
 msgstr "Справка Маршрутизатора I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:161
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
 msgid "General"
 msgstr "Общая информация"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:171
 msgid "Local Identity"
 msgstr "Локальный идентификатор"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:170
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175
 msgid "Your unique I2P router identity is"
 msgstr "Уникальный идентификатор Вашего I2P маршрутизатора:"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:174
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:179
 msgid "never reveal it to anyone"
 msgstr "никому его не показывайте."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:176
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:181
 msgid "show"
 msgstr "показать"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:187
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:192
 msgid "How long we've been running for this session"
 msgstr "Время работы маршрутизатора с последнего запуска"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:190
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:195
 msgid "Uptime"
 msgstr "Время работы"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:197
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:202
 msgid "Help with configuring your firewall and router for optimal I2P performance"
 msgstr "Помощь в настройке брандмауэра и маршрутизатора для обеспечения оптимальной производительности I2P"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:226
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:231
 msgid "Download"
 msgstr "Скачать"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:240
 msgid "Download Unsigned"
 msgstr "Скачать неподписанное"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:266
 msgid "Active"
 msgstr "Активные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:269
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
 msgid "Fast"
 msgstr "Быстрые"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281
 msgid "High capacity"
 msgstr "Высокоёмкие"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:293
 msgid "Known"
 msgstr "Известные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:302
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:308
 msgid "Help with firewall configuration"
 msgstr "Помощь в настройке брандмауэра"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:304
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:310
 msgid "Check NAT/firewall"
 msgstr "Проверьте настройки NAT/брандмауэров."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:324
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:330
 msgid "Reseed"
 msgstr "Повторить начальную загрузку"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:341
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:347
 msgid "Configure router bandwidth allocation"
 msgstr "Настройка ограничений скорости"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:343
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:349
 msgid "Bandwidth in/out"
 msgstr "Трафик (вх./исх.)"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:359
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:369
 msgid "Total"
 msgstr "Всего"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:366
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376
 msgid "Used"
-msgstr "Объем"
+msgstr "Объём"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:381
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:391
 msgid "Exploratory"
 msgstr "Зондирующие"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:393
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:403
 msgid "Participating"
 msgstr "Транзитные"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:399
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:409
 msgid "Share ratio"
 msgstr "Доля транзита"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:405
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:415
 msgid "What's in the router's job queue?"
 msgstr "Просмотр очереди заданий маршрутизатора."
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:407
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:417
 msgid "Congestion"
 msgstr "Занятость"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:422
 msgid "Job lag"
 msgstr "Задержка задач"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:418
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:428
 msgid "Message delay"
 msgstr "Задежка сообщений"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:424
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:434
 msgid "Tunnel lag"
 msgstr "Задержка туннелей"
 
-#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:430
+#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:440
 msgid "Backlog"
 msgstr "Очередь"
 
@@ -3349,7 +3470,7 @@ msgid "ERR-Clock Skew of {0}"
 msgstr "ОШИБКА - Часы сбиты (расхождение {0})"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:117
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:576
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:577
 msgid "OK"
 msgstr "OK"
 
@@ -3374,7 +3495,7 @@ msgid "WARN-Firewalled and Fast"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне и Быстрый"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:128
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:580
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
 msgid "Firewalled"
 msgstr "Заблокирован извне"
 
@@ -3395,7 +3516,7 @@ msgid "WARN-Firewalled with UDP Disabled"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован  извне при отключенном UDP"
 
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:143
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:596
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
 msgid "Testing"
 msgstr "Проверка"
 
@@ -3453,31 +3574,31 @@ msgid "shared clients"
 msgstr "коллективные клиенты"
 
 #. Note to translators: all runtime zh translation disabled in this file, no font available in RRD
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:84
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:89
 #, java-format
 msgid "events in {0}"
 msgstr "событий за {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:86
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:91
 #, java-format
 msgid "averaged for {0}"
 msgstr "усреднённое за {0}"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:96
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:101
 msgid "Events per period"
 msgstr "Событий за период"
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:109
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:114
 msgid "avg"
 msgstr "сред."
 
-#: ../java/src/net/i2p/router/web/SummaryRenderer.java:111
+#: ../java/src/net/i2p/router/web/SummaryRenderer.java:116
 msgid "now"
 msgstr "текущ."
 
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:63
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:280
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:287
 msgid "configure"
 msgstr "настроить"
 
@@ -3608,15 +3729,15 @@ msgstr "Всего"
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:66
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:132
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:145
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:172
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:178
 msgid "Updating"
 msgstr "Загружается обновление"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:88
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:116
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:183
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:208
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:189
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
 msgid "Update downloaded"
 msgstr "Обновление загружено"
 
@@ -3626,22 +3747,22 @@ msgid "Unsigned update file from {0} is corrupt"
 msgstr "Обнаружено повреждение в неподписанном обновлении загруженном из {0}"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:111
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
 msgid "Restarting"
 msgstr "Производится перезапуск"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:118
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:210
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:216
 msgid "Click Restart to install"
 msgstr "Перезапустите I2P-маршрутизатор для установки"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:120
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:212
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:218
 msgid "Click Shutdown and restart to install"
 msgstr "Остановите и снова запустите I2P-маршрутизатор для установки"
 
 #: ../java/src/net/i2p/router/web/UnsignedUpdateHandler.java:121
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:214
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
 #, java-format
 msgid "Version {0}"
 msgstr "Версия {0}"
@@ -3651,11 +3772,11 @@ msgstr "Версия {0}"
 msgid "Failed copy to {0}"
 msgstr "Не удалось скопировать в {0}"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:203
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:209
 msgid "Update verified"
 msgstr "Подлинность обновления проверена"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:228
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:234
 msgid "Transfer failed"
 msgstr "Не удалось загрузить"
 
@@ -3936,556 +4057,556 @@ msgid "config networking"
 msgstr "настройки сети"
 
 #. We have intl defined when this is included, but not when compiled standalone.
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:231
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:218
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:228
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:217
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:223
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:216
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:230
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:217
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:216
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:222
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:215
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:215
 msgid "Refresh (s)"
 msgstr "Интервал автообновления<br> панели (сек.)"
 
 #. ditto
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:235
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:222
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:232
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:221
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:227
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:224
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:238
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:234
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:221
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:226
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/oldconsole_jsp.java:223
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:237
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:219
 msgid "Enable"
 msgstr "Включить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:240
 msgid "I2P Network Configuration"
 msgstr "Настройки сетевых свойств I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:298
 msgid "Bandwidth limiter"
 msgstr "Ограничение скорости"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:300
 msgid "I2P will work best if you configure your rates to match the speed of your internet connection."
 msgstr "I2P будет работать лучше, если Вы настроите ограничение скорости в соответствии со скоростью Вашего подключения к Интернету."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:304
 msgid "KBps In"
 msgstr "Килобайт/секунду (на приём)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:318
 msgid "KBps Out"
 msgstr "Килобайт/секунду (на отдачу)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:334
 msgid "Share"
 msgstr "Доля транзитного трафика"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:340
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:307
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:341
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:304
 msgid "NOTE"
 msgstr "ПРИМЕЧАНИЕ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:343
 #, java-format
 msgid "You have configured I2P to share only {0} KBps."
 msgstr "Вы настроили очень низкий лимит для транзитного трафика (всего {0} килобайт/секунду)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
 msgid "I2P requires at least 12KBps to enable sharing. "
 msgstr "I2P нужно как минимум 12 килобайт/секунду для включения этой функции. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
 msgid "Please enable sharing (participating in tunnels) by configuring more bandwidth. "
 msgstr "Пожалуйста, повысьте долю транзитного трафика. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:348
 msgid "It improves your anonymity by creating cover traffic, and helps the network."
 msgstr "Это одновременно повысит Вашу анонимность (благодаря маскирующему транзитному трафику) и поможет сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:351
 #, java-format
 msgid "You have configured I2P to share {0} KBps."
 msgstr "Вы задали долю транзитного трафика {0} килобайт/секунду."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:353
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:354
 msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
 msgstr "Чем выше доля транзитного трафика, тем выше Ваша анонимность и больше Ваша помощь сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:357
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:513
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:303
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:326
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:320
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:337
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:373
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:341
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:321
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:364
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:321
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:322
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:365
 msgid "Cancel"
 msgstr "Отменить"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:374
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
 msgid "IP and Transport Configuration"
 msgstr "Настройки IP и транспортных протоколов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
 msgid "The default settings will work for most people."
 msgstr "Большинству пользователей подойдут настройки по умолчанию."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:378
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
 msgid "There is help below."
 msgstr "В конце страницы приведена справка по настройкам."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:380
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:381
 msgid "UPnP Configuration"
 msgstr "Настройки UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:384
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:385
 msgid "Enable UPnP to open firewall ports"
 msgstr "Использовать UPnP для автоматического открытия портов на брандмауэре/роутере"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:386
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
 msgid "UPnP status"
 msgstr "статус UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:388
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:389
 msgid "IP Configuration"
 msgstr "Настройки IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:390
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:460
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:391
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:461
 msgid "Externally reachable hostname or IP address"
 msgstr " Имя хоста или IP-адрес доступные из интернета"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:394
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
 msgid "Use all auto-detect methods"
 msgstr "Определять автоматически всеми доступными способами"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:398
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
 msgid "Disable UPnP IP address detection"
 msgstr "Определять автоматически (без использования UPnP)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:402
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:403
 msgid "Ignore local interface IP address"
 msgstr "Определять автоматически (без использования IP-адресов локальных сетевых интерфейсов)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:406
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:407
 msgid "Use SSU IP address detection only"
 msgstr "Определять автоматически (только через SSU)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:410
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:478
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:411
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
 msgid "Specify hostname or IP"
 msgstr "Задать хост или IP вручную"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:417
 msgid "Select Interface"
 msgstr "Выбрать сетевой интерфейс"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:430
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
 msgid "Hidden mode - do not publish IP"
 msgstr "Скрытый режим, не публиковать IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:432
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
 msgid "(prevents participating traffic)"
 msgstr "(такой режим предотвращает транзит трафика)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:434
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:435
 msgid "Action when IP changes"
 msgstr "Действие при смене IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:438
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:439
 msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
 msgstr "Режим мобильного компьютера:  автоматически менять идентификатор маршрутизатора и UDP-порт после смены IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:440
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:441
 msgid "Experimental"
 msgstr "экспериментальный режим, повышает анонимность"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:442
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:443
 msgid "UDP Configuration:"
 msgstr "Настройки UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:444
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:445
 msgid "UDP port:"
 msgstr "UDP-порт:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:458
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
 msgid "TCP Configuration"
 msgstr "Настройки TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:464
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:465
 msgid "Use auto-detected IP address"
 msgstr "Использовать автоматически определенный IP-адрес"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:466
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:498
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:467
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:499
 msgid "currently"
 msgstr "сейчас"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:470
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:471
 msgid "if we are not firewalled"
 msgstr "если входящий порт не заблокирован"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:474
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:475
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "Всегда использовать автоматически определенный IP-адрес"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:484
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
 msgid "Disable inbound (Firewalled)"
 msgstr "Отключить поддержку входящих соединений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:488
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:489
 msgid "Completely disable"
 msgstr "Полностью отключить поддержку TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:490
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:491
 msgid "(select only if behind a firewall that throttles or blocks outbound TCP)"
 msgstr "(используйте этот режим только при наличии в системе брандмауэра, который замедляет или блокирует исходящие TCP-соединения)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:492
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
 msgid "Externally reachable TCP port"
 msgstr "Доступный из интернета TCP-порт"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
 msgid "Use the same port configured for UDP"
 msgstr "Использовать настройки UDP-порта"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:505
 msgid "Specify Port"
 msgstr "Задать порт вручную"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:338
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:509
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:330
 msgid "Note"
 msgstr "ВНИМАНИЕ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
 msgid "Changing these settings will restart your router."
 msgstr "Изменение этих настроек повлечет перезапуск I2P маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:518
 msgid "Configuration Help"
 msgstr "Справка по настройкам сети"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:519
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:568
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:520
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:569
 msgid "While I2P will work fine behind most firewalls, your speeds and network integration will generally improve if the I2P port is forwarded for both UDP and TCP."
 msgstr "Хотя I2P без проблем работает за большинством брандмауэров, скорость и уровень интеграции в сеть будут гораздо лучше, если открыть порт Вашего I2P-маршрутизатора для UDP и TCP соединений из интернета."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:521
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:522
 msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
 msgstr "Попробуйте открыть доступ на Вашем брандмауэре для произвольных входящих UDP и TCP пакетов на порт I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:524
 msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
 msgstr "Ничего страшного, если такой возможности нет. I2P поддерживает UPnP (Universal Plug and Play) и обход NAT с помощью SSU-посредников."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:525
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:526
 msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
 msgstr "Настройки выше, в основном, предназначены для особых ситуаций. Например, некорректно сработал UPnP или возник конфликт брандмауэра и I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:528
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
 msgstr "Некоторые виды брандмауэров могут быть частично несовместимы с I2P (например, симметричные NAT)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:536
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
 msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
 msgstr "UPnP используется для взаимодействия с IGD (Internet Gateway Devices) при определении внешнего IP-адреса и переадресации портов."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:538
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
 msgid "UPnP support is beta, and may not work for any number of reasons"
 msgstr "Поддержка UPnP находится в разработке (бета-версия). В следующих случаях UPnP возможно не будет работать"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
 msgid "No UPnP-compatible device present"
 msgstr "Не обнаружено UPnP-совместимых устройств"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
 msgid "UPnP disabled on the device"
 msgstr "UPnP отключено на устройстве"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
 msgid "Software firewall interference with UPnP"
 msgstr "Программный брандмауэр мешает корректной работе UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
 msgid "Bugs in the device's UPnP implementation"
 msgstr "UPnP в устройстве реализовано с ошибками "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:548
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "Несколько маршрутизаторов/брандмауэров на пути к интернету"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:550
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
 msgid "UPnP device change, reset, or address change"
 msgstr "Смена/сброс UPnP-устройства или изменение адреса "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:552
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
 msgid "Review the UPnP status here."
 msgstr "Посмотреть статус UPnP можно тут."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:554
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
 msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
 msgstr "UPnP можно включить/выключить в настройках выше. Настройка вступит в силу только после перезапуска I2P-маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:556
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
 msgid "Hostnames entered above will be published in the network database."
 msgstr "Если Вы задали вручную имена хостов, они будут опубликованы в сетевой базе."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:558
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:559
 msgid "They are <b>not private</b>."
 msgstr "<b>Не вводите локальные внутрисетевые имена.</b>"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:560
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:561
 msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
 msgstr "Также <b>не вводите IP из локальных диапазонов</b>, такие как 127.0.0.1 или 192.168.1.1."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:562
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:563
 msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
 msgstr "Производительность Вашего соединения с I2P-сетью может сильно пострадать, если Вы введете неверный IP-адрес, неверное имя хоста или неправильно настроите NAT/брандмауэр."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:564
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "Если сомневаетесь — оставьте настройки по умолчанию."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:566
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:567
 msgid "Reachability Help"
 msgstr "Справка по статусу сетевой доступности"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:571
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:572
 msgid "If you think you have opened up your firewall and I2P still thinks you are firewalled, remember that you may have multiple firewalls, for example both software packages and external hardware routers."
 msgstr "Возможно Вы собственноручно открыли порт на Вашем брандмауэре, а I2P все еще показывает, что порт закрыт. Имейте в виду, что брандмауэров может быть несколько, например, локальный программный и внешний аппаратный."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:574
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
 msgid "If there is an error, the <a href=\"logs.jsp\">logs</a> may also help diagnose the problem."
 msgstr "В случае ошибок <a href=\"logs.jsp\">логи</a> могут помочь диагностировать проблему."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:578
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "Ваш UDP-порт доступен извне."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:582
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:583
 msgid "Your UDP port appears to be firewalled."
 msgstr "Ваш UDP-порт заблокирован брандмауэром и не может принимать входящие соединения."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:584
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:585
 msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
 msgstr "Иногда это сообщение не соответствует действительности (методы обнаружения брандмауэров пока не идеальны)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:586
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:587
 msgid "However, if it appears consistently, you should check whether both your external and internal firewalls are open for your port."
 msgstr "Но если оно появляется постоянно, Вам следует проверить, что на всех брандмауэрах порт для I2P открыт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:588
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
 msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
 msgstr "Повода для паники нет, I2P сможет работать даже с заблокированным портом при помощи заранее выбранных «посредников» для ретрансляции входящих соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:591
 msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
 msgstr "С другой стороны, при работе с открытым портом Вы получите гораздо больше транзитного трафика и сможете помочь сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:592
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
 msgid "If you think you have already done so, remember that you may have both a hardware and a software firewall, or be behind an additional, institutional firewall you cannot control."
 msgstr "Возможно Вы собственноручно открыли порт на Вашем брандмауэре, но ошибка всё равно появляется. Имейте в виду, что Вы можете быть одновременно за программным и аппаратным брандмауэрами или за дополнительным корпоративным брандмауэром (который Вы не можете контролировать)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:594
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
 msgid "Also, some routers cannot correctly forward both TCP and UDP on a single port, or may have other limitations or bugs that prevent them from passing traffic through to I2P."
 msgstr "Кроме того, некоторые маршрутизаторы не могут корректно переадресовать одновременно TCP и UDP на один порт или имеют другие ограничения, мешающие нормальному прохождению трафика до I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:598
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
 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:602
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
 msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
 msgstr "В настройках I2P-маршрутизатора запрещена публикация его адреса, как результат, маршрутизатор не ожидает входящих соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:604
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
 msgid "WARN - Firewalled and Fast"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне и Быстрый"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:606
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
 msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
 msgstr "Вы настроили долю транзитного трафика выше 128 килобайт/секунду, при этом у Вас заблокирован входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:608
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:609
 msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
 msgstr "I2P будет работать нормально в такой конфигурации, но Вы можете помочь сети разблокировав входящий порт, если у Вас действительно быстрый интернет."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:610
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
 msgid "WARN - Firewalled and Floodfill"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне и Floodfill"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:612
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
 msgid "You have configured I2P to be a floodfill router, but you are firewalled."
 msgstr "Вы настроили I2P работать в режиме floodfill-маршрутизатора, при этом у Вас заблокирован входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:614
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
 msgid "For best participation as a floodfill router, you should open your firewall."
 msgstr "Для оптимальной работы в качестве floodfill-маршрутизатора Вам нужно разблокировать входящий порт."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:616
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне при включенном на вход TCP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:618
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
 msgid "You have configured inbound TCP, however your UDP port is firewalled, and therefore it is likely that your TCP port is firewalled as well."
 msgstr "Вы разрешили входящие TCP-соединения, но при этом Ваш UDP-порт заблокирован, следовательно, скорее всего, TCP-порт тоже заблокирован."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:620
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
 msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
 msgstr "Если у Вас разрешены входящие TCP-соединения при заблокированном TCP-порте, то другие маршрутизаторы не смогут к Вам подсоединиться по TCP. Это повредит производительности сети. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:622
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
 msgid "Please open your firewall or disable inbound TCP above."
 msgstr "Пожалуйста, проверьте состояние TCP-порта и разблокируйте его или отключите поддержку входящих TCP-соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:624
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:625
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "ПРЕДУПРЕЖДЕНИЕ - Заблокирован извне при отключенном UDP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:626
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
 msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "Вы отключили поддержку UDP, однако Ваш TCP-порт заблокирован и в результате Ваш маршрутизатор не может принимать входящие соединения."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:628
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
 msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
 msgstr " "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:630
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
 msgid "Please open your firewall or enable UDP."
 msgstr "Пожалуйста, разблокируйте порт или включите поддержку UDP."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:632
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
 msgid "ERR - Clock Skew"
 msgstr "ОШИБКА - Часы сбиты"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:634
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
 msgid "Your system's clock is skewed, which will make it difficult to participate in the network."
 msgstr "Ваши системные часы сильно отстают/спешат. Это помешает Вашему участию в сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:636
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
 msgid "Correct your clock setting if this error persists."
 msgstr "Поправьте настройки времени, если Вы постоянно видите это сообщение об ошибке."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:638
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
 msgid "ERR - Private TCP Address"
 msgstr "ОШИБКА - Частный TCP Адрес"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:640
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
 msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
 msgstr "Не публикуйте локальные IP-адреса (такие как 127.0.0.1 или 192.168.1.1) в качестве своего внешнего IP-адреса."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:642
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:643
 msgid "Correct the address or disable inbound TCP above."
 msgstr "Исправьте адрес или отключите поддержку входящих TCP-соединений."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:644
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
 msgid "ERR - SymmetricNAT"
 msgstr "ОШИБКА - Симметричный NAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:646
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:647
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr "I2P обнаружил, что Вы за симметричным NAT."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:648
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
 msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
 msgstr "I2P не очень хорошо работает за таким типом брандмауэров. Скорее всего Вы не сможете принимать входящие соединения и это снизит эффективность Вашего участия в сети."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:650
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:651
 msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "ОШИБКА - UDP-порт уже занят - перенастройте i2np.udp.internalPort=xxxx в дополнительных настройках и перезапустите маршрутизатор"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:652
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
 msgid "I2P was unable to bind to port 8887 or other configured port."
 msgstr "I2P не удалось связать порт 8887 (или тот, что у Вас настроен)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:654
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
 msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
 msgstr "Проверьте, не занят ли этот порт другим приложением. Если такое приложение нашлось, остановите его или задайте другой порт в настройках I2P."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:656
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:657
 msgid "This may be a transient error, if the other program is no longer using the port."
 msgstr " "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:658
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
 msgid "However, a restart is always required after this error."
 msgstr "После возникновения этой ошибки необходим перезапуск I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:660
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:661
 msgid "ERR - UDP Disabled and Inbound TCP host/port not set"
 msgstr "ОШИБКА - UDP отключено и не заданы адрес/порт для входящих TCP-соединений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:662
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:663
 msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
 msgstr "Вы не задали адрес/порт для входящих TCP-соединений и одновременно отключили поддержку UDP, в результате Ваш маршрутизатор не может принимать входящие соединения."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:664
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:665
 msgid "Therefore your router cannot accept inbound connections."
 msgstr " "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:666
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:667
 msgid "Please configure a TCP host and port above or enable UDP."
 msgstr "Пожалуйста, настройте адрес/порт для TCP или включите поддержку UDP."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:668
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:669
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "ОШИБКА - ошибка менеджера I2CP - загляните в логи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:670
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:671
 msgid "This is usually due to a port 7654 conflict. Check the logs to verify."
 msgstr "Эта ошибка обычно возникает из-за конфликта порта 7654. Загляните в логи чтобы убедиться."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:672
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:673
 msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
 msgstr "Не запущена ли у вас ещё одна копия I2P? Остановите вызвавшую конфликт программу и перезапустите I2P."
 
@@ -4493,15 +4614,15 @@ msgstr "Не запущена ли у вас ещё одна копия I2P? О
 msgid "config advanced"
 msgstr "дополнительные настройки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:241
 msgid "I2P Advanced Configuration"
 msgstr "Дополнительные настройки I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:301
 msgid "Advanced I2P Configuration"
 msgstr "Дополнительные настройки I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:311
 msgid "Some changes may require a restart to take effect."
 msgstr "Для вступления некоторых изменений в силу может потребоваться перезапуск I2P-маршрутизатора."
 
@@ -4509,52 +4630,52 @@ msgstr "Для вступления некоторых изменений в с
 msgid "config clients"
 msgstr "настройки клиентов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:243
 msgid "I2P Client Configuration"
 msgstr "Настройки клиентов I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:312
 msgid "Client Configuration"
 msgstr "Настройки клиентов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:314
 msgid "The Java clients listed below are started by the router and run in the same JVM."
 msgstr "Перечисленные ниже Java-клиенты запускаются маршрутизатором внутри своей JVM."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:318
 msgid "To change other client options, edit the file"
 msgstr "Для изменения других клиентских настроек отредактируйте файл"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:325
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:345
 msgid "All changes require restart to take effect."
 msgstr "Для вступления изменённых настроек в силу потребуется перезапуск маршрутизатора."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:337
 msgid "WebApp Configuration"
 msgstr "Настройки веб-апплетов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:339
 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 веб-апплеты запускаются консолью маршрутизатора внутри JVM маршрутизатора. Обычно эти приложения доступны через консоль маршрутизатора. Это могут быть как самостоятельные приложения (например, i2psnark), так и интерфейсы к другим приложениям или клиентам, которые надо включать отдельно (например, susidns, i2ptunnel), либо могут вообще не иметь веб-интерфейса (например, addressbook)."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:341
 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 "Веб-апплет также можно отключить, просто удалив .war-файл из директории webapps. Однако при  обновлении маршрутизатора и .war-файл и соответствующее приложение будут возвращены на свои места, поэтому отключение веб-апплетов через эту страницу это более корректный способ."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:351
 msgid "Plugin Configuration"
 msgstr "Настройки плагинов"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:353
 msgid "The plugins listed below are started by the webConsole client."
 msgstr "Перечисленные ниже плагины запускаются клиентом webConsole."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:359
 msgid "Plugin Installation"
 msgstr "Установка плагина"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:361
 msgid "To install a plugin, enter the download URL:"
 msgstr "Для установки нового плагина введите URL:"
 
@@ -4562,39 +4683,39 @@ msgstr "Для установки нового плагина введите URL
 msgid "config keyring"
 msgstr "настройки ключей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:227
 msgid "I2P Keyring Configuration"
 msgstr "Настройки связки ключей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:294
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:295
 msgid "The router keyring is used to decrypt encrypted leaseSets."
 msgstr "Маршрутизатор использует связку ключей для дешифровки зашифрованных LeaseSet."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:297
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:298
 msgid "The keyring may contain keys for local or remote encrypted destinations."
 msgstr "Связка ключей может хранить ключи как для локальных, так и для удаленных зашифрованных адресов назначения."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:308
 msgid "Manual Keyring Addition"
 msgstr "Добавление ключей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:310
 msgid "Enter keys for encrypted remote destinations here."
 msgstr "Здесь добавляются ключи для удаленных адресов назначения."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:313
 msgid "Keys for local destinations must be entered on the"
 msgstr "Ключи для локальных адресов назначения настраиваются в"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:315
 msgid "I2PTunnel page"
 msgstr "Менеджере Туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:317
 msgid "Dest. name, hash, or full key"
 msgstr "Имя адреса назначения, хэш или полный ключ"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:319
 msgid "Encryption Key"
 msgstr "Ключ шифрования"
 
@@ -4602,55 +4723,55 @@ msgstr "Ключ шифрования"
 msgid "config logging"
 msgstr "настройки логирования"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:241
 msgid "I2P Logging Configuration"
 msgstr "Настройки логирования I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
 msgid "Configure I2P Logging Options"
 msgstr "Настройка опций логирования I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:301
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:303
 msgid "Logging filename"
 msgstr "Лог-файл"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
 msgid "(the symbol '@' will be replaced during log rotation)"
 msgstr "(во время ротации лога символ @  будет заменен на номер)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:309
 msgid "Log record format"
 msgstr "Формат записи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
 msgid "(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 'm' = message)"
 msgstr "(d = дата, c = класс, t = поток, p = приоритет, m = сообщение)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:313
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:315
 msgid "Log date format"
 msgstr "Формат даты"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:317
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
 msgid "('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' = second, 'SSS' = millisecond)"
 msgstr "(MM = месяц, dd = день, HH = часы, mm = минуты, ss = секунды, SSS = миллисекунды)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:321
 msgid "Max log file size"
 msgstr "Максимальный размер лог-файла"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:325
 msgid "Default log level"
 msgstr "Уровень детализации по умолчанию"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
 msgid "(DEBUG and INFO are not recommended defaults, as they will drastically slow down your router)"
 msgstr "(не рекомендуется использовать уровни DEBUG и INFO для постоянного использования, так как они сильно замедлят работу Вашего маршрутизатора)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:329
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:331
 msgid "Log level overrides"
 msgstr "Переопределения уровня логирования"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:333
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configlogging_jsp.java:335
 msgid "New override"
 msgstr "Новое переопределение"
 
@@ -4658,40 +4779,40 @@ msgstr "Новое переопределение"
 msgid "config peers"
 msgstr "настройки пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:227
 msgid "I2P Peer Configuration"
 msgstr "Настройки пиров I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:305
 msgid "Manual Peer Controls"
 msgstr "Ручное управление пирами"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:307
 msgid "Router Hash"
 msgstr "Хеш маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:311
 msgid "Manually Ban / Unban a Peer"
 msgstr "Вручную забанить/разбанить этого пира"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:313
 msgid "Banning will prevent the participation of this peer in tunnels you create."
 msgstr "Бан запретит участие указанного пира в создаваемых Вами туннелях."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:323
+msgid "Adjust Profile Bonuses"
+msgstr "Настроить бонусы для этого пира"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:325
 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 "Бонусы могут быть положительными и отрицательными и вводятся для управления включением пира в группы «Быстрые» и «Высокоёмкие»  (Быстрые пиры используются для построения клиентских туннелей, Высокоёмкие пиры используются для некоторых зондирующих туннелей). Текущие бонусы можно посмотреть на"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:327
 msgid "profiles page"
 msgstr "странице профилей пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:342
-msgid "Adjust peer bonuses"
-msgstr "Изменить бонусы"
-
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:344
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:345
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:251
 msgid "Banned Peers"
 msgstr "Забаненные пиры"
 
@@ -4703,94 +4824,94 @@ msgstr "Забаненные IP-адреса"
 msgid "config service"
 msgstr "настройки службы"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:227
 msgid "I2P Service Configuration"
 msgstr "Настройки службы I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:285
 msgid "Shutdown the router"
 msgstr "Выключить маршрутизатор"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:286
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:287
 msgid "Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes."
 msgstr "Плавное выключение позволяет маршрутизатору перед остановкой отработать все поставленные задачи, но при этом на процесс выключения потребуется дополнительное время."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:288
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:289
 msgid "If you need to kill the router immediately, that option is available as well."
 msgstr "Если маршрутизатор должен быть выключен немедленно, Вы можете выбрать соответствующую команду."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:298
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:299
 msgid "If you want the router to restart itself after shutting down, you can choose one of the following."
 msgstr "Иногда, Вам нужно перегрузить маршрутизатор (например, после изменения базовых настроек, которые считываются приложением только во время запуска). В этом случае, Вам доступны два варианта. Плавный перезапуск займет несколько минут (но зато пиры, использующие Ваш маршрутизатор, будут Вам благодарны за терпение). Если Вы не можете ждать, выбирайте немедленный перезапуск. В случае немедленного перезапуска маршрутизатор запустится через одну минуту."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:301
 msgid "This is useful in some situations - 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 " "
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:303
 msgid "A graceful restart will take a few minutes (but your peers will appreciate your patience), while a hard restart does so immediately."
 msgstr " "
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:305
 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:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:315
 msgid "Systray integration"
 msgstr "Интеграция в область уведомлений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:317
 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:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:319
 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:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:321
 msgid "If you are on windows, you can either enable or disable that icon here."
 msgstr "Если Вы пользуетесь I2P под Windows, то здесь Вы можете настроить отображение этого значка."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:327
 msgid "Run on startup"
 msgstr "Автоматический запуск I2P"
 
-#: ../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:329
 msgid "You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly."
 msgstr "Вы можете настроить автоматическую загрузку маршрутизатора при каждом запуске Windows. В зависимости от выбранной кнопки I2P немедленно установит или удалит свою службу из списка служб Windows."
 
-#: ../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:331
 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:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:341
 msgid "If you are running I2P as service right now, removing it will shut down your router immediately."
 msgstr "Если служба I2P уже была запущена, при выборе варианта <b>\"Не запускать I2P при старте\"</b> маршрутизатор будет моментально остановлен."
 
-#: ../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:343
 msgid "You may want to consider shutting down gracefully, as above, then running uninstall_i2p_service_winnt.bat."
 msgstr "Возможно лучше плавно остановить маршрутизатор и после этого запустить файл C:\\Program Files\\I2P\\uninstall_i2p_service_winnt.bat."
 
-#: ../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:347
 msgid "Debugging"
 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:349
 msgid "View the job queue"
 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:353
 msgid "At times, it may be helpful to debug I2P by getting a thread dump. To do so, please select the following option and review the thread dumped to <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
 msgstr "В некоторых случаях для отладки может пригодиться список состояний потоков I2P-маршутизатора. Для получения такого списка нажмите эту кнопку. Список будет сохранен в файле <a href=\"logs.jsp#servicelogs\">wrapper.log</a>."
 
-#: ../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:359
 msgid "Launch browser on router startup?"
 msgstr "Запускать браузер при старте I2P?"
 
-#: ../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:361
 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 "Основной интерфейс настройки I2P это веб-консоль. Здесь можно выбрать автоматическое открытие при запуске маршрутизатора страницы"
 
@@ -4798,44 +4919,44 @@ msgstr "Основной интерфейс настройки I2P это веб
 msgid "config stats"
 msgstr "настройки статистики"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:228
 msgid "I2P Stats Configuration"
 msgstr "Настройки статистики I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
 msgid "Configure I2P Stat Collection"
 msgstr "Настройки сбора статистики I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:304
 msgid "Enable full stats?"
 msgstr "Включить полную статистику?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
 msgid "change requires restart to take effect"
 msgstr "изменения вступят в силу только после перезапуска маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:313
 msgid "Stat file"
 msgstr "Файл статистики"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
 msgid "Filter"
 msgstr "Фильтр"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:317
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
 msgid "toggle all"
 msgstr "переключить все"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
 msgid "Log"
 msgstr "Лог"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:332
 msgid "Graph"
 msgstr "График"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:369
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configstats_jsp.java:371
 msgid "Advanced filter"
 msgstr "Дополнительный фильтр"
 
@@ -4843,44 +4964,44 @@ msgstr "Дополнительный фильтр"
 msgid "config tunnels"
 msgstr "настройки туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:240
 msgid "I2P Tunnel Configuration"
 msgstr "Настройки туннелей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:305
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:306
 msgid "The default settings work for most people."
 msgstr "Большинству пользователей подойдут настройки по умолчанию. "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:310
 msgid "There is a fundamental tradeoff between anonymity and performance."
 msgstr "Примите во внимание, что между анонимностью и эффективностью есть обратная связь — длинные туннели более анонимны, но хуже работают."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:312
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:313
 msgid "Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops), or a high quantity + backup quantity, may severely reduce performance or reliability."
 msgstr " Туннели длиннее 3 хопов, а также большое количество туннелей (как обычных, так и резервных) могут привести к снижению производительности/надежности работы маршрутизатора."
 
 # This string intentionally left blank
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:316
 msgid "High CPU and/or high outbound bandwidth usage may result."
 msgstr " "
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:319
 msgid "Change these settings with care, and adjust them if you have problems."
 msgstr "Осторожно вносите изменения в существующие настройки и возвращайте в положение по умолчанию, если у Вас возникли проблемы."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:333
 msgid "Exploratory tunnel setting changes are stored in the router.config file."
 msgstr "Настройки зондирующих туннелей сохраняются в файле router.config."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:335
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:336
 msgid "Client tunnel changes are temporary and are not saved."
 msgstr "Настройки клиентских туннелей нигде не сохраняются и действуют только до перезапуска."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:337
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:338
 msgid "To make permanent client tunnel changes see the"
 msgstr "Для задания перманентных изменений в настройках клиентских туннелей воспользуйтесь"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configtunnels_jsp.java:340
 msgid "i2ptunnel page"
 msgstr "менеджером туннелей"
 
@@ -4888,31 +5009,31 @@ msgstr "менеджером туннелей"
 msgid "config UI"
 msgstr "настройки интерфейса"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:241
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:240
 msgid "I2P UI Configuration"
 msgstr "Настройки пользовательского интерфейса I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:291
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:292
 msgid "Router Console Theme"
 msgstr "Тема оформления консоли маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:310
 msgid "Theme selection disabled for Internet Explorer, sorry."
 msgstr "Переключатель тем отключен для Internet Explorer, извините"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:312
 msgid "If you're not using IE, it's likely that your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes."
 msgstr "Если вы не используете IE, то, скорее всего, Ваш браузер сконфигурирован представляться как IE. Пожалуйста измените строку User-Agent в настройках Вашего браузера (или прокси-сервера), если хотите использовать темы оформления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:316
 msgid "Router Console Language"
 msgstr "Язык консоли маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:319
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:320
 msgid "Please contribute to the router console translation project! Contact the developers on IRC #i2p to help."
 msgstr "Пожалуйста, помогите проекту перевода консоли маршрутизатора! Разработчики доступны для связи на IRC-канале #i2p"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:323
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:324
 msgid "Apply"
 msgstr "Применить"
 
@@ -4920,67 +5041,67 @@ msgstr "Применить"
 msgid "config update"
 msgstr "настройки обновления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:227
 msgid "I2P Update Configuration"
 msgstr "Настройки обновлений I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:302
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:303
 msgid "Check for I2P and news updates"
 msgstr "Настройки проверки обновлений и новостей I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:304
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:305
 msgid "News &amp; I2P Updates"
 msgstr "Новости и обновления I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:308
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:309
 msgid "Update In Progress"
 msgstr "Выполняется обновление"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:316
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:317
 msgid "News URL"
 msgstr "URL новостей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:321
 msgid "Refresh frequency"
 msgstr "Интервал проверки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:326
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:327
 msgid "Update policy"
 msgstr "Режим обновления"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:330
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:331
 msgid "Update through the eepProxy?"
 msgstr "Обновлять через I2P-прокси?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:335
 msgid "eepProxy host"
 msgstr "Адрес I2P-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:339
 msgid "eepProxy port"
 msgstr "Порт I2P-прокси"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:342
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:343
 msgid "Update URLs"
 msgstr "URL обновлений"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:347
 msgid "Trusted keys"
 msgstr "Доверенные ключи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:351
 msgid "Update with unsigned development builds?"
 msgstr "Обновлять до неподписанной тестовой сборки?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:355
 msgid "Unsigned Build URL"
 msgstr "URL неподписанной тестовой сборки"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:360
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:361
 msgid "I2P updates are disabled because you do not have write permission for the install directory."
 msgstr "Функция автообновления I2P недоступна: у Вас нет прав на запись в директорию I2P."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:367
 msgid "Save"
 msgstr "Сохранить"
 
@@ -4988,15 +5109,15 @@ msgstr "Сохранить"
 msgid "Page Not Found"
 msgstr "Страница не найдена"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:243
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:242
 msgid "Sorry! You appear to be requesting a non-existent Router Console page or resource."
 msgstr "Страница консоли маршрутизатора, которую вы запросили, не существует."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:245
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:244
 msgid "Error 404"
 msgstr "Ошибка 404"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:249
 msgid "not found"
 msgstr "не найдено"
 
@@ -5004,7 +5125,7 @@ msgstr "не найдено"
 msgid "graphs"
 msgstr "графики"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:228
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:227
 msgid "I2P Performance Graphs"
 msgstr "Графики производительности I2P"
 
@@ -5016,7 +5137,7 @@ msgstr "Домашняя страница"
 msgid "job queue"
 msgstr "очередь заданий"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/jobs_jsp.java:226
 msgid "I2P Router Job Queue"
 msgstr "Очередь заданий маршрутизатора I2P"
 
@@ -5024,31 +5145,41 @@ msgstr "Очередь заданий маршрутизатора I2P"
 msgid "logs"
 msgstr "логи"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:226
 msgid "I2P Router Logs"
 msgstr "Логи маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:229
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:228
 msgid "I2P Version & Running Environment"
 msgstr "Версия I2P & Информация о среде выполнения"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:231
-msgid "Please report bugs on <a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>."
-msgstr "Сообщайте об ошибках в багтрекер проекта I2P: <a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>."
+#. note to translators - both parameters are URLs
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:232
+#, java-format
+msgid "Please report bugs on {0} or {1}."
+msgstr "Пожалуйста сообщайте об ошибках в багтрекер по адресу {0} или {1}."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:236
+msgid "You may use the username \"guest\" and password \"guest\" if you do not wish to register."
+msgstr "Вы можете использовать имя пользователя \"guest\" и пароль \"guest\" если не хотите регистрироваться."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:233
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:238
 msgid "Please include this information in bug reports"
 msgstr "Пожалуйста, добавляйте эту информацию в Ваши сообщения об ошибках"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:274
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:266
+msgid "Note that system information, log timestamps, and log messages may provide clues to your location; please review everything you include in a bug report."
+msgstr "Имейте в виду, что информация о системе, временные метки в логах, и сами логи могут помочь выявить ваше местоположение; пожалуйста проверьте всё, что вы включаете в сообщение об ошибке."
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:281
 msgid "Critical Logs"
 msgstr "Логи критических ошибок"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:278
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:285
 msgid "Router Logs"
 msgstr "Логи маршрутизатора"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:284
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:291
 msgid "Service (Wrapper) Logs"
 msgstr "Логи службы (wrapper)"
 
@@ -5056,7 +5187,7 @@ msgstr "Логи службы (wrapper)"
 msgid "network database summary"
 msgstr "сетевая база данных"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/netdb_jsp.java:226
 msgid "I2P Network Database Summary"
 msgstr "Обзор сетевой базы данных I2P"
 
@@ -5064,15 +5195,15 @@ msgstr "Обзор сетевой базы данных I2P"
 msgid "WebApp Not Found"
 msgstr "Веб-апплет не найден"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:230
 msgid "Web Application Not Running"
 msgstr "Веб-приложение не запущено"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:233
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:232
 msgid "The requested web application is not running."
 msgstr "Запрошенное веб-приложение не запущено."
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:235
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/nowebapp_jsp.java:234
 msgid "Please visit the <a href=\"/configclients.jsp#webapp\">config clients page</a> to start it."
 msgstr "Пожалуйста, запустите его со <a href=\"/configclients.jsp#webapp\">страницы настроек веб-апплетов</a>."
 
@@ -5080,7 +5211,7 @@ msgstr "Пожалуйста, запустите его со <a href=\"/configcl
 msgid "peer connections"
 msgstr "обзор пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/peers_jsp.java:226
 msgid "I2P Network Peers"
 msgstr "Соединения с пирами I2P"
 
@@ -5088,7 +5219,7 @@ msgstr "Соединения с пирами I2P"
 msgid "peer profiles"
 msgstr "профили пиров"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/profiles_jsp.java:226
 msgid "I2P Network Peer Profiles"
 msgstr "Профили пиров сети I2P"
 
@@ -5096,20 +5227,62 @@ msgstr "Профили пиров сети I2P"
 msgid "statistics"
 msgstr "статистика"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/stats_jsp.java:243
 msgid "I2P Router Statistics"
 msgstr "Статистика маршрутизатора I2P"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/summaryframe_jsp.java:248
 #, java-format
 msgid "Disable {0} Refresh"
-msgstr "Отключить автообновление<br> панели ({0})"
+msgstr "Отключить {0} автообновление"
 
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:105
 msgid "tunnel summary"
 msgstr "обзор туннелей"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/tunnels_jsp.java:226
 msgid "I2P Tunnel Summary"
 msgstr "Обзор туннелей I2P"
 
+#~ msgid "Last reseed failed fully (failed reading seed URL)."
+#~ msgstr ""
+#~ "Предыдущая попытка начальной загрузки полностью провалилась (не удалось "
+#~ "загрузить URL каталога маршрутизаторов)"
+
+#~ msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
+#~ msgstr ""
+#~ "Предыдущая попытка начальной загрузки полностью провалилась (не удалось "
+#~ "найти список routerInfo-ссылок в загруженном каталоге)"
+
+#~ msgid "Last reseed failed partly ({0}% of {1})."
+#~ msgstr ""
+#~ "Предыдущая попытка начальной загрузки частично не удалась ({0}% из {1})."
+
+#~ msgid "Last reseed failed ({0}% of {1})."
+#~ msgstr ""
+#~ "Предыдущая попытка начальной загрузки почти полностью провалилась ({0}% "
+#~ "из {1})."
+
+#~ msgid "Last reseed failed fully (exception caught)."
+#~ msgstr ""
+#~ "Предыдущая попытка начальной загрузки полностью провалилась (произошла "
+#~ "необрабатываемая ошибка)."
+
+#~ msgid "avg value"
+#~ msgstr "среднее значение"
+
+#~ msgid "events"
+#~ msgstr "событий"
+
+#~ msgid "lifetime average"
+#~ msgstr "среднее за время работы"
+
+#~ msgid "peak average"
+#~ msgstr "пиковое среднее"
+
+#~ msgid ""
+#~ "Please report bugs on <a href=\"http://trac.i2p2.i2p/newticket\">trac."
+#~ "i2p2.i2p</a>."
+#~ msgstr ""
+#~ "Сообщайте об ошибках в багтрекер проекта I2P: <a href=\"http://trac.i2p2."
+#~ "i2p/newticket\">trac.i2p2.i2p</a>."
diff --git a/apps/susidns/locale/messages_de.po b/apps/susidns/locale/messages_de.po
index 0b5d7936a825e94fa6665e0bf644f152f2e93f12..3e983ffec963278385959a18271fa17950460913 100644
--- a/apps/susidns/locale/messages_de.po
+++ b/apps/susidns/locale/messages_de.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: I2P susidns\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-11-08 18:21+0000\n"
-"PO-Revision-Date: 2010-11-09 01:52+0100\n"
+"PO-Revision-Date: 2010-12-19 04:36+0100\n"
 "Last-Translator: mixxy <m1xxy@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
diff --git a/apps/susidns/locale/messages_nl.po b/apps/susidns/locale/messages_nl.po
index fb9a70421a731a55313527ec0d07ee246247b29b..8f1c5b3c0ad6bf2f6578a6660c123a7d7af7e711 100644
--- a/apps/susidns/locale/messages_nl.po
+++ b/apps/susidns/locale/messages_nl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P susidns\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-05 22:40+0000\n"
+"POT-Creation-Date: 2010-12-17 15:05+0000\n"
 "PO-Revision-Date: 2010-06-15 11:22+0100\n"
 "Last-Translator: duck <duck@mail.i2p>\n"
 "Language-Team: duck <duck@mail.i2p>, monkeybrains <monkeybrains@mail.i2p>\n"
@@ -17,63 +17,63 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Dutch\n"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:199
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:200
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:193
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:197
 msgid "Search"
 msgstr "Zoek"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:203
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:204
 msgid "Search within filtered list"
 msgstr "Zoek binnen gefilterde lijst"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:205
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:206
 msgid "Filtered list"
 msgstr "Gefilterde lijst"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:209
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
 msgid "no matches"
 msgstr "geen resultaten"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:212
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:213
 msgid "Addressbook"
 msgstr "Adresboek"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:214
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:215
 msgid "contains no entries"
 msgstr "bevat geen items"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:216
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:217
 msgid "contains 1 entry"
 msgstr "bevat 1 item"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:218
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:219
 #, java-format
 msgid "contains {0} entries"
 msgstr "bevat {0} items"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:228
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:229
 #, java-format
 msgid "Showing {0} of {1}"
 msgstr "Toon {0} van {1}"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:259
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
 msgid "Add"
 msgstr "Toevoegen"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:259
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:260
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:366
 msgid "Replace"
 msgstr "Vervang"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:263
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
 #, java-format
 msgid "Host name {0} is already in addressbook, unchanged."
 msgstr "Host naam {0} is al in het adresboek, ongewijzigd."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:266
 #, java-format
 msgid ""
 "Host name {0} is already in addressbook with a different destination. Click "
@@ -82,50 +82,50 @@ msgstr ""
 "Host naam {0} is al in het adresboek met een andere destination. Klik op "
 "\"Vervang\" om te overschrijven."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:277
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:278
 #, java-format
 msgid "Destination added for {0}."
 msgstr "Destination toegevoegd voor {0}."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:279
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:280
 #, java-format
 msgid "Destination changed for {0}."
 msgstr "Destination gewijzigd voor {0}."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:284
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:285
 msgid "Invalid Base 64 destination."
 msgstr "Ongeldige Base 64 destination."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:288
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:289
 msgid "Please enter a host name and destination"
 msgstr "Voer een host naam en destination in"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:292
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:293
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
 msgid "Delete Selected"
 msgstr "Verwijderen Selectie"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:302
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:303
 #, java-format
 msgid "Destination {0} deleted."
 msgstr "Destination {0} verwijderd."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:304
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:305
 #, java-format
 msgid "{0} destinations deleted."
 msgstr "{0} destinations verwijderd."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:310
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:311
 msgid "Addressbook saved."
 msgstr "Adresboek opgeslagen."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:314
 msgid "ERROR: Could not write addressbook file."
 msgstr "ERROR: Kan het adresboek bestand niet wegschrijven."
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:318
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:319
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:151
 msgid ""
 "Invalid form submission, probably because you used the \"back\" or \"reload"
 "\" button on your browser. Please resubmit."
@@ -134,7 +134,7 @@ msgstr ""
 "\"vernieuw\" knop in je browser hebt gebruikt. Probeer opnieuw te verzenden."
 
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:129
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:130
 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
 msgid "Save"
@@ -145,7 +145,7 @@ msgid "Configuration saved."
 msgstr "Configuratie opgeslagen."
 
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:144
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:145
 #: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
 #: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
 msgid "Reload"
@@ -160,18 +160,18 @@ msgstr "Configuratie herladen."
 #. Fetching from the addressbook servlet
 #. with the correct parameters will kick off a
 #. config reload and fetch.
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:138
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:139
 msgid ""
 "Subscriptions saved, updating addressbook from subscription sources now."
 msgstr ""
 "Subscriptions opgeslagen, adresboek wordt nu vernieuwd van de subscription "
 "bronnen."
 
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:142
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:143
 msgid "Subscriptions saved."
 msgstr "Subscriptions opgeslagen."
 
-#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:146
+#: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:147
 msgid "Subscriptions reloaded."
 msgstr "Subscriptions herladen."
 
diff --git a/build.xml b/build.xml
index 4e0af31268e5be45278eb0fd7106e8f0d313846e..7f6ee43b4f8df6383a890f86a10baf2b382a37df 100644
--- a/build.xml
+++ b/build.xml
@@ -527,7 +527,7 @@
 
     <!-- readme and proxy error page files, initialNews.xml files, GeoIP files, and flag icons -->
     <target name="prepConsoleDocs" depends="prepConsoleDocUpdates, prepgeoupdate" >
-        <copy todir="pkg-temp/docs/" >
+        <copy todir="pkg-temp/docs/initialNews/">
           <fileset dir="installer/resources/initialNews/" />
         </copy>
     </target>
diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java
index f56cef3acf3f0c75b5cd2b8b0ab1b8aa0b77ecbc..860747c760e4d973fa9c9b7206339a12ce35bcc1 100644
--- a/core/java/src/net/i2p/CoreVersion.java
+++ b/core/java/src/net/i2p/CoreVersion.java
@@ -16,7 +16,7 @@ package net.i2p;
 public class CoreVersion {
     /** deprecated */
     public final static String ID = "Monotone";
-    public final static String VERSION = "0.8.1";
+    public final static String VERSION = "0.8.2";
 
     public static void main(String args[]) {
         System.out.println("I2P Core version: " + VERSION);
diff --git a/core/java/src/net/i2p/crypto/DSAEngine.java b/core/java/src/net/i2p/crypto/DSAEngine.java
index 941774253ca91a774199e3eef09194f412362142..d09d58ce16f7f6e15dfad91023d00a4c1eeb8493 100644
--- a/core/java/src/net/i2p/crypto/DSAEngine.java
+++ b/core/java/src/net/i2p/crypto/DSAEngine.java
@@ -38,12 +38,13 @@ import net.i2p.data.Hash;
 import net.i2p.data.Signature;
 import net.i2p.data.SigningPrivateKey;
 import net.i2p.data.SigningPublicKey;
+import net.i2p.data.SimpleDataStructure;
 import net.i2p.util.Log;
 import net.i2p.util.NativeBigInteger;
 
 /**
  *  Params and rv's changed from Hash to SHA1Hash for version 0.8.1
- *  There shouldn't be any external users of those variants.
+ *  Hash variants of sign() and verifySignature() restored in 0.8.3, required by Syndie.
  */
 public class DSAEngine {
     private Log _log;
@@ -68,6 +69,22 @@ public class DSAEngine {
 
     /** @param hash SHA-1 hash, NOT a SHA-256 hash */
     public boolean verifySignature(Signature signature, SHA1Hash hash, SigningPublicKey verifyingKey) {
+        return verifySig(signature, hash, verifyingKey);
+    }
+
+    /**
+     *  Used by Syndie.
+     *  @since 0.8.3 (restored, was removed in 0.8.1 and 0.8.2)
+     */
+    public boolean verifySignature(Signature signature, Hash hash, SigningPublicKey verifyingKey) {
+        return verifySig(signature, hash, verifyingKey);
+    }
+
+    /**
+     *  @param hash either a Hash or a SHA1Hash
+     *  @since 0.8.3
+     */
+    private boolean verifySig(Signature signature, SimpleDataStructure hash, SigningPublicKey verifyingKey) {
         long start = _context.clock().now();
 
         try {
@@ -129,6 +146,22 @@ public class DSAEngine {
 
     /** @param hash SHA-1 hash, NOT a SHA-256 hash */
     public Signature sign(SHA1Hash hash, SigningPrivateKey signingKey) {
+        return signIt(hash, signingKey);
+    }
+
+    /**
+     *  Used by Syndie.
+     *  @since 0.8.3 (restored, was removed in 0.8.1 and 0.8.2)
+     */
+    public Signature sign(Hash hash, SigningPrivateKey signingKey) {
+        return signIt(hash, signingKey);
+    }
+
+    /**
+     *  @param hash either a Hash or a SHA1Hash
+     *  @since 0.8.3
+     */
+    private Signature signIt(SimpleDataStructure hash, SigningPrivateKey signingKey) {
         if ((signingKey == null) || (hash == null)) return null;
         long start = _context.clock().now();
 
diff --git a/core/java/src/net/i2p/data/SimpleDataStructure.java b/core/java/src/net/i2p/data/SimpleDataStructure.java
index 4754c29ecc3817c3628d90e30e05fa85ee1174ad..0017e567cc41ae573874a9bba06c4ef25918b746 100644
--- a/core/java/src/net/i2p/data/SimpleDataStructure.java
+++ b/core/java/src/net/i2p/data/SimpleDataStructure.java
@@ -34,7 +34,7 @@ public abstract class SimpleDataStructure extends DataStructureImpl {
     /** this is just to avoid lots of calls to length() */
     protected final int _length;
     
-    /** A new instance with the data set to null. Call readBytes(), setData(), or from ByteArray() after this to set the data */
+    /** A new instance with the data set to null. Call readBytes(), setData(), or fromByteArray() after this to set the data */
     public SimpleDataStructure() {
         _length = length();
     }
diff --git a/history.txt b/history.txt
index b46a0304d3f3dad9e41a30ef1110c21e4b78ed4a..81b496b5899765399184c49aca6f66e03dd1383a 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,84 @@
+2010-12-29 zzz
+    * Console: Add 500 error page
+    * DSAEngine: Restore variants of methods using a Hash argument,
+                 required by Syndie, removed in 0.8.1
+    * Reseed:
+      - Add new configreseed page
+      - Add StartCom CA cert required for www.i2pbote.net
+
+2010-12-27 zzz
+    * Crypto: Cleanups and fixups
+    * Console:
+      - Add SSL support - To enable, change clients.config. Examples:
+          ## Change to SSL only: just add a '-s'
+          clientApp.0.args=-s 7657 ::1,127.0.0.1 ./webapps/
+          ## Use both non-SSL and SSL: add '-s port interface'
+          clientApp.0.args=7657 ::1,127.0.0.1 -s 7667 ::1,127.0.0.1 ./webapps/
+          ## ...and change URLLauncher args further down for the browser to open https:// at startup if you like.
+      - Add a simple history.txt servlet
+      - Add form for I2CP options on configclients.jsp
+    * Context:
+      - Add hook for internal I2CP
+      - Change temp file random to Base64 http://zzz.i2p/topics/804
+    * Data structure caching:
+      - Use a single static null certificate in place of
+        tens of thousands of them
+    * graphs.jsp: Form tweaks, fix setting delay to 'Never'
+    * I2CP:
+      - Change from the internal pseudo-socket that was
+        implemented in 0.7.9 to an internal Queue that directly
+        passes I2CPMessage objects. For in-JVM clients,
+        this eliminates two writer threads per client and
+        avoids the serialization/deserialization of I2CP messages.
+      - New option i2cp.disableInterface to turn off external I2CP port
+        (7654) and allow internal clients only
+      - I2CP over SSL, enable with i2cp.SSL=true
+      - Bypass authorization for internal accesses
+      - Move BWLimits and DestLookup message support from
+        I2PSimpleSession to I2PSessionImpl
+      - Include the Hash in the DestReplyMessage on a failed lookup
+        so the client may correlate replies
+      - Add support for parallel lookups and BWLimits requests
+      - Add support for specifying the timeout for DestLookups
+        (can only be smaller than the router timeout for now)
+      - Extend dest lookup router timeout from 10s to 15s
+    * i2psnark: Backport TrackerClient NPE fix
+    * i2ptunnel:
+      - Get Log from the logManager instead of instantiating,
+        so we may adjust the levels on the fly
+      - Better logging of server errors
+      - Return 503 to client before closing i2p socket if server is not there
+      - Extend header timeouts for HTTP and IRC server tunnels
+      - Limit server blockingHandle threads
+      - Run standard server blockingHandles inline
+      - For clients, use a common thread pool that expires idle threads
+        rather than keeping 5 accept() threads for each client.
+      - Use pool for HTTP decompression also.
+      - Disable router host/port options when in router context
+      - Add blacklist, connection limit, and jump list options to edit form
+    * Pack200: Find and use either Oracle or Apache library at runtime;
+               neither required at compile time.
+    * Router: Convert 'mark router liveliness' thread to SimpleScheduler
+    * Stats: Change stat.full default to false
+    * Threads:
+      - Reduce thread pool sizes based on memory and/or bandwidth limits
+      - Tweak some thread names for clarity
+    * Update:
+      - Change the UpdateHandler to try all sources in a loop, rather than one,
+        so the user need not retry manually
+      - For each source, fetch the first 56 bytes and check the version
+        before downloading the whole thing, so we need not wait for every
+        host to have the latest before updating the news.
+
+2010-12-26 sponge
+    * URI resource fixes from pre-review time from upstream prior merge
+    * Evolve URI fixs another step.
+    * Document how the URI path fix works.
+    * Fix 302 redirects so they URL encode properly.
+    * bump to -1
+
+* 2010-12-22  0.8.2 released
+
 2010-12-13 dr|z3d
     * Console themes: Midnight & Classic renovations.
 
diff --git a/installer/install.xml b/installer/install.xml
index e71b95f63e47d2a3218dfdb6797cff063e9b15b5..5b685f0a358a4b6c511d1e6af9b9b756ebf1e500 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -4,7 +4,7 @@
 
     <info>
         <appname>i2p</appname>
-        <appversion>0.8.1</appversion>
+        <appversion>0.8.2</appversion>
         <authors>
             <author name="I2P" email="http://forum.i2p2.de/"/>
         </authors>
diff --git a/installer/resources/certificates/cert.smartcom.org.crt b/installer/resources/certificates/cert.smartcom.org.crt
new file mode 100644
index 0000000000000000000000000000000000000000..960f2657be21aae603a6917266b2c6a67113406e
--- /dev/null
+++ b/installer/resources/certificates/cert.smartcom.org.crt
@@ -0,0 +1,44 @@
+-----BEGIN CERTIFICATE-----
+MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
+MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
+Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9
+MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
+U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
+cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
+pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
+OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
+Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
+Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
+HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
+Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
++2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
+Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
+26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
+AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
+FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j
+ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js
+LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM
+BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0
+Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy
+dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh
+cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh
+YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
+dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
+bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ
+YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT
+TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ
+9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8
+jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW
+FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz
+ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1
+ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L
+EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu
+L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
+yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC
+O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
+um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
+NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
+-----END CERTIFICATE-----
diff --git a/installer/resources/certificates/r31453.ovh.net b/installer/resources/certificates/r31453.ovh.net
new file mode 100644
index 0000000000000000000000000000000000000000..8ad89e11bfad5e1c4b8c3a5d62e71bc8c3ec0f77
--- /dev/null
+++ b/installer/resources/certificates/r31453.ovh.net
@@ -0,0 +1,30 @@
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyACCQDjoZjFpBtqgzANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQGEwJB
+VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0
+cyBQdHkgTHRkMRcwFQYDVQQDEw5yMzE0NTMub3ZoLm5ldDAeFw0xMDEyMTMxNjQ3
+MDJaFw0xMTEyMTMxNjQ3MDJaMF4xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21l
+LVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxFzAVBgNV
+BAMTDnIzMTQ1My5vdmgubmV0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
+AgEAxmNPRiG6EjklwIxmoy3ziKrj84dy6HwZ6J/HmKrAf36akRiglzSLbcC5GAN6
+cnwnEdEEhUhC9LDBgZ5yvGgkVXIDA6YUn80kboon8ZLfUM3/yQqd/9pMBXgyNymr
+ES9a6kU4NQQSj7nvE2a4fVKQqzhTA6pBD4Q+zJ9T35QvsmyfKUmFgpTX/vAyPivF
+YGWUhRXFpNdXHTq6RYOn1iw4NMT4COR2en1i/p4AZNxlvu6HUShJ68oexLdcCWrt
+BruHCDgKkVcWtJnQ4q7z7kxcAiBiHdDzSmHC9zCEEz9FEc4nhJXXGM+LY0NjoXkk
+V+q7tOJBli0llmHwnWN737OFMlXd5AdooJsOq9Nk4oIn8aK3h5/VkCcCkSXaOzO5
+wroNZ/DzEYgR+0YddN0ey7iosjE/7dQwIJpO8LDQR/ZYX9VLUnBNcZGdJcQ0sloa
+nlBUHBmi+n85LjFBNnphDWnSa4SUnR2eAtJRtGLHRn9ZtKRHh5FLLsFbXhdkB6Fl
+/trmcjohUuC+2FtRM4F0L86atCOm1CkCjPg/db4l3SCFYbe/n+txnQwcyvJtKCpi
+6bepZV2vpGNVeJKi2kivmMF0toO5SLM78F4pcgdxvU9myNsLrEf1M+n4gq9pZg0d
+zuw2lc1l1iYA80zoTjKd9bggfcROjZxu4HxbzTIblHVcCosCAwEAATANBgkqhkiG
+9w0BAQUFAAOCAgEAXsDA+XYokPoHrur1M/w69vXz2DciW3eEcoYEw6wDNxJfyo9S
+9JQo3ke22G9VRPW0yAZL0dfx0dB1kwdyDq1kOcddrjfNDwZdclUl9PklZG1wR3sf
+v0/fNoVIpJiD3dJUWf//Q8CtiRJFL93cCj//pHeryncZzd4my04wBiS7I/7tLDOo
+APpn3k7yJelrV7N0/Mx8ReKQGSj8xyKABCFLyCSghkU2ujlbBAfOAsrklHNnS7KT
+IWHYzMW3pSPMIGU9Ub/7KszhDWRQwK76Rx6IARDRJAuhpAMhO1bVJB3QH49xR2El
+lvspP+3NqYPAGXEi3G3Rny7seFcLKWxPmv3I02Q/iGs1axx5FoW8V0sWpp7l4Ps7
+bwcwo1PD5SN/LQGpt87dut9L3reGpW91rL+xUGB2nLCZf5686/zSM9lwKlgm6+Jv
+d4WoseuKFUEQUIC5y6kUs1J2KbdYSjn73h9u2bmVlBF7bjRCcQ26Ad2buFjctFSF
+ozd8TPLy6EyI9L8D855iJtq3JO76+J8EBFofYTwuHTqMzyX6lu3BomIZWpVVDTsv
+goSsVubtYfymy9xfqT50SgrCbz5RnfF0/D30cV4ePgTMKDjEKY3BMP+TiBNacQo3
+oz2jAqmudtPOTnIpjmN3hVk+WgpZbWVZNCVpCiskr+lPOxWV1EK9YW7PqiE=
+-----END CERTIFICATE-----
diff --git a/installer/resources/news.xml b/installer/resources/news.xml
index ae6b780c0191064a1b6e6013304c5bebe847dce0..e542e7a2496e4716a22705716f39b8aa9309814b 100644
--- a/installer/resources/news.xml
+++ b/installer/resources/news.xml
@@ -1,25 +1,24 @@
 <!--
-<i2p.news date="$Date: 2010-11-15 00:00:00 $">
-<i2p.release version="0.8.1" date="2010/11/15" minVersion="0.6" />
+<i2p.news date="$Date: 2010-12-22 00:00:00 $">
+<i2p.release version="0.8.2" date="2010/12/22" minVersion="0.6" />
 -->
 <div lang="en">
-<h3>2010-11-15: <b>0.8.1 <a href="http://www.i2p2.i2p/release-0.8.1.html">Released</a></b></h3>
+<h3>2010-12-22: <b>0.8.2 <a href="http://www.i2p2.i2p/release-0.8.2.html">Released</a></b></h3>
 <p>
-The 0.8.1 release contains the usual collection of bug fixes,
-and a newly colorful i2psnark theme by dr|zed.
-For increased security, files created by the router will now be readable only by the owner (mode 600).
+The 0.8.2 release includes extensive bug fixes and theme updates in the router and in i2psnark.
+There are also optimizations to reduce memory usage in i2psnark.
+The HTTP and SOCKS proxies now support local and remote authorization.
 As usual, upgrading is recommended.
 </p><p>
-We have updated all our <a href="http://www.i2p2.i2p/how">technical specifications</a>
-and <a href="http://docs.i2p2.de/javadoc/">Javadocs</a>, check them out.
-
-Please help grow the network!
+I2P will be at 27C3 in Berlin the week of the December 27th.
+Look for the I2P people there and ask for I2P stickers!
+</p><p>
+Please help grow the network.
 Say hello to the volunteers on the <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help IRC channel</a>.
-Give the
-developers feedback on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a> or <a href="http://forum.i2p">forum.i2p</a>
-and <a href="http://www.i2p2.i2p/getinvolved.html">get involved</a>,
+<a href="http://www.i2p2.i2p/getinvolved.html">Get involved</a>,
 spread the word,
 and <a href="http://www.i2p2.i2p/donate.html">donate</a>!
+If you find a bug, please enter a report on <a href="http://trac.i2p2.i2p/report/1">trac</a>.
 We are still looking for volunteers to work on new and existing translations.
 Please volunteer on <a href="irc://127.0.0.1:6668/i2p">IRC #i2p</a>.
 </p>
diff --git a/installer/resources/proxy/ahelper-conflict-header_de.ht b/installer/resources/proxy/ahelper-conflict-header_de.ht
index f741d82d3229fc35d9f936723f06841a4489cdcd..fe72767c1f1bea62b95e7732e58fa858a022c10f 100644
--- a/installer/resources/proxy/ahelper-conflict-header_de.ht
+++ b/installer/resources/proxy/ahelper-conflict-header_de.ht
@@ -11,17 +11,17 @@ Proxy-Connection: close
 </head>
 <body>
 <div class=logo>
- <a href="http://127.0.0.1:7657/index.jsp" title="Router Console"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="I2P Router Console" border="0"></a><hr>
- <a href="http://127.0.0.1:7657/config.jsp">Configuratie</a> <a href="http://127.0.0.1:7657/help.jsp">Help</a> <a href="http://127.0.0.1:7657/susidns/">Adresboek</a>
+ <a href="http://127.0.0.1:7657/index.jsp" title="Routerkonsole"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="I2P Router Console" border="0"></a><hr>
+ <a href="http://127.0.0.1:7657/config.jsp">Einstellungen</a> <a href="http://127.0.0.1:7657/help.jsp">Hilfe</a> <a href="http://127.0.0.1:7657/susidns/">Adressbuch</a>
 </div>
 <div class=warning id=warning>
 <h3>Warnung: Zielkonflikt</h3>
-Dier Adresshelperverweis, dem Sie folgen wollen, verwendet für diesen Hostnamen ein anderes kryptographisches Ziel
+Der Adresshelferverweis, dem Sie folgen wollen, verwendet für diesen Hostnamen ein anderes kryptographisches Ziel
 als im zugehörigen Eintrag in Ihrem Routeradressbuch angegeben.
-Jemand könnte versuchen, fälschlicherweise eine andere Eepseite als die gesuchte auszugeben.
-Möglicherweise haben aber die betreiber beider Eepseiten auch nur zufällig denselben Namen ausgewählt.
+Jemand könnte versuchen, fälschlicherweise eine andere als die gesuchte Eepseite auszugeben.
+Möglicherweise haben aber die betreiber beider Eepseiten nur zufällig denselben Namen ausgewählt.
 <p>
-Diesen Konflikt können sie lösen, indem Sie entscheiden, welchem Ziel Sie trauen, das gesuchte zu sein,
+Diesen Konflikt können Sie lösen, indem Sie entscheiden, welchem Ziel Sie trauen, das gesuchte zu sein,
 und dann entweder den Verweis des Adresshelfers verwerfen, den Eintrag in Ihrem Routeradressbuch löschen, 
 oder beiden Zielen unterschiedliche Namen zuweisen.
 <p>
diff --git a/installer/resources/proxy/auth-header_de.ht b/installer/resources/proxy/auth-header_de.ht
index 3d889295734f8913040dbce7f3fc5fd1eda9e362..be1e7998e02611e906535bc1bf9bac0ca65b1713 100644
--- a/installer/resources/proxy/auth-header_de.ht
+++ b/installer/resources/proxy/auth-header_de.ht
@@ -13,11 +13,11 @@ Proxy-Connection: close
 <body>
 <div class=warning id=warning>
 <h3>Autorisierung für den I2P-HTTP-Proxy erforderlich</h3>
-Dieser Proxy ist eingestellt, Zugang nur für gültige Kombinationen aus einem Benutzernamen und einem Passwort zuzulasseen.
-Bitte geben Sie Ihren Benutzernamen und Passwort an, überprüfen Sie Ihre 
+Dieser Proxy ist so eingestellt, dass er Zugang nur für gültige Kombinationen aus einem Benutzernamen und einem Passwort zulässt.
+Bitte geben Sie Ihren Benutzernamen und Passwort an bzw. überprüfen Sie Ihre 
 <a href="http://127.0.0.1:7657/advancedconfig.jsp">Routereinstellungen</a>
 oder Ihre
 <a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">I2PTunnel-Einstellungen</a>!
-Um das Autrorsierungserfordernis zu aufzuheben, entfernen Sie 
+Um das Autorsierungserfordernis aufzuheben, entfernen Sie 
 <code>i2ptunnel.proxy.auth=basic</code> aus der betreffenden Tunneleinstellung, stoppen Sie den HTTP-Proxy-Tunnel dann und starten Sie ihn neu!
 </div>
diff --git a/installer/resources/proxy/dnf-header_de.ht b/installer/resources/proxy/dnf-header_de.ht
index f9764d3a57692ab12ed401e26ce84283f7e78d1f..f2398e17948e9ac8da76116cd8f2d467c7876c6c 100644
--- a/installer/resources/proxy/dnf-header_de.ht
+++ b/installer/resources/proxy/dnf-header_de.ht
@@ -19,5 +19,5 @@ Proxy-Connection: close
 Die Eepseite war nicht erreichbar.
 Sie ist vielleicht offline, es gibt eine Ãœberlast oder Verstopfung im Netz,
 oder Ihr Router ist noch nicht gut ins Netzwerk integriert.
-Versuchen Sie ein <a href="javascript: window.location.reload()">Neuladen</a>! 
+Versuchen Sie, die Seite <a href="javascript: window.location.reload()">erneut zu laden</a>! 
 <hr><b>Konnte das folgende Ziel nicht finden:</b><BR><BR>
diff --git a/installer/resources/proxy/dnf-header_ru.ht b/installer/resources/proxy/dnf-header_ru.ht
index 2b826e8f05ae1db8d65f547ed6a42b45181bffe8..4303fa5538ade15fb1cce6568354a4dfe550b4d8 100644
--- a/installer/resources/proxy/dnf-header_ru.ht
+++ b/installer/resources/proxy/dnf-header_ru.ht
@@ -18,7 +18,7 @@ Proxy-Connection: close
 <div class=warning id=warning>
 <h3>Предупреждение: I2P-сайт недоступен</h3>
 
-Не удалось открыть I2P-сайт. Он либо в офлайне, либо сеть сейчас перегружена, либо ваш I2P-маршрутизатор ещё недостаточно интегрирован с другими пирами.
+Не удалось открыть I2P-сайт. Он либо в оффлайне, либо сеть сейчас перегружена, либо ваш I2P-маршрутизатор ещё недостаточно интегрирован с другими пирами.
 <BR><BR>
 Вы можете попробовать <a href="javascript: window.location.reload()">повторить запрос</a>. 
 
diff --git a/installer/resources/proxy/dnfb-header_de.ht b/installer/resources/proxy/dnfb-header_de.ht
index a54f2d4f0d2385c1b65207d13a08cfdf9e32d406..a763e19abf0bcf59acfee84da1858eb23677961f 100644
--- a/installer/resources/proxy/dnfb-header_de.ht
+++ b/installer/resources/proxy/dnfb-header_de.ht
@@ -12,12 +12,12 @@ Proxy-Connection: close
 <body>
 <div class=logo>
  <a href="http://127.0.0.1:7657/index.jsp" title="Routerkonsole"><img src="http://proxy.i2p/themes/console/images/i2plogo.png" alt="I2P-Routerkonsole" border="0"></a><hr>
- <a href="http://127.0.0.1:7657/config.jsp">Einstellungen</a> <a href="http://127.0.0.1:7657/help.jsp">Help</a> <a href="http://127.0.0.1:7657/susidns/">Adressbuch</a>
+ <a href="http://127.0.0.1:7657/config.jsp">Einstellungen</a> <a href="http://127.0.0.1:7657/help.jsp">Hilfe</a> <a href="http://127.0.0.1:7657/susidns/">Adressbuch</a>
 </div>
 <div class=warning id=warning>
 <h3>Warnung: ungültiges Eepseiten-Ziel</h3>
 Das angegebene Eepseiten-Ziel ist nicht gültig,
-oder auf andere Art nicht erreichbar. Vielleicht habe Sie eine falsche BASIS64-Zeichenkette kopiert
+oder auf andere Art nicht erreichbar. Vielleicht haben Sie eine falsche BASIS64-Zeichenkette kopiert
 oder Sie folgten einem ungültigen Verweis. Möglicherweise ist auch der I2P-Host offline. 
-Versuchen Sie ein <a href="javascript: window.location.reload()">Neuladen</a>.
+Versuchen Sie, die Seite <a href="javascript: window.location.reload()">erneut zu laden</a>!
 <hr><b>Konnte das folgende Ziel nicht finden:</b><BR><BR>
diff --git a/installer/resources/proxy/dnfh-header_de.ht b/installer/resources/proxy/dnfh-header_de.ht
index 811fefdf423e1ac00949d4729922bde99347e920..b49789b85f7b4fe2b5cc8f64e74ff79d088b8377 100644
--- a/installer/resources/proxy/dnfh-header_de.ht
+++ b/installer/resources/proxy/dnfh-header_de.ht
@@ -5,7 +5,7 @@ Connection: close
 Proxy-Connection: close
 
 <html><head>
-<title>I2P-Warnung: Eepsite unbekannt</title>
+<title>I2P-Warnung: Eepseite unbekannt</title>
 <link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
 <link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
 </head>
@@ -16,12 +16,12 @@ Proxy-Connection: close
 </div>
 <div class=warning id=warning>
 <h3>Warnung: Eepseite nicht im Adressbuch gefunden</h3>
-Die Eepseite konnte in nicht im Adressbuch des Routers gefunden werden.
+Die Eepseite konnte nicht im Adressbuch des Routers gefunden werden.
 Überprüfen Sie den Link oder finden Sie eine BASIS64-Adresse!
 Wenn Sie eine BASIS64-Adresse haben, fügen Sie diese unter folgendem Link zu Ihrer userhosts.txt hinzu:
 <a href="http://127.0.0.1:7657/susidns/addressbook.jsp?book=master">SusiDNS</a>,
 benutzen Sie einen BASIS64-Adresshelfer oder einen der folgenden Sprungdienste:<br><br>
-(Sehen Sie diese Seite öfters? Dann lesen Sie die <a href="http://www.i2p2.i2p/faq.html#subscriptions">FAQ</a>
+(Sehen Sie diese Seite öfters? Dann lesen Sie die <a href="http://www.i2p2.i2p/faq.html#subscriptions">FAQ</a> 
 für Hilfe beim <a href="http://127.0.0.1:7657/susidns/config.jsp">Hinzufügen von Abonnements</a>
 zu Ihrem Adressbuch.)<hr>
 <b>Konnte das folgende Ziel nicht finden:</b><BR><BR>
diff --git a/installer/resources/proxy/dnfp-header_de.ht b/installer/resources/proxy/dnfp-header_de.ht
index 7a464045a48decdcfe3041df7b5dd7d7af523732..38df4261b74887a9b74c9c17db8300b036f50d3e 100644
--- a/installer/resources/proxy/dnfp-header_de.ht
+++ b/installer/resources/proxy/dnfp-header_de.ht
@@ -17,11 +17,11 @@ Proxy-Connection: close
 <div class=warning id=warning>
 <h3>Warnung: I2P-Proxy nicht gefunden</h3>
 Der WWW-Outproxy wurde nicht gefunden.
-Er ist offline, das Netz ist überlastet oder verstopft,
+Er ist offline, das Netz überlastet oder verstopft,
 oder Ihr Router ist noch nicht gut ins Netzwerk integriert.
-Versuchen Sie ein <a href="javascript: parent.window.location.reload()">Neuladen</a> 
-da dies eine erneute zufällige Auswahl des Outproxys aus der von Ihnen <a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">hier</a> vorgegebenen Liste trifft 
-(falls mehr als einer angegeben ist)!
-Wenn das Problem weiterhin bestehen sollte, passen Sie die Liste Ihrer Outproxys 
+Laden Sie die Seite <a href="javascript: parent.window.location.reload()">neu</a>! 
+Dies trifft eine erneute zufällige Auswahl des Outproxys aus der von Ihnen <a href="http://127.0.0.1:7657/i2ptunnel/index.jsp">hier</a> vorgegebenen Liste 
+(falls mehr als einer angegeben ist).
+Sollte das Problem weiterhin bestehen, passen Sie die Liste Ihrer Outproxys 
 <a href="http://127.0.0.1:7657/i2ptunnel/edit.jsp?tunnel=0">hier</a> an!
 <hr><b>Konnte das folgende Ziel nicht finden:</b><BR><BR>
diff --git a/installer/resources/proxy/localhost-header_de.ht b/installer/resources/proxy/localhost-header_de.ht
index 1a3473f093ef99a0e905cfaad6584ff21cb118f0..7186b1fa58e1eda025babf531bd9bbebea5d253e 100644
--- a/installer/resources/proxy/localhost-header_de.ht
+++ b/installer/resources/proxy/localhost-header_de.ht
@@ -18,6 +18,6 @@ Proxy-Connection: close
 </div>
 ------------------------------>
 <div class=warning id=warning>
-<h3>Fehler: Lokaler Zugriff</h3>
-Ihr Browser ist fehlkonfiguriert. Benutzen Sie diesen Proxy nicht, um auf lokale Ziele wie die I2P-Routerkonsole, localhost oder LAN-Ziele zuzugreifen!
+<h3>Fehler: lokaler Zugriff</h3>
+Ihr Browser ist fehlkonfiguriert: Benutzen Sie diesen Proxy nicht, um auf lokale Ziele wie die I2P-Routerkonsole, localhost oder LAN-Ziele zuzugreifen!
 </div>
diff --git a/installer/resources/proxy/noproxy-header_de.ht b/installer/resources/proxy/noproxy-header_de.ht
index 65b2a59f04a7be43e2c3d70e0c094a306b94dd75..676d421aabbb20478e8c29fca5b47409a063400a 100644
--- a/installer/resources/proxy/noproxy-header_de.ht
+++ b/installer/resources/proxy/noproxy-header_de.ht
@@ -16,5 +16,5 @@ Proxy-Connection: close
 </div>
 <div class=warning id=warning>
 <h3>Warnung: Kein Outproxy eingerichtet</h3>
-Sie haben eine Seite außerhalb des I2P-Netzes angefordert, jedoch ist kein HTTP-Outproxy eingerichtet. Bitte richten sie einen Outproxy in I2PTunnel ein!
+Sie haben eine Seite außerhalb des I2P-Netzes angefordert, jedoch ist kein HTTP-Outproxy eingerichtet. Bitte richten Sie einen Outproxy in der Sektion I2PTunnel ein!
 </div>
diff --git a/installer/resources/proxy/protocol-header_de.ht b/installer/resources/proxy/protocol-header_de.ht
index a7333f63c589ffd0c600176fa8009a96e075e79f..7c7e6ce8c90fb30f0eaec0ffb251bcf6c05874a9 100644
--- a/installer/resources/proxy/protocol-header_de.ht
+++ b/installer/resources/proxy/protocol-header_de.ht
@@ -5,7 +5,7 @@ Connection: close
 Proxy-Connection: close
 
 <html><head>
-<title>I2P-Warnung: nicht HTTP-Protokoll</title>
+<title>I2P-Warnung: kein HTTP-Protokoll</title>
 <link rel="shortcut icon" href="http://proxy.i2p/themes/console/images/favicon.ico" >
 <link href="http://proxy.i2p/themes/console/default/console.css" rel="stylesheet" type="text/css" >
 </head>
@@ -15,7 +15,7 @@ Proxy-Connection: close
  <a href="http://127.0.0.1:7657/config.jsp">Einstellungen</a> <a href="http://127.0.0.1:7657/help.jsp">Hilfe</a> <a href="http://127.0.0.1:7657/susidns/">Adressbuch</a>
 </div>
 <div class=warning id=warning>
-<h3>Warnung: nicht HTTP-Protokoll</h3>
+<h3>Warnung: kein HTTP-Protokoll</h3>
 Die Anfrage verwendet ein falsches Protokoll.
 I2Ps HTTP-Proxy unterstützt AUSSCHLIEßLICH Anfragen des HTTP-Protokolls ( http:// ). Andere Protokolle wie https:// und ftp:// sind nicht erlaubt.
 </div>
diff --git a/installer/resources/readme/readme.html b/installer/resources/readme/readme.html
index 7a70a0f801c0475f601ac0a1e11d547b0313b648..00667aea28ec3266ca178f566ecc662dea0d0245 100644
--- a/installer/resources/readme/readme.html
+++ b/installer/resources/readme/readme.html
@@ -1,69 +1,69 @@
 <div lang="en">
 <div align="right"> 
   <div class="langbox" align="right">
-    <a href="/index.jsp?lang=en"><img src="/flags.jsp?c=us" title="English" alt="English"></a> 
-    <a href="/index.jsp?lang=zh"><img src="/flags.jsp?c=cn" title="中文" alt="中文"></a> 
-    <a href="/index.jsp?lang=de"><img src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> 
-    <a href="/index.jsp?lang=fr"><img src="/flags.jsp?c=fr" title="Français" alt="Français"></a> 
-    <a href="/index.jsp?lang=es"><img src="/flags.jsp?c=es" title="Español" alt="Español"></a> 
-    <a href="/index.jsp?lang=pt"><img src="/flags.jsp?c=pt" title="Português" alt="Português"></a> 
-    <a href="/index.jsp?lang=nl"><img src="/flags.jsp?c=nl" title="Nederlands" alt="Nederlands"></a> 
-    <a href="/index.jsp?lang=ru"><img src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a> 
-    <a href="/index.jsp?lang=sv"><img src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a></div>
+    <a href="/?lang=en"><img src="/flags.jsp?c=us" title="English" alt="English"></a> 
+    <a href="/?lang=zh"><img src="/flags.jsp?c=cn" title="中文" alt="中文"></a> 
+    <a href="/?lang=de"><img src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> 
+    <a href="/?lang=fr"><img src="/flags.jsp?c=fr" title="Français" alt="Français"></a> 
+    <a href="/?lang=es"><img src="/flags.jsp?c=es" title="Español" alt="Español"></a> 
+    <a href="/?lang=pt"><img src="/flags.jsp?c=pt" title="Português" alt="Português"></a> 
+    <a href="/?lang=nl"><img src="/flags.jsp?c=nl" title="Nederlands" alt="Nederlands"></a> 
+    <a href="/?lang=ru"><img src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a> 
+    <a href="/?lang=sv"><img src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a></div>
   </div>
 </div><a name="top"></a>
 <div class="welcome"><h2>Welcome to the Invisible Internet</h2></div>
-<ul class="links"><li class="tidylist"><b>Starting Up&hellip;</b><br>If you've just started I2P, the number of <i>Active Peers</i> indicated under the <i>Peers</i> section in the sidepanel on the left should start to grow over the next few minutes and you'll also see a <i>Local Destination</i> named <i>Shared Clients</i> listed there, and possibly other clients and servers depending on how I2P is configured (if not, see the troubleshooting section <a href="#trouble">below</a>). These <i>Local Destinations</i> provide connections on different ports (and sometimes protocols) to the I2P network, enabling your bittorrent, e-mail, web proxy and other services to function. Your <a href="/netdb">Network Database</a> indicates all known peers on the network. Additionally, you can monitor existing <a href="/peers">Peer Connections</a>, and view existing <a href="/tunnels">Tunnels</a> and their status. More information is available on the <a href="/help">help page</a>.</li>
+<ul class="links"><li class="tidylist"><b>Starting Up&hellip;</b><br>If you've just started I2P, the number of <i>Active Peers</i> indicated under the <i>Peers</i> section in the side panel on the left should start to grow over the next few minutes and you'll also see a <i>Local Destination</i> named <i>Shared Clients</i> listed there, and possibly other clients and servers depending on how I2P is configured (if not, see the troubleshooting section <a href="#trouble">below</a>). These <i>Local Destinations</i> provide connections on different ports (and sometimes protocols) to the I2P network, enabling your bittorrent, e-mail, web proxy and other services to function. Your <a href="/netdb">Network Database</a> indicates all known peers on the network. Additionally, you can monitor existing <a href="/peers">Peer Connections</a>, and view existing <a href="/tunnels">Tunnels</a> and their status. More information is available on the <a href="/help">help page</a>.</li>
 
 <li class="tidylist"><b>Network integration</b><br> The first time you start I2P it may take a few minutes to bootstrap (integrate) you into the network and find additional peers to optimize your integration, so please be patient. Once green stars are indicated next to your <i>Local Destinations</i>, there is a wide variety of things you can do with I2P, and below we introduce you to some of them.</li></ul>
   
 <h3>Services on I2P</h3>
 <ul class="links">
 
-<li class="tidylist"><b>Invisible Internet &amp; Public Web Browsing</b><br>On I2P you can access anonymous websites (aka eepsites) and other services (e.g. ssh over I2P, IRC, Jabber etc.) in addition to being able to host your own services. You can also access the normal web anonymously via I2P's built-in web proxy (aka outproxy).<a href="http://www.i2p2.de/htproxyports.html" target="_blank">Configure your browser</a> to use the <a href="http://proxy.i2p" target="_blank">HTTP proxy</a> at <code>127.0.0.1 port 4444</code>, then browse to an eepsite or a normal, unencrypted <code>http://</code> address. For a pre-configured browser, you may wish to try <a href="http://echelon.i2p/i2pfox/">I2PFox</a>, a custom build of Firefox security hardened and tailored especially for I2P. If you wish to disable or change outproxy access to the normal internet, remove or modify the outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy  Tunnel Editor</a>. In the Sites of Interest section <a href="#eepsites">below</a>, we list a few of the sites hosted on I2P.</li>
+<li class="tidylist"><b>Invisible Internet &amp; Public Web Browsing</b><br>On I2P you can access anonymous websites (eepsites) and other services (e.g. ssh over I2P, IRC, Jabber etc.) in addition to being able to host your own services. You can also access the normal web anonymously via I2P's built-in web proxy (outproxy). <a href="http://www.i2p2.de/htproxyports.html" target="_blank">Configure your browser</a> to use the HTTP proxy at <code>127.0.0.1 port 4444</code>, then browse to an eepsite or a normal, unencrypted <code>http://</code> address. For a pre-configured browser, you may wish to try <a href="http://echelon.i2p/i2pfox/">I2PFox</a>, a custom build of Firefox security hardened and tailored especially for I2P. If you wish to disable or change outproxy access to the normal internet, remove or modify the outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy  Tunnel Editor</a>. In the "Sites of Interest" section <a href="#eepsites">below</a>, we list a few of the sites hosted on I2P.</li>
 
-<li class="tidylist"><b>Anonymous E-Mail</b><br>Postman's I2P-based mail system can be accessed either via <a href="../../../../../../susimail/">I2P's built-in webmail</a>
-(aka susimail) or using any mail client that supports smtp and pop3.
+<li class="tidylist"><b>Anonymous E-Mail</b><br>Postman's I2P-based mail system can be accessed either via <a href="/susimail/susimail">I2P's built-in mail client</a>
+(susimail) or using any mail client that supports smtp and pop3.
 Accounts can send and receive mail from the normal internet. For an
 account, visit <a href="http://hq.postman.i2p/" target="_blank">hq.postman.i2p</a>. Additionally, <a href="http://i2pbote.i2p/" target="_blank">I2P-Bote</a> is a new serverless, end-to-end encrypted e-mail system providing a web
 interface and an integrated addressbook. It is developed by HungryHobo
-and can be installed as a <a href="readme.html#plugins">plugin</a>.</li>
+and can be installed as a <a href="#plugins">plugin</a>.</li>
 
-<li class="tidylist"><b>Anonymous File Transfer</b><br><a href="/i2psnark" target="_blank">I2PSnark</a> is integrated into I2P, providing anonymous, encrypted <a href="https://secure.wikimedia.org/wikipedia/en/wiki/BitTorrent_%28protocol%29" target="_blank">BitTorrent</a> transfers. In addition, Sponge develops a bittorrent client called <a href="http://bob.i2p/Robert.html">Robert</a> written in Python. There is also a port of <a href="http://www.emule-project.net/" target="_blank">eMule</a> to I2P called <a href="http://echelon.i2p/imule">iMule</a> [Needs developers!], an anonymous, secure implementation of a <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Gnutella" target="_blank">Gnutella network</a>, accessible using <a href="http://echelon.i2p/i2phex/" target="_blank">I2Phex</a> [maintained by Complication, seeking new developers!], and additional facilities including browser-based file hosting etc.</li>
+<li class="tidylist"><b>Anonymous File Transfer</b><br><a href="/i2psnark/" target="_blank">I2PSnark</a> is integrated into I2P, providing anonymous, encrypted <a href="https://secure.wikimedia.org/wikipedia/en/wiki/BitTorrent_%28protocol%29" target="_blank">BitTorrent</a> transfers. In addition, Sponge develops a bittorrent client called <a href="http://bob.i2p/Robert.html">Robert</a> written in Python. There is also a port of <a href="http://www.emule-project.net/" target="_blank">eMule</a> to I2P called <a href="http://echelon.i2p/imule/">iMule</a> [Needs developers!], an anonymous, secure implementation of a <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Gnutella" target="_blank">Gnutella network</a>, accessible using <a href="http://echelon.i2p/i2phex/" target="_blank">I2Phex</a> [maintained by Complication, seeking new developers!], and additional facilities including browser-based file hosting.</li>
       <li class="tidylist"><b>Anonymous Chat</b><br>Start your IRC client (e.g. Chatzilla, Pidgin, XChat)
-        and connect to the <a href="irc://127.0.0.1:6668/i2p">server</a> at <code>127.0.0.1 port 6668</code>. You do not need to configure a proxy in your IRC client; I2P provides you with a local IRC tunnel (configured in your IRC client as an IRC server or remote host). Your local I2P IRC tunnel on <code>localhost:6668</code> will direct you to one of two IRC servers hosted on I2P by Postman and Badger, but neither you nor they know where the other is, and your mom, ISP or government is unable to intercept your conversation! Once you're there, <code>#i2p-help</code>,<code>#i2p</code>,<code>#i2p-chat</code> and <code>#i2p-dev</code> are just a few of the available channels you may wish to /join. There's also an I2P-based <a href="http://echelon.i2p/qti2pmessenger">Instant Messenger</a> for unmonitorable and uncensorable anonymous chat, as well as alternative IRC servers, Jabber servers, website-based chat etc. And of course you're entirely free to run your own servers over I2P in whatever flavor you choose, or if you're a developer write your own <a href="http://www.i2p2.de/applications.html" target="_blank">I2P applications</a> (both <a href="https://secure.wikimedia.org/wikipedia/en/wiki/User_Datagram_Protocol" target="_blanK">udp</a> and <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Transmission_Control_Protocol" target="_blank">tcp</a> protocols are <a href="http://www.i2p2.i2p/techintro.html#op.transport" target="_blank">provisioned</a>), and <a href="http://www.i2p2.de/streaming.html" target="_blank">realtime streaming</a> is also possible. We also provide full access to the <a href="http://docs.i2p2.de/javadoc/" target="_blank"> java-based api</a>.</li>
-      <li class="tidylist"><b>Forums &amp; Blogging</b><br>If you're looking to run your own blog or forum, you might be interested in <a href="http://syndie.i2p2.de/" target="_blank">Syndie</a>, a distributed forum and blogging platform for I2P [Needs developers!]. There's also an I2P plugin port of the Java-based <a href="http://pebble.sourceforge.net/" target="_blank">pebble</a> blogging platform ported to I2P by zzz, available on <a href="http://i2plugins.i2p" target="_blank">i2plugins.i2p</a>. And, of course, all normal blogging, forum and cms software will run over I2P, though you're advised to take extra precautions with security when setting up and to keep all associated software (e.g. Php, MySql, Python, Apache) up to date and locked-down! Also, there are quite a few community run forums on I2P in various languages; see <a href="#eepsites">below</a> for some suggestions.</li>
-      <a name="plugins"></a><li class="tidylist"><b>Plugins for I2P</b><br>Extend the usefulness of I2P by installing plugins&hellip; blogging, chatting, file sharing and other plugins have already been written or ported and await your <a href="http://i2plugins.i2p/plugins/" target="_blank">installation</a>! Browse the plugins and related info at <a href="http://i2plugins.i2p" target="_blank">i2plugins.i2p</a>. If you're a <a href="http://i2plugins.i2p/developers/" target="_blank">developer</a>, a complete language-agnostic framework for writing your own plugins is provided with <a href="http://www.i2p2.i2p/plugins.html" target="_blank">documentation</a>; I2P plugins can be coded in any language.</li>
+        and connect to the <a href="irc://127.0.0.1:6668/i2p">server</a> at <code>127.0.0.1 port 6668</code>. You do not need to configure a proxy in your IRC client; I2P provides you with a local IRC tunnel (configured in your IRC client as an IRC server or remote host). Your local I2P IRC tunnel on <code>localhost:6668</code> will direct you to one of two IRC servers hosted on I2P by Postman and Badger, but neither you nor they know where the other is, and your mom, ISP or government is unable to intercept your conversation! Once you're there, <code>#i2p-help</code>,<code>#i2p</code>,<code>#i2p-chat</code> and <code>#i2p-dev</code> are just a few of the available channels you may wish to /join. There's also an I2P-based <a href="http://echelon.i2p/qti2pmessenger/">Instant Messenger</a> for unmonitorable and uncensorable anonymous chat, as well as alternative IRC servers, Jabber servers, website-based chat, and more. And of course you're entirely free to run your own servers over I2P in whatever flavor you choose, or if you're a developer write your own <a href="http://www.i2p2.i2p/applications.html" target="_blank">I2P applications</a> (both <a href="https://secure.wikimedia.org/wikipedia/en/wiki/User_Datagram_Protocol" target="_blanK">UDP</a> and <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Transmission_Control_Protocol" target="_blank">TCP</a> protocols are <a href="http://www.i2p2.i2p/techintro.html#op.transport" target="_blank">provisioned</a>), and <a href="http://www.i2p2.i2p/streaming.html" target="_blank">realtime streaming</a> is also possible. We also provide full access to the <a href="http://docs.i2p2.de/javadoc/" target="_blank"> java-based api</a>.</li>
+      <li class="tidylist"><b>Forums &amp; Blogging</b><br>If you're looking to run your own blog or forum, you might be interested in <a href="http://syndie.i2p2.de/" target="_blank">Syndie</a>, a distributed forum and blogging platform for I2P [Needs developers!]. There's also an I2P plugin port of the Java-based <a href="http://pebble.sourceforge.net/" target="_blank">pebble</a> blogging platform ported to I2P by zzz, available on <a href="http://i2plugins.i2p/" target="_blank">i2plugins.i2p</a>. And, of course, all normal blogging, forum and cms software will run over I2P, though you're advised to take extra precautions with security when setting up and to keep all associated software (e.g. Php, MySql, Python, Apache) up to date and locked-down! Also, there are quite a few community run forums on I2P in various languages; see <a href="#eepsites">below</a> for some suggestions.</li>
+      <a name="plugins"></a><li class="tidylist"><b>Plugins for I2P</b><br>Extend the usefulness of I2P by installing plugins&hellip; blogging, chatting, file sharing and other plugins have already been written or ported and await your <a href="http://i2plugins.i2p/plugins/" target="_blank">installation</a>! Browse the plugins and related info at <a href="http://i2plugins.i2p/" target="_blank">i2plugins.i2p</a>. If you're a <a href="http://i2plugins.i2p/developers/" target="_blank">developer</a>, a complete language-agnostic framework for writing your own plugins is provided with <a href="http://www.i2p2.i2p/plugins.html" target="_blank">documentation</a>; I2P plugins can be coded in any language.</li>
 </ul>
 
-<h3>Anonymous Encrypted Webserving on I2P</h3>
+<h3>Anonymous Encrypted Web Hosting on I2P</h3>
 <ul class="links">
 
-<li class="tidylist"><b>Ready to Roll!</b><br>I2P comes with a built-in, ready-to-go webserver for hosting your own anonymous website (eepsite) on the I2P network: a <a href="http://jetty.mortbay.org/" target="_blank">Jetty</a> instance listening on <a href="http://127.0.0.1:7658/" target="_blank">http://127.0.0.1:7658/</a>. To host your own content,
+<li class="tidylist"><b>Ready to Roll!</b><br>I2P comes with a built-in, ready-to-go web server for hosting your own anonymous website (eepsite) on the I2P network: a <a href="http://jetty.mortbay.org/" target="_blank">Jetty</a> instance listening on <a href="http://127.0.0.1:7658/" target="_blank">http://127.0.0.1:7658/</a>. To host your own content,
   simply place your files in the <code>eepsite/docroot/</code> directory (or place 
   any standard JSP/Servlet .war files under <code>eepsite/webapps</code>, 
   or standard CGI scripts under <code>eepsite/cgi-bin</code>) and they'll show 
-  up. You can also run any alternative webserver platform over I2P and replace the built-in server, or run it on another tunnel.</li>
+  up. You can also run any alternative web server platform over I2P and replace the built-in server, or run it on another tunnel.</li>
       <li class="tidylist"><b>Start Your Tunnel</b><br>  
   After starting up, your pre-configured <a href="/i2ptunnel/" target="_blank">I2P Webserver Tunnel</a>,  
 your eepsite will be visible (but not discoverable) to others. Detailed instructions for starting 
-  your eepsite, registering an .i2p domain and promoting your site to others are accessible via your own I2P websever on <a href="http://127.0.0.1:7658/help/" target="_blank">http://127.0.0.1:7658/help/</a>.</li></ul>
+  your eepsite, registering an .i2p domain and promoting your site to others are accessible via your own I2P webserver on <a href="http://127.0.0.1:7658/help/" target="_blank">http://127.0.0.1:7658/help/</a>.</li></ul>
     
 <a name="eepsites"></a>    
     <h3>I2P-Hosted Sites of Interest</h3>
     <ul class="links">
       <li class="tidylist"><b>Invisible Internet Project (I2P) Official Website</b><br><a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a> and 
-        its mirror <a href="http://i2p-projekt.i2p" target="_blank">i2p-projekt.i2p</a>: Secure and 
-        anonymous connections to <a href="http://www.i2p2.de/" target="_blank">www.i2p2.de</a>. There's also an official mirror running on <a href="http://geti2p.net" target="_blank">geti2p.net</a>. If you want to know more about how I2P works or how you can participate, this is your first port of call!</li>
+        its mirror <a href="http://i2p-projekt.i2p/" target="_blank">i2p-projekt.i2p</a>: Secure and 
+        anonymous connections to <a href="http://www.i2p2.de/" target="_blank">www.i2p2.de</a>. There's also an official mirror running on <a href="http://geti2p.net/" target="_blank">geti2p.net</a>. If you want to know more about how I2P works or how you can participate, this is your first port of call!</li>
       <li class="tidylist"><b>I2P Community Forums</b><br><a href="http://forum.i2p/" target="_blank">forum.i2p</a>: A secure 
-        and anonymous connection to <a href="http://forum.i2p2.de/" target="_blank">forum.i2p2.de</a>, an online forum community where developers and users alike discuss problems and ideas relating to I2P and associated topics, and <a href="http://zzz.i2p" target="_blank">zzz's developer forums</a> for both end users and developers.</li>
-      <li class="tidylist"><b>I2P Anonymous Pastebin</b><br><a href="http://paste.i2p2.i2p" target="_blank">paste.i2p2.i2p</a>: Secure and 
+        and anonymous connection to <a href="http://forum.i2p2.de/" target="_blank">forum.i2p2.de</a>, an online forum community where developers and users alike discuss problems and ideas relating to I2P and associated topics, and <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> for both end users and developers.</li>
+      <li class="tidylist"><b>I2P Anonymous Pastebin</b><br><a href="http://paste.i2p2.i2p/" target="_blank">paste.i2p2.i2p</a>: Secure and 
         anonymous paste service allowing anonymous text and text-based code sharing over I2P.</li>
-      <li class="tidylist"><b>Echelon's I2P Resources</b><br><a href="http://echelon.i2p" target="_blank">echelon.i2p</a>: I2P software 
-        archive  with  source code (where permissible), information about I2P, including a <a href="http://echelon.i2p/I2Pguide/index.html" target="_blank">beginner's guide</a> &amp; pre-release developer builds of I2P for the adventurous to try.</li>
-        <li class="tidylist"><b>Ugha's Wiki</b><br><a href="http://ugha.i2p/" target="_blank">ugha.i2p</a>: An open wiki that anyone can edit with plenty of information  about I2P, help for beginners, additional links into the network etc.</li>
-      <li class="tidylist"><b>I2P-to-Freenet Proxy</b><br><a href="http://fproxy.tino.i2p" target="_blank">fproxy.tino.i2p</a>: 
-        Peer into the file sharing world of the <a href="http://freenetproject.org/" target="_blank">Freenet</a> darknet with Tino's I2P-to-Freenet proxy.</li>
+      <li class="tidylist"><b>Echelon's I2P Resources</b><br><a href="http://echelon.i2p/" target="_blank">echelon.i2p</a>: I2P software 
+        archive  with  source code (where permissible), information about I2P, including a <a href="http://echelon.i2p/I2Pguide/index.html" target="_blank">beginner's guide</a> and pre-release developer builds of I2P for the adventurous to try.</li>
+        <li class="tidylist"><b>Ugha's Wiki</b><br><a href="http://ugha.i2p/" target="_blank">ugha.i2p</a>: An open wiki that anyone can edit with plenty of information  about I2P, help for beginners, additional links into the network, and more.</li>
+      <li class="tidylist"><b>I2P-to-Freenet Proxy</b><br><a href="http://fproxy.tino.i2p/" target="_blank">fproxy.tino.i2p</a>: 
+        Peer into the world of the <a href="http://freenetproject.org/" target="_blank">Freenet</a> network with Tino's I2P-to-Freenet proxy.</li>
         <li class="tidylist"><b>The Planet (on I2P)</b><br><a href="http://planet.i2p/" target="_blank">planet.i2p</a>: An RSS aggregator site that takes news and events from around I2P and publishes them all in one place. A good site to visit to see the community at work!</li>
         <li class="tidylist"><b>Eepsite Search Engine</b><br><a href="http://eepsites.i2p/" target="_blank">eepsites.i2p</a>: An 
         anonymously-hosted eepsite search engine.</li>
@@ -82,30 +82,30 @@ your eepsite will be visible (but not discoverable) to others. Detailed instruct
   </li>
 
     <li class="tidylist"><b>Firewalls, Modems & Routers</b><br>Where possible, please ensure I2P/Java is allowed bi-directional port access from the internet by configuring your modem/router/pc firewall accordingly.  
-If you're behind a prohibitive firewall but have unrestricted outbound access, I2P can still function; you can turn off inbound access and rely on <a href="http://www.i2p2.i2p/udp.html" target="_blank">SSU IP Address Detection</a> (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Hole_punching" target="_blank">firewall hole punching</a>) to connect you to the network, and your network status in the sidepanel will indicate "Network: Firewalled". For optimal performance, where possible please ensure I2P's <a href="/config">external port</a> is visible from the internet (see below for more information).</li>
+If you're behind a prohibitive firewall but have unrestricted outbound access, I2P can still function; you can turn off inbound access and rely on <a href="http://www.i2p2.i2p/udp.html" target="_blank">SSU IP Address Detection</a> (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Hole_punching" target="_blank">firewall hole punching</a>) to connect you to the network, and your network status in the side panel will indicate "Network: Firewalled". For optimal performance, where possible please ensure I2P's <a href="/config">external port</a> is visible from the internet (see below for more information).</li>
   
   <li class="tidylist"><b>Check Your Proxy Setttings</b><br>If 
   you cannot see any eepsites at all (not even <a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a>), 
   make sure your browser's proxy is set to access http traffic (<i>not</i> https, <i>not</i> socks) via <code>127.0.0.1 port 4444</code>. If you need some help, there's <a href="http://www.i2p2.i2p/htproxyports.html" target="_blank">a guide</a> to configuring your browser for I2P use, also <a href="http://www.i2p2.de/htproxyports.html" target="_blank">available</a> on the normal web. </li>
 
-  <li class="tidylist"><b>Check Your Logs</b><br><a href="/logs">Logs</a> may help resolve a problem. You may wish to paste excerpts in a <a href="http://forum.i2p/viewforum.php?f=10" target="_blank">forum</a> for help, or perhaps <a href="http://paste.i2p2.i2p" target="_blank">paste</a> it instead and reference the link on IRC for help.</li> 
+  <li class="tidylist"><b>Check Your Logs</b><br><a href="/logs">Logs</a> may help resolve a problem. You may wish to paste excerpts in a <a href="http://forum.i2p/viewforum.php?f=10" target="_blank">forum</a> for help, or perhaps <a href="http://paste.i2p2.i2p/" target="_blank">paste</a> it instead and reference the link on IRC for help.</li> 
   <li class="tidylist"><b>Verify Java is Up to Date</b><br>Ensure your Java is up to date [version 1.6 recommended and required for some features]. If you don't have Java installed, you probably want some implementation of the JRE (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/JRE" target="_blank">Java Runtime Engine</a>); if you're a developer, the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Java_SDK" target="_blank">SDK</a> may also be of interest, and possibly <a href="http://ant.apache.org/" target="_blank">Apache Ant</a> which we use to build the I2P Java binaries.
   </li>
  
   <li class="tidylist"><b>Problems running on Legacy Hardware</b><br>[Linux/Unix/Solaris] If you can't start the router with <code>i2p/i2prouter start</code> try the <code>runplain.sh</code> script in the same directory. Root privileges are usually not required to run I2P. If you need to compile the <a href="http://www.i2p2.i2p/jbigi.html" target="_blank">jBigi library</a> (which is necessary in rare cases), consult appropriate documentation, visit the forums, or come pay a visit to our <a href="irc://127.0.0.1:6668/i2p-dev">IRC developer channel</a>.
 
-  <li class="tidylist"><b>Enable Universal Plug and Play (UPnP)</b><br>Your modem or router may support <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Universal_Plug_and_Play" target="_blank">Universal Plug &amp; Play</a> (UPnP), which permits automatic port forwarding. Ensure UPnP support for I2P is enabled on the <a href="/config">config page</a>, then try to activate UPnP on your modem/router and possibly your computer also. Now try restarting the <a href="/">I2P router</a>. If successful, I2P should report "Network: OK" in the sidepanel once the I2P router completes initial connectivity tests. 
+  <li class="tidylist"><b>Enable Universal Plug and Play (UPnP)</b><br>Your modem or router may support <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Universal_Plug_and_Play" target="_blank">Universal Plug &amp; Play</a> (UPnP), which permits automatic port forwarding. Ensure UPnP support for I2P is enabled on the <a href="/config">config page</a>, then try to activate UPnP on your modem/router and possibly your computer also. Now try restarting the <a href="/">I2P router</a>. If successful, I2P should report "Network: OK" in the side panel once the I2P router completes initial connectivity tests. 
     </li>
-  <li class="tidylist"><b>Port Forwarding</b><br>Open <a href="/config">I2P's port</a> on your modem, router and/or firewall(s) for better connectivity (ideally both UDP and TCP). More information on how to go about port forwarding can be found at <a href="http://portforward.com" target="_blank">portforward.com</a>, in addition to our forums and IRC channels listed below. Note that I2P does not support connecting to the internet via an http or socks proxy [patches welcome!], though you can connect to proxies via I2P itself once connected to the network.
+  <li class="tidylist"><b>Port Forwarding</b><br>Open <a href="/config">I2P's port</a> on your modem, router and/or firewall(s) for better connectivity (ideally both UDP and TCP). More information on how to go about port forwarding can be found at <a href="http://portforward.com/" target="_blank">portforward.com</a>, in addition to our forums and IRC channels listed below. Note that I2P does not support connecting to the internet via an http or socks proxy [patches welcome!], though you can connect to proxies via I2P itself once connected to the network.
  </li>
   <li class="tidylist"><b>Getting Support Online</b><br>You may also want 
   to review the information on the <a href="http://www.i2p2.i2p/" target="_blank">I2P website</a>, 
-  post up messages to the <a href="http://forum.i2p2.de/" target="_blank">I2P discussion forum</a>, 
+  post messages to the <a href="http://forum.i2p2.i2p/" target="_blank">I2P discussion forum</a>, 
   or swing by
   <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> or <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> on I2P's internal IRC network (<code>irc.postman.i2p</code> or <code>irc.freshcoffee.i2p</code>). These channels are also available outside of I2P's encrypted, anonymous network via <a href="irc://irc.freenode.net/i2p">Freenode IRC</a>.</li> 
   
-<li class="tidylist"><b>Reporting Bugs</b><br>If you'd like to report a bug, please file a ticket on <a href="http://trac.i2p2.i2p" target="_blank">trac.i2p2.i2p</a>. For developer-related discussions, please visit <a href="http://zzz.i2p" target="_blank">zzz's developer forums</a> or come and visit the <a href="irc://127.0.0.1:6668/i2p-dev">developer channel</a> on I2P's IRC network. Developers can browse source at <a href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">zzz's mtn repository viewer</a>, <a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p" target="_blank">Sponge's instance</a>, or via <a href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. We primarily use <a href="http://www.i2p2.i2p/monotone.html" target="_blank">monotone</a> to manage our source code.</li>
+<li class="tidylist"><b>Reporting Bugs</b><br>If you'd like to report a bug, please file a ticket on <a href="http://trac.i2p2.i2p/" target="_blank">trac.i2p2.i2p</a>. For developer-related discussions, please visit <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> or come and visit the <a href="irc://127.0.0.1:6668/i2p-dev">developer channel</a> on I2P's IRC network. Developers can browse source at <a href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">zzz's mtn repository viewer</a>, <a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p" target="_blank">Sponge's instance</a>, or via <a href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. We primarily use <a href="http://www.i2p2.i2p/monotone.html" target="_blank">monotone</a> to manage our source code.</li>
 
-<li class="tidylist"><b>Get Involved!</b><br>I2P is developed and maintained mostly through unfunded, voluntary participation by community members. We're happy to accept <a href="http://www.i2p2.i2p/donate.html" target="_blank">donations</a>, which go into essential hosting and administrative costs. We have <a href="http://www.i2p2.i2p/bounties.html" target="_blank">cash bounties</a> for aspects of I2P for developers looking for incentives to participate, and we're always looking for more <a href="http://www.i2p2.i2p/newdevelopers.html" target="_blank">Java coders</a>, <a href="http://www.i2p2.i2p/newtranslators.html" target="_blank">translators</a>, promoters and users to help I2P grow. The bigger the I2P network, the more everyone benefits, so simply telling all your friends about I2P (and lending a hand with the installation and setup where needed) is a big help. For further info on how you can participate visit the <a href="http://www.i2p2.i2p/getinvolved.html" target="_blank">volunteers page</a> on the website.</li>
+<li class="tidylist"><b>Get Involved!</b><br>I2P is developed and maintained mostly through unfunded, voluntary participation by community members. We're happy to accept <a href="http://www.i2p2.i2p/donate.html" target="_blank">donations</a>, which go into essential hosting and administrative costs. We have <a href="http://www.i2p2.i2p/bounties.html" target="_blank">cash bounties</a> for aspects of I2P for developers looking for incentives to participate, and we're always looking for more <a href="http://www.i2p2.i2p/newdevelopers.html" target="_blank">Java coders</a>, <a href="http://www.i2p2.i2p/newtranslators.html" target="_blank">translators</a>, promoters and users to help I2P grow. The bigger the I2P network, the more everyone benefits, so simply telling all your friends about I2P (and lending a hand with the installation and setup where needed) is a big help. For further info on how you can participate, visit the <a href="http://www.i2p2.i2p/getinvolved.html" target="_blank">volunteers page</a> on the website.</li>
 </ul><div class="topness"><a href="#top">[Return to Top]</a></div>
 <div class="footnote"><hr>Document updated: December 2010.</div>
diff --git a/installer/resources/readme/readme_de.html b/installer/resources/readme/readme_de.html
index e48f3a5b1e924110deccf5f25db847f137879dcc..c2e94cb2003ea33dd31154699e656c358835046a 100644
--- a/installer/resources/readme/readme_de.html
+++ b/installer/resources/readme/readme_de.html
@@ -24,7 +24,7 @@
          <li><a href="http://eepsites.i2p/">eepsites.i2p</a>: anonym gehostete Suchseite f&uuml;r Eepseiten</li>
          <li><a href="http://ugha.i2p/">ugha.i2p</a>: Ugha's Eepseite, ein &ouml;ffentliches Wiki mit vielen Links</li>
          <li><a href="http://fproxy.tino.i2p">fproxy.tino.i2p</a>: ein Freenet-Proxy</li>
-	 <li><a href="http://echelon.i2p">echelon.i2p</a>: Softwarearchiv und Informationen zu I2P (mit BitTorrent-Klienten, iMule, I2PFox, I2P-Messenger, ...)</li>
+	 <li><a href="http://echelon.i2p">echelon.i2p</a>: Softwarearchiv und Informationen zu I2P (mit BitTorrent-Klienten, iMule, I2PFox, I2P-Messenger,&nbsp;&hellip;)</li>
          <li><a href="http://paste.i2p2.i2p">paste.i2p2.i2p</a>: anonymer Pastebin</li>
 	</ul><br />
      Es gibt viele andere Eepseiten - folge einfach den Links, die du findest,
@@ -60,7 +60,7 @@
    Deine Dateien im Verzeichnis <code>eepsite/docroot/</code> (oder jedes 
    Standard-JSP/Servlet <code>.war</code> unter <code>eepsite/webapps</code>, 
    CGI Scripte unter <code>eepsite/cgi-bin</code>) und schon sind sie 
-   verf&uuml;gbar.  Nach dem Starten des <a href="/i2ptunnel/">Eepseiten-Tunnels</a>,
+   verf&uuml;gbar. Nach dem Starten des <a href="/i2ptunnel/">Eepseiten-Tunnels</a>,
    der darauf zeigt, ist Deine Eepseite f&uuml;r andere verf&uuml;gbar. 
    Detailierte Instruktionen zum Start Deiner eigenen Eepseite findest Du auf
    <a href="http://127.0.0.1:7658/">Deiner tempor&auml;ren Eepseite</a>.
diff --git a/installer/resources/readme/readme_ru.html b/installer/resources/readme/readme_ru.html
index 712af234842bc7d14aea314e5dde30e54c13535e..ffa8c435e4531d672ddf661e56bfc26cfb929fc7 100644
--- a/installer/resources/readme/readme_ru.html
+++ b/installer/resources/readme/readme_ru.html
@@ -1,68 +1,111 @@
 <div lang="ru">
 <div align="right"> 
-  <div class="langbox" align="right"><a href="/index.jsp?lang=en"><img src="/flags.jsp?c=us" title="English" alt="English"></a> 
+  <div class="langbox" align="right">
+    <a href="/index.jsp?lang=en"><img src="/flags.jsp?c=us" title="English" alt="English"></a> 
     <a href="/index.jsp?lang=zh"><img src="/flags.jsp?c=cn" title="中文" alt="中文"></a> 
     <a href="/index.jsp?lang=de"><img src="/flags.jsp?c=de" title="Deutsch" alt="Deutsch"></a> 
     <a href="/index.jsp?lang=fr"><img src="/flags.jsp?c=fr" title="Français" alt="Français"></a> 
-    <a href="/index.jsp?lang=es"><img src="/flags.jsp?c=es" title="Espa&ntilde;ol" alt="Espa&ntilde;ol"></a> 
+    <a href="/index.jsp?lang=es"><img src="/flags.jsp?c=es" title="Español" alt="Español"></a> 
     <a href="/index.jsp?lang=pt"><img src="/flags.jsp?c=pt" title="Português" alt="Português"></a> 
     <a href="/index.jsp?lang=nl"><img src="/flags.jsp?c=nl" title="Nederlands" alt="Nederlands"></a> 
     <a href="/index.jsp?lang=ru"><img src="/flags.jsp?c=ru" title="Русский" alt="Русский"></a> 
     <a href="/index.jsp?lang=sv"><img src="/flags.jsp?c=se" title="Svenska" alt="Svenska"></a></div>
-</div></div>
-<div class="welcome"><h2>Добро пожаловать в I2P!</h2></div>
-<p>Когда Вы запускаете I2P впервые — числа в графе «Активные» (слева) начнут расти постепенно, это может занять несколько минут. Затем в списке «Локальные туннели» появится запись «коллективные клиенты» (если этого не случилось, <a href="#trouble">см. «устранение неполадок»</a>).
-
-<p>После появления записи «коллективные клиенты» Вы можете:</p>
-<ul>
-	
-	<li><b>Просматривать I2P-сайты</b> (веб-сайты хостящиеся анонимно внутри I2P сети). Для этого настройте в Вашем браузере <b>HTTP прокси-сервер 127.0.0.1 порт 4444</b>. С этими настройками попробуйте зайти на I2P-сайты по ссылкам ниже:<br>
-	
-    <ul class="links">
-		<li><a href="http://forum.i2p/">forum.i2p</a> — безопасное и  анонимное зеркало для форума <a href="http://forum.i2p2.de/">forum.i2p2.de</a></li>
-		<li><a href="http://www.i2p2.i2p/">www.i2p2.i2p</a> или <a href="http://i2p-projekt.i2p">i2p-projekt.i2p</a> — безопасное и анонимное зеркало для <a href="http://www.i2p2.de/">www.i2p2.de</a></li>
-		<li><a href="http://eepsites.i2p/">eepsites.i2p</a> — анонимная поисковая система по I2P-сайтам</li>
-		<li><a href="http://ugha.i2p/">ugha.i2p</a> — I2P-вики, которую может редактировать любой пользователь, плюс множество ссылок</li>
-		<li><a href="http://fproxy.tino.i2p">fproxy.tino.i2p</a> — Freenet-прокси</li>
-		<li><a href="http://echelon.i2p">echelon.i2p</a> — архив программного обеспечения для I2P</li>
-		<li><a href="http://paste.i2p2.i2p">paste.i2p2.i2p</a> — анонимный pastebin-сервис</li>
-    </ul><br>
-	
-    Существует множество других I2P-сайтов — пройдитесь по этому списку, добавьте в свои закладки всё, что Вам понравится. Возвращайтесь почаще!
-    </li><br />
-    
-	<li class="tidylist"><b>Анонимно просматривать обычные веб-сайты</b> — в I2P по умолчанию настроен глобальный анонимный «внешний прокси» («Outproxy»), через который будут перенаправляться Ваши запросы к http-серверам обычного интернета. (При необходимости Вы можете отключить эту функцию в свойствах i2p-туннеля <a href="/i2ptunnel/">«eepProxy»</a>)</li>
- 
-    <li class="tidylist"><b>Передавать файлы</b> — для этого есть встроенный <a href="/i2psnark">порт</a> BitTorrent-клиента <a href="http://www.klomp.org/snark/">Snark</a>.</li>
-  
-    <li class="tidylist"><b>Пользоваться анонимной почтой</b> — спасибо postman-у за создание почтовой системы <a href="http://hq.postman.i2p/">hq.postman.i2p</a> совместимой с обычными почтовыми клиентами (через протоколы POP3/SMTP). С её помощью можно обмениваться почтой как внутри I2P, так и с адресами обычного интернета. Мы также предлагаем попробовать <a href="/susimail/susimail">Susimail</a> — встроенный почтовый клиент с веб-интерфейсом, уже настроенный на работу с сервером postman-а, вам лишь остается создать аккаунт.</li>
+  </div>
+</div><a name="top"></a>
+<div class="welcome"><h2>Добро пожаловать в Невидимый Интернет</h2></div>
+<ul class="links"><li class="tidylist"><b>Начало&hellip;</b><br>Если вы только что запустили I2P, число <i>Активных пиров</i>, отображаемых под секцией <i>Пиры</i> на боковой панели должно начать увеличиваться через несколько минут, и вы так же увидите <i>Локальный туннель</i> с именем <i>Коллективные Клиенты</i>, и, возможно, другие клиентские и серверные туннели в зависимости от того, как настроен I2P (если нет, смотрите секцию по разрешению проблем <a href="#trouble">ниже</a>). Эти <i>Локальные туннели</i> предоставляют соединения на разных портах (и иногда разные протоколы) для сети I2P, позволяя функционировать вашим torrent, e-mail, прокси и другим сервисам. Ваша <a href="/netdb">База данных сети I2P</a> показывает всех известных роутеру пиров в сети. Больше информации доступно на <a href="/help">странице помощи</a>.</li>
 
+<li class="tidylist"><b>Сетевая интеграция</b><br> Когда вы впервые запускаете I2P, это может занять несколько минут, т.к. роутер выполняет процедуру начальной загрузки (bootstrap) для интеграции в сеть и поиска пиров для оптимизации интегрированности. Будте терпеливы. Когда возле ваших <i>Локальных туннелей</i> загорятся зелёные звёздочки, вы сможете делать с I2P разнообразные вещи, и ниже мы представим вам некоторые из них. </li></ul>
   
-	<li class="tidylist"><b>Общаться в анонимных чатах</b> — запустите любой удобный для Вас IRC-клиент и подключитесь к серверу <b>127.0.0.1 порт 6668</b>. По этому адресу расположен вход на два анонимно хостящихся IRC-сервера. Ваше реальное местоположение будет скрыто как от сервера, так и от других пользователей.      
-      
-	<li class="tidylist"><b>Вести анонимный блог</b> — попробуйте <a href="http://syndie.i2p2.de/">Syndie</a></li>
-      
-	<li class="tidylist">и многое другое</li>
+<h3>Сервисы в I2P</h3>
+<ul class="links">
+
+<li class="tidylist"><b>Невидимый Интернет и просмотр обычных сайтов </b><br>В I2P вы можете заходить на анонимные веб-сайты (так же известные как eepsites) и пользоваться другими сервисами (такими как ssh over I2P, IRC, Jabber и т.д.), а так же поддерживать собственные сервисы. Ещё вы можете выходить в обычный веб анонимно через имеющиеся в I2P веб-прокси (outproxy). <a href="http://www.i2p2.de/htproxyports.html" target="_blank">Настройте ваш браузер</a> на использование <a href="http://proxy.i2p" target="_blank">HTTP proxy</a> на <code>127.0.0.1 порт 4444</code>, затем откройте eepsite или обычный <code>http://</code> адрес. Вы можете попробовать преднастроенный браузер <a href="http://echelon.i2p/i2pfox/">I2PFox</a> - специальную сборку Firefox, сделанную для I2P, с усиленной безопасностью. Если вы хотите отключить или изменить возможность доступа в обычный интернет через outproxy, удалите или измените содержимое <code>false.i2p</code> в поле опции <i>Outproxies</i> на странице <a href="/i2ptunnel/edit?tunnel=0" target="_blank">редактирования HTTP Proxy туннеля</a>. В секции Достопримечательности <a href="#eepsites">ниже</a>, мы представляем список некоторых сайтов, имеющихся в I2P.</li>
+
+<li class="tidylist"><b>Анонимная электронная почта</b><br>Почтовая система Postman-а, расположенная в I2P, доступна через <a href="../../../../../../susimail/">встроенный почтовый клиент с веб-интерфейсом</a>
+(susimail), либо через любой почтовый клиент, поддерживающий smtp и pop3.
+Пользователи сервиса могут отправлять и получать почту из обычного интернета. Для
+получения аккаунта, посетите <a href="http://hq.postman.i2p/" target="_blank">hq.postman.i2p</a>. Так же, доступна <a href="http://i2pbote.i2p/" target="_blank">I2P-Bote</a> - новая безсерверная почтовая система со сквозным шифрованием с веб-интерфейсом и встроенной адресной книгой. Она разрабатывается HungryHobo и может быть установлена как <a href="readme.html#plugins">плагин</a>.</li>
+
+<li class="tidylist"><b>Анонимная передача файлов</b><br><a href="/i2psnark" target="_blank">I2PSnark</a> - интегрированный в I2P <a href="https://secure.wikimedia.org/wikipedia/en/wiki/BitTorrent_%28protocol%29" target="_blank">торрент</a>-клиент, обеспечивающий анонимную и шифрованную передачу файлов. Помимо этого, Sponge разрабатывает битторрент-клиент <a href="http://bob.i2p/Robert.html">Robert</a>, написанный на Python. Так же имеется порт <a href="http://www.emule-project.net/" target="_blank">eMule</a> для I2P, именуемый <a href="http://echelon.i2p/imule">iMule</a> [нуждается в разработчиках!]; анонимная и безопасная реализация <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Gnutella" target="_blank">Gnutella network</a>, доступная через <a href="http://echelon.i2p/i2phex/" target="_blank">I2Phex</a> [поддерживается Complication-ом, ищутся разработчики!], и прочие возможности, включая веб-обменники, для работы с которыми достаточно только браузера.</li>
+
+      <li class="tidylist"><b>Анонимный чат</b><br>Запустите ваш IRC-клиент (Chatzilla, Pidgin, XChat и т.п.)
+        и соединитесь с <a href="irc://127.0.0.1:6668/i2p">сервером</a> на <code>127.0.0.1 порт 6668</code>. Вам не нужно настраивать прокси в IRC-клиенте; I2P предоставляет преднастроенный IRC-туннель (настраиваемый в вашем IRC-клиенте как IRC-сервер). Ваш локальный I2P IRC-туннель на <code>localhost:6668</code> направит вас на один из двух IRC-серверов, поддерживаемых Postman-ом и Badger-ом, но ни вы и ни они не знают, где расположен другой сервер, и ни ваша мама, ни провайдер, ни госорганы не могут перехватить ваши разговоры! Когда вы зайдёте в irc, возможно вам захочется зайти на некоторые из этих каналов - <code>#i2p-help</code>,<code>#i2p</code>,<code>#i2p-chat</code> и <code>#i2p-dev</code>. Так же здесь имеется I2P-ориентированный <a href="http://echelon.i2p/qti2pmessenger">клиент обмена мгновенными сообщениями</a> для неотслеживаемого и безцензурного анонимного общения, который можно считать альтернативой IRC и Jabber-серверам, веб-чатам. И, конечно, вы всецело вольны запускать ваши собственные серверы поверх I2P в любом режиме как вы хотите, или, если вы программист, можете написать собственные <a href="http://www.i2p2.de/applications.html" target="_blank">I2P-приложения</a> (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/User_Datagram_Protocol" target="_blanK">udp</a> и <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Transmission_Control_Protocol" target="_blank">tcp</a> протоколы <a href="http://www.i2p2.i2p/techintro.html#op.transport" target="_blank">предоставлены</a>), и <a href="http://www.i2p2.de/streaming.html" target="_blank">потоковая передача в реальном времени</a> так же возможна. Ещё мы предоставляем полный доступ к <a href="http://docs.i2p2.de/javadoc/" target="_blank"> java-based api</a>.</li>
+
+      <li class="tidylist"><b>Форумы и блоги</b><br>Если вы намереваетесь запустить собственный блог или форум, возможно вы заинтересуетесь <a href="http://syndie.i2p2.de/" target="_blank">Syndie</a>, распределённой платформой для форума или ведения блога в I2P [нужны разработчики!]. Ещё есть порт <a href="http://pebble.sourceforge.net/" target="_blank">pebble</a> - написанной на Java блоггинг-платформы, выполненный zzz в виде плагина для I2P, доступен на <a href="http://i2plugins.i2p" target="_blank">i2plugins.i2p</a>. И, конечно, все обычные блоги, форумы и CMS будут работать через I2P, но будте аккуратны при их настройке, уделите должное внимание безопасности, в том числе и связанному софту (php, MySQL, Python, Apache и т.д.). Так же, в I2P есть несколько форумов на разных языках, поддерживаемых  сообществом; <a href="#eepsites">ниже</a> имеется несколько ссылок.</li>
+
+      <a name="plugins"></a><li class="tidylist"><b>Плагины для I2P</b><br>Повысьте полезность I2P установив плагины&hellip; блоггинг, чат, обмен файлами и другие плагины уже были написаны или портированы и ждут когда вы их <a href="http://i2plugins.i2p/plugins/" target="_blank">установите</a>! Смотрите плагины и сопутствующую информацию на <a href="http://i2plugins.i2p" target="_blank">i2plugins.i2p</a>. Если вы <a href="http://i2plugins.i2p/developers/" target="_blank">программист</a>, полный языконезависимый фреймворк для написания плагинов доступен и <a href="http://www.i2p2.i2p/plugins.html" target="_blank">документирован</a>; I2P плагины могут быть написаны на любом языке.</li>
 </ul>
 
-<h2>Хотите завести собственный I2P-сайт?</h2>
-<p>Для этого в I2P есть встроенный http-сервер <a href="http://jetty.mortbay.org/">Jetty</a> работающий по адресу <a href="http://127.0.0.1:7658/">http://127.0.0.1:7658/</a>. 
+<h3>Анонимный шифрованный веб-хостинг в I2P</h3>
+<ul class="links">
 
-Просто поместите свои файлы в директорию <code>eepsite/docroot/</code> (<code>.war</code>-файлы JSP/сервлетов в директорию <code>eepsite/webapps/</code>, а CGI-скрипты в директорию <code>eepsite/cgi-bin/</code>).
+<li class="tidylist"><b>Готовы к действию!</b><br>I2P идёт со встроенным готовым к работе веб-сервром для хостинга вашего собственного анонимного веб-сайта (eepsite) в сети I2P: <a href="http://jetty.mortbay.org/" target="_blank">Jetty</a> развёрнут и слушает на <a href="http://127.0.0.1:7658/" target="_blank">http://127.0.0.1:7658/</a>. Для размещения собственного контента, 
+  просто положите ваши файлы в каталог <code>eepsite/docroot/</code> (или положите любой 
+  обычный JSP/Servlet .war файл в <code>eepsite/webapps</code>, 
+  или обычный CGI-скрипт внутрь <code>eepsite/cgi-bin</code>) и они будут показы вам. 
+  Так же вы можете запустить любой другой веб-сервер для работы в I2P и заменить встроенный веб-сервер, либо настроить для него отдельный туннель.</li>
+      <li class="tidylist"><b>Запустите свой туннель</b><br>  
+  После запуска преднастроенного <a href="/i2ptunnel/" target="_blank">туннеля для веб-сервера</a>,  
+ваш eepsite будет доступен (но не обнаруживаем) для остальных. Детальные инструкции по запуску 
+  I2P-сайта, регистрации .i2p домена и распространению информации о вашем сайте доступны через ваш I2P веб-сервер на странице <a href="http://127.0.0.1:7658/help/" target="_blank">http://127.0.0.1:7658/help/</a>.</li></ul>
+    
+<a name="eepsites"></a>    
+    <h3>Достопримечательности I2P</h3>
+    <ul class="links">
+      <li class="tidylist"><b>Официальный веб-сайт Invisible Internet Project (I2P)</b><br><a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a> и 
+        его зеркало <a href="http://i2p-projekt.i2p" target="_blank">i2p-projekt.i2p</a>: безопасный и анонимный 
+        доступ к <a href="http://www.i2p2.de/" target="_blank">www.i2p2.de</a>. Так же имеется официальное зеркало на <a href="http://geti2p.net" target="_blank">geti2p.net</a>. Если вы хотите узнать больше о том, как работает I2P, или о том, как вы можете принять участие, это послужит вам точкой входа.</li>
+	<li class="tidylist"><b>Форумы сообщества I2P</b><br><a href="http://forum.i2p/" target="_blank">forum.i2p</a>: Безопасный
+	и анонимный доступ к <a href="http://forum.i2p2.de/" target="_blank">forum.i2p2.de</a>, где разработчики и пользователи обсуждают относящиеся к I2P и сопутствующим вещам проблемы и идеи, и <a href="http://zzz.i2p" target="_blank">форумы разработчика zzz</a> как для разработчиков, так и для конечных пользователей.</li>
+      <li class="tidylist"><b>Анонимный I2P Pastebin</b><br><a href="http://paste.i2p2.i2p" target="_blank">paste.i2p2.i2p</a>: 
+        Безопасный и анонимный pastebin-сервис, предоставляющий возможность анонимного обмена текстом и кодом через I2P.</li>
+      <li class="tidylist"><b>Ресурсы Echelon-а</b><br><a href="http://echelon.i2p" target="_blank">echelon.i2p</a>: архив I2P
+        софта с исходными текстами (где позволяет лицензия), информация об I2P, включая <a href="http://echelon.i2p/I2Pguide/index.html" target="_blank">руководство для начинающих</a> и пре-релизные девелоперские сборки I2P для тестирования.</li>
+        <li class="tidylist"><b>Вики Ugha-и</b><br><a href="http://ugha.i2p/" target="_blank">ugha.i2p</a>: Открытая вики, которую может редактировать любой, с изобилием информации об I2P, помощью для начинающих, дополнительными ссылками на ресурсы сети и т.д.</li>
+      <li class="tidylist"><b>I2P-to-Freenet прокси</b><br><a href="http://fproxy.tino.i2p" target="_blank">fproxy.tino.i2p</a>: 
+        Взгляните в мир обмена данными закрытой сети <a href="http://freenetproject.org/" target="_blank">Freenet</a> с помощью I2P-to-Freenet прокси-сервера Tino.</li>
+        <li class="tidylist"><b>Планета I2P</b><br><a href="http://planet.i2p/" target="_blank">planet.i2p</a>: RSS-аггрегатор, который собирает новости и события в I2P и публикует их в одном месте. Хороший сайт, который можно посетить и увидеть сообщество в работе!</li>
+        <li class="tidylist"><b>Поисковик по I2P-сайтам</b><br><a href="http://eepsites.i2p/" target="_blank">eepsites.i2p</a>: Анонимно-хостящийся поисковик по eepsite-ам.</li>
+      <li class="tidylist"><b>Здоровье сети I2P</b><br><a href="http://stats.i2p/cgi-bin/dashboard.cgi" target="_blank">stats.i2p</a>: посмотрите различные аспекты сетевой производительности с помощью этого сайта для мониторинга сети I2P, поддерживаемого zzz.</li> 
+      <li class="tidylist"><b>Исследуйте I2P</b><br>Здесь много больше eep-сайтов - походите по ссылкам с тех, что вы видите. Добавляйте понравившиеся в закладки, и посещайте их чаще!<br></li>     
+    </ul>
 
-После этого достаточно запустить туннель <a href="/i2ptunnel/">«I2P webserver»</a>, указывающий на Ваш сайт, и он станет доступным для других пользователей.</p>
 
-<p>Подробную пошаговую инструкцию Вы можете найти на <a href="http://127.0.0.1:7658/">временной страничке-заготовке Вашего сайта</a>.</ps>
+<h2>Разрешение проблем и дальнейшая поддержка</h2><a name="trouble"></a>
+    <ul class="links">
+      <li class="tidylist"><b>Будте терпеливы!</b><br>I2P-роутер может быть медленен во время интеграции в сеть, когда вы запускаете его впервые, так как он выполняет процедуру начальной загрузки (bootstrap) и получает информацию о других пирах. Чем дольше ваш I2P-роутер работает, тем лучше он будет работать, поэтому старайтесь держать ваш роутер включенным как можно дольше, если возможно, 24x7! Если через 30 минут ваш счётчик <i>Активные: [подсоединённые/недавние]</i> будет показывать менее 10-и пиров, или общее количество <i>Интегрированных</i> пиров будет меньше 5-и, есть несколько вещей, которые вы можете проверить с целью выявления проблем: 
+  </li>
 
-<h2><a name="trouble">Поиск и устранение неполадок</a></h2>
-<p>Наберитесь терпения — первый старт I2P может занять до получаса из-за начального поиска пиров.
+  <li class="tidylist"><b>Проверьте ваши настройки ограничения скорости</b><br>I2P функционирует наилучшим образом, когда вы можете точно задать скорость соединения с Интернет в <a href="/config">секции настройки ограничения скорости</a>. По умолчанию настройки I2P имеют довольно консервативны значения, которые не покрывают многие нужды, поэтому пожалуйста потратьте время на проверку этих настроек и, если нужно, скорректируйте. Чем большую полосу пропускания вы выделите, <i>особенно</i> исходящую, тем большую выгоду вы получите от сети.
+  </li>
 
-<p>Если через 30 минут в графе «Активные» все еще меньше 10 подсоединенных пиров, то для повышения качества соединения Вам нужно открыть порт для I2P на Вашем файерволе или роутере (используемый номер порта можно посмотреть на <a href="/config.jsp">странице настроек</a>).</p>
+    <li class="tidylist"><b>Файрволлы, модемы и роутеры</b><br>Пожалуйста, обеспечьте для I2P/Java двухсторонний доступ по порту из интернета там, где это возможно, настроив ваш модем/роутер/ПК соответствующим образом. 
+Если вы за запретительным файрволлом, но имеете неограниченный доступ наружу, I2P может функционировать; вы можете выключить доступ снаружи и полагаться на <a href="http://www.i2p2.i2p/udp.html" target="_blank">SSU IP Address Detection</a> (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Hole_punching" target="_blank">firewall hole punching</a>) для соединения с сетью, и тогда статус сети у вас на боковой панели будет показывать "Заблокирован извне". Для достижения оптимальной производительности, если возможно, пожалуйста обеспечьте доступность <a href="/config">внешнего порта</a> I2P из интернета (более подробно см. ниже).</li>
+  
+  <li class="tidylist"><b>Проверьте настройки прокси</b><br>Если
+  вы не можете попасть ни на один eep-сайт (даже на <a href="http://www.i2p2.i2p/" target="_blank">www.i2p2.i2p</a>), 
+  убедитесь, что в браузере прописан именно http-прокси (<i>не</i> https и <i>не</i> socks) <code>127.0.0.1 port 4444</code>. Если вам нужна помощь, здесь есть <a href="http://www.i2p2.i2p/htproxyports.html" target="_blank">руководство</a> по настройке браузера для использования I2P, которое так же <a href="http://www.i2p2.de/htproxyports.html" target="_blank">доступно</a> через обычный интернет. </li>
 
-<p>Если Вы не можете соединиться ни с одним I2P-сайтом (даже <a href="http://www.i2p2.i2p/">www.i2p2.i2p</a>), проверьте, включен ли в Вашем браузере HTTP-прокси 127.0.0.1 порт 4444.</p>
+  <li class="tidylist"><b>Проверьте логи</b><br><a href="/logs">Логи</a> могут помочь решить проблему. У вас может возникнуть желание запостить часть логов на <a href="http://forum.i2p/viewforum.php?f=10" target="_blank">форум</a>, чтобы получить помощь, или, может быть, на <a href="http://paste.i2p2.i2p" target="_blank">pastebin</a>, чтобы дать ссылку на IRC.</li> 
+
+  <li class="tidylist"><b>Проверьте свежесть Java</b><br>Убедитесь, что у вас достаточно свежая Java [версия 1.6 рекомендуется и необходима для функционирования некоторых возможностей]. Если у вас не установлена Java, скорее всего, вам требуется какая-нибудь реализация JRE (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/JRE" target="_blank">Java Runtime Engine</a>); если вы программист, <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Java_SDK" target="_blank">SDK</a> так же может быть интересен, и, возможно, <a href="http://ant.apache.org/" target="_blank">Apache Ant</a>, который мы используем для сборки бинарников I2P.
+  </li>
+ 
+  <li class="tidylist"><b>Проблемы использования на устаревшем железе</b><br>[Linux/Unix/Solaris] Если вы не можете запустить роутер с помощью <code>i2p/i2prouter start</code>, попробуйте воспользоваться скриптом <code>runplain.sh</code>, который находится в той же директории. Root-привилегии обычно не требуются для запуска I2P. Если вам нужно скомпилировать <a href="http://www.i2p2.i2p/jbigi.html" target="_blank">библиотеку jBigi</a> (что необходимо в редких случаях), изучите соответствующую документацию, посетите форумы, или приходите на наш <a href="irc://127.0.0.1:6668/i2p-dev">IRC-канал для разработчиков</a>.
+
+  <li class="tidylist"><b>Включите Universal Plug and Play (UPnP)</b><br>Ваш модем или роутер возможно поддерживает <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Universal_Plug_and_Play" target="_blank">Universal Plug &amp; Play</a> (UPnP), который делает возможным автоматический проброс портов. Убедитесь, что поддержка UPnP в I2P включена на <a href="/config">странице настройки</a>, потом попробуйте активировать UPnP на модеме/роутере, и, возможно, на компьютере. Затем перезапустите <a href="/">I2P-роутер</a>. Если всё хорошо, I2P должен отображать сообщение "Сеть: OK" на боковой панели после того как выполнит начальные тесты связности (connectivity).
+    </li>
+  <li class="tidylist"><b>Проброс портов</b><br>Для достижения большей связности, откройте <a href="/config">порты I2P</a> на модеме, роутере и/или файрволле (в идеале и UDP и TCP). В дополнение к нашим форумам и IRC-каналам (указанным ниже), больше информации о том, как сделать проброс портов, можно найти на сайте <a href="http://portforward.com" target="_blank">portforward.com</a>. Имейте в виду, что I2P не имеет поддержки режима работы через http или socks прокси [патчи приветствуются!]. Когда I2P-роутер соединён с сетью I2P, вы можете подключаться к прокси-серверами через I2P.
+ </li>
+  <li class="tidylist"><b>Получение поддержки в режиме онлайн</b><br>Так же, возможно вам захочется
+  просмотреть информацию на <a href="http://www.i2p2.i2p/" target="_blank">сайте I2P</a>, 
+  отправить сообщение на <a href="http://forum.i2p2.de/" target="_blank">дискуссионный форум I2P</a>, 
+  или посетить каналы 
+  <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> or <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> во внутренней IRC-сети I2P (<code>irc.postman.i2p</code> или <code>irc.freshcoffee.i2p</code>). Эти каналы так же доступны извне I2P через <a href="irc://irc.freenode.net/i2p">Freenode IRC</a>.</li> 
+  
+<li class="tidylist"><b>Составление отчётов об ошибках</b><br>Если вы хотите сообщить об ошибке, пожалуйста заведите заявку на сайте <a href="http://trac.i2p2.i2p" target="_blank">trac.i2p2.i2p</a>. Для ведения дискуссий, относящихся к разработке, посетите <a href="http://zzz.i2p" target="_blank">форум разработчиков у zzz</a>, или приходите на <a href="irc://127.0.0.1:6668/i2p-dev">девелоперский канал</a> в IRC-сети I2P. Программисты могут захотеть посмотреть исходные коды в <a href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">веб-просмотрщике mtn-репозитория от zzz</a>, <a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p" target="_blank">инсталляции у Sponge-а</a>, или через <a href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. Преимущественно, мы используем <a href="http://www.i2p2.i2p/monotone.html" target="_blank">monotone</a> для управления исходным кодом.</li>
 
-<p>Кроме того, Вам может пригодиться справочная информация на <a href="http://www.i2p2.de/">сайте I2P</a>. Не стесняйтесь задать интересующие вас вопросы на <a href="http://forum.i2p2.de/">форуме I2P</a> или на IRC каналах 
- <a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a href="irc://127.0.0.1:6668/i2p">#i2p</a> и <a href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a>
-на серверах <a href="irc://irc.freenode.net/#i2p">irc.freenode.net</a>, irc.postman.i2p или irc.freshcoffee.i2p (последние два объединены в одну сеть, а на freenode работает бот-ретранслятор).</p>
-<hr>
-</div>
+<li class="tidylist"><b>Вовлекайтесь!</b><br>I2P разрабатывается и сопровождается в основном за счёт неоплачиваемого, добровольного участия членов сообщества. Мы рады принимать <a href="http://www.i2p2.i2p/donate.html" target="_blank">пожертвования</a>, которые идут на необходимые административные затраты и хостинг. Для разработчиков, ищущих материальные стимулы, у нас есть <a href="http://www.i2p2.i2p/bounties.html" target="_blank">денежные премии</a> за работу над некоторыми аспектами I2P, и мы всегда ищем <a href="http://www.i2p2.i2p/newdevelopers.html" target="_blank">Java программистов</a>, <a href="http://www.i2p2.i2p/newtranslators.html" target="_blank">переводчиков</a>, популяризаторов и пользователей, помогающих I2P расширяться. Чем больше I2P-сеть, тем больше общая выгода, поэтому простой рассказ об I2P своим друзьям (и помощь с установкой и настройкой если нужно) - уже большая помощь. Для получения дальнейшей информации о том, как вы можете принять участие, посетите <a href="http://www.i2p2.i2p/getinvolved.html" target="_blank">страницу для добровольцев</a> на официальном сайте.</li>
+</ul><div class="topness"><a href="#top">[Наверх]</a></div>
+<div class="footnote"><hr>Документ обновлён: декабрь 2010.</div>
diff --git a/installer/resources/themes/console/classic/console.css b/installer/resources/themes/console/classic/console.css
index 2c2768053492b4b64c9a84d4e15ddff44c84afe9..0d301a879f4f5843f828a720f8c7c551cfa1e7e1 100644
--- a/installer/resources/themes/console/classic/console.css
+++ b/installer/resources/themes/console/classic/console.css
@@ -110,7 +110,7 @@ div.warning h3 {
      border: 0;
      border-bottom: 5px solid #fb7;
      padding-bottom: 10px;
-     background: #ffd;
+     background:none #FFFFDD !important;
      padding-left: 0;
 }
 
@@ -378,7 +378,6 @@ div.wideload p !important {
 
 div.news {
      margin: -1px 1px 0 200px;
-     padding: -10px 0px 8px 0px;
      background: #ffffc0;
      border: 1px solid #89f;
      border-bottom: 1px solid #89f;
@@ -389,6 +388,7 @@ div.news {
      padding-bottom: 8px;
      padding-left: 10px;
      padding-right: 10px;
+     padding: 0 10px 3px 10px;
      font-size: 7pt;
 }
 
@@ -407,6 +407,10 @@ div.news li {
      text-transform: capitalize;
 }
 
+div.news h3 {
+     text-align: left !important;
+}
+
 div.news p {
      color: #330;
      font-size: 9pt;
@@ -441,7 +445,7 @@ div.news hr {
      background: #cc7;
      height: 1px;
      border: 0px solid #cc7;
-     margin: 20px 0 0 0;
+     margin: 10px 0 2px 0;
 }
 
 div.confignav {
diff --git a/installer/resources/themes/console/classic/default.css b/installer/resources/themes/console/classic/default.css
index 1a9900d3ef6229b04fb79a012fa31fa22ca0dc2f..e9eb0ba0f98bba359dca6de1901d86ee8998852b 100644
--- a/installer/resources/themes/console/classic/default.css
+++ b/installer/resources/themes/console/classic/default.css
@@ -71,7 +71,8 @@ button {
 }
 
 textarea {
-     border: 1px solid #ddddc0;
+     border: 1px solid #aaf;
+     min-height: 40px;
 }
 
 br {
diff --git a/installer/resources/themes/console/dark/console.css b/installer/resources/themes/console/dark/console.css
index 827002d53e88498b4fac539984bc39edcf29bfb4..8921b88c985b3a5c77f7a4a6baeba5255fa75a8a 100644
--- a/installer/resources/themes/console/dark/console.css
+++ b/installer/resources/themes/console/dark/console.css
@@ -1,1061 +1,1083 @@
-/* I2P Theme: Camo aka Dark */
-/* Description: Military Grade. */
-/* Comment: Thanks to Florian Kuhlmann for the hatface images. [ http://www.flickr.com/photos/floriankuhlmann/]
-/* Author: dr|z3d */
-
-body {
-     margin: 5px 0px 0 0px;
-     padding: 0;
-     text-align: center;
-     background: #010 url('images/camotile.png') center bottom;
-     color: #EE9;
-     font: 9pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     
-}
-
-.hide {
-     display: none;
-}
-
-img {
-     border: none;
-}
-
-pre {
-     width: 98%;
-     overflow-x: scroll;
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #EE9;
-}
-
-div.logo {
-     float: left;
-     padding: 10px;
-     text-align: center;
-     font-color: #EE9;
-     margin: 0 20px 0 20px;
-     border: 1px solid #494;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
- background: #000; /*url("images/camotile2.png");*/
-     width: 185px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #009;
-     -khtml-box-shadow: inset 0px 0px 1px 0px #009;
-     box-shadow: inset 0px 0px 1px 0px #009;
-}
-
-div.logo hr {
-     color: #494;
-     background: #494;
-     height: 1px;
-     border: 0px solid #494;
-     margin: 10px 0 5px;
-}
-
-div.toolbar {
-     margin: 0;
-     padding: 10px;
-     font-weight: bold;
-     background: #000;
-     border: 1px solid #000;
-     display: none;
-}
-
-div.toolbar a:link {
-     border: 1px outset #ddddc0;
-     padding: 0px 5px 1px 5px;
-     background: #bbf;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     color: #000;
-}
-
-div.toolbar a:visited {
-     background: #ddf;
-}
-
-div.toolbar a:hover, button:hover{
-     border: 1px solid #f60;
-     background: #030;
-     color: #f60;
-}
-
-a:active{
-     color: #900;
-}
-
-div.routersummaryouter {
-     float: left;
-     width: 200px;
-     margin: 0 0 10px 5px;
-     padding: 0;
-     border: 0;
-     clear: left;/* fixes a bug in Opera */
-     text-align: center;
-     display: block;
-}
-
-div.routersummary {
-     width: 173px;
-     padding: 10px;
-     text-align: center;
-     border: 1px solid #494;
-     background: #000 url(images/camotile2.png);
-     color: #EE9;
-     font-size: 8pt;
-     clear: left;/* fixes a bug in Opera */
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     float: left;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
-     box-shadow: 0 1px 5px #000;
-}
-
-div.routersummary input[type=text] {
-     text-align: right !important;
-     -moz-box-shadow: inset 1px 1px 1px 0px #000;
-     -khtml-box-shadow: inset 1px 1px 1px 0px #000;     
-     box-shadow: inset 1px 1px 1px 0px #000;     
-}
-
-div.routersummary hr {
-     color: #494;
-     background: #494;
-     height: 2px;
-     border-bottom: 1px solid #494;
-     margin: 8px -10px 7px -10px;
-     -moz-box-shadow: inset 0px 1px 1px 1px #000;
-     -khtml-box-shadow: inset 0px 1px 1px 1px #000;
-     box-shadow: inset 0px 1px 1px 1px #000;
-}
-
-div.routersummary h3 {
-     border: 0;
-     font-size: 9.5pt;
-     letter-spacing: 0.04em;
-     margin: -7px -10px -8px -10px;
-     padding: 3px 0 4px 0 !important;
-     text-transform: uppercase;
-     -moz-border-radius: 0;
-     -khtml-border-radius: 0;
-     border-radius: 0;
-     background: #000 url('images/header.png') center center ;
-     background-image: -moz-linear-gradient(top, bottom, from(#050), to(#030), color-stop(7%, #000), color-stop(100%, #050));
-}
-
-div.routersummary h4 {
-     border: 0;
-     border-bottom: 0 !important;
-     font-size: 8.5pt;
-     letter-spacing: 0.02em;
-     margin: -7px -9px -10px -9px !important;
-     padding: 6px 3px 9px 3px;
-     background: #000;
-     text-transform: capitalize;
-     text-decoration: none !important;
-     color: #2b2;
-     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#050), color-stop(10%, #050), color-stop(100%, #004));
-     line-height: 100%;
-}
-
-div.routersummary table {
-     border: 0;
-     text-align: center !important;
-     margin: -5px -7px -5px -8px !important;
-     width: 188px !important;
-     overflow: hidden;
-     font-size: 8pt;
-     padding: 0 -10px;
-     background-image: none !important;
-     background-color: transparent !important;
-}
-
-div.routersummary tr {
-     background-image: none !important;
-     background-color: transparent !important;
-     border: 0 !important;
-}
-
-div.routersummary form {
-     margin: -6px 0 -7px;
-}
-
-div.routersummary form:first-child {
-     margin: 6px 0 -4px 0 !important;
-}
-
-div.routersummary p {
-     padding: 0;
-}     
-
-div.refresh {
-     margin-top: -10px !important;
-     margin-bottom: -4px !important;
-     padding: 2px 0 0px 0 !important;
-}
-
-div.routersummary a:link, div.routersummary a:visited {
-     text-shadow: 1px 1px 1px rgba(0, 16, 0, 0.8);
-     text-shadow: 0px 0px 2px #101 !important;
-}
-
-div.routersummary a:hover {
-     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7);
-     color: #f60;
-}
-
-div.routersummary td {
-     padding: 0px 2px 0px 2px;
-     background-image: none !important;
-     border: 0 !important;
-}
-
-div routersummary hr:last-child {
-     margin-top: 5px;
-     margin-bottom: -5px !important;
-}
-
-div.tunnels {
-     padding-top: 3px !important;
-     margin-left: -4px;
-     text-align: center;
-}
-
-div.tunnels table {
-     margin: -5px 0 -5px -3px !important;
-}
-
-div.tunnels td {
-     padding: 1px 0px 1px 0px;
-}
-
-div.tunnels td:first-child {
-     width: 16px;
-     text-align: left;
-     padding-right: 2px;
-}
-
-div.tunnels td:last-child {
-     text-align: right;
-     padding-right: 1px;
-}
-
-div.tunnels tr {
-/*     border: 1px solid #494 !important;*/
-}
-
-div.warning {
-     margin: 20px 20px 20px 245px;
-     padding: 5px 25px 20px 75px;
-     background: #000;
-     border: 1px solid #494;
-     text-align: left;
-     color: #EE9;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     text-align: justify;
-     background-image:url("../images/itoopie_sm.png");
-     background-position:10px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f00;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f00;
-     box-shadow: inset 0px 0px 0px 1px #f00;          
-     word-wrap: break-word;
-}
-
-/* console error messages */
-
-div.sorry {
-     margin: 15px 15px 10px 215px;
-     padding: 20px 20px 20px 75px;
-     background: #020;
-     border: 1px solid #494;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     text-align: justify;
-     background-image:url("images/errortriangle.png");
-     background-position:15px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
-     word-wrap: break-word;
-     font-weight: bold;
-     color: #EE9;
-}
-
-div.sorry hr {
-     color: #EE9;
-     background: #EE9;
-     height: 1px;
-     border: 1px solid #EE9;
-     margin: 10px 0;
-}     
-
-div.main {
-     margin: -1px 5px 5px 205px;
-     padding: 0 15px 15px 15px;
-     text-align: left;
-     color: #EE9;
-     width: auto;
-/*  overflow-x: scroll; */
-     border: 1px solid #494;
-     -moz-border-radius: 0 0 4px 4px;
-     -khtml-border-radius: 0 0 4px 4px;
-     border-radius: 0 0 4px 4px;
-     background: #000 url(images/scarface.jpg) right bottom no-repeat !important;
-     min-width: 620px;
-     -moz-box-shadow: 0 1px 5px #000;
-}
-
-div.main textarea {
-     background: #000;
-     color: #EE9;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-}
-
-div.news {
-     margin: -1px 5px 0px 205px;
-     padding: 5px 30px 10px 30px;
-     border: 1px solid #494;
-     background: #000;
-     background: #000 url("images/news.png")no-repeat scroll bottom right;
-     color: #7b7;
-/*     border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;*/
-     font-size: 7.5pt;
-     text-align: right;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
-     box-shadow: 0 1px 5px #000;
-     min-width: 580px;
-/*     height: 164px;
-     overflow-y: auto;*/
-}
-
-div.news li {
-     text-align: justify;
-     list-style: url('images/info_dark.png');
-     list-style: none;
-     margin: 0 10px 0 0px;
-     padding: 5px 5px 5px 0;
-     vertical-align: middle;
-     word-wrap: break-word;
-     color: #494;
-}
-
-div.news h4 {
-     border-bottom: 1px;
-     border-bottom-style: dotted;
-     border-bottom-color: #494;
-     padding: 0 0 0px 0;
-     margin: 5px 0 10px 0;
-     font-size: 10pt;
-     opacity: 0.8;
-     text-transform: capitalize;
-}
-
-div.news h4:first-child {
-     background: url('../images/itoopbullet.png');
-     background-repeat: no-repeat;
-     background-position: right;   
-}
-
-div.news p {
-     margin-top: -5px;
-     font-size: 8.5pt;
-     color: #EE9;
-}
-
-div.news hr {
-     margin: -2px 0 5px 0;
-}     
-
-div.confignav {
-     padding: 15px 10px !important;
-     margin: 15px 0;
-     background: #000 url('images/header.png') center center repeat-x ;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494;
-     font-size: 9.5pt !important;
-     font-weight: bold !important;
-     line-height: 160% !important;
-
-}
-
-div.configure {
-/*     padding: 5px 15px 0 15px;
-     margin: 10px 0px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494; */
-     background: none;/* url(images/camotile2.png);*/
-}
-
-div.messages {
-     padding: 10px;
-     margin: 10px 0 15px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #494;
-     background: #000  /*url('images/infotile.png') center left no-repeat;*/
-     font-weight: bold;
-     font-size: 9pt;
-     color: #4f4;
-}
-
-div.messages span.error {
-     color: #d90;
-}
-
-div.messages span.notice {
-     font-style: italic;
-}
-
-div.messages li {
-     text-align: justify !important;
-     font-weight: bold;
-     list-style: url(images/warning_dark.png) !important;
-     margin: 0 5px 0 50px !important;
-     padding: 0 10px 0 0 !important;
-     border: 0px !important;
-}
-
-div.graphspanel {
-     padding: 0;
-     margin: 15px 0px -15px 0;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-/*     border: 1px solid #494;*/
-     background: none;/* url(images/camotile.png);*/
-     text-align: center;
-}
-
-div.widepanel h3 {
-     text-align: left !important;
-}
-
-div.graphspanel form {
-     text-align: left;
-     padding: 0 15px 0px 15px;
-}
-
-div.graphspanel hr {
-     margin: 10px -15px 10px -15px;
-}
-
-div.graphspanel img {
-     border: 1px solid #494;
-     padding: 3px;
-     margin: 5px;
-     text-align: center !important;
-     background: #000;
-
-     opacity: 0.8;
-}
-
-div.graphspanel img:hover {
-     border: 1px solid #000;
-     padding: 3px;
-     margin: 5px;
-     text-align: center !important;
-     background: #000;
-     -moz-box-shadow: inset 0px 0px 1px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 1px 1px #f60;
-     box-shadow: inset 0px 0px 1px 1px #f60;
-     opacity: 1;
-}
-
-table {
-     border-collapse: collapse;
-     width: 100%;
-     border: 1px solid #494;
-     cell-padding: 1px;
-     font-size: 7pt;
-     background: #030;
-     margin: 1px 0;
-}
-
-table hr {
-     padding: 0px 0;
-     color: #494;
-     background: #494;
-     border: 0px solid #494;
-     margin: 0px 0px;
-     height: 1px;
-     display: none;
-}
-
-th {
-     padding: 6px 2px;
-     color: #EE9;
-     text-align: center;
-     font-size: 9pt;
-     background: #000; /*url('images/tabletitledark.png') repeat-x;*/
-     background: #000 url('images/header.png') center center repeat-x ;
-     border-top: 1px solid #494;
-     border-bottom: 1px solid #494 !important;     
-     line-height: 110%;
-}
-
-tr {
-     vertical-align: middle;
-}
-
-tr:nth-child(even) {
-     background: #010;/* url('images/darkerbluetile.png') !important;*/
-     vertical-align: middle;
-}
-
-tr:nth-child(odd) {
-     background: #000800;/* url('images/darkbluetile.png') !important;*/
-     vertical-align: middle;
-}
-/*
-tr:last-child {
-     background: #004 url('images/lightbluetile.png') !important;
-     font-weight: bold;
-     border: 1px solid #494 !important;
-}
-*/
-td {
-     padding: 4px 6px;
-     color: #EE9;
-     vertical-align: middle;
-     border-top: 1px inset #494;
-     border-bottom: 1px outset #494;   
-}
-
-td img {
-     padding: 0 1px 0 2px;
-}
-
-tt {
-     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #FF0;
-     padding: 0 5px 2px 0;
-}
-
-div.main li {
-     text-align: left;
-     list-style: square;
-     margin: 2px 0px 2px 30px;
-     padding: 2px 20px 2px 0px;
-/*     line-height: 150%;*/
-     word-wrap: break-word;
-}
-
-div.main li b {
-     color: #b70 !important;
-     letter-spacing: 0.07em;
-     font-size: 9.5pt;
-     line-height: 200%;
-     text-shadow: 0 1px 1px #700;
-}
-
-.tidylist {
-     text-align: justify !important;
-     line-height: 150%;
-}
-
-.tidylist:first-child {
-/*     padding-top: 5px;*/
-}
-
-.tidylist:last-child {
-     padding-bottom: 15px;
-}
-
-.tidylist code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #dd0;
-     padding: 1px 2px;
-     background: #030;
-     margin: 0 2px;
-}
-
-ol {
-     display: inline;
-     margin: 1px 0 0 0;
-     padding: 1px 0 0 20px;
-}
-
-ul {
-/*     display: inline; */
-     margin: 0;
-     padding: 0;
-}
-
-code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #dd0;
-     padding: 1px 2px;
-}
-
-a:link, h2 a:link{
-     color: #494;
-     text-decoration: none;
-     font-weight: bold;     
-     word-wrap: break-word;
-}
-
-a:visited{
-     color: #7b7;
-     text-decoration: none;
-     font-weight: bold;     
-     word-wrap: break-word;
-}
-
-a:hover{
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;     
-     word-wrap: break-word;
-}
-
-.links {
-     padding-bottom: -2px;
-     text-align: justify;
-     margin-top: 10px;
-     margin-bottom: -10px;
-}
-
-.links li {
-     list-style-image: url("images/link.png") !important;
-}
-
-p {
-     text-align: justify;
-     line-height: 160%;
-}
-
-h1 {
-     text-align: left;
-     color: #EE9;
-     padding: 15px 15px 14px;
-     margin: 0 5px 0px 205px !important;
-     font-size: 17pt;
-     font-weight: bold;
-     font-style: normal;
-     text-transform: uppercase;
-     letter-spacing: 0.15em;
-     text-shadow: 0px 0px 2px #010;
-     white-space: normal;
-     background: #000 url("images/scope.png")no-repeat scroll right top;
-     background: #000 url("images/bg2.png")no-repeat scroll top right;
-     background: #000 url('images/header.png') center center;
-     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#030), color-stop(30%, #000), color-stop(100%, #000));
-     border: 1px solid #494;
-     border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;
-     line-height: 120%;
-     min-width: 620px;
-     -moz-box-shadow: 0 1px 5px #000;
-     -khtml-box-shadow: 0 1px 5px #000;
-     box-shadow: 0 1px 5px #000;
-}
-
-h2 {
-     font-size: 12pt;
-     color: #EE9;
-     text-shadow: 0px 0px 2px #010;
-     letter-spacing: 0.05em;
-     background: #000 url(images/camotile2.png);
-     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#030), color-stop(30%, #000), color-stop(100%, #000));
-     background: #000 url('images/header.png') center center ;
-     padding: 10px;
-     wordwrap: none;
-     border: 1px solid #494;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     vertical-align: middle;
-     margin: 15px 0 12px 0 !important;
-    text-transform: uppercase;
-     word-wrap: break-word;
-}
-
-h2 a:visited {
-     color: #191;
-}
-
-h2 a:hover {
-     color: #f60;
-     text-shadow: 0px 0px 1px rgba(255, 64, 0, 0.7);
-}
-
-h3 {
-     border: 1px solid #494;
-     border-left: 5px solid #494;
-     padding: 5px 6px;
-     margin: 12px 0 10px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     background: #000 url(images/camotile.png);
-     background: #000 url('images/header.png') center center ;
-     text-transform: uppercase;
-     text-shadow: 0px 0px 2px #010;
-}
-
-h4 {
-     border-bottom: 1px;
-     border-bottom-style: solid;
-     border-bottom-color: #494;
-     padding: 0 0 10px 0;
-     margin: 5px 0 10px 0;
-     font-size: 11pt;
-}
-
-button, button:visited {
-     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px outset #191;
-     padding: 1px 3px;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font-size: 8pt;
-     font-weight: bold;
-     margin: 2px 3px;
-     text-align: center;
-     vertical-align: middle;
-     min-width: 76px;
-     -moz-box-shadow: inset 0px 1px 1px 0px #494;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #191;
-     box-shadow: inset 0px 1px 1px 0px #191;
-     background: #000;
-     color: #494;
-}
-
-button:hover {
-     border: 1px solid #f60;
-     -moz-box-shadow: inset 0px 1px 1px 0px #EE9;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #EE9;
-     box-shadow: inset 0px 1px 1px 0px #EE9;
-     background: #000;
-     color: #f60;
-}     
-          
-button:active {
-     border: 1px inset #f60;
-     background: #f60;
-     color: #EE9;
-     -moz-box-shadow: inset 0px 0px 0px 0px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 0px #f60;
-     box-shadow: inset 0px 0px 0px 0px #f60;
-}
-
-.underline {
-     border-bottom: 1px solid #eeeeff;
-     padding: 5px 0px 5px 0px;
-     margin: 0px 0px 10px 0px;
-}
-
-.langbox {
-     margin: 21px 2px 2px 5px;
-     padding: 7px 10px 5px 10px;
-     color: #EE9;
-     font-size: 7pt;
-     width: 220px;
-     text-align: right;
-     float: right;
-     vertical-align: middle;
-}
-
-.langbox img {
-     opacity: 0.5;
-     -moz-box-shadow: 0 0 1px #000;
-}
-
-.langbox img:hover {
-     opacity: 1;
-     -moz-box-shadow: 0 0 1px #f60;
-}
-
-hr {
-     color: #494;
-     background: #494;
-     height: 1px;
-     border: 0px solid #494;
-     margin: 20px 0 10px;
-}
-
-hr:last-child {
-     margin-top: 20px;
-     margin-bottom: 20px;
-}
-
-sidebarlogo {
-     text-align: center;
-}
-
-input {
-     border: 1px outset #5f5;
-     -moz-box-shadow: inset 0px 1px 1px 0px #373;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #373;
-     box-shadow: inset 0px 1px 1px 0px #373;
-     background: #000;
-     color: #494;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-}
-
-input:hover {
-     background: #000;
-     color: #f60;
-     border: 1px solid #f60;
-     -moz-box-shadow: inset 0px 1px 1px 0px #9e9;
-     -khtml-box-shadow: inset 0px 1px 1px 0px #9e9;
-     box-shadow: inset 0px 1px 1px 0px #9e9;
-}
-
-input:active {
-     background: #000;
-     color: #f30;
-     border: 1px solid #f30;
-}
-
-input:active {
-     border: 1px inset #f60;
-     background: #f60;
-     color: #EE9;
-}
-
-input[type=text], input[type=password] {
-     background: #000;
-     color: #EE9;
-     margin: 5px 10px;
-     padding: 4px 2px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #494 !important;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 1px 1px 1px 0px #000;
-     -khtml-box-shadow: inset 1px 1px 1px 0px #000;
-     box-shadow: inset 1px 1px 1px 0px #000;
-}
-
-input[type=text]:active, input[type=text]:hover, input[type=password]:active, input[type=password]:hover {
-     background: #000;
-}
-
-fieldset {
-overflow: hidden;
-position: relative;
-}
-
-select {
-     background: #000;
-     color: #EE9;
-     margin: 5px 10px;
-     border: 1px solid #494;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     min-width: 110px;
-     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 2px;
-}
-
-textarea {
-     background: #000;
-     color: #EE9;
-     padding: 5px;
-     margin: 10px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     min-height: 100px;
-     min-width: 97%;
-     text-align: left;
-     border: 1px solid #494;
-}
-
-form {}
-
-.proxyfooter {
-     margin: 0 20px 10px 240px;
-     padding: 20px 25px 20px 75px;
-     font-color: #f00;
-     font-size: 7pt;
-     text-align: right !important;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border: 1px solid #000;
-     display: none;
-}        
-
-.statusnotes {
-     font-style: italic;
-     font-size: 8pt;
-     color: #EE9;
-     text-align: center;
-     border: 1px solid #494 !important;
-/*     border-top: 0px !important;*/
-     margin: -3px 0 5px 0; 
-     padding: 7px;
-     background: #010;
-     -moz-box-shadow: inset 0px 0px 0px 1px #090;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #090;
-     box-shadow: inset 0px 0px 0px 1px #090;
-/*     background: #000 url('images/header.png') repeat-x center center !important;*/
-}
-
-div.joblog {
-/*     margin: 	15px 0 15px 0;
-     padding: 5px 20px 10px 20px !important;
-     border: 1px solid #494;
-     background-color: #000;
-     background: #000; url("images/camotile.png");*/
-/*     color: #dfd;*/
-     border-radius: 4px 4px 0 0;
-     -moz-border-radius: 4px 4px 0 0;
-     -khtml-border-radius: 4px 4px 0 0;
-     text-align: justify !important;
-     overflow-x: auto; /* Opera fix */
- }
-
-div.main li {
-     text-align: left;
-     list-style: square;
-     margin: 2px 0px 2px 30px;
-     padding: 2px 20px 2px 0px;
-/*     line-height: 150%;*/
-     word-wrap: break-word;
-}
- 
-div.joblog li {
-     word-wrap: break-word !important;
-     text-align: justify !important;
-     line-height: 120% !important;
-     margin: 2px 0px 2px 30px;
-     padding: 2px 20px 2px 0px;
-}
-
-div.joblog ul {
-     word-wrap: break-word !important;
-     text-align: justify;
-     margin: 0px 0 10px;
-}
-
-div.joblog li:first-child {
-     margin-top: 0px;
-}
-
-div.joblog li:last-child {
-/*     margin-bottom: -25px;*/
-}
-
-div.joblog form:first-child {
-     margin-top: 10px;
-}
-
-div.joblog table {
-     margin-top: 15px;
-}
-
-div.joblog p {
-     line-height: 130%;
-}
-
-.smallhead {
-     font-size: 7pt
-}
-
-.mediumtags {
-     font-size: 9pt;
-}
-
-.optbox {
-     min-width: 16px !important;
-     max-width: 16px !important;     
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;     
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
-     overflow: hidden;
-     position: relative;
-}
-
-.optbox:hover {
-     min-width: 16px !important;
-     max-width: 16px !important;     
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;     
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
-}
-
-.cells {
-     border: 1px inset #494;
-     border-left: 1px outset #494;     
-}
-
-.tablefooter tr, .tablefooter td {
-     background: #000 url('images/header.png') repeat-x center center !important;
-     border-top: 1px solid #494;
-     border-bottom: 1px solid #494 !important;     
-     font-size: 7pt;
-     line-height: 110%;
-}
-
-.formaction {
-     text-align: right;
-}
-
-div.footnote {
-     text-align: right;
-     color: #494;
-     font-size: 7pt;
-     margin-bottom: -8px !important; 
-}
-
-div.footnote hr{
-     margin: 10px 0 5px 0 !important;
-     color: #494;
-     background: #494;
-     height: 1px;
-     border: 0px solid #494;
-}
-
-.topness {
-     font-size: 7.5pt;
-     text-align: right;
-     margin-top: -5px;
-     margin-bottom: -5px;
-     margin-right: 5px;
-}
+/* I2P Theme: Camo aka Dark */
+/* Description: Military Grade. */
+/* Comment: Thanks to Florian Kuhlmann for the hatface images. [ http://www.flickr.com/photos/floriankuhlmann/]
+/* Author: dr|z3d */
+
+body {
+     margin: 5px 0px 0 0px;
+     padding: 0;
+     text-align: center;
+     background: #010 url('images/camotile.png') center bottom;
+     color: #EE9;
+     font: 9pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     
+}
+
+.hide {
+     display: none;
+}
+
+img {
+     border: none;
+}
+
+pre {
+     width: 98%;
+     overflow-x: scroll;
+     text-align: left;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #EE9;
+}
+
+div.logo {
+     float: left;
+     padding: 10px;
+     text-align: center;
+     font-color: #EE9;
+     margin: 0 20px 0 20px;
+     border: 1px solid #494;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+ background: #000; /*url("images/camotile2.png");*/
+     width: 185px;
+     -moz-box-shadow: inset 0px 0px 1px 0px #009;
+     -khtml-box-shadow: inset 0px 0px 1px 0px #009;
+     box-shadow: inset 0px 0px 1px 0px #009;
+}
+
+div.logo hr {
+     color: #494;
+     background: #494;
+     height: 1px;
+     border: 0px solid #494;
+     margin: 10px 0 5px;
+}
+
+div.toolbar {
+     margin: 0;
+     padding: 10px;
+     font-weight: bold;
+     background: #000;
+     border: 1px solid #000;
+     display: none;
+}
+
+div.toolbar a:link {
+     border: 1px outset #ddddc0;
+     padding: 0px 5px 1px 5px;
+     background: #bbf;
+     text-decoration: none;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     color: #000;
+}
+
+div.toolbar a:visited {
+     background: #ddf;
+}
+
+div.toolbar a:hover, button:hover{
+     border: 1px solid #f60;
+     background: #030;
+     color: #f60;
+}
+
+a:active{
+     color: #900;
+}
+
+div.routersummaryouter {
+     float: left;
+     width: 200px;
+     margin: 0 0 10px 5px;
+     padding: 0;
+     border: 0;
+     clear: left;/* fixes a bug in Opera */
+     text-align: center;
+     display: block;
+}
+
+div.routersummary {
+     width: 173px;
+     padding: 10px;
+     text-align: center;
+     border: 1px solid #494;
+     background: #000 url(images/camotile2.png);
+     color: #EE9;
+     font-size: 8pt;
+     clear: left;/* fixes a bug in Opera */
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     float: left;
+     -moz-box-shadow: 0 1px 5px #000;
+     -khtml-box-shadow: 0 1px 5px #000;
+     box-shadow: 0 1px 5px #000;
+}
+
+div.routersummary input[type=text] {
+     text-align: right !important;
+     -moz-box-shadow: inset 1px 1px 1px 0px #000;
+     -khtml-box-shadow: inset 1px 1px 1px 0px #000;     
+     box-shadow: inset 1px 1px 1px 0px #000;     
+}
+
+div.routersummary hr {
+     color: #494;
+     background: #494;
+     height: 2px;
+     border-bottom: 1px solid #494;
+     margin: 8px -10px 7px -10px;
+     -moz-box-shadow: inset 0px 1px 1px 1px #000;
+     -khtml-box-shadow: inset 0px 1px 1px 1px #000;
+     box-shadow: inset 0px 1px 1px 1px #000;
+}
+
+div.routersummary h3 {
+     border: 0;
+     font-size: 9.5pt;
+     letter-spacing: 0.04em;
+     margin: -7px -10px -8px -10px;
+     padding: 3px 0 4px 0 !important;
+     text-transform: uppercase;
+     -moz-border-radius: 0;
+     -khtml-border-radius: 0;
+     border-radius: 0;
+     background: #000 url('images/header.png') center center ;
+     background-image: -moz-linear-gradient(top, bottom, from(#050), to(#030), color-stop(7%, #000), color-stop(100%, #050));
+}
+
+div.routersummary h4 {
+     border: 0;
+     border-bottom: 0 !important;
+     font-size: 8.5pt;
+     letter-spacing: 0.02em;
+     margin: -7px -9px -10px -9px !important;
+     padding: 6px 3px 9px 3px;
+     background: #000;
+     text-transform: capitalize;
+     text-decoration: none !important;
+     color: #2b2;
+     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#050), color-stop(10%, #050), color-stop(100%, #004));
+     line-height: 100%;
+}
+
+div.routersummary table {
+     border: 0;
+     text-align: center !important;
+     margin: -5px -7px -5px -8px !important;
+     width: 188px !important;
+     overflow: hidden;
+     font-size: 8pt;
+     padding: 0 -10px;
+     background-image: none !important;
+     background-color: transparent !important;
+}
+
+div.routersummary tr {
+     background-image: none !important;
+     background-color: transparent !important;
+     border: 0 !important;
+}
+
+div.routersummary form {
+     margin: -6px 0 -7px;
+}
+
+div.routersummary form:first-child {
+     margin: 6px 0 -4px 0 !important;
+}
+
+div.routersummary p {
+     padding: 0;
+}     
+
+div.refresh {
+     margin-top: -10px !important;
+     margin-bottom: -4px !important;
+     padding: 2px 0 0px 0 !important;
+}
+
+div.routersummary a:link, div.routersummary a:visited {
+     text-shadow: 1px 1px 1px rgba(0, 16, 0, 0.8);
+     text-shadow: 0px 0px 2px #101 !important;
+}
+
+div.routersummary a:hover {
+     text-shadow: 0px 0px 1px rgba(255, 96, 0, 0.7);
+     color: #f60;
+}
+
+div.routersummary td {
+     padding: 0px 2px 0px 2px;
+     background-image: none !important;
+     border: 0 !important;
+}
+
+div routersummary hr:last-child {
+     margin-top: 5px;
+     margin-bottom: -5px !important;
+}
+
+div.tunnels {
+     padding-top: 3px !important;
+     margin-left: -4px;
+     text-align: center;
+}
+
+div.tunnels table {
+     margin: -5px 0 -5px -3px !important;
+}
+
+div.tunnels td {
+     padding: 1px 0px 1px 0px;
+}
+
+div.tunnels td:first-child {
+     width: 16px;
+     text-align: left;
+     padding-right: 2px;
+}
+
+div.tunnels td:last-child {
+     text-align: right;
+     padding-right: 1px;
+}
+
+div.tunnels tr {
+/*     border: 1px solid #494 !important;*/
+}
+
+div.warning {
+     margin: 20px 20px 20px 245px;
+     padding: 5px 25px 20px 75px;
+     background: #000;
+     border: 1px solid #494;
+     text-align: left;
+     color: #EE9;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     text-align: justify;
+     background-image:url("../images/itoopie_sm.png");
+     background-position:10px center;
+     background-repeat:no-repeat;
+     -moz-box-shadow: inset 0px 0px 0px 1px #f00;
+     -khtml-box-shadow: inset 0px 0px 0px 1px #f00;
+     box-shadow: inset 0px 0px 0px 1px #f00;          
+     word-wrap: break-word;
+}
+
+/* console error messages */
+
+div.sorry {
+     margin: -1px 5px 10px 205px;
+     padding: 20px 20px 20px 75px;
+     background: #020;
+     border: 1px solid #494;
+     -moz-border-radius: 0 0 4px 4px;
+     -khtml-border-radius: 0 0 4px 4px;
+     border-radius: 0 0 4px 4px;
+     text-align: justify;
+     background-image:url("images/errortriangle.png");
+     background-position:15px center;
+     background-repeat:no-repeat;
+     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
+     word-wrap: break-word;
+     font-weight: bold;
+     color: #EE9;
+}
+
+div.sorry hr {
+     color: #EE9;
+     background: #EE9;
+     height: 1px;
+     border: 1px solid #EE9;
+     margin: 10px 0;
+}     
+
+div.main {
+     margin: -1px 5px 5px 205px;
+     padding: 0 15px 15px 15px;
+     text-align: left;
+     color: #EE9;
+     width: auto;
+/*  overflow-x: scroll; */
+     border: 1px solid #494;
+     -moz-border-radius: 0 0 4px 4px;
+     -khtml-border-radius: 0 0 4px 4px;
+     border-radius: 0 0 4px 4px;
+     background: #000 url(images/scarface.jpg) right bottom no-repeat !important;
+     min-width: 620px;
+     -moz-box-shadow: 0 1px 5px #000;
+}
+
+div.main textarea {
+     background: #000;
+     color: #EE9;
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+}
+
+div.news {
+     margin: -1px 5px 0px 205px;
+     padding: 5px 30px 5px 30px;
+     border: 1px solid #494;
+     background: #000;
+     background: #000 url("images/news.png")no-repeat scroll bottom right;
+     color: #7b7;
+/*     border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+     -khtml-border-radius: 4px 4px 0 0;*/
+     font-size: 7.5pt;
+     text-align: right;
+     -moz-box-shadow: 0 1px 5px #000;
+     -khtml-box-shadow: 0 1px 5px #000;
+     box-shadow: 0 1px 5px #000;
+     min-width: 580px;
+/*     height: 164px;
+     overflow-y: auto;*/
+}
+
+div.news li {
+     text-align: justify;
+     list-style: url('images/info_dark.png');
+     list-style: none;
+     margin: 0;
+     padding: 5px 5px 5px 0;
+     vertical-align: middle;
+     word-wrap: break-word;
+     color: #494;
+     font-weight: bold;
+     font-size: 9.5pt;
+     border-bottom: 1px dotted #494;
+     margin-bottom: 5px;
+     text-transform: capitalize;
+}
+
+div.news h3 {
+     text-align: left !important;
+}
+
+div.news h4 {
+     border-bottom: 1px;
+     border-bottom-style: dotted;
+     border-bottom-color: #494;
+     padding: 0 0 0px 0;
+     margin: 5px 0 10px 0;
+     font-size: 10pt;
+     opacity: 1;
+     text-transform: capitalize;
+}
+
+div.news h4:first-child {
+     background: url('../images/itoopbullet.png');
+     background-repeat: no-repeat;
+     background-position: right;   
+}
+
+div.news p {
+     margin-top: -5px;
+     font-size: 8.5pt;
+     color: #EE9;
+     margin-bottom: 0;
+}
+
+div.news p:nth-child(n+1) {
+     margin-top: 5px;
+}
+
+div.news hr {
+     margin: 8px 0 3px 0;
+}     
+
+div.confignav {
+     padding: 15px 10px !important;
+     margin: 15px 0;
+     background: #000 url('images/header.png') center center repeat-x ;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #494;
+     font-size: 9.5pt !important;
+     font-weight: bold !important;
+     line-height: 160% !important;
+
+}
+
+div.configure {
+/*     padding: 5px 15px 0 15px;
+     margin: 10px 0px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #494; */
+     background: none;/* url(images/camotile2.png);*/
+}
+
+div.messages {
+     padding: 10px;
+     margin: 10px 0 15px 0;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #494;
+     background: #000  /*url('images/infotile.png') center left no-repeat;*/
+     font-weight: bold;
+     font-size: 9pt;
+     color: #4f4;
+}
+
+div.messages span.error {
+     color: #d90;
+}
+
+div.messages span.notice {
+     font-style: italic;
+}
+
+div.messages li {
+     text-align: justify !important;
+     font-weight: bold;
+     list-style: url(images/warning_dark.png) !important;
+     margin: 0 5px 0 50px !important;
+     padding: 0 10px 0 0 !important;
+     border: 0px !important;
+}
+
+div.graphspanel {
+     padding: 0;
+     margin: 15px 0px -15px 0;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+/*     border: 1px solid #494;*/
+     background: none;/* url(images/camotile.png);*/
+     text-align: center;
+}
+
+div.widepanel h3 {
+     text-align: left !important;
+}
+
+div.graphspanel form {
+     text-align: left;
+     padding: 0 15px 0px 15px;
+}
+
+div.graphspanel hr {
+     margin: 10px -15px 10px -15px;
+}
+
+div.graphspanel img {
+     border: 1px solid #494;
+     padding: 3px;
+     margin: 5px;
+     text-align: center !important;
+     background: #000;
+
+     opacity: 0.8;
+}
+
+div.graphspanel img:hover {
+     border: 1px solid #000;
+     padding: 3px;
+     margin: 5px;
+     text-align: center !important;
+     background: #000;
+     -moz-box-shadow: inset 0px 0px 1px 1px #f60;
+     -khtml-box-shadow: inset 0px 0px 1px 1px #f60;
+     box-shadow: inset 0px 0px 1px 1px #f60;
+     opacity: 1;
+}
+
+table {
+     border-collapse: collapse;
+     width: 100%;
+     border: 1px solid #494;
+     cell-padding: 1px;
+     font-size: 7pt;
+     background: #030;
+     margin: 1px 0;
+}
+
+table hr {
+     padding: 0px 0;
+     color: #494;
+     background: #494;
+     border: 0px solid #494;
+     margin: 0px 0px;
+     height: 1px;
+     display: none;
+}
+
+th {
+     padding: 6px 2px;
+     color: #EE9;
+     text-align: center;
+     font-size: 9pt;
+     background: #000; /*url('images/tabletitledark.png') repeat-x;*/
+     background: #000 url('images/header.png') center center repeat-x ;
+     border-top: 1px solid #494;
+     border-bottom: 1px solid #494 !important;     
+     line-height: 110%;
+}
+
+tr {
+     vertical-align: middle;
+}
+
+tr:nth-child(even) {
+     background: #010;/* url('images/darkerbluetile.png') !important;*/
+     vertical-align: middle;
+}
+
+tr:nth-child(odd) {
+     background: #000800;/* url('images/darkbluetile.png') !important;*/
+     vertical-align: middle;
+}
+/*
+tr:last-child {
+     background: #004 url('images/lightbluetile.png') !important;
+     font-weight: bold;
+     border: 1px solid #494 !important;
+}
+*/
+td {
+     padding: 4px 6px;
+     color: #EE9;
+     vertical-align: middle;
+     border-top: 1px inset #494;
+     border-bottom: 1px outset #494;   
+}
+
+td img {
+     padding: 0 1px 0 2px;
+}
+
+tt {
+     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #FF0;
+     padding: 0 5px 2px 0;
+}
+
+div.main li {
+     text-align: left;
+     list-style: square;
+     margin: 2px 0px 2px 30px;
+     padding: 2px 20px 2px 0px;
+/*     line-height: 150%;*/
+     word-wrap: break-word;
+}
+
+
+div.main li b {
+     color: #b70 !important;
+     letter-spacing: 0.07em;
+     font-size: 9pt;
+     text-shadow: 0 1px 1px #700;
+}
+
+.tidylist {
+     text-align: justify !important;
+     line-height: 150%;
+}
+
+.tidylist:first-child {
+/*     padding-top: 5px;*/
+}
+
+.tidylist:last-child {
+     padding-bottom: 10px;
+}
+
+.tidylist code {
+     text-align: left;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #dd0;
+     padding: 1px 2px;
+     background: #030;
+     margin: 0 2px;
+}
+
+ol {
+     display: inline;
+     margin: 1px 0 0 0;
+     padding: 1px 0 0 20px;
+}
+
+ul {
+/*     display: inline; */
+     margin: 0;
+     padding: 0;
+}
+
+code {
+     text-align: left;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #dd0;
+     padding: 1px 2px;
+}
+
+a:link, h2 a:link{
+     color: #494;
+     text-decoration: none;
+     font-weight: bold;     
+     word-wrap: break-word;
+}
+
+a:visited{
+     color: #7b7;
+     text-decoration: none;
+     font-weight: bold;     
+     word-wrap: break-word;
+}
+
+a:hover{
+     color: #f60;
+     text-decoration: underline;
+     font-weight: bold;     
+     word-wrap: break-word;
+}
+
+.links {
+     padding-bottom: -2px;
+     text-align: justify;
+     margin-top: 10px;
+     margin-bottom: -10px;
+}
+
+.links li {
+     list-style-image: url("images/link.png") !important;
+}
+
+.links b{
+     color: #b70 !important;
+     letter-spacing: 0.07em;
+     font-size: 9.5pt;
+     line-height: 165%;
+     text-shadow: 0 1px 1px #700;
+}
+
+p {
+     text-align: justify;
+     line-height: 160%;
+}
+
+h1 {
+     text-align: left;
+     color: #EE9;
+     padding: 15px 15px 14px;
+     margin: 0 5px 0px 205px !important;
+     font-size: 17pt;
+     font-weight: bold;
+     font-style: normal;
+     text-transform: uppercase;
+     letter-spacing: 0.15em;
+     text-shadow: 0px 0px 2px #010;
+     white-space: normal;
+     background: #000 url("images/scope.png")no-repeat scroll right top;
+     background: #000 url("images/bg2.png")no-repeat scroll top right;
+     background: #000 url('images/header.png') center center;
+     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#030), color-stop(30%, #000), color-stop(100%, #000));
+     border: 1px solid #494;
+     border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+     -khtml-border-radius: 4px 4px 0 0;
+     line-height: 120%;
+     min-width: 620px;
+     -moz-box-shadow: 0 1px 5px #000;
+     -khtml-box-shadow: 0 1px 5px #000;
+     box-shadow: 0 1px 5px #000;
+}
+
+h2 {
+     font-size: 12pt;
+     color: #EE9;
+     text-shadow: 0px 0px 2px #010;
+     letter-spacing: 0.05em;
+     background: #000 url(images/camotile2.png);
+     background-image: -moz-linear-gradient(top, bottom, from(#000), to(#030), color-stop(30%, #000), color-stop(100%, #000));
+     background: #000 url('images/header.png') center center ;
+     padding: 10px;
+     wordwrap: none;
+     border: 1px solid #494;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     vertical-align: middle;
+     margin: 15px 0 12px 0 !important;
+    text-transform: uppercase;
+     word-wrap: break-word;
+}
+
+h2 a:visited {
+     color: #191;
+}
+
+h2 a:hover {
+     color: #f60;
+     text-shadow: 0px 0px 1px rgba(255, 64, 0, 0.7);
+}
+
+h3 {
+     border: 1px solid #494;
+     border-left: 5px solid #494;
+     padding: 5px 6px;
+     margin: 12px 0 10px 0;
+     border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+     -khtml-border-radius: 0 4px 4px 0;
+     background: #000 url(images/camotile.png);
+     background: #000 url('images/header.png') center center ;
+     text-transform: uppercase;
+     text-shadow: 0px 0px 2px #010;
+}
+
+h4 {
+     border-bottom: 1px;
+     border-bottom-style: solid;
+     border-bottom-color: #494;
+     padding: 0 0 10px 0;
+     margin: 5px 0 10px 0;
+     font-size: 11pt;
+}
+
+button, button:visited {
+     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px outset #191;
+     padding: 1px 3px;
+     text-decoration: none;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     font-size: 8pt;
+     font-weight: bold;
+     margin: 2px 3px;
+     text-align: center;
+     vertical-align: middle;
+     min-width: 76px;
+     -moz-box-shadow: inset 0px 1px 1px 0px #494;
+     -khtml-box-shadow: inset 0px 1px 1px 0px #191;
+     box-shadow: inset 0px 1px 1px 0px #191;
+     background: #000;
+     color: #494;
+}
+
+button:hover {
+     border: 1px solid #f60;
+     -moz-box-shadow: inset 0px 1px 1px 0px #EE9;
+     -khtml-box-shadow: inset 0px 1px 1px 0px #EE9;
+     box-shadow: inset 0px 1px 1px 0px #EE9;
+     background: #000;
+     color: #f60;
+}     
+          
+button:active {
+     border: 1px inset #f60;
+     background: #f60;
+     color: #EE9;
+     -moz-box-shadow: inset 0px 0px 0px 0px #f60;
+     -khtml-box-shadow: inset 0px 0px 0px 0px #f60;
+     box-shadow: inset 0px 0px 0px 0px #f60;
+}
+
+.underline {
+     border-bottom: 1px solid #eeeeff;
+     padding: 5px 0px 5px 0px;
+     margin: 0px 0px 10px 0px;
+}
+
+.langbox {
+     margin: 21px 2px 2px 5px;
+     padding: 7px 10px 5px 10px;
+     color: #EE9;
+     font-size: 7pt;
+     width: 220px;
+     text-align: right;
+     float: right;
+     vertical-align: middle;
+}
+
+.langbox img {
+     opacity: 0.5;
+     -moz-box-shadow: 0 0 1px #000;
+}
+
+.langbox img:hover {
+     opacity: 1;
+     -moz-box-shadow: 0 0 1px #f60;
+}
+
+hr {
+     color: #494;
+     background: #494;
+     height: 1px;
+     border: 0px solid #494;
+     margin: 20px 0 10px;
+}
+
+hr:last-child {
+     margin-top: 20px;
+     margin-bottom: 20px;
+}
+
+sidebarlogo {
+     text-align: center;
+}
+
+input {
+     border: 1px outset #5f5;
+     -moz-box-shadow: inset 0px 1px 1px 0px #373;
+     -khtml-box-shadow: inset 0px 1px 1px 0px #373;
+     box-shadow: inset 0px 1px 1px 0px #373;
+     background: #000;
+     color: #494;
+     margin: 5px;
+     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     padding: 1px 2px;
+     text-decoration: none;
+     min-width: 110px;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+}
+
+input:hover {
+     background: #000;
+     color: #f60;
+     border: 1px solid #f60;
+     -moz-box-shadow: inset 0px 1px 1px 0px #9e9;
+     -khtml-box-shadow: inset 0px 1px 1px 0px #9e9;
+     box-shadow: inset 0px 1px 1px 0px #9e9;
+}
+
+input:active {
+     background: #000;
+     color: #f30;
+     border: 1px solid #f30;
+}
+
+input:active {
+     border: 1px inset #f60;
+     background: #f60;
+     color: #EE9;
+}
+
+input[type=text], input[type=password] {
+     background: #000;
+     color: #EE9;
+     margin: 5px 10px;
+     padding: 4px 2px;
+     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px solid #494 !important;
+     text-decoration: none;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     -moz-box-shadow: inset 1px 1px 1px 0px #000;
+     -khtml-box-shadow: inset 1px 1px 1px 0px #000;
+     box-shadow: inset 1px 1px 1px 0px #000;
+}
+
+input[type=text]:active, input[type=text]:hover, input[type=password]:active, input[type=password]:hover {
+     background: #000;
+}
+
+fieldset {
+overflow: hidden;
+position: relative;
+}
+
+select {
+     background: #000;
+     color: #EE9;
+     margin: 5px 10px;
+     border: 1px solid #494;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     min-width: 110px;
+     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     padding: 2px;
+}
+
+textarea {
+     background: #000;
+     color: #EE9;
+     padding: 5px;
+     margin: 10px;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     min-height: 100px;
+     min-width: 97%;
+     text-align: left;
+     border: 1px solid #494;
+}
+
+form {}
+
+.proxyfooter {
+     margin: 0 20px 10px 240px;
+     padding: 20px 25px 20px 75px;
+     font-color: #f00;
+     font-size: 7pt;
+     text-align: right !important;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border: 1px solid #000;
+     display: none;
+}        
+
+.statusnotes {
+     font-style: italic;
+     font-size: 8pt;
+     color: #EE9;
+     text-align: center;
+     border: 1px solid #494 !important;
+/*     border-top: 0px !important;*/
+     margin: -3px 0 5px 0; 
+     padding: 7px;
+     background: #010;
+     -moz-box-shadow: inset 0px 0px 0px 1px #090;
+     -khtml-box-shadow: inset 0px 0px 0px 1px #090;
+     box-shadow: inset 0px 0px 0px 1px #090;
+/*     background: #000 url('images/header.png') repeat-x center center !important;*/
+}
+
+div.joblog {
+/*     margin: 	15px 0 15px 0;
+     padding: 5px 20px 10px 20px !important;
+     border: 1px solid #494;
+     background-color: #000;
+     background: #000; url("images/camotile.png");*/
+/*     color: #dfd;*/
+     border-radius: 4px 4px 0 0;
+     -moz-border-radius: 4px 4px 0 0;
+     -khtml-border-radius: 4px 4px 0 0;
+     text-align: justify !important;
+     overflow-x: auto; /* Opera fix */
+ }
+
+div.main li {
+     text-align: left;
+     list-style: square;
+     margin: 2px 0px 2px 30px;
+     padding: 2px 20px 2px 0px;
+/*     line-height: 150%;*/
+     word-wrap: break-word;
+}
+ 
+div.joblog li {
+     word-wrap: break-word !important;
+     text-align: justify !important;
+     line-height: 120% !important;
+     margin: 2px 0px 2px 30px;
+     padding: 2px 20px 2px 0px;
+}
+
+div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+     margin: 0px 0 10px;
+}
+
+div.joblog li:first-child {
+     margin-top: 0px;
+}
+
+div.joblog li:last-child {
+/*     margin-bottom: -25px;*/
+}
+
+div.joblog form:first-child {
+     margin-top: 10px;
+}
+
+div.joblog table {
+     margin-top: 15px;
+}
+
+div.joblog p {
+     line-height: 130%;
+}
+
+.smallhead {
+     font-size: 7pt
+}
+
+.mediumtags {
+     font-size: 9pt;
+}
+
+.optbox {
+     min-width: 16px !important;
+     max-width: 16px !important;     
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;     
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 5px 5px 5px 10px;
+     padding: 2px;
+     overflow: hidden;
+     position: relative;
+}
+
+.optbox:hover {
+     min-width: 16px !important;
+     max-width: 16px !important;     
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;     
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 5px 5px 5px 10px;
+     padding: 2px;
+}
+
+.cells {
+     border: 1px inset #494;
+     border-left: 1px outset #494;     
+}
+
+.tablefooter tr, .tablefooter td {
+     background: #000 url('images/header.png') repeat-x center center !important;
+     border-top: 1px solid #494;
+     border-bottom: 1px solid #494 !important;     
+     font-size: 7pt;
+     line-height: 110%;
+}
+
+.formaction {
+     text-align: right;
+}
+
+div.footnote {
+     text-align: right;
+     color: #494;
+     font-size: 7pt;
+     margin-bottom: -8px !important; 
+}
+
+div.footnote hr{
+     margin: 10px 0 5px 0 !important;
+     color: #494;
+     background: #494;
+     height: 1px;
+     border: 0px solid #494;
+}
+
+.topness {
+     font-size: 7.5pt;
+     text-align: right;
+     margin-top: -5px;
+     margin-bottom: -5px;
+     margin-right: 5px;
+}
diff --git a/installer/resources/themes/console/dark/default.css b/installer/resources/themes/console/dark/default.css
index 5380fb80d2665116e7a9424a84ecbd6c63be73b2..88c74d55ca71931cd3f18d0ce2285b01baee72df 100644
--- a/installer/resources/themes/console/dark/default.css
+++ b/installer/resources/themes/console/dark/default.css
@@ -76,6 +76,10 @@ button {
 
 textarea {
      border: 1px solid #494;
+     color: #fff;
+     background: #020;
+     margin-left: 4px;
+     margin-right: 5px !important;
 }
 
 br {
diff --git a/installer/resources/themes/console/images/favicon.ico b/installer/resources/themes/console/images/favicon.ico
index 267e47b6244ca1c4005a8d023e02bf2abc3e5de6..9d406363331dd70561e0538b4d738689f6e81cdc 100644
Binary files a/installer/resources/themes/console/images/favicon.ico and b/installer/resources/themes/console/images/favicon.ico differ
diff --git a/installer/resources/themes/console/light/console.css b/installer/resources/themes/console/light/console.css
index 67cef2734d8cf4e5f6a5a8002835c1e826d1df0d..fe8b61cb23db257ceb3c616278f8232a5ed88008 100644
--- a/installer/resources/themes/console/light/console.css
+++ b/installer/resources/themes/console/light/console.css
@@ -1,1169 +1,1179 @@
-/* I2P Theme: Light */
-/* Description: Light blue highlights. */
-/* Author: dr|z3d */
-
-body {
-     margin: 10px 0px -10px 10px;
-     text-align: center;
-     background: #ffe url('images/snowcamo.png');
-     color: #000;
-     font: 10pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     background: #99f url('images/magic.png') center bottom;
-}
-
-.hide {
-     display: none;
-}
-
-img {
-     border: none;
-}
-
-pre {
-     width: 98%;
-     overflow: auto;
-     text-align: left;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #333;
-     margin: 10px;
-}
-
-div.logo {
-     float: left;
-     padding: 10px;
-     text-align: center;
-     font-color: #fff;
-     margin: 0 10px;
-     border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #ffe; /*url('images/lightbluetile.png')*/
-     width: 185px;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-}
-
-div.toolbar {
-     margin: 0;
-     padding: 10px;
-     font-weight: bold;
-     background: #ffe;
-     border: 1px solid #447;
-     display: none !important;
-}
-
-div.toolbar a:link {
-     border: 1px outset #ddddc0;
-     padding: 0px 5px 1px 5px;
-     line-height: 250%;
-     background: #bbf;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     display: none !important;
-}
-
-div.toolbar a:visited {
-     background: #ffe;
-}
-
-div.toolbar a:hover{
-     border: 1px solid #eeffef;
-     background: #003;
-     color: #f60;
-}
-
-a:active{
-     color: #900;
-}
-
-div.routersummaryouter {
-     float: left;
-     width: 200px;
-     margin: 0 0 10px 0px;
-     padding: 0;
-     border: 0;
-     clear: left;/* fixes a bug in Opera */
-     text-align: center !important;
-     display: block;
-}
-
-div.routersummary {
-/*  margin: 0px 20px 20px 0px; */
-     width: 180px;
-     padding: 8px 8px 10px 8px;
-     text-align: center !important;
-     border: 1px solid #447;
-     color: #000;
-     font-size: 8pt;
-     clear: left;/* fixes a bug in Opera */
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     background: #ffe url('images/magic.png') center bottom;/* 
-     float: left;
-*/     
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-}
-
-div.routersummary input[type=text] {
-     text-align: right !important;
-}
-
-div.routersummary hr {
-     color: #99f;
-     background: #99f;
-     height: 1px;
-     border-bottom: 1px solid #99f;
-     margin: 8px -7px 8px -7px;
-     -moz-box-shadow: inset 0px 1px 1px 1px #fff;
-    -khtml-box-shadow: inset 0px 0px 1px #fff;
-     box-shadow: inset 0px 1px 1px 1px #fff;
-}
-
-div routersummary hr:last-child {
-}
-
-div.routersummary h3 {
-     border: 0;
-     font-size: 9.5pt;
-     letter-spacing: 0.04em;
-     margin: -4px -3px;
-     padding: 2px 0;
-     background: #ffe;
-     text-transform: uppercase;
-     background: #ffe url('images/header.png') center center repeat-x;
-     border: 1px solid #99f !important;
-     -moz-border-radius: 3px;
-     -khtml-border-radius: 3px;
-     border-radius: 3px;
-     -moz-box-shadow: 0px 1px 5px #bbf;
-}
-
-div.routersummary h3 a {
-     text-decoration: none;
-}
-
-div.routersummary h3:hover {
-     background: #ffa url('images/header.png') center center repeat-x !important;
-     text-shadow: 0 0 0;
-}
-
-div.routersummary h4 {
-     border: 0px solid #fff;
-     border-bottom: 0 !important;
-     font-size: 8.5pt;
-     letter-spacing: 0.02em;
-     margin: -5px -7px -5px -7px !important;
-     padding: 3px 3px 5px 3px;
-     background: #eed url(images/magic.png);
-     text-transform: capitalize;
-     text-decoration: none !important;
-     color: #2b2;
-     line-height: 105%;
-/*     text-shadow: 0px 1px 1px #99f;*/
-}
-
-div.routersummary table {
-     border: 0;
-     text-align: center !important;
-     margin: -7px -5px -6px -5px;
-     width: 190px !important;
-     overflow: hidden;
-     font-size: 8pt;
-     padding: 0px -10px;
-     background-image: none !important;
-     background-color: transparent !important;
-}
-
-div.routersummary tr {
-     background-image: none !important;
-     background-color: transparent !important;
-     border: 0 !important;
-}
-
-div.routersummary td:first-child {
-     max-width: 90px;
-     overflow: hidden;
-}
-
-div.routersummary a:hover {
-     color: #f60;
-}
-
-div.routersummary td {
-     padding: 1px 3px;
-     background-image: none !important;
-     border: 0 !important;
-}
-
-div.tunnels td:first-child {
-     width: 16px;
-     text-align: left;
-     padding-right: 1px;
-}
-
-div.tunnels td:last-child {
-     text-align: right;
-     padding-right: 1px;
-}
-
-div.tunnels img, div.tunnels img:hover {
-     opacity: 1 !important;
-}
-
-div.routersummary img:first-child  { 
-     margin-bottom: -2px !important;
-     opacity: 0.7;
-}
-
-div.routersummary img:hover:first-child {
-     margin-bottom: -2px !important;
-     opacity: 1;
-}
-
-div.tunnels {
-     margin-top: 6px !important;
-     margin-left: -2px !important;
-     margin-bottom: 3px !important;
-     padding-top: 3px !important;
-}
-
-div.tunnels table {
-     margin: -7px 0 -5px -4px !important;
-}
-
-div.tunnels td, div.tunnels img:first-child {
-     margin: 0 !important;
-    text-transform: capitalize;
-}
-
-.tunnels tr {
-     padding: 4px 0 !important;
-}
-
-div.routersummary form {
-     margin: -6px 0 -5px 0;
-}
-
-div.routersummary form:last-child {
-     margin: 6px 0 0 0 !important;
-     padding: 0;
-}
-
-div.routersummary p {
-     padding: 0;
-}     
-
-div.refresh {
-     margin-top: -6px !important;
-     margin-bottom: 0px !important;
-     padding: 2px 0 0px 0 !important;
-}
-
-/* proxy error messages */
-
-div.warning {
-     margin: 20px 20px 30px 240px;
-     padding: 5px 25px 20px 75px;
-     background: #fff;
-     border: 1px solid #447;
-     text-align: left;
-     color: inherit;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     text-align: justify;
-     background-image:url("../images/itoopie_sm.png");     
-     background-position:10px center;
-     background-repeat:no-repeat;
-     -moz-box-shadow: inset 0px 0px 1px 0px #d00;
-     word-wrap: break-word;
-     min-width: 400px;
-}
-
-/* console error messages */
-
-div.sorry {
-     margin: 5px 10px 10px 207px;
-     padding: 20px 20px 20px 75px;
-     background: #ffe;
-     border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     text-align: justify;
-     background-image: url("images/errortriangle.png");
-     background-position: 15px center;
-     background-repeat: no-repeat;
-     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
-     word-wrap: break-word;
-     font-weight: bold;
-     color: #531;
-}
-
-div.sorry hr {
-     color: #531;
-     background: #531;
-     height: 1px;
-     border: 1px solid #531;
-     margin: 10px 0 15px 0;
-}     
-
-div.main {
-     margin: 10px 10px 20px 207px;
-     padding: 0 15px 15px 15px;
-     background: #ffe;
-     text-align: left;
-     color: #001;
-     width: auto;
-     min-width: 500px;
-     border: 1px solid #447;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     background: #ffe url('images/magic.png') center bottom;}
-
-div.main hr, hr {
-     color: #113;
-     background: #113;
-     height: 1px;
-     border: 0px solid #113;
-     margin: 10px 0;
-}
-
-hr:last-child {
-     margin-top: 20px !important;
-}
-
-div.main textarea {
-     background: #ffe;
-     color: #001;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-}
-
-div.news {
-     margin: 0px 10px 5px 207px;
-     padding: 10px 25px 7px 25px;
-     border: 1px solid #447;
-     color: #224;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     text-align: right !important;
-     font-size: 7.5pt;
-     line-height: 140%;
-     -moz-box-shadow: inset 0px 0px 1px 0px #410;
-     background: #ffe url('images/magic.png') center bottom;
-     min-width: 480px;
-}
-
-div.news p {
-     font-size: 9pt;
-     text-align: justify !important;
-     line-height: 120%;
-}
-/*
-div.news a:link{
-     color: #a30;
-     text-decoration: none;
-}
-
-div.news a:visited{
-     color: #930;
-}
-
-div.news a:hover{
-     color: #d20;
-     text-decoration: underline;
-}
-
-div.news a:active{
-     color: #c30;
-}
-*/
-
-div.news hr{
-     color: #225;
-     background: #225;
-     height: 1px;
-     border: 0px dotted #779;
-     margin: 10px 0 5px;
-/*     -moz-box-shadow: 0px -1px 1px 1px #ffe;*/
-     opacity: 0.6;
-}
-
-div.news li {
-     text-align: justify;
-     list-style: none;
-     margin: 10px 0 20px 0 !important;
-     vertical-align: bottom;
-     border: 1px solid #113;
-     border-left: 5px solid #113;
-     padding: 5px 5px;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     font-size: 10pt;
-     opacity: 1;
-     background: #ffe url('images/header.png') center center repeat-x;
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-}
-
-/*
-div.news  h4 a{
-     color: #910 !important;
-     opacity: 1 !important;
-}
-*/
-
-div.news h4 {
-     border-bottom: 0px;
-     padding: 0;
-     margin: 0 0 -10px 0;
-     font-size: 11pt;
-}
-
-div.confignav {
-     padding: 15px 10px !important;
-     margin: 15px 0 15px 0;
-     background: #ffe url('images/header.png') center center repeat-x;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #113;
-     font-size: 9.5pt !important;
-     font-weight: bold !important;
-     line-height: 160% !important;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     min-width: 400px;
-}
-
-div.configure {
-/*     padding: 5px 15px 0px 15px !important;
-     margin: 0px 0px 15px 0;
-     background: #ffe; url('images/lightbluetile.png')
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #447;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
-     min-width: 400px;
-     margin-bottom: 0px;
-}
-
-div.configure h3, div.graphspanel h3 {
-     border: 1px solid #113;
-     border-left: 5px solid #113;
-     padding: 5px;
-     margin: 15px 0 15px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     background: #ffe;
-     text-align: left;
-}
-
-div.graphspanel {
-/*     padding: 12px;
-     margin: 10px 0px 25px 0;
-     background: #ffe url('images/lightbluetile.png');
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #447;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
-     text-align: center !important;
-     margin: 15px 0px -15px;
-}
-
-div.graphspanel img {
-     border: 1px solid #447;
-     padding: 2px;
-     margin: 6px;
-     text-align: center !important;
-     background: #001;
-     -moz-box-shadow: inset 0px 0px 1px 1px #99f;
-     opacity: 0.8;
-}
-
-div.graphspanel img:hover {
-     border: 1px solid #447;
-     padding: 2px;
-     margin: 6px;
-     text-align: center !important;
-     background: #001;
-     -moz-box-shadow: inset 0px 0px 2px 1px #f60;
-     opacity: 1;
-}
-
-div.graphspanel form {
-     text-align: left;
-}
-
-div.messages {
-     padding: 10px;
-     margin: 10px 0 15px 0;
-     background: #ffe;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #447;
-     background: #ffe url('images/magic.png');
-     font-weight: bold;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-}
-
-div.messages span.error {
-     color: #d00000;
-}
-
-div.messages span.notice {
-     font-style: italic;
-}
-
-div.messages li {
-     text-align: justify !important;
-     font-weight: bold;
-     list-style: url(images/warning.png) !important;
-     margin: 0 10px 0 35px !important;
-     padding: 5px 10px !important;
-     border: 0px !important;
-}
-
-table {
-     border-collapse: collapse;
-     width: 100%;
-     border: 1px solid #447;
-     margin: 1px -15px 5px 0px;
-     cell-padding: 1px;
-     font-size: 7pt;
-     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
-     font: 7pt/130% "Lucida Sans Unicode", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
-}
-
-table hr {
-     padding: 0px 0;
-     color: #99f;
-     background: #99f;
-     border: 0px solid #99f;
-     margin: 0px 0px;
-     height: 1px;
-     display: none;
-}
-
-th {
-     padding: 6px 2px;
-     color: #000;
-     background: #ffe url('images/header.png') center center repeat-x;
-     text-align: center;
-     font-size: 9pt;
-     line-height: 110%;
-     border-bottom: 1px solid #447 !important;
-     border-top: 1px solid #447 !important;
-}
-
-tr {
-     vertical-align: middle !important;
-     align: center;
-}
-
-tr:nth-child(even) {
-     background: #eef url(images/magic.png);
-}
-
-tr:nth-child(odd) {
-     background: #fff url(images/magic.png);
-}
-/*
-tr:last-child {
-     background: #bbf url('images/tabletilelighter.png') !important;
-     font-weight: bold;
-     border: 1px solid #002 !important;
-}
-*/
-td {
-     padding: 5px 3px;
-     color: #000;
-     vertical-align: middle;
-     border-top: 1px inset #447;
-     border-bottom: 1px outset #99f;     
-}
-
-tt {
-     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #008000;
-     padding: 1px 5px;
-}
-
-div.main li {
-     text-align: left;
-     list-style: square;
-     margin: 2px 5px 0px 20px;
-     padding: 1px 10px 1px 10px;
-     line-height: 150%;
-     word-wrap: break-word;
-}
-
-div.main li {
-     text-align: left;
-     list-style: square;
-     margin: 2px 20px 0px 40px;
-     padding: 1px 10px 1px 10px;
-     line-height: 150%;
-     word-wrap: break-word;
-}
-
-div.main li b {
-     color: #514!important;
-     letter-spacing: 0.01em;
-     font-size: 9.5pt;
-     line-height: 170%;
-}
-
-div.main li:first-child {
-     margin-top: 10px !important;
-}
-.tidylist {
-     text-align: justify !important;
-}
-
-.tidylist li:first-child {
-     margin-top: -10px !important;
-}
-
-.tidylist:last-child {
-     padding-bottom: 5px;
-}
-
-.tidylist code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #910;
-     padding: 2px 3px;
-     background: #fff;
-     font-weight: bold;
-     background: #ffb url('images/magic.png') center bottom;
-}
-
-ol {
-
-     margin: 1px 0 0 5px;
-     padding: 1px 0 0 20px;
-}
-
-ul {
-     display: inline;
-     margin: 0;
-     padding: 0;
-}
-
-code {
-     text-align: left;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-}
-
-
-code {
-     text-align: left;
-     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     color: #390;
-     padding: 2px 3px;
-     font-weight: bold;
-}
-
-a:link{
-     color: #359;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
-}
-
-a:visited{
-     color: #218;
-     text-decoration: none;
-     font-weight: bold;
-}
-
-a:hover{
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
-}
-
-a:active{
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
-}
-
-.links li {
-     list-style: url(images/link.png) !important;
-     padding-bottom: -2px;
-     text-align: justify;
-     line-height: 120% !important;
-     padding-right: -100px !important;
-}
-
-.links li:first-child {
-     padding-top: 0 !important;
-}
-
-.links li:last-child {
-     padding-bottom: -15px !important;
-}
-
-.links ul {
-     margin-top: -5px !important;
-}
-
-p {
-     text-align: justify;
-     line-height: 160%;
-}
-
-h1 {
-     text-align: left;
-     color: #000;
-     padding: 10px 15px;
-     margin: 0 10px 10px 207px;
-     font: normal bold 16pt/120% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     letter-spacing: 0.15em;
-     text-transform: uppercase;
-     text-shadow: 0px 0px 1px #77f;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     white-space: normal;
-     background: #ffe url('images/header.png') center center repeat-x;
-     border: 1px solid #447;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     min-width: 500px;
-}
-
-h2 {
-     font-size: 13pt;
-     color: #000;
-     letter-spacing: 0.05em;
-     background: #ffe url('images/header.png') center center repeat-x;
-     text-shadow: 0px 0px 1px rgba(0, 0, 64, 0.5);
-     padding: 10px 10px;
-     wordwrap: none;
-     border: 1px solid #113;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     margin: 15px 0px 15px 0 !important;
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-     word-wrap: break-word;
-     text-transform: uppercase;
-     opacity: 1;
-}
-
-h2 a:hover {
-     text-shadow: 0px 0px 1px rgba(255, 255, 72, 0.9);
-     border-bottom: 1px #ff6600;
-     padding-bottom: 5px;
-}
-
-h2 img {
-     opacity: 0.9 !important;
-}
-
-h3 {
-     border: 1px solid #113;
-     border-left: 5px solid #113;
-     padding: 5px 5px 5px 5px;
-     margin: 12px 0 15px 0;
-     border-radius: 0 4px 4px 0;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     background: #ffe url('images/header.png') center center repeat-x !important;
-     text-transform: uppercase;
-     text-shadow: 0px 0px 1px #77f;
-     font-size: 11pt;
-     color: #000;
-     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
-     opacity: 1;
-}
-
-h4 {
-     border-bottom: 1px;
-     border-bottom-style: solid;
-     border-bottom-color: #447;
-     padding: 0 0 10px 0;
-     margin: 5px 0 10px 0;
-     font-size: 11pt;
-}
-
-button, button:visited{
-     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px outset #999;
-     padding: 1px 3px;
-     background: #ffe !important;
-     text-decoration: none;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font-size: 8pt;
-     font-weight: bold;
-     margin: 0 1px;
-     text-align: center;
-     min-width: 80px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     -khtml-box-shadow: inset 0px 2px 8px 0px #fff;
-     box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #316;
-}
-
-button:hover{
-     border: 1px solid #f60;
-     background: #f60 !important;
-     color: #fff;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #fff;
-     box-shadow: inset 0px 0px 0px 1px #fff;
-}
-
-button:active{
-     border: 1px solid #f60;
-     background: #202 !important;
-     color: #f60;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-     box-shadow: inset 0px 0px 0px 1px #f60;
-     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
-}
-
-.underline {
-     border-bottom: 1px solid #000022;
-     padding: 5px 0px 5px 0px;
-     margin: 0px 0px 10px 0px;
-}
-
-.langbox {
-     margin: 20px 10px 4px 5px;
-     padding: 8px 5px;
-     color: #001;
-     font-size: 7pt;
-     width: 260px;
-     text-align: right;
-     float: right;
-     valign: middle;
-     opacity: 1 !important;
-}
-
-.langbox img {
-     opacity: 0.7 !important;
-     -moz-box-shadow: 0 0 1px #447;
-}
-
-.langbox img:hover {
-     opacity: 1 !important;
-     -moz-box-shadow: 0 0 1px #f60;
-}
-
-input {
-     background: #ffe;
-     color: #316;
-     margin: 5px 10px 5px 10px;
-     padding: 4px 2px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #447;
-     text-decoration: none;
-     min-width: 110px;
-}
-
-input, input:visited {
-     border: 1px outset #999;
-     background: #ffe;
-     color: #316;
-     margin: 5px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     padding: 1px 2px;
-     text-decoration: none;
-     min-width: 110px;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
-     color: #813
-     opacity: 1;
-}
-
-
-input:hover {
-     background: #f60;
-     color: #fff;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
-
-}
-
-input:active {
-     background: #002;
-     color: #f60;
-     border: 1px solid #f60;
-     opacity: 1.0;
-     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
-}
-
-input[type=text], input[type=password] {
-     background: #ffe;
-     color: #001;
-     margin: 5px 10px 5px 10px;
-     padding: 4px 2px;
-     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border: 1px solid #447;
-     text-decoration: none;
-}
-
-submit {
-     background: #f00;
-     color: #ffe;
-     margin: 10px 2px 10px 0;
-     padding: 2px;
-     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-     border: 1px solid #447;
-     text-decoration: none;
-}
-
-input checkbox {
-     border: 0 !important;
-}
-
-select {
-     background: #ffe;
-     color: #003;
-     margin: 5px 10px 5px 10px;
-     padding: 4px;
-     border: 1px solid #447;
-     min-width: 110px;
-     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     text-align: left !important;
-}
-
-textarea {
-     padding: 5px;
-     margin: 5px 15px 5px 10px;
-     background: #ffe;
-     color: #003;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     min-height: 100px;
-     min-width: 97%;
-     border: 1px solid #447;
-}
-
-form {}
-
-.proxyfooter {
-     margin: 0 20px 10px 240px;
-     padding: 20px 25px 20px 75px;
-     font-color: #f00;
-     font-size: 7pt;
-     text-align: right !important;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border: 1px solid #447;
-     display: none;
-}    
-
-.statusnotes {
-     font-style: italic;
-     font-size: 8pt;
-     font-color: #001 !important;
-     text-align: center;
-     border: 1px solid #447 !important;
-     border-top: 0 !important;
-     margin: -5px 0 5px 0; 
-     padding: 7px;
-     background: #ffe url('images/magic.png') center bottom;
-     -moz-box-shadow: inset 0px 0px 2px 1px #ffe;
-}
-
-/*
-.joblog {
-     margin: 15px 0;
-     padding: 10px 20px !important;
-     border: 1px solid #447;
-     background-color: #004;
-     background: #ffe url('images/lightbluetile.png');
-     color: #001;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     text-align: justify;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
-     overflow: auto;
- }
- 
- div.joblog:li {
-     word-wrap: break-word !important;
-}
-
- .joblog:ul {
-     word-wrap: break-word !important;
-}
-
-.joblog table {
-     margin-top: 10px;
-}
-*/
-
-div.joblog {
-/*     margin: 15px 0;
-     padding: 10px 20px !important;
-     border: 1px solid #447;
-     background-color: #004;
-     background: #ffe; /*url('images/lightbluetile.png')
-     color: #001;
-     border-radius: 4px;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     text-align: justify;
-     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
-     overflow: auto;
-     border: 0;
-     margin-top: 5px;
- }
-
-div.joblog i {
-     color: #050;
-     font-weight: bold;
-}
- 
- div.joblog ul {
-     word-wrap: break-word !important;
-     text-align: justify;
-     line-height: 100% !important;
-     margin-top: -5px !important;
-}
-
- div.joblog li {
-     word-wrap: break-word !important;
-     text-align: justify !important;
-     line-height: 115% !important;
-     padding: 0;
-     font-size: 9pt !important;
-}
-
-div.joblog li:last-child {
-     margin-bottom: -5px;
-}
-
-div.joblog li:first-child {
-     margin-top: 10px !important;
-}
-
-div.joblog form:first-child {
-     margin-top: 10px;
-}
-
-div.joblog table {
-     margin-top: 15px;
-}
-
-div.joblog p {
-     line-height: 130%;
-}
-
-div.joblog hr {
-     margin: 15px 0;
-}
-
-div.joblog h3 {
-     margin-bottom: 5px;
-}
-
-.smallhead {
-     font-size: 7pt
-}
-
-.mediumtags {
-     font-size: 8pt;
-     font-style: italic;
-     font-weight: bold;
-}
-
-.optbox {
-     min-width: 16px !important;
-     max-width: 16px !important;     
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;     
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
-}
-
-.optbox:hover {
-     min-width: 16px !important;
-     max-width: 16px !important;     
-     width: 16px !important;
-     min-height: 16px;
-     max-height: 16px;     
-     height: 16px;
-     opacity: 1.0;
-     border: 0;
-     margin: 5px 5px 5px 10px;
-     padding: 2px;
-}
-
-.cells {
-     border-left: 1px outset #bbf;
-     border-top: 1px inset #99f !important;
-     border-bottom: 1px inset #99f !important;
-}
-
-.tablefooter {
-     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
-}
-
-.tablefooter tr, .tablefooter td {
-     background: #ffe url('images/header.png') center center repeat-x;
-     border-top: 1px solid #447;
-     border-bottom: 1px solid #447 !important;     
-     padding: 8px 2px !important;
-     font-size: 7pt;
-     line-height: 110%;
-}
-
-.formaction {
-     text-align: right;
-}
-
-div.footnote {
-     text-align: right;
-     color: #447;
-     font-size: 7pt;
-     margin-top: -10px;
-}
-
-div.footnote hr{
-     margin: 20px 0 5px 0 !important;
-     color: #447;
-     background: #447;
-     height: 1px;
-     border: 0px solid #447;
-}
-
-.topness {
-     font-size: 7.5pt;
-     text-align: right;
-     margin-top: 0px;
-     margin-bottom: -18px;
-     margin-right: 5px;
-}
+/* I2P Theme: Light */
+/* Description: Light blue highlights. */
+/* Author: dr|z3d */
+
+body {
+     margin: 10px 0px -10px 10px;
+     text-align: center;
+     background: #ffe url('images/snowcamo.png');
+     color: #000;
+     font: 10pt/130% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     background: #99f url('images/magic.png') center bottom;
+}
+
+.hide {
+     display: none;
+}
+
+img {
+     border: none;
+}
+
+pre {
+     width: 98%;
+     overflow: auto;
+     text-align: left;
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #333;
+     margin: 10px;
+}
+
+div.logo {
+     float: left;
+     padding: 10px;
+     text-align: center;
+     font-color: #fff;
+     margin: 0 10px;
+     border: 1px solid #447;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     background: #ffe; /*url('images/lightbluetile.png')*/
+     width: 185px;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+}
+
+div.toolbar {
+     margin: 0;
+     padding: 10px;
+     font-weight: bold;
+     background: #ffe;
+     border: 1px solid #447;
+     display: none !important;
+}
+
+div.toolbar a:link {
+     border: 1px outset #ddddc0;
+     padding: 0px 5px 1px 5px;
+     line-height: 250%;
+     background: #bbf;
+     text-decoration: none;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     display: none !important;
+}
+
+div.toolbar a:visited {
+     background: #ffe;
+}
+
+div.toolbar a:hover{
+     border: 1px solid #eeffef;
+     background: #003;
+     color: #f60;
+}
+
+a:active{
+     color: #900;
+}
+
+div.routersummaryouter {
+     float: left;
+     width: 200px;
+     margin: 0 0 10px 0px;
+     padding: 0;
+     border: 0;
+     clear: left;/* fixes a bug in Opera */
+     text-align: center !important;
+     display: block;
+}
+
+div.routersummary {
+/*  margin: 0px 20px 20px 0px; */
+     width: 180px;
+     padding: 8px 8px 10px 8px;
+     text-align: center !important;
+     border: 1px solid #447;
+     color: #000;
+     font-size: 8pt;
+     clear: left;/* fixes a bug in Opera */
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     background: #ffe url('images/magic.png') center bottom;/* 
+     float: left;
+*/     
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+}
+
+div.routersummary input[type=text] {
+     text-align: right !important;
+}
+
+div.routersummary hr {
+     color: #99f;
+     background: #99f;
+     height: 1px;
+     border-bottom: 1px solid #99f;
+     margin: 8px -7px 8px -7px;
+     -moz-box-shadow: inset 0px 1px 1px 1px #fff;
+    -khtml-box-shadow: inset 0px 0px 1px #fff;
+     box-shadow: inset 0px 1px 1px 1px #fff;
+}
+
+div routersummary hr:last-child {
+}
+
+div.routersummary h3 {
+     border: 0;
+     font-size: 9.5pt;
+     letter-spacing: 0.04em;
+     margin: -4px -3px;
+     padding: 2px 0;
+     background: #ffe;
+     text-transform: uppercase;
+     background: #ffe url('images/header.png') center center repeat-x;
+     border: 1px solid #99f !important;
+     -moz-border-radius: 3px;
+     -khtml-border-radius: 3px;
+     border-radius: 3px;
+     -moz-box-shadow: 0px 1px 5px #bbf;
+}
+
+div.routersummary h3 a {
+     text-decoration: none;
+}
+
+div.routersummary h3:hover {
+     background: #ffa url('images/header.png') center center repeat-x !important;
+     text-shadow: 0 0 0;
+}
+
+div.routersummary h4 {
+     border: 0px solid #fff;
+     border-bottom: 0 !important;
+     font-size: 8.5pt;
+     letter-spacing: 0.02em;
+     margin: -5px -7px -5px -7px !important;
+     padding: 3px 3px 5px 3px;
+     background: #eed url(images/magic.png);
+     text-transform: capitalize;
+     text-decoration: none !important;
+     color: #2b2;
+     line-height: 105%;
+/*     text-shadow: 0px 1px 1px #99f;*/
+}
+
+div.routersummary table {
+     border: 0;
+     text-align: center !important;
+     margin: -7px -5px -6px -5px;
+     width: 190px !important;
+     overflow: hidden;
+     font-size: 8pt;
+     padding: 0px -10px;
+     background-image: none !important;
+     background-color: transparent !important;
+}
+
+div.routersummary tr {
+     background-image: none !important;
+     background-color: transparent !important;
+     border: 0 !important;
+}
+
+div.routersummary td:first-child {
+     max-width: 90px;
+     overflow: hidden;
+}
+
+div.routersummary a:hover {
+     color: #f60;
+}
+
+div.routersummary td {
+     padding: 1px 3px;
+     background-image: none !important;
+     border: 0 !important;
+}
+
+div.tunnels td:first-child {
+     width: 16px;
+     text-align: left;
+     padding-right: 1px;
+}
+
+div.tunnels td:last-child {
+     text-align: right;
+     padding-right: 1px;
+}
+
+div.tunnels img, div.tunnels img:hover {
+     opacity: 1 !important;
+}
+
+div.routersummary img:first-child  { 
+     margin-bottom: -2px !important;
+     opacity: 0.7;
+}
+
+div.routersummary img:hover:first-child {
+     margin-bottom: -2px !important;
+     opacity: 1;
+}
+
+div.tunnels {
+     margin-top: 6px !important;
+     margin-left: -2px !important;
+     margin-bottom: 3px !important;
+     padding-top: 3px !important;
+}
+
+div.tunnels table {
+     margin: -7px 0 -5px -4px !important;
+}
+
+div.tunnels td, div.tunnels img:first-child {
+     margin: 0 !important;
+    text-transform: capitalize;
+}
+
+.tunnels tr {
+     padding: 4px 0 !important;
+}
+
+div.routersummary form {
+     margin: -6px 0 -5px 0;
+}
+
+div.routersummary form:last-child {
+     margin: 6px 0 0 0 !important;
+     padding: 0;
+}
+
+div.routersummary p {
+     padding: 0;
+}     
+
+div.refresh {
+     margin-top: -6px !important;
+     margin-bottom: 0px !important;
+     padding: 2px 0 0px 0 !important;
+}
+
+/* proxy error messages */
+
+div.warning {
+     margin: 20px 20px 30px 240px;
+     padding: 5px 25px 20px 75px;
+     background: #fff;
+     border: 1px solid #447;
+     text-align: left;
+     color: inherit;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     text-align: justify;
+     background-image:url("../images/itoopie_sm.png");     
+     background-position:10px center;
+     background-repeat:no-repeat;
+     -moz-box-shadow: inset 0px 0px 1px 0px #d00;
+     word-wrap: break-word;
+     min-width: 400px;
+}
+
+/* console error messages */
+
+div.sorry {
+     margin: 5px 10px 10px 207px;
+     padding: 20px 20px 20px 75px;
+     background: #ffe;
+     border: 1px solid #447;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     text-align: justify;
+     background-image: url("images/errortriangle.png");
+     background-position: 15px center;
+     background-repeat: no-repeat;
+     -moz-box-shadow: inset 0px 0px 0px 1px #d00;
+     word-wrap: break-word;
+     font-weight: bold;
+     color: #531;
+}
+
+div.sorry hr {
+     color: #531;
+     background: #531;
+     height: 1px;
+     border: 1px solid #531;
+     margin: 10px 0 15px 0;
+}     
+
+div.main {
+     margin: 10px 10px 20px 207px;
+     padding: 0 15px 15px 15px;
+     background: #ffe;
+     text-align: left;
+     color: #001;
+     width: auto;
+     min-width: 500px;
+     border: 1px solid #447;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+     background: #ffe url('images/magic.png') center bottom;}
+
+div.main hr, hr {
+     color: #113;
+     background: #113;
+     height: 1px;
+     border: 0px solid #113;
+     margin: 10px 0;
+}
+
+hr:last-child {
+     margin-top: 20px !important;
+}
+
+div.main textarea {
+     background: #ffe;
+     color: #001;
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+}
+
+div.news {
+     margin: 0px 10px 5px 207px;
+     padding: 7px 20px 7px 20px;
+     border: 1px solid #447;
+     color: #224;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     text-align: right !important;
+     font-size: 7.5pt;
+     line-height: 140%;
+     -moz-box-shadow: inset 0px 0px 1px 0px #410;
+     background: #ffe url('images/magic.png') center bottom;
+     min-width: 480px;
+}
+
+div.news p {
+     font-size: 9pt;
+     text-align: justify !important;
+     line-height: 120%;
+     margin-top: -7px;
+     padding: 0 15px;
+}
+
+div.news h3 {
+     text-align: left !important;
+}
+
+/*
+div.news a:link{
+     color: #a30;
+     text-decoration: none;
+}
+
+div.news a:visited{
+     color: #930;
+}
+
+div.news a:hover{
+     color: #d20;
+     text-decoration: underline;
+}
+
+div.news a:active{
+     color: #c30;
+}
+*/
+
+div.news hr{
+     color: #225;
+     background: #225;
+     height: 1px;
+     border: 0px dotted #225;
+     margin: 10px 0 5px;
+/*     -moz-box-shadow: 0px -1px 1px 1px #ffe;*/
+     opacity: 0.6;
+}
+
+div.news li {
+     text-align: justify;
+     list-style: none;
+     margin: 5px 0 16px 0 !important;
+     vertical-align: bottom;
+     border: 1px solid #113;
+     border-left: 5px solid #113;
+     padding: 5px 5px;
+     border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+     -khtml-border-radius: 0 4px 4px 0;
+     font-size: 10pt;
+     opacity: 1;
+     background: #ffe url('images/header.png') center center repeat-x;
+     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
+     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
+     font-weight: bold;
+     text-transform: capitalize;
+}
+
+div.news li:first-child {
+     margin-top: 10px !important;
+}
+
+/*
+div.news  h4 a{
+     color: #910 !important;
+     opacity: 1 !important;
+}
+*/
+
+div.news h4 {
+     border-bottom: 0px;
+     padding: 0;
+     margin: 0 0 -10px 0;
+     font-size: 11pt;
+}
+
+div.confignav {
+     padding: 15px 10px !important;
+     margin: 15px 0 15px 0;
+     background: #ffe url('images/header.png') center center repeat-x;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #113;
+     font-size: 9.5pt !important;
+     font-weight: bold !important;
+     line-height: 160% !important;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+     min-width: 400px;
+}
+
+div.configure {
+/*     padding: 5px 15px 0px 15px !important;
+     margin: 0px 0px 15px 0;
+     background: #ffe; url('images/lightbluetile.png')
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #447;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
+     min-width: 400px;
+     margin-bottom: 0px;
+}
+
+div.configure h3, div.graphspanel h3 {
+     border: 1px solid #113;
+     border-left: 5px solid #113;
+     padding: 5px;
+     margin: 15px 0 15px 0;
+     border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+     -khtml-border-radius: 0 4px 4px 0;
+     background: #ffe;
+     text-align: left;
+}
+
+div.graphspanel {
+/*     padding: 12px;
+     margin: 10px 0px 25px 0;
+     background: #ffe url('images/lightbluetile.png');
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #447;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
+     text-align: center !important;
+     margin: 15px 0px -15px;
+}
+
+div.graphspanel img {
+     border: 1px solid #447;
+     padding: 2px;
+     margin: 6px;
+     text-align: center !important;
+     background: #001;
+     -moz-box-shadow: inset 0px 0px 1px 1px #99f;
+     opacity: 0.8;
+}
+
+div.graphspanel img:hover {
+     border: 1px solid #447;
+     padding: 2px;
+     margin: 6px;
+     text-align: center !important;
+     background: #001;
+     -moz-box-shadow: inset 0px 0px 2px 1px #f60;
+     opacity: 1;
+}
+
+div.graphspanel form {
+     text-align: left;
+}
+
+div.messages {
+     padding: 10px;
+     margin: 10px 0 15px 0;
+     background: #ffe;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #447;
+     background: #ffe url('images/magic.png');
+     font-weight: bold;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+}
+
+div.messages span.error {
+     color: #d00000;
+}
+
+div.messages span.notice {
+     font-style: italic;
+}
+
+div.messages li {
+     text-align: justify !important;
+     font-weight: bold;
+     list-style: url(images/warning.png) !important;
+     margin: 0 10px 0 35px !important;
+     padding: 5px 10px !important;
+     border: 0px !important;
+}
+
+table {
+     border-collapse: collapse;
+     width: 100%;
+     border: 1px solid #447;
+     margin: 1px -15px 5px 0px;
+     cell-padding: 1px;
+     font-size: 7pt;
+     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
+     font: 7pt/130% "Lucida Sans Unicode", Verdana, "Bitstream Vera Sans", Tahoma, Helvetica, sans-serif;
+}
+
+table hr {
+     padding: 0px 0;
+     color: #99f;
+     background: #99f;
+     border: 0px solid #99f;
+     margin: 0px 0px;
+     height: 1px;
+     display: none;
+}
+
+th {
+     padding: 6px 2px;
+     color: #000;
+     background: #ffe url('images/header.png') center center repeat-x;
+     text-align: center;
+     font-size: 9pt;
+     line-height: 110%;
+     border-bottom: 1px solid #447 !important;
+     border-top: 1px solid #447 !important;
+}
+
+tr {
+     vertical-align: middle !important;
+     align: center;
+}
+
+tr:nth-child(even) {
+     background: #eef url(images/magic.png);
+}
+
+tr:nth-child(odd) {
+     background: #fff url(images/magic.png);
+}
+/*
+tr:last-child {
+     background: #bbf url('images/tabletilelighter.png') !important;
+     font-weight: bold;
+     border: 1px solid #002 !important;
+}
+*/
+td {
+     padding: 5px 3px;
+     color: #000;
+     vertical-align: middle;
+     border-top: 1px inset #447;
+     border-bottom: 1px outset #99f;     
+}
+
+tt {
+     font: bold 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #008000;
+     padding: 1px 5px;
+}
+
+div.main li {
+     text-align: left;
+     list-style: square;
+     margin: 2px 5px 0px 20px;
+     padding: 1px 10px 1px 10px;
+     line-height: 150%;
+     word-wrap: break-word;
+}
+
+div.main li {
+     text-align: left;
+     list-style: square;
+     margin: 2px 20px 0px 40px;
+     padding: 1px 10px 1px 10px;
+     line-height: 150%;
+     word-wrap: break-word;
+}
+
+div.main li b {
+     color: #514!important;
+     letter-spacing: 0.01em;
+     font-size: 9.5pt;
+     line-height: 170%;
+}
+
+div.main li:first-child {
+     margin-top: 10px !important;
+}
+.tidylist {
+     text-align: justify !important;
+}
+
+.tidylist li:first-child {
+     margin-top: -10px !important;
+}
+
+.tidylist:last-child {
+     padding-bottom: 5px;
+}
+
+.tidylist code {
+     text-align: left;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #910;
+     padding: 2px 3px;
+     background: #fff;
+     font-weight: bold;
+     background: #ffb url('images/magic.png') center bottom;
+}
+
+ol {
+
+     margin: 1px 0 0 5px;
+     padding: 1px 0 0 20px;
+}
+
+ul {
+     display: inline;
+     margin: 0;
+     padding: 0;
+}
+
+code {
+     text-align: left;
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+}
+
+
+code {
+     text-align: left;
+     font: 9pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     color: #390;
+     padding: 2px 3px;
+     font-weight: bold;
+}
+
+a:link{
+     color: #359;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:visited{
+     color: #218;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:hover{
+     color: #f60;
+     text-decoration: underline;
+     font-weight: bold;
+}
+
+a:active{
+     color: #f93;
+     text-decoration: underline;
+     font-weight: bold;
+}
+
+.links li {
+     list-style: url(images/link.png) !important;
+     padding-bottom: -2px;
+     text-align: justify;
+     line-height: 120% !important;
+     padding-right: -100px !important;
+}
+
+.links li:first-child {
+     padding-top: 0 !important;
+}
+
+.links li:last-child {
+     padding-bottom: -15px !important;
+}
+
+.links ul {
+     margin-top: -5px !important;
+}
+
+p {
+     text-align: justify;
+     line-height: 160%;
+}
+
+h1 {
+     text-align: left;
+     color: #000;
+     padding: 10px 15px;
+     margin: 0 10px 10px 207px;
+     font: normal bold 16pt/120% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     letter-spacing: 0.15em;
+     text-transform: uppercase;
+     text-shadow: 0px 0px 1px #77f;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+     white-space: normal;
+     background: #ffe url('images/header.png') center center repeat-x;
+     border: 1px solid #447;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     min-width: 500px;
+}
+
+h2 {
+     font-size: 13pt;
+     color: #000;
+     letter-spacing: 0.05em;
+     background: #ffe url('images/header.png') center center repeat-x;
+     text-shadow: 0px 0px 1px rgba(0, 0, 64, 0.5);
+     padding: 10px 10px;
+     wordwrap: none;
+     border: 1px solid #113;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     margin: 15px 0px 15px 0 !important;
+     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
+     word-wrap: break-word;
+     opacity: 1;
+}
+
+h2 a:hover {
+     text-shadow: 0px 0px 1px rgba(255, 255, 72, 0.9);
+     border-bottom: 1px #ff6600;
+     padding-bottom: 5px;
+}
+
+h2 img {
+     opacity: 0.9 !important;
+}
+
+h3 {
+     border: 1px solid #113;
+     border-left: 5px solid #113;
+     padding: 5px 5px 5px 5px;
+     margin: 12px 0 15px 0;
+     border-radius: 0 4px 4px 0;
+     -moz-border-radius: 0 4px 4px 0;
+     -khtml-border-radius: 0 4px 4px 0;
+     background: #ffe url('images/header.png') center center repeat-x !important;
+     font-size: 11pt;
+     color: #000;
+     -moz-box-shadow: 0 1px 1px 1px rgba(176, 176, 216, 0.4);
+     opacity: 1;
+}
+
+h4 {
+     border-bottom: 1px;
+     border-bottom-style: solid;
+     border-bottom-color: #447;
+     padding: 0 0 10px 0;
+     margin: 5px 0 10px 0;
+     font-size: 11pt;
+}
+
+button, button:visited{
+     font: bold 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px outset #999;
+     padding: 1px 3px;
+     background: #ffe !important;
+     text-decoration: none;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     font-size: 8pt;
+     font-weight: bold;
+     margin: 0 1px;
+     text-align: center;
+     min-width: 80px;
+     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
+     -khtml-box-shadow: inset 0px 2px 8px 0px #fff;
+     box-shadow: inset 0px 2px 8px 0px #fff;
+     color: #316;
+}
+
+button:hover{
+     border: 1px solid #f60;
+     background: #f60 !important;
+     color: #fff;
+     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+     -khtml-box-shadow: inset 0px 0px 0px 1px #fff;
+     box-shadow: inset 0px 0px 0px 1px #fff;
+}
+
+button:active{
+     border: 1px solid #f60;
+     background: #202 !important;
+     color: #f60;
+     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
+     box-shadow: inset 0px 0px 0px 1px #f60;
+     -khtml-box-shadow: inset 0px 0px 0px 1px #f60;
+}
+
+.underline {
+     border-bottom: 1px solid #000022;
+     padding: 5px 0px 5px 0px;
+     margin: 0px 0px 10px 0px;
+}
+
+.langbox {
+     margin: 20px 10px 4px 5px;
+     padding: 8px 5px;
+     color: #001;
+     font-size: 7pt;
+     width: 260px;
+     text-align: right;
+     float: right;
+     valign: middle;
+     opacity: 1 !important;
+}
+
+.langbox img {
+     opacity: 0.8 !important;
+     -moz-box-shadow: 0 0 1px #447;
+}
+
+.langbox img:hover {
+     opacity: 1 !important;
+     -moz-box-shadow: 0 0 1px #f60;
+}
+
+input {
+     background: #ffe;
+     color: #316;
+     margin: 5px 10px 5px 10px;
+     padding: 4px 2px;
+     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px solid #447;
+     text-decoration: none;
+     min-width: 110px;
+}
+
+input, input:visited {
+     border: 1px outset #999;
+     background: #ffe;
+     color: #316;
+     margin: 5px;
+     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     padding: 1px 2px;
+     text-decoration: none;
+     min-width: 110px;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     -moz-box-shadow: inset 0px 2px 8px 0px #fff;
+     color: #813
+     opacity: 1;
+}
+
+
+input:hover {
+     background: #f60;
+     color: #fff;
+     border: 1px solid #f60;
+     opacity: 1.0;
+     -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+
+}
+
+input:active {
+     background: #002;
+     color: #f60;
+     border: 1px solid #f60;
+     opacity: 1.0;
+     -moz-box-shadow: inset 0px 0px 0px 1px #f60;
+}
+
+input[type=text], input[type=password] {
+     background: #ffe;
+     color: #001;
+     margin: 5px 10px 5px 10px;
+     padding: 4px 2px;
+     font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border: 1px solid #447;
+     text-decoration: none;
+}
+
+submit {
+     background: #f00;
+     color: #ffe;
+     margin: 10px 2px 10px 0;
+     padding: 2px;
+     font-family: "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     font-weight: bold;
+     border: 1px solid #447;
+     text-decoration: none;
+}
+
+input checkbox {
+     border: 0 !important;
+}
+
+select {
+     background: #ffe;
+     color: #003;
+     margin: 5px 10px 5px 10px;
+     padding: 4px;
+     border: 1px solid #447;
+     min-width: 110px;
+     font: 9pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     text-align: left !important;
+}
+
+textarea {
+     padding: 5px;
+     margin: 5px 15px 5px 10px;
+     background: #ffe;
+     color: #003;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     min-height: 100px;
+     min-width: 97%;
+     border: 1px solid #447;
+}
+
+form {}
+
+.proxyfooter {
+     margin: 0 20px 10px 240px;
+     padding: 20px 25px 20px 75px;
+     font-color: #f00;
+     font-size: 7pt;
+     text-align: right !important;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border: 1px solid #447;
+     display: none;
+}    
+
+.statusnotes {
+     font-style: italic;
+     font-size: 8pt;
+     font-color: #001 !important;
+     text-align: center;
+     border: 1px solid #447 !important;
+     border-top: 0 !important;
+     margin: -5px 0 5px 0; 
+     padding: 7px;
+     background: #ffe url('images/magic.png') center bottom;
+     -moz-box-shadow: inset 0px 0px 2px 1px #ffe;
+}
+
+/*
+.joblog {
+     margin: 15px 0;
+     padding: 10px 20px !important;
+     border: 1px solid #447;
+     background-color: #004;
+     background: #ffe url('images/lightbluetile.png');
+     color: #001;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     text-align: justify;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;
+     overflow: auto;
+ }
+ 
+ div.joblog:li {
+     word-wrap: break-word !important;
+}
+
+ .joblog:ul {
+     word-wrap: break-word !important;
+}
+
+.joblog table {
+     margin-top: 10px;
+}
+*/
+
+div.joblog {
+/*     margin: 15px 0;
+     padding: 10px 20px !important;
+     border: 1px solid #447;
+     background-color: #004;
+     background: #ffe; /*url('images/lightbluetile.png')
+     color: #001;
+     border-radius: 4px;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     text-align: justify;
+     -moz-box-shadow: inset 0px 0px 1px 1px #bbf;*/
+     overflow: auto;
+     border: 0;
+     margin-top: 5px;
+ }
+
+div.joblog i {
+     color: #050;
+     font-weight: bold;
+}
+ 
+ div.joblog ul {
+     word-wrap: break-word !important;
+     text-align: justify;
+     line-height: 100% !important;
+     margin-top: -5px !important;
+}
+
+ div.joblog li {
+     word-wrap: break-word !important;
+     text-align: justify !important;
+     line-height: 115% !important;
+     padding: 0;
+     font-size: 9pt !important;
+}
+
+div.joblog li:last-child {
+     margin-bottom: -5px;
+}
+
+div.joblog li:first-child {
+     margin-top: 10px !important;
+}
+
+div.joblog form:first-child {
+     margin-top: 10px;
+}
+
+div.joblog table {
+     margin-top: 15px;
+}
+
+div.joblog p {
+     line-height: 130%;
+}
+
+div.joblog hr {
+     margin: 15px 0;
+}
+
+div.joblog h3 {
+     margin-bottom: 5px;
+}
+
+.smallhead {
+     font-size: 7pt
+}
+
+.mediumtags {
+     font-size: 8pt;
+     font-style: italic;
+     font-weight: bold;
+}
+
+.optbox {
+     min-width: 16px !important;
+     max-width: 16px !important;     
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;     
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 5px 5px 5px 10px;
+     padding: 2px;
+}
+
+.optbox:hover {
+     min-width: 16px !important;
+     max-width: 16px !important;     
+     width: 16px !important;
+     min-height: 16px;
+     max-height: 16px;     
+     height: 16px;
+     opacity: 1.0;
+     border: 0;
+     margin: 5px 5px 5px 10px;
+     padding: 2px;
+}
+
+.cells {
+     border-left: 1px outset #bbf;
+     border-top: 1px inset #99f !important;
+     border-bottom: 1px inset #99f !important;
+}
+
+.tablefooter {
+     background: #b4c8ff url('images/tabletitlelight.png') repeat-x;
+}
+
+.tablefooter tr, .tablefooter td {
+     background: #ffe url('images/header.png') center center repeat-x;
+     border-top: 1px solid #447;
+     border-bottom: 1px solid #447 !important;     
+     padding: 8px 2px !important;
+     font-size: 7pt;
+     line-height: 110%;
+}
+
+.formaction {
+     text-align: right;
+}
+
+div.footnote {
+     text-align: right;
+     color: #447;
+     font-size: 7pt;
+     margin-bottom: -5px !important;
+}
+
+div.footnote hr{
+     margin: 20px 0 5px 0 !important;
+     color: #447;
+     background: #447;
+     height: 1px;
+     border: 0px solid #447;
+}
+
+.topness {
+     font-size: 7.5pt;
+     text-align: right;
+     margin-top: 0px;
+     margin-bottom: -18px;
+     margin-right: 5px;
+}
diff --git a/installer/resources/themes/console/light/default.css b/installer/resources/themes/console/light/default.css
index 30f6d9d27c428931c57b2112d3fad79244d49341..cbe675c2b63fc6381ab44ca15a504b1c43366b96 100644
--- a/installer/resources/themes/console/light/default.css
+++ b/installer/resources/themes/console/light/default.css
@@ -1,382 +1,384 @@
-body {
-     margin: 0px;
-     padding: 0px;
-     text-align: center;
-     font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif;
-     background: #eef url('images/snowcamo.png');
-     color: #001;
-     font-size: 10pt;
-/* we've avoided Tantek Hacks so far,
-    ** but we can't avoid using the non-w3c method of 
-    ** box rendering. (and therefore one of mozilla's
-    ** proprietry -moz properties (which hopefully they'll
-    ** drop soon).
- */  
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-    background: #99f url(images/magic.png);
-}
-
-div {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-}
-
-label {
-     margin: 0px 4px;
-     padding: 1px 10px 2px 0px;
-     float: left;
-     width: 120px;
-     height: 24px;
-     font-weight: normal;
-     text-align: right;
-     font-size: 8pt;
-     font-style: italic;
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-     line-height: 120%;
-     color: #101;
-}
-
-h4 {
-     font-size: 14px;
-     font-weight: bold !important;
-     color: #001;
-     text-align: center;
-     border: 1px solid #225;
-     margin: 5px 0 15px 0;
-     padding: 5px 10px;
-     background: #eef url(images/header.png) repeat-x center center;
-     text-transform: uppercase;
-     letter-spacing: 0.08em;
-     -moz-box-shadow: inset 0px 0px 4px 0px #bbf;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-a {
-     text-decoration: none;
-}
-
-form {
-     margin: 0px;
-}
-
-textarea, input, select, button, a {
-     -moz-box-sizing: border-box;
-     box-sizing: border-box;
-     font-size: 9pt;
-     float: left;
-     vertical-align: middle;
-}
-
-button {
-     float: none;
-     text-decoration: none;
-}
-
-textarea {
-     border: 1px solid #9999ff;
-}
-
-br {
-     clear: left;
-}
-
-div.statusNotRunning {
-     float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #d00;
-     background: url('images/console_status_stopped.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-div.statusRunning {
-   float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #0b0;
-     background: url('images/console_status_running.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-div.statusStarting {
-     float: left;
-     width: 68px;
-     height: 24px;
-     overflow: hidden;
-     color: #339933;
-     background: url('images/console_status_starting.png') 0 0 no-repeat;
-     padding-top: 24px;
-     margin-top: 4px;
-}
-
-hr {
-     display: none;
-}
-
-.separator, .subdivider {
-     clear: both;
-     height: 1px;
-     margin: 1px 0px 1px 0px;
-     border-bottom: 1px solid #225;
-/*
-     display: none;
-*/
-}
-
-.subdivider {
-     border-bottom: 1px solid #225;
-     padding: 5px 0px 0px 0px;
-}
-
-.freetext {
-     width: 150px;
-     height: 24px;
-     border: 1px solid #44d;
-     padding: 2px;
-     margin: 4px 0 2px 0px;
-     font: 10pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
-     font-weight: bold;
-     background: #ddf;
-     color: #001;
-     -moz-border-radius: 0 4px 4px 0;
-     -khtml-border-radius: 0 4px 4px 0;
-     border-radius: 0 4px 4px 0;
-/*
-     -moz-box-shadow: inset 0px -1px 1px 0px #fff;
-*/
-}
-
-.control, control:link, control:visited {
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     min-width: 60px;
-     font-weight: bold;
-     background: #ffe;
-     color: #001;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     text-decoration: none;
-}
-
-/*
-.control:active {
-     border: 1px inset;
-     background-color: #003;
-     color: #f60;
-     text-decoration: none;
-}
-*/
-.control:hover, control:visited:hover {
-     border: 1px solid #eef;
-     background-color: #f60;
-     color: #fff !important;
-     text-decoration: none;
-}
-
-.control:link, control:visited {
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     min-width: 60px;
-     font-weight: bold;
-     color: #001;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: #ffe url(images/header.png) center center repeat:x !important;
-     text-decoration: none;
-}
-
-.panel {
-     width: 800px;
-     margin: 16px auto 16px auto;
-     overflow: hidden;
-     text-align: left !important;
-     font-size: 7pt;
-     background-color: #fff;
-     background: url(images/magic.png);
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     border: 1px solid #002;
-     padding: 10px 20px;
-     -moz-box-shadow: inset 0px 0px 1px 0px #002;
-    background: none repeat scroll 0 0 #EEEEFF;
-    background: #fff url(images/magic.png);
-    border: 1px solid #444477;
-    color: #000011;
-}
-
-.panel .footer {
-     float: right;
-     padding: 4px;
-}
-
-.toolbox {
-     float: right;
-}
-
-.rowItem {
-     width: 750px;
-     float: left;
-     margin: 0px;
-}
-
-.comment {
-     font-weight: bold;
-     display: block; 
-     padding: 2px 10px 0 20px;
-     text-align: left;
-}
-
-.text {
-     height: 24px;
-     width: 150px;
-     padding: 0 0 0 2px;
-     float: left;
-     margin: 0;
-     font-size: 9pt !important;
-     font-weight: bold;
-}
-
-.accessKey {
-     text-decoration: underline;
-}
-
-#globalOperationsPanel {
-     background-color: #fff;
-     border: 1px solid #003;
-     padding: 5px 20px 11px 10px;
-
-     -moz-box-shadow: inset 0px 0px 0px 1px #f00;
-     -moz-box-shadow: inset 0px 0px 1px 0px #f60;
-     background: #fff url(images/magic.png);
-     border: 1px solid #444477;
-     color: #613;
-
-}
-
-#globalOperationsPanel .control {
-     min-width: 120px;
-}
-
-#globalOperationsPanel .control:link {
-     min-width: 120px;
-}
-
-
-globalOperationsPanel .control:link {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #bbbbff;
-     color: black;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: #ffe url(images/header.png) 0 0 repeat: x !important;
-}
-
-
-globalOperationsPanel .control:visited {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #ffe;
-     color: black;
-     border: 1px outset #ddddc0;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: url(images/header.png) 0 0 repeat: x !important;
-}
-
-globalOperationsPanel .control:hover {
-     min-width: 120px;
-     margin: 4px 0 0 4px !important;
-     padding: 2px;
-     overflow: hidden;
-     font-weight: bold;
-     background-color: #003;
-     color: #f60;
-     border: 1px outset #fff;
-     text-align: center;
-     white-space: nowrap;
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-     margin-top: 8px;
-     background: url(images/header_on.png) 0 0 repeat: x !important;
-}
-.header {
-     -moz-border-radius: 4px;
-     -khtml-border-radius: 4px;
-     border-radius: 4px;
-}
-
-select {
-     background-color: #eef;
-     color: #001;
-     margin: 4px;
-     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
-     font-weight: bold;
-     border: 1px solid #001;
-     padding: 2px;
-     min-width: 270px;
-     font-size: 8pt;
-     max-height: 24px;
-}
-
-a:link{
-     color: #613;
-     text-decoration: none;
-     font-weight: bold;
-     word-wrap: break-word;
-}
-
-a:visited{
-     color: #606;
-     text-decoration: none;
-     font-weight: bold;
-}
-
-a:hover{
-     color: #f60;
-     text-decoration: underline;
-     font-weight: bold;
-}
-
-a:active{
-     color: #f93;
-     text-decoration: underline;
-     font-weight: bold;
-}
+body {
+     margin: 0px;
+     padding: 0px;
+     text-align: center;
+     font-family: "Lucida Sans Unicode", Verdana, Helvetica, sans-serif;
+     background: #eef url('images/snowcamo.png');
+     color: #001;
+     font-size: 10pt;
+/* we've avoided Tantek Hacks so far,
+    ** but we can't avoid using the non-w3c method of 
+    ** box rendering. (and therefore one of mozilla's
+    ** proprietry -moz properties (which hopefully they'll
+    ** drop soon).
+ */  
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+    background: #99f url(images/magic.png);
+}
+
+div {
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+}
+
+label {
+     margin: 0px 4px;
+     padding: 1px 10px 2px 0px;
+     float: left;
+     width: 120px;
+     height: 24px;
+     font-weight: normal;
+     text-align: right;
+     font-size: 8pt;
+     font-style: italic;
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+     line-height: 120%;
+     color: #101;
+}
+
+h4 {
+     font-size: 14px;
+     font-weight: bold !important;
+     color: #001;
+     text-align: center;
+     border: 1px solid #225;
+     margin: 5px 0 15px 0;
+     padding: 5px 10px;
+     background: #eef url(images/header.png) repeat-x center center;
+     letter-spacing: 0.08em;
+     -moz-box-shadow: inset 0px 0px 4px 0px #bbf;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+}
+
+a {
+     text-decoration: none;
+}
+
+form {
+     margin: 0px;
+}
+
+textarea, input, select, button, a {
+     -moz-box-sizing: border-box;
+     box-sizing: border-box;
+     font-size: 9pt;
+     float: left;
+     vertical-align: middle;
+}
+
+button {
+     float: none;
+     text-decoration: none;
+}
+
+textarea {
+     border: 1px solid #9999ff;
+     color: #001;
+     background: #ddf;
+     border: 1px solid #44d;
+}
+
+br {
+     clear: left;
+}
+
+div.statusNotRunning {
+     float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #d00;
+     background: url('images/console_status_stopped.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+}
+
+div.statusRunning {
+   float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #0b0;
+     background: url('images/console_status_running.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+}
+
+div.statusStarting {
+     float: left;
+     width: 68px;
+     height: 24px;
+     overflow: hidden;
+     color: #339933;
+     background: url('images/console_status_starting.png') 0 0 no-repeat;
+     padding-top: 24px;
+     margin-top: 4px;
+}
+
+hr {
+     display: none;
+}
+
+.separator, .subdivider {
+     clear: both;
+     height: 1px;
+     margin: 1px 0px 1px 0px;
+     border-bottom: 1px solid #225;
+/*
+     display: none;
+*/
+}
+
+.subdivider {
+     border-bottom: 1px solid #225;
+     padding: 5px 0px 0px 0px;
+}
+
+.freetext {
+     width: 150px;
+     height: 24px;
+     border: 1px solid #44d;
+     padding: 2px;
+     margin: 4px 0 2px 0px;
+     font: 10pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
+     font-weight: bold;
+     background: #ddf;
+     color: #001;
+     -moz-border-radius: 0 4px 4px 0;
+     -khtml-border-radius: 0 4px 4px 0;
+     border-radius: 0 4px 4px 0;
+/*
+     -moz-box-shadow: inset 0px -1px 1px 0px #fff;
+*/
+}
+
+.control, control:link, control:visited {
+     margin: 4px 0 0 4px !important;
+     padding: 2px;
+     overflow: hidden;
+     min-width: 60px;
+     font-weight: bold;
+     background: #ffe;
+     color: #001;
+     border: 1px outset #ddddc0;
+     text-align: center;
+     white-space: nowrap;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     margin-top: 8px;
+     text-decoration: none;
+}
+
+/*
+.control:active {
+     border: 1px inset;
+     background-color: #003;
+     color: #f60;
+     text-decoration: none;
+}
+*/
+.control:hover, control:visited:hover {
+     border: 1px solid #eef;
+     background-color: #f60;
+     color: #fff !important;
+     text-decoration: none;
+}
+
+.control:link, control:visited {
+     margin: 4px 0 0 4px !important;
+     padding: 2px;
+     overflow: hidden;
+     min-width: 60px;
+     font-weight: bold;
+     color: #001;
+     border: 1px outset #ddddc0;
+     text-align: center;
+     white-space: nowrap;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     margin-top: 8px;
+     background: #ffe url(images/header.png) center center repeat:x !important;
+     text-decoration: none;
+}
+
+.panel {
+     width: 800px;
+     margin: 16px auto 16px auto;
+     overflow: hidden;
+     text-align: left !important;
+     font-size: 7pt;
+     background-color: #fff;
+     background: url(images/magic.png);
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     border: 1px solid #002;
+     padding: 10px 20px;
+     -moz-box-shadow: inset 0px 0px 1px 0px #002;
+    background: none repeat scroll 0 0 #EEEEFF;
+    background: #fff url(images/magic.png);
+    border: 1px solid #444477;
+    color: #000011;
+}
+
+.panel .footer {
+     float: right;
+     padding: 4px;
+}
+
+.toolbox {
+     float: right;
+}
+
+.rowItem {
+     width: 750px;
+     float: left;
+     margin: 0px;
+}
+
+.comment {
+     font-weight: bold;
+     display: block; 
+     padding: 2px 10px 0 20px;
+     text-align: left;
+}
+
+.text {
+     height: 24px;
+     width: 150px;
+     padding: 0 0 0 2px;
+     float: left;
+     margin: 0;
+     font-size: 9pt !important;
+     font-weight: bold;
+}
+
+.accessKey {
+     text-decoration: underline;
+}
+
+#globalOperationsPanel {
+     background-color: #fff;
+     border: 1px solid #003;
+     padding: 5px 20px 11px 10px;
+
+     -moz-box-shadow: inset 0px 0px 0px 1px #f00;
+     -moz-box-shadow: inset 0px 0px 1px 0px #f60;
+     background: #fff url(images/magic.png);
+     border: 1px solid #444477;
+     color: #613;
+
+}
+
+#globalOperationsPanel .control {
+     min-width: 120px;
+}
+
+#globalOperationsPanel .control:link {
+     min-width: 120px;
+}
+
+
+globalOperationsPanel .control:link {
+     min-width: 120px;
+     margin: 4px 0 0 4px !important;
+     padding: 2px;
+     overflow: hidden;
+     font-weight: bold;
+     background-color: #bbbbff;
+     color: black;
+     border: 1px outset #ddddc0;
+     text-align: center;
+     white-space: nowrap;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     margin-top: 8px;
+     background: #ffe url(images/header.png) 0 0 repeat: x !important;
+}
+
+
+globalOperationsPanel .control:visited {
+     min-width: 120px;
+     margin: 4px 0 0 4px !important;
+     padding: 2px;
+     overflow: hidden;
+     font-weight: bold;
+     background-color: #ffe;
+     color: black;
+     border: 1px outset #ddddc0;
+     text-align: center;
+     white-space: nowrap;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     margin-top: 8px;
+     background: url(images/header.png) 0 0 repeat: x !important;
+}
+
+globalOperationsPanel .control:hover {
+     min-width: 120px;
+     margin: 4px 0 0 4px !important;
+     padding: 2px;
+     overflow: hidden;
+     font-weight: bold;
+     background-color: #003;
+     color: #f60;
+     border: 1px outset #fff;
+     text-align: center;
+     white-space: nowrap;
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+     margin-top: 8px;
+     background: url(images/header_on.png) 0 0 repeat: x !important;
+}
+.header {
+     -moz-border-radius: 4px;
+     -khtml-border-radius: 4px;
+     border-radius: 4px;
+}
+
+select {
+     background-color: #eef;
+     color: #001;
+     margin: 4px;
+     font-family: "Lucida Sans Unicode", Verdana, Tahoma, Helvetica, sans-serif;
+     font-weight: bold;
+     border: 1px solid #001;
+     padding: 2px;
+     min-width: 270px;
+     font-size: 8pt;
+     max-height: 24px;
+}
+
+a:link{
+     color: #613;
+     text-decoration: none;
+     font-weight: bold;
+     word-wrap: break-word;
+}
+
+a:visited{
+     color: #606;
+     text-decoration: none;
+     font-weight: bold;
+}
+
+a:hover{
+     color: #f60;
+     text-decoration: underline;
+     font-weight: bold;
+}
+
+a:active{
+     color: #f93;
+     text-decoration: underline;
+     font-weight: bold;
+}
diff --git a/installer/resources/themes/console/midnight/console.css b/installer/resources/themes/console/midnight/console.css
index 372364b743616e1a2c05b738f04d98c322a67cd6..fbb7006f15470aacf9a7c235b6f7b9dc070b0f49 100644
--- a/installer/resources/themes/console/midnight/console.css
+++ b/installer/resources/themes/console/midnight/console.css
@@ -114,7 +114,7 @@ div.warning h3 {
      font-variant: small-caps; 
      text-transform: capitalize; 
      font-size: 12.5pt;
-     background: none;
+     background: none !important;
 }
 
 /* console error messages */
@@ -428,6 +428,11 @@ div.news li {
      font-size: 10pt;
      color: #eef;
      text-transform: capitalize;
+     font-weight: bold;
+}
+
+div.news h3 {
+     text-align: left !important;
 }
 
 div.news p {
@@ -464,11 +469,11 @@ div.news hr {
      background: #99f;
      height: 1px;
      border: 0px solid #99f;
-     margin: 20px 0 2px 0;
+     margin: 10px 0 2px 0;
 }
 
 div.confignav {
-     padding: 15px 0;
+     padding: 14px 0 15px;
      background: #000018;
      margin: -16px -16px 0 -16px;
      border: 1px solid #99f;
@@ -552,7 +557,7 @@ h1 {
      text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.4);
      text-align: center;
      border: 1px solid #99f;
-     padding: 16px 10px 16px 10px;
+     padding: 15px 10px;
      margin: 5px 5px 0 200px;
      line-height: 93%;
      text-transform: uppercase;
@@ -816,8 +821,7 @@ p {
 }
 
 .links b {
-     margin-bottom: 25px !important;
-     line-height: 250%;
+     line-height: 170%;
      letter-spacing: 0.12em !important;
 }
 
@@ -943,10 +947,11 @@ div.footnote {
      text-align: right;
      color: #99f;
      font-size: 7pt;
+     margin-bottom: -5px;
 }
 
 div.footnote hr{
-     margin: 15px 0 5px 0 !important;
+     margin: 15px 0 3px 0 !important;
      color: #99f;
      background: #99f;
      height: 1px;
diff --git a/installer/resources/themes/console/midnight/images/i2plogo.png b/installer/resources/themes/console/midnight/images/i2plogo.png
index b418012571f939b82753cbbe8fb5831ff4efe5d8..2c1871b4d14004170335c665c191ae23c1f51678 100644
Binary files a/installer/resources/themes/console/midnight/images/i2plogo.png and b/installer/resources/themes/console/midnight/images/i2plogo.png differ
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index c0b61daa292457defdc2cb72eef99d8e5bf58f69..f6e6df3a5c0d10fbf1efc2f7069c342c2fe16f4e 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,10 +18,10 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 37;
+    public final static long BUILD = 4;
 
     /** for example "-test" */
-    public final static String EXTRA = "-rc";
+    public final static String EXTRA = "";
     public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
     public static void main(String args[]) {
         System.out.println("I2P Router version: " + FULL_VERSION);
diff --git a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java
index 49790beef7c724e745096f797b16cdba42328114..4f225ec977ddfc59cc2508744d9da3bcb3043f4d 100644
--- a/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java
+++ b/router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java
@@ -40,14 +40,15 @@ public class Reseeder {
     // Reject unreasonably big files, because we download into a ByteArrayOutputStream.
     private static final long MAX_RESEED_RESPONSE_SIZE = 1024 * 1024;
 
-    private static final String DEFAULT_SEED_URL =
+    public static final String DEFAULT_SEED_URL =
               "http://a.netdb.i2p2.de/,http://b.netdb.i2p2.de/,http://c.netdb.i2p2.de/," +
-              "http://reseed.i2p-projekt.de/,http://www.i2pbote.net/netDb/,http://r31453.ovh.net/static_media/netDb/";
+              "http://reseed.i2p-projekt.de/,http://www.i2pbote.net/netDb/,http://r31453.ovh.net/static_media/files/netDb/";
 
     /** @since 0.8.2 */
-    private static final String DEFAULT_SSL_SEED_URL =
+    public static final String DEFAULT_SSL_SEED_URL =
               "https://a.netdb.i2p2.de/,https://c.netdb.i2p2.de/," +
-              "https://www.i2pbote.net/netDb/";
+              "https://www.i2pbote.net/netDb/," +
+              "https://r31453.ovh.net/static_media/files/netDb/";
 
     private static final String PROP_INPROGRESS = "net.i2p.router.web.ReseedHandler.reseedInProgress";
     /** the console shows this message while reseedInProgress == false */
@@ -62,11 +63,8 @@ public class Reseeder {
     public static final String PROP_SSL_DISABLE = "router.reseedSSLDisable";
     /** @since 0.8.2 */
     public static final String PROP_SSL_REQUIRED = "router.reseedSSLRequired";
-
-    private static final String RESEED_TIPS =
-            _x("Ensure that nothing blocks outbound HTTP, check <a target=\"_top\" href=\"logs.jsp\">logs</a> " +
-               "and if nothing helps, read the <a target=\"_top\" href=\"http://www.i2p2.de/faq.html\">FAQ</a> about reseeding manually.");
-        
+    /** @since 0.8.3 */
+    public static final String PROP_RESEED_URL = "i2p.reseedURL";
 
     public Reseeder(RouterContext ctx) {
         _context = ctx;
@@ -127,7 +125,9 @@ public class Reseeder {
                 System.out.println(
                      "Ensure that nothing blocks outbound HTTP, check the logs, " +
                      "and if nothing helps, read the FAQ about reseeding manually.");
-                System.setProperty(PROP_ERROR, _("Reseed failed.") + ' '  + _(RESEED_TIPS));
+                System.setProperty(PROP_ERROR, _("Reseed failed.") + ' '  +
+                                               _("See {0} for help.",
+                                                 "<a target=\"_top\" href=\"/configreseed\">" + _("reseed configuration page") + "</a>"));
             }	
             System.setProperty(PROP_INPROGRESS, "false");
             System.clearProperty(PROP_STATUS);
@@ -164,7 +164,7 @@ public class Reseeder {
         */
         private int reseed(boolean echoStatus) {
             List<String> URLList = new ArrayList();
-            String URLs = _context.getProperty("i2p.reseedURL");
+            String URLs = _context.getProperty(PROP_RESEED_URL);
             boolean defaulted = URLs == null;
             boolean SSLDisable = _context.getBooleanProperty(PROP_SSL_DISABLE);
             if (defaulted) {
@@ -180,7 +180,7 @@ public class Reseeder {
             if (defaulted && !SSLDisable) {
                 // put the non-SSL at the end of the SSL
                 List<String> URLList2 = new ArrayList();
-                tok = new StringTokenizer(DEFAULT_SSL_SEED_URL, " ,");
+                tok = new StringTokenizer(DEFAULT_SEED_URL, " ,");
                 while (tok.hasMoreTokens())
                     URLList2.add(tok.nextToken().trim());
                 Collections.shuffle(URLList2);
@@ -368,6 +368,11 @@ public class Reseeder {
         return Translate.getString(key, _context, BUNDLE_NAME);
     }
 
+    /** translate */
+    private String _(String s, Object o) {
+        return Translate.getString(s, o, _context, BUNDLE_NAME);
+    }
+
     /** translate */
     private String _(String s, Object o, Object o2) {
         return Translate.getString(s, o, o2, _context, BUNDLE_NAME);
diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java
index 4fc466d270cd25ebe650fc11cb6e6febe05a603f..1a8249798a8d338312192a305abd480ece53f2ed 100644
--- a/router/java/src/net/i2p/router/startup/WorkingDir.java
+++ b/router/java/src/net/i2p/router/startup/WorkingDir.java
@@ -150,7 +150,7 @@ public class WorkingDir {
         success &= migrateJettyXml(oldDirf, dirf);
         success &= migrateClientsConfig(oldDirf, dirf);
         // for later news.xml updates (we don't copy initialNews.xml over anymore)
-        success &= (new SecureDirectory(dirf, "docs")) .mkdir();
+        success &= (new SecureDirectory(dirf, "docs")).mkdir();
 
         // Report success or failure
         if (success) {
diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
index 31060ba411f41edcbb969a5f12dba21a5ebca97b..62d57810e87fedab50b873093eeecc325d5c4e28 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
@@ -63,6 +63,10 @@ public class NTCPTransport extends TransportImpl {
     private long _lastBadSkew;
     private static final long[] RATES = { 10*60*1000 };
 
+    // Opera doesn't have the char, TODO check UA
+    //private static final String THINSP = "&thinsp;/&thinsp;";
+    private static final String THINSP = " / ";
+
     public NTCPTransport(RouterContext ctx) {
         super(ctx);
 
@@ -756,7 +760,7 @@ public class NTCPTransport extends TransportImpl {
                 buf.append("<img src=\"/themes/console/images/outbound.png\" alt=\"Outbound\" title=\"").append(_("Outbound")).append("\"/>");
             buf.append("</td><td class=\"cells\" align=\"right\">");
             buf.append(DataHelper.formatDuration2(con.getTimeSinceReceive()));
-            buf.append("&thinsp;/&thinsp;").append(DataHelper.formatDuration2(con.getTimeSinceSend()));
+            buf.append(THINSP).append(DataHelper.formatDuration2(con.getTimeSinceSend()));
             buf.append("</td><td class=\"cells\" align=\"right\">");
             if (con.getTimeSinceReceive() < 10*1000) {
                 buf.append(formatRate(con.getRecvRate()/1024));
@@ -764,7 +768,7 @@ public class NTCPTransport extends TransportImpl {
             } else {
                 buf.append(formatRate(0));
             }
-            buf.append("&thinsp;/&thinsp;");
+            buf.append(THINSP);
             if (con.getTimeSinceSend() < 10*1000) {
                 buf.append(formatRate(con.getSendRate()/1024));
                 bpsSend += con.getSendRate();
@@ -801,7 +805,7 @@ public class NTCPTransport extends TransportImpl {
         if (!peers.isEmpty()) {
 //            buf.append("<tr> <td colspan=\"11\"><hr></td></tr>\n");
             buf.append("<tr class=\"tablefooter\"><td align=\"center\"><b>").append(peers.size()).append(' ').append(_("peers")).append("</b></td><td>&nbsp;</td><td>&nbsp;");
-            buf.append("</td><td align=\"center\"><b>").append(formatRate(bpsRecv/1024)).append("&thinsp;/&thinsp;").append(formatRate(bpsSend/1024)).append("</b>");
+            buf.append("</td><td align=\"center\"><b>").append(formatRate(bpsRecv/1024)).append(THINSP).append(formatRate(bpsSend/1024)).append("</b>");
             buf.append("</td><td align=\"center\"><b>").append(DataHelper.formatDuration2(totalUptime/peers.size()));
             buf.append("</b></td><td align=\"center\"><b>").append(DataHelper.formatDuration2(offsetTotal*1000/peers.size()));
             buf.append("</b></td><td align=\"center\"><b>").append(totalSend).append("</b></td><td align=\"center\"><b>").append(totalRecv);
diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
index dead5e00303b62609e95be50c726003541796c24..a43d830ce04e7fe73d11b3b134526844c72aa245 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -170,6 +170,10 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
     private static final int TRANSIENT_FAIL_BID = 8;
     private final TransportBid[] _cachedBid;
 
+    // Opera doesn't have the char, TODO check UA
+    //private static final String THINSP = "&thinsp;/&thinsp;";
+    private static final String THINSP = " / ";
+
     public UDPTransport(RouterContext ctx) {
         super(ctx);
         _context = ctx;
@@ -1982,7 +1986,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             
             buf.append("<td class=\"cells\" align=\"right\">");
             buf.append(DataHelper.formatDuration2(idleIn));
-            buf.append("&thinsp/&thinsp;");
+            buf.append(THINSP);
             buf.append(DataHelper.formatDuration2(idleOut));
             buf.append("</td>");
  
@@ -1991,7 +1995,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             
             buf.append("<td class=\"cells\" align=\"right\" nowrap>");
             buf.append(formatKBps(recvBps));
-            buf.append("&thinsp;/&thinsp;");
+            buf.append(THINSP);
             buf.append(formatKBps(sendBps));
             //buf.append(" K/s");
             //buf.append(formatKBps(peer.getReceiveACKBps()));
@@ -2017,9 +2021,9 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             buf.append("<td class=\"cells\" align=\"right\">");
             buf.append(sendWindow/1024);
             buf.append("K");
-            buf.append("&thinsp;/&thinsp;").append(peer.getConcurrentSends());
-            buf.append("&thinsp;/&thinsp;").append(peer.getConcurrentSendWindow());
-            buf.append("&thinsp;/&thinsp;").append(peer.getConsecutiveSendRejections());
+            buf.append(THINSP).append(peer.getConcurrentSends());
+            buf.append(THINSP).append(peer.getConcurrentSendWindow());
+            buf.append(THINSP).append(peer.getConsecutiveSendRejections());
             buf.append("</td>");
 
             buf.append("<td class=\"cells\" align=\"right\">");
@@ -2042,7 +2046,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
             buf.append("</td>");
             
             buf.append("<td class=\"cells\" align=\"right\">");
-            buf.append(peer.getMTU()).append("&thinsp;/&thinsp;").append(peer.getReceiveMTU());
+            buf.append(peer.getMTU()).append(THINSP).append(peer.getReceiveMTU());
             
             //.append('/');
             //buf.append(peer.getMTUIncreases()).append('/');
@@ -2102,7 +2106,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
 //        buf.append("<tr><td colspan=\"16\"><hr></td></tr>\n");
         buf.append("<tr class=\"tablefooter\"> <td colspan=\"3\" align=\"left\"><b>").append(_("SUMMARY")).append("</b></td>" +
                    "<td align=\"center\" nowrap><b>");
-        buf.append(formatKBps(bpsIn)).append("&thinsp;/&thinsp;").append(formatKBps(bpsOut));
+        buf.append(formatKBps(bpsIn)).append(THINSP).append(formatKBps(bpsOut));
         long x = numPeers > 0 ? uptimeMsTotal/numPeers : 0;
         buf.append("</b></td>" +
                    "<td align=\"center\"><b>").append(DataHelper.formatDuration2(x));