diff --git a/apps/i2psnark/java/bundle-messages.sh b/apps/i2psnark/java/bundle-messages.sh
index 01aa5b1c7446f84fe3f2f7d7758c3b6e133fa1ce..c09aa811f94817e645cbc5b37c37870b058c2d31 100755
--- a/apps/i2psnark/java/bundle-messages.sh
+++ b/apps/i2psnark/java/bundle-messages.sh
@@ -49,7 +49,7 @@ do
 		# To start a new translation, copy the header from an old translation to the new .po file,
 		# then ant distclean poupdate.
 		find $JPATHS -name *.java > $TMPFILE
-		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 \
+		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\
 	                 --keyword=_ --keyword=_x \
 		         -o ${i}t
 		if [ $? -ne 0 ]
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Peer.java b/apps/i2psnark/java/src/org/klomp/snark/Peer.java
index a1b2c1039db6cd31d5934d0dd7855a418da071c8..e0ae6e1f25449a2b47adf884629ace0d10f5aa66 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Peer.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Peer.java
@@ -388,6 +388,7 @@ public class Peer implements Comparable
    * Sets whether or not we are interested in pieces from this peer.
    * Defaults to false. When interest is true and this peer unchokes
    * us then we start downloading from it. Has no effect when not connected.
+   * @deprecated unused
    */
   public void setInteresting(boolean interest)
   {
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java
index 88dee31019e6e5f9f3dcc1efe6edb299c3f06c54..9d9fd2e2a733ac8ac8474e8a02d9d3468f6f8ee6 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCheckerTask.java
@@ -118,7 +118,7 @@ class PeerCheckerTask extends TimerTask
             // Choke a percentage of them rather than all so it isn't so drastic...
             // unless this torrent is over the limit all by itself.
             boolean overBWLimitChoke = upload > 0 &&
-                                       ((overBWLimit && random.nextInt(5) < 2) ||
+                                       ((overBWLimit && random.nextBoolean()) ||
                                         (coordinator.overUpBWLimit(uploaded)));
 
             // If we are at our max uploaders and we have lots of other
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java
index 53dde145c786cf0a5a689f01afafff8b6c03c5fc..2a2e40e7d5f46b14d3b12418dc77c859edb842fb 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java
@@ -489,6 +489,13 @@ public class PeerCoordinator implements PeerListener
     return false;
   }
 
+  /**
+   *  This should be somewhat less than the max conns per torrent,
+   *  but not too much less, so a torrent doesn't get stuck near the end.
+   *  @since 0.7.14
+   */
+  private static final int END_GAME_THRESHOLD = 8;
+
   /**
    * Returns one of pieces in the given BitField that is still wanted or
    * -1 if none of the given pieces are wanted.
@@ -525,7 +532,7 @@ public class PeerCoordinator implements PeerListener
             // AND if there are almost no wanted pieces left (real end game).
             // If we do end game all the time, we generate lots of extra traffic
             // when the seeder is super-slow and all the peers are "caught up"
-            if (wantedPieces.size() > 4)
+            if (wantedPieces.size() > END_GAME_THRESHOLD)
                 return -1;  // nothing to request and not in end game
             // let's not all get on the same piece
             Collections.shuffle(requested);
diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
index f93f009ee5c0f0151afbb84f56af70cc23a9b192..75f1485a1c6e8f8d2411f57f5153b388ba7a2fe3 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java
@@ -29,7 +29,7 @@ public class SnarkManager implements Snark.CompleteListener {
     private static SnarkManager _instance = new SnarkManager();
     public static SnarkManager instance() { return _instance; }
     
-    /** map of (canonical) filename to Snark instance (unsynchronized) */
+    /** map of (canonical) filename of the .torrent file to Snark instance (unsynchronized) */
     private final Map<String, Snark> _snarks;
     private final Object _addSnarkLock;
     private /* FIXME final FIXME */ File _configFile;
@@ -396,12 +396,30 @@ public class SnarkManager implements Snark.CompleteListener {
     /** hardcoded for sanity.  perhaps this should be customizable, for people who increase their ulimit, etc. */
     private static final int MAX_FILES_PER_TORRENT = 512;
     
-    /** set of filenames that we are dealing with */
+    /** set of canonical .torrent filenames that we are dealing with */
     public Set<String> listTorrentFiles() { synchronized (_snarks) { return new HashSet(_snarks.keySet()); } }
+
     /**
-     * Grab the torrent given the (canonical) filename
+     * Grab the torrent given the (canonical) filename of the .torrent file
+     * @return Snark or null
      */
     public Snark getTorrent(String filename) { synchronized (_snarks) { return (Snark)_snarks.get(filename); } }
+
+    /**
+     * Grab the torrent given the base name of the storage
+     * @return Snark or null
+     * @since 0.7.14
+     */
+    public Snark getTorrentByBaseName(String filename) {
+        synchronized (_snarks) {
+            for (Snark s : _snarks.values()) {
+                if (s.storage.getBaseName().equals(filename))
+                    return s;
+            }
+        }
+        return null;
+    }
+
     public void addTorrent(String filename) { addTorrent(filename, false); }
     public void addTorrent(String filename, boolean dontAutoStart) {
         if ((!dontAutoStart) && !_util.connected()) {
@@ -595,8 +613,8 @@ public class SnarkManager implements Snark.CompleteListener {
         } else if (info.getPieces() > Storage.MAX_PIECES) {
             return _("Too many pieces in \"{0}\", limit is {1}, deleting it!", info.getName(), Storage.MAX_PIECES);
         } else if (info.getPieceLength(0) > Storage.MAX_PIECE_SIZE) {
-            return _("Pieces are too large in \"{0}\" ({1}B), deleting it.", info.getName(), DataHelper.formatSize(info.getPieceLength(0))) + ' ' +
-                   _("Limit is {0}B", DataHelper.formatSize(Storage.MAX_PIECE_SIZE));
+            return _("Pieces are too large in \"{0}\" ({1}B), deleting it.", info.getName(), DataHelper.formatSize2(info.getPieceLength(0))) + ' ' +
+                   _("Limit is {0}B", DataHelper.formatSize2(Storage.MAX_PIECE_SIZE));
         } else if (info.getTotalLength() > Storage.MAX_TOTAL_SIZE) {
             System.out.println("torrent info: " + info.toString());
             List lengths = info.getLengths();
@@ -689,7 +707,7 @@ public class SnarkManager implements Snark.CompleteListener {
     public void torrentComplete(Snark snark) {
         File f = new File(snark.torrent);
         long len = snark.meta.getTotalLength();
-        addMessage(_("Download finished: \"{0}\"", f.getName()) + " (" + _("size: {0}B", DataHelper.formatSize(len)) + ')');
+        addMessage(_("Download finished: \"{0}\"", f.getName()) + " (" + _("size: {0}B", DataHelper.formatSize2(len)) + ')');
         updateStatus(snark);
     }
     
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
index fba307f52ae291379cc6254a87065a8b84944880..f90301848d8ab9b2f4297313b031f9b5976ed5c1 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
@@ -315,12 +315,12 @@ public class Storage
               if (!bitfield.get(pc))
                   rv = Math.min(psz - (start % psz), lengths[i]);
               int pieces = metainfo.getPieces();
-              for (int j = pc + 1; j * psz < end && j < pieces; j++) {
+              for (int j = pc + 1; (((long)j) * psz) < end && j < pieces; j++) {
                   if (!bitfield.get(j)) {
-                      if ((j+1)*psz < end)
+                      if (((long)(j+1))*psz < end)
                           rv += psz;
                       else
-                          rv += end - (j * psz);
+                          rv += end - (((long)j) * psz);
                   }
               }
               return rv;
@@ -339,6 +339,18 @@ public class Storage
     return bitfield;
   }
 
+  /**
+   *  The base file or directory name of the data,
+   *  as specified in the .torrent file, but filtered to remove
+   *  illegal characters. This is where the data actually is,
+   *  relative to the snark base dir.
+   *
+   *  @since 0.7.14
+   */
+  public String getBaseName() {
+      return filterName(metainfo.getName());
+  }
+
   /**
    * Creates (and/or checks) all files from the metainfo file list.
    */
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 5ec39ff90a60453d750122bbc9e2fe5d786f650a..98c64fbbddff0b04838018d09d120fa4adc73147 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -547,9 +547,11 @@ public class I2PSnarkServlet extends Default {
                 l = l.substring(skip.length());
             if (r.startsWith(skip))
                 r = r.substring(skip.length());
-            if (l.toLowerCase().startsWith("the "))
+            String llc = l.toLowerCase();
+            if (llc.startsWith("the ") || llc.startsWith("the."))
                 l = l.substring(4);
-            if (r.toLowerCase().startsWith("the "))
+            String rlc = r.toLowerCase();
+            if (rlc.startsWith("the ") || rlc.startsWith("the."))
                 r = r.substring(4);
             return collator.compare(l, r);
         }
@@ -681,7 +683,7 @@ public class I2PSnarkServlet extends Default {
         out.write("<td align=\"left\" class=\"snarkTorrentName " + rowClass + "\">");
         
         if (remaining == 0 || snark.meta.getFiles() != null) {
-            out.write("<a href=\"" + snark.meta.getName());
+            out.write("<a href=\"" + snark.storage.getBaseName());
             if (snark.meta.getFiles() != null)
                 out.write("/");
             out.write("\" title=\"");
@@ -695,7 +697,7 @@ public class I2PSnarkServlet extends Default {
         if (snark.meta.getFiles() != null)
             icon = "folder";
         else
-            icon = toIcon(fullFilename);
+            icon = toIcon(snark.meta.getName());
         out.write(toImg(icon));
         out.write(filename);
         if (remaining == 0 || snark.meta.getFiles() != null)
@@ -1091,6 +1093,9 @@ public class I2PSnarkServlet extends Default {
     /** dummies for translation */
     private static final String HOPS = ngettext("1 hop", "{0} hops");
     private static final String TUNNELS = ngettext("1 tunnel", "{0} tunnels");
+    /** prevents the ngettext line below from getting tagged */
+    private static final String DUMMY0 = "{0} ";
+    private static final String DUMMY1 = "1 ";
 
     /** modded from ConfigTunnelsHelper @since 0.7.14 */
     private String renderOptions(int min, int max, String strNow, String selName, String name) {
@@ -1104,7 +1109,8 @@ public class I2PSnarkServlet extends Default {
             buf.append("<option value=\"").append(i).append("\" ");
             if (i == now)
                 buf.append("selected=\"true\" ");
-            buf.append(">").append(ngettext("1 " + name, "{0} " + name + 's', i));
+            // constants to prevent tagging
+            buf.append(">").append(ngettext(DUMMY1 + name, DUMMY0 + name + 's', i));
             buf.append("</option>\n");
         }
         buf.append("</select>\n");
@@ -1208,18 +1214,13 @@ public class I2PSnarkServlet extends Default {
             title = title.substring("/i2psnark/".length());
 
         // Get the snark associated with this directory
-        Snark snark = null;
-        try {
-            String torrentName;
-            int slash = title.indexOf('/');
-            if (slash > 0)
-                torrentName = title.substring(0, slash) + ".torrent";
-            else
-                torrentName = title + ".torrent";
-            File dataDir = _manager.getDataDir();
-            String torrentAbsPath = (new File(dataDir, torrentName)).getCanonicalPath();
-            snark = _manager.getTorrent(torrentAbsPath);
-        } catch (IOException ioe) {}
+        String torrentName;
+        int slash = title.indexOf('/');
+        if (slash > 0)
+            torrentName = title.substring(0, slash);
+        else
+            torrentName = title;
+        Snark snark = _manager.getTorrentByBaseName(torrentName);
         if (title.endsWith("/"))
             title = title.substring(0, title.length() - 1);
         title = _("Torrent") + ": " + title;
@@ -1371,7 +1372,7 @@ public class I2PSnarkServlet extends Default {
                  plc.endsWith(".ape"))
             icon = "music";
         else if (mime.startsWith("video/") || plc.endsWith(".mkv") || plc.endsWith(".m4v") ||
-                 plc.endsWith(".mp4"))
+                 plc.endsWith(".mp4") || plc.endsWith(".wmv"))
             icon = "film";
         else if (mime.equals("application/zip") || mime.equals("application/x-gtar") ||
                  mime.equals("application/compress") || mime.equals("application/gzip") ||
diff --git a/apps/i2psnark/locale/messages_ru.po b/apps/i2psnark/locale/messages_ru.po
index 853edcf36c3ec844b4bb19887144bc9fb5833b2d..4c8758f6704160543dcc2619fd707a04c0abd98b 100644
--- a/apps/i2psnark/locale/messages_ru.po
+++ b/apps/i2psnark/locale/messages_ru.po
@@ -8,16 +8,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-25 21:14+0000\n"
-"PO-Revision-Date: 2010-05-25 21:45+0000\n"
+"POT-Creation-Date: 2010-05-27 14:45+0000\n"
+"PO-Revision-Date: 2010-05-27 16:54+0000\n"
 "Last-Translator: 4get <forget@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: 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"
+"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:87
 #, java-format
@@ -219,7 +218,7 @@ msgid "Refresh page"
 msgstr "Обновить страницу"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:180
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
 msgid "I2PSnark"
 msgstr "I2PSnark"
 
@@ -228,7 +227,7 @@ msgid "Forum"
 msgstr "Форум"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1228
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1243
 msgid "Status"
 msgstr "Статус"
 
@@ -241,7 +240,7 @@ msgid "Show Peers"
 msgstr "показать список пиров"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:222
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1210
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1225
 msgid "Torrent"
 msgstr "Торрент"
 
@@ -291,13 +290,19 @@ msgstr "Всего"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
 #, java-format
-msgid "{0} torrents"
-msgstr "{0} торрентов"
+msgid "1 torrent"
+msgid_plural "{0} torrents"
+msgstr[0] "{0} торрент"
+msgstr[1] "{0} торрента"
+msgstr[2] "{0} торрентов"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:275
 #, java-format
-msgid "{0} connected peers"
-msgstr "{0} подсоединенных пиров"
+msgid "1 connected peer"
+msgid_plural "{0} connected peers"
+msgstr[0] "{0} подсоединенный пир"
+msgstr[1] "{0} подсоединенных пиров"
+msgstr[2] "{0} подсоединенных пиров"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
 #, java-format
@@ -305,13 +310,13 @@ msgid "Torrent file {0} does not exist"
 msgstr "Торрент {0} не существует"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1399
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1428
 #, java-format
 msgid "Torrent already running: {0}"
 msgstr "Торрент уже запущен: {0}"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1401
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1430
 #, java-format
 msgid "Torrent already in the queue: {0}"
 msgstr "Торрент уже в очереди: {0}"
@@ -409,330 +414,350 @@ msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "Соединяемся с I2P и запускаем все торренты."
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:822
 msgid "Unknown"
 msgstr "Неизвестный"
 
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:635
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:639
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:641
 msgid "TrackerErr"
 msgstr "ОшибкаТрекера"
 
 # TODO should replace "uploader limit NN peers" with "global number of upload slots: NN"
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:633
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:635
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:647
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:654
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:660
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:634
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:637
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:648
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:651
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1000
-msgid "peers"
-msgstr "пир."
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:670
+#, java-format
+msgid "1 peer"
+msgid_plural "{0} peers"
+msgstr[0] "{0} пир"
+msgstr[1] "{0} пира"
+msgstr[2] "{0} пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:647
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:650
 msgid "Seeding"
 msgstr "Раздается"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:649
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:653
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1281
 msgid "Complete"
 msgstr "Завершен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:652
 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:661
 msgid "OK"
 msgstr "Загружается"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:658
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:664
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:669
 msgid "Stalled"
 msgstr "Простаивает"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:664
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:672
 msgid "No Peers"
 msgstr "Нет Пиров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:666
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674
 msgid "Stopped"
 msgstr "Остановлен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:681
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:689
 msgid "View files"
 msgstr "Открыть директорию"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:683
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:691
 msgid "Open file"
 msgstr "Открыть файл"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:707
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:919
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:721
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
 msgid "Tracker"
 msgstr "Трекер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:708
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:722
 msgid "Details"
 msgstr "Подробнее"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:742
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:756
 msgid "Stop the torrent"
 msgstr "Остановить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:744
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:758
 msgid "Stop"
 msgstr "Остановить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:750
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
 msgid "Start the torrent"
 msgstr "Запустить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:752
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
 msgid "Start"
 msgstr "Запустить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:757
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:771
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr "Удалить торрент из списка и с диска"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:762
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:776
 #, 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:764
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
 msgid "Remove"
 msgstr "Удалить"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:768
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "Удалить торрент и стереть загруженные файлы"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:773
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
 #, 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:775
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:789
 msgid "Delete"
 msgstr "Стереть"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:832
 msgid "Seed"
 msgstr "Сид"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:836
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:850
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "Uninteresting (У пира нет нужных нам частей торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:838
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:852
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "Choked (Этот пир не позволяет нам запрашивать части торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:852
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "Uninterested (У нас нужных этому пиру частей торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:854
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:868
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "Choking (Мы не позволяем этому пиру запрашивать у нас части торрента)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:881
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:895
 msgid "Add Torrent"
 msgstr "Добавить Торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:883
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:897
 msgid "From URL"
 msgstr "Из URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:888
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:902
 msgid "Add torrent"
 msgstr "Добавить торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:891
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:905
 #, java-format
 msgid "Alternately, you can copy .torrent files to the directory {0}."
 msgstr "Ну или вы можете скопировать .torrent-файлы в директорию {0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:893
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:907
 msgid "Removing a .torrent file will cause the torrent to stop."
 msgstr "Удаление .torrent-файла приведет к остановке торрента."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:910
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:924
 msgid "Create Torrent"
 msgstr "Создать Торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:913
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:927
 msgid "Data to seed"
 msgstr "Файлы для раздачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:917
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:931
 msgid "File or directory to seed (must be within the specified path)"
 msgstr "Файл или директория для раздачи (вводите только название файла или директории, указание абсолютных путей не поддерживается)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:921
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:935
 msgid "Select a tracker"
 msgstr "Выбрать трекер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:934
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948
 msgid "or"
 msgstr "или"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:937
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:951
 msgid "Specify custom tracker announce URL"
 msgstr "Задать URL анонсера вручную"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:940
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:954
 msgid "Create torrent"
 msgstr "Создать торрент"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:972
 msgid "Configuration"
 msgstr "Настройки"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:975
 msgid "Data directory"
 msgstr "Директория для файлов"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:964
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:978
 msgid "Directory to store torrents and data"
 msgstr "Директория, где будут храниться торренты и загружаемые файлы"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:966
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980
 msgid "Edit i2psnark.config and restart to change"
 msgstr "Для изменения отредактируйте файл i2psnark.config и перезагрузите I2PSnark"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:970
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:984
 msgid "Auto start"
 msgstr "Автозапуск"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:974
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
 msgid "If checked, automatically start torrents that are added"
 msgstr "Автоматически запускать торренты после добавления"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:997
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1011
 msgid "Total uploader limit"
 msgstr "Ограничение количества слотов отдачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1004
+# TODO should replace "uploader limit NN peers" with "global number of upload slots: NN"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014
+msgid "peers"
+msgstr "пир."
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
 msgid "Up bandwidth limit"
 msgstr "Ограничение скорости отдачи"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1007
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Half available bandwidth recommended."
 msgstr "Рекомендуется использовать половину от доступной пропускной способности."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1023
 msgid "View or change router bandwidth"
 msgstr "Посмотреть/настроить ограничения скорости в маршрутизаторе I2P"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1013
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1027
 msgid "Use open trackers also"
 msgstr "Дополнительно использовать открытые трекеры"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1017
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1031
 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:1021
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
 msgid "Open tracker announce URLs"
 msgstr "URL открытых трекеров"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1033
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1047
 msgid "Inbound Settings"
 msgstr "Входящие туннели"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1039
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053
 msgid "Outbound Settings"
 msgstr "Исходящие туннели"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1046
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1060
 msgid "I2CP host"
 msgstr "Адрес I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1051
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1065
 msgid "I2CP port"
 msgstr "Порт I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1063
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1077
 msgid "I2CP options"
 msgstr "Параметры I2CP"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1068
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1082
 msgid "Save configuration"
 msgstr "Сохранить настройки"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1075
-msgid "hop"
-msgstr "хоп"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1076
-msgid "tunnel"
-msgstr "туннель"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] "{0} хоп"
+msgstr[1] "{0} хопа"
+msgstr[2] "{0} хопов"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1078
-msgid "hops"
-msgstr "хопа(-ов)"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1093
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] "{0} туннель"
+msgstr[1] "{0} туннеля"
+msgstr[2] "{0} туннелей"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1079
-msgid "tunnels"
-msgstr "туннеля(-ей)"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
+#, java-format
+msgid "1 "
+msgid_plural "{0} "
+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:1237
 msgid "Up to higher level directory"
 msgstr "Перейти в директорию уровнем выше"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1227
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
 msgid "File"
 msgstr "Файл"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1227
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
 msgid "Size"
 msgstr "Размер"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1251
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1265
 msgid "Directory"
 msgstr "Директория"
 
 # This debug error message intentionally left in English
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1257
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
 msgid "Torrent not found?"
 msgstr "Torrent not found?"
 
 # This debug error message intentionally left in English
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1266
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
 msgid "File not found in torrent?"
 msgstr "File not found in torrent?"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1273
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284
 msgid "complete"
 msgstr "скачано"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1274
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1285
 msgid "bytes remaining"
 msgstr "байт осталось"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1352
-msgid "Bytes"
-msgstr "байт"
-
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1379
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1408
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "Получен торрент из: {0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1407
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1436
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "Торрент полученный из {0} некорректен"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1412
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1441
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "Не удалось получить торрент из: {0}"
 
+#~ msgid "{0} torrents"
+#~ msgstr "{0} торрентов"
+#~ msgid "hops"
+#~ msgstr "хопа(-ов)"
+#~ msgid "tunnels"
+#~ msgstr "туннеля(-ей)"
+#~ msgid "Bytes"
+#~ msgstr "байт"
 #~ msgid "Cannot change the I2CP settings while torrents are active"
 #~ msgstr "Невозможно изменить настройки I2CP пока есть активные торренты"
 
diff --git a/apps/i2psnark/locale/messages_zh.po b/apps/i2psnark/locale/messages_zh.po
index 860e93fcff8126664b55bc78874f1cc01280b35d..e5538dd4864c95ae45d778fa389cac2c33eb92ad 100644
--- a/apps/i2psnark/locale/messages_zh.po
+++ b/apps/i2psnark/locale/messages_zh.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P i2psnark\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-05 12:41+0000\n"
-"PO-Revision-Date: 2010-03-05 21:58+0800\n"
+"POT-Creation-Date: 2010-05-29 02:34+0000\n"
+"PO-Revision-Date: 2010-05-29 10:55+0800\n"
 "Last-Translator: walking <walking@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
@@ -18,654 +18,726 @@ msgstr ""
 "X-Poedit-Language: Chinese\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:84
+#: ../java/src/org/klomp/snark/SnarkManager.java:87
 #, java-format
 msgid "Adding torrents in {0} minutes"
 msgstr "{0}分钟内完成添加"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:242
+#: ../java/src/org/klomp/snark/SnarkManager.java:251
 #, java-format
 msgid "Total uploaders limit changed to {0}"
-msgstr ""
+msgstr "总上传种子数限制已更新为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:244
+#: ../java/src/org/klomp/snark/SnarkManager.java:253
 #, java-format
 msgid "Minimum total uploaders limit is {0}"
-msgstr ""
+msgstr "最低上传种子数限制为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:256
+#: ../java/src/org/klomp/snark/SnarkManager.java:265
 #, java-format
 msgid "Up BW limit changed to {0}KBps"
 msgstr "上传带宽限制改为 {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:258
+#: ../java/src/org/klomp/snark/SnarkManager.java:267
 #, java-format
 msgid "Minimum up bandwidth limit is {0}KBps"
 msgstr "最小上传带宽限制为 {0} KBps"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:302
-msgid "Cannot change the I2CP settings while torrents are active"
-msgstr "正在下载/上传,无法更改I2CP设置"
+#: ../java/src/org/klomp/snark/SnarkManager.java:314
+msgid "I2CP and tunnel changes will take effect after stopping all torrents"
+msgstr "I2CP与隧道设置的变化在所有种子停止后才能生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:308
+#: ../java/src/org/klomp/snark/SnarkManager.java:320
 msgid "Disconnecting old I2CP destination"
 msgstr "正在断开旧的I2CP目标"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:312
+#: ../java/src/org/klomp/snark/SnarkManager.java:324
 #, java-format
 msgid "I2CP settings changed to {0}"
 msgstr "I2CP设置改为{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:316
+#: ../java/src/org/klomp/snark/SnarkManager.java:328
 msgid "Unable to connect with the new settings, reverting to the old I2CP settings"
 msgstr "无法通过新设置连接,恢复I2CP的旧设置"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:320
+#: ../java/src/org/klomp/snark/SnarkManager.java:332
 msgid "Unable to reconnect with the old settings!"
 msgstr "旧设置也无法连接!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:322
+#: ../java/src/org/klomp/snark/SnarkManager.java:334
 msgid "Reconnected on the new I2CP destination"
 msgstr "重新连接新I2CP目标"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:333
+#: ../java/src/org/klomp/snark/SnarkManager.java:345
 #, java-format
 msgid "I2CP listener restarted for \"{0}\""
 msgstr "\"{0}\"的I2CP监听端口已启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:344
+#: ../java/src/org/klomp/snark/SnarkManager.java:356
 msgid "Enabled autostart"
 msgstr "启用自动启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:346
+#: ../java/src/org/klomp/snark/SnarkManager.java:358
 msgid "Disabled autostart"
 msgstr "禁用自动启动"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:352
+#: ../java/src/org/klomp/snark/SnarkManager.java:364
 msgid "Enabled open trackers - torrent restart required to take effect."
 msgstr "启用OpenTracker-重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:354
+#: ../java/src/org/klomp/snark/SnarkManager.java:366
 msgid "Disabled open trackers - torrent restart required to take effect."
 msgstr "禁用OpenTracker - 重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:361
+#: ../java/src/org/klomp/snark/SnarkManager.java:373
 msgid "Open Tracker list changed - torrent restart required to take effect."
 msgstr "OpenTracker列表已改变 - 重新启动种子后生效"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:368
+#: ../java/src/org/klomp/snark/SnarkManager.java:380
 msgid "Configuration unchanged."
 msgstr "设置未改变"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:378
+#: ../java/src/org/klomp/snark/SnarkManager.java:390
 #, java-format
 msgid "Unable to save the config to {0}"
 msgstr "无法保存设置到{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:396
+#: ../java/src/org/klomp/snark/SnarkManager.java:408
 msgid "Connecting to I2P"
 msgstr "正在连接到I2P"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:399
+#: ../java/src/org/klomp/snark/SnarkManager.java:411
 msgid "Error connecting to I2P - check your I2CP settings!"
 msgstr "连接I2P时发生错误 - 请检查I2CP设置!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:408
+#: ../java/src/org/klomp/snark/SnarkManager.java:420
 #, java-format
 msgid "Error: Could not add the torrent {0}"
 msgstr "错误:无法添加种子{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:430
+#: ../java/src/org/klomp/snark/SnarkManager.java:442
 #, java-format
 msgid "Cannot open \"{0}\""
 msgstr "无法打开 \"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:443
+#: ../java/src/org/klomp/snark/SnarkManager.java:455
 #, java-format
 msgid "Warning - Ignoring non-i2p tracker in \"{0}\", will announce to i2p open trackers only"
 msgstr "警告 - 忽略\"{0}\"文件中I2P网络外的Tracker服务器,文件将仅发布至 I2P 内的 Open Tracker 服务器。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:445
+#: ../java/src/org/klomp/snark/SnarkManager.java:457
 #, 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网络外的Tracker服务器,OpenTracker已禁用,启动此种子前您必须启用OpenTracker。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:464
+#: ../java/src/org/klomp/snark/SnarkManager.java:476
 #, java-format
 msgid "Torrent in \"{0}\" is invalid"
 msgstr "无效种子 \"{0}\" "
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:479
+#: ../java/src/org/klomp/snark/SnarkManager.java:491
 #, java-format
 msgid "Torrent added and started: \"{0}\""
 msgstr "已添加并启动种子:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:481
+#: ../java/src/org/klomp/snark/SnarkManager.java:493
 #, java-format
 msgid "Torrent added: \"{0}\""
 msgstr "已添加种子:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:578
+#: ../java/src/org/klomp/snark/SnarkManager.java:590
 #, java-format
 msgid "Too many files in \"{0}\" ({1}), deleting it!"
 msgstr "\"{0}\" ({1}) 含有太多文件,删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:580
+#: ../java/src/org/klomp/snark/SnarkManager.java:592
 #, java-format
 msgid "Torrent file \"{0}\" cannot end in \".torrent\", deleting it!"
 msgstr "种子文件 \"{0}\" 不以 \".torrent\"结尾,正在删除!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:582
+#: ../java/src/org/klomp/snark/SnarkManager.java:594
 #, java-format
 msgid "No pieces in \"{0}\",  deleting it!"
 msgstr "\"{0}\" 中没有数据片,删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:584
+#: ../java/src/org/klomp/snark/SnarkManager.java:596
 #, java-format
 msgid "Too many pieces in \"{0}\", limit is {1}, deleting it!"
 msgstr "\"{0}\" 中文件分片太多,限额为{1},删除之!"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:586
+#: ../java/src/org/klomp/snark/SnarkManager.java:598
 #, java-format
 msgid "Pieces are too large in \"{0}\" ({1}B), deleting it."
 msgstr "\"{0}\" ({1}B) 中文件分片过大,删除之。"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:587
+#: ../java/src/org/klomp/snark/SnarkManager.java:599
 #, java-format
 msgid "Limit is {0}B"
 msgstr "限额为 {0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:595
+#: ../java/src/org/klomp/snark/SnarkManager.java:607
 #, 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:611
+#: ../java/src/org/klomp/snark/SnarkManager.java:623
 #, java-format
 msgid "Error: Could not remove the torrent {0}"
 msgstr "错误:无法删除种子{0}"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:632
+#: ../java/src/org/klomp/snark/SnarkManager.java:644
 #, java-format
 msgid "Torrent stopped: \"{0}\""
 msgstr "种子已停止:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:647
+#: ../java/src/org/klomp/snark/SnarkManager.java:659
 #, java-format
 msgid "Torrent removed: \"{0}\""
 msgstr "种子已删除:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:680
+#: ../java/src/org/klomp/snark/SnarkManager.java:692
 #, java-format
 msgid "Download finished: \"{0}\""
 msgstr "下载已完成:\"{0}\""
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:680
+#: ../java/src/org/klomp/snark/SnarkManager.java:692
 #, java-format
 msgid "size: {0}B"
 msgstr "大小:{0}B"
 
-#: ../java/src/org/klomp/snark/SnarkManager.java:708
+#: ../java/src/org/klomp/snark/SnarkManager.java:720
 msgid "Unable to connect to I2P!"
 msgstr "无法连接至I2P!"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:86
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:169
 msgid "I2PSnark - Anonymous BitTorrent Client"
 msgstr "I2PSnark - 匿名BitTorrent客户端"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:95
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:178
 msgid "Refresh page"
 msgstr "刷新页面"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:97
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:669
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:180
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:808
 msgid "I2PSnark"
 msgstr ""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:99
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:182
 msgid "Forum"
 msgstr "论坛"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:125
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:208
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1243
 msgid "Status"
 msgstr "状态"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:131
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:214
 msgid "Hide Peers"
 msgstr "隐藏用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:134
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:217
 msgid "Show Peers"
 msgstr "显示用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:139
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:222
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1225
 msgid "Torrent"
 msgstr "种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:141
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:224
 msgid "ETA"
-msgstr ""
+msgstr "预计剩余时间"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:143
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:226
 msgid "Downloaded"
 msgstr "已下载"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:145
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:228
 msgid "Uploaded"
 msgstr "已上传"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:147
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:230
 msgid "Down Rate"
 msgstr "下载速度"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:149
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:232
 msgid "Up Rate"
 msgstr "上传速度"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:156
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:239
 msgid "Stop all torrents and the I2P tunnel"
 msgstr "停止全部种子及I2P隧道"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:158
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:241
 msgid "Stop All"
 msgstr "停止全部"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:163
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
 msgid "Start all torrents and the I2P tunnel"
 msgstr "启动全部种子及I2P隧道"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:165
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:248
 msgid "Start All"
 msgstr "启动全部"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:182
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:265
 msgid "No torrents loaded."
 msgstr "未载入任何种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:270
 msgid "Totals"
 msgstr "总计"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:189
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:272
 #, java-format
-msgid "{0} torrents"
-msgstr "{0} 个种子"
+msgid "1 torrent"
+msgid_plural "{0} torrents"
+msgstr[0] "{0}个种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:192
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:275
 #, java-format
-msgid "{0} connected peers"
-msgstr "{0} 已连接用户"
+msgid "1 connected peer"
+msgid_plural "{0} connected peers"
+msgstr[0] "{0}个已连接用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:227
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:310
 #, java-format
 msgid "Torrent file {0} does not exist"
 msgstr "种子文件{0}不存在"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:237
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1003
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:320
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1428
 #, java-format
 msgid "Torrent already running: {0}"
 msgstr "种子已启动:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:239
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1005
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:322
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1430
 #, java-format
 msgid "Torrent already in the queue: {0}"
 msgstr "种子排队中:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:243
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
 #, java-format
 msgid "Copying torrent to {0}"
 msgstr "正在复制种子到{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:329
 #, java-format
 msgid "Unable to copy the torrent to {0}"
 msgstr "无法复制种子文件到{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:329
 #, java-format
 msgid "from {0}"
 msgstr "来源{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:337
 #, java-format
 msgid "Fetching {0}"
 msgstr "正在获取{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:258
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:341
 msgid "Invalid URL - must start with http://"
 msgstr "无效链接 - 必须以http:// 开头"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:288
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:371
 #, java-format
 msgid "Starting up torrent {0}"
 msgstr "正在启动种子{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:308
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:326
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:391
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:409
 #, java-format
 msgid "Torrent file deleted: {0}"
 msgstr "种子文件已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:332
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:342
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:415
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:425
 #, java-format
 msgid "Data file deleted: {0}"
 msgstr "数据文件已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:334
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:344
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:417
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:427
 #, java-format
 msgid "Data file could not be deleted: {0}"
 msgstr "无法删除数据文件:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:353
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:436
 #, java-format
 msgid "Data dir deleted: {0}"
 msgstr "数据文件夹已删除:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:384
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:467
 msgid "Error creating torrent - you must select a tracker"
 msgstr "创建种子时发生错误 - 您必须选择一个Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:399
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:482
 #, java-format
 msgid "Torrent created for \"{0}\""
 msgstr "种子创建成功\"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:402
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:485
 #, java-format
 msgid "Many I2P trackers require you to register new torrents before seeding - please do so before starting \"{0}\""
 msgstr "多数I2PTracker需要用户在做种前注册新种子 - 请在启动 \"{0}\"前到所使用的Tracker进行注册。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:404
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:487
 #, java-format
 msgid "Error creating a torrent for \"{0}\""
 msgstr "创建种子时发生错误 \"{0}\""
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:407
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:490
 #, java-format
 msgid "Cannot create a torrent for the nonexistent data: {0}"
 msgstr "无法为不存在的数据文件创建种子:{0}"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:410
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:493
 msgid "Error creating torrent - you must enter a file or directory"
 msgstr "创建种子时发生错误 - 必须指定文件或文件夹"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:413
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:496
 msgid "Stopping all torrents and closing the I2P tunnel."
 msgstr "正在停用所有种子并关闭I2P隧道。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:422
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:505
 msgid "I2P tunnel closed."
 msgstr "I2P隧道已关闭"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:425
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508
 msgid "Opening the I2P tunnel and starting all torrents."
 msgstr "正在打开I2P隧道并启动所有种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:505
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:683
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:628
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:822
 msgid "Unknown"
 msgstr "未知"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:508
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:516
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:631
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:636
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:641
 msgid "TrackerErr"
 msgstr "Tracker错误"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:510
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:512
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:522
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:531
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:537
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:539
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:875
-msgid "peers"
-msgstr "用户"
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:634
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:637
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:648
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:651
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:659
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:662
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:667
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:670
+#, java-format
+msgid "1 peer"
+msgid_plural "{0} peers"
+msgstr[0] "{0}个用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:520
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:524
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:645
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:650
 msgid "Seeding"
 msgstr "正做种"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:526
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:653
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1281
 msgid "Complete"
 msgstr "完成"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:529
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:533
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:656
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:661
 msgid "OK"
 msgstr "确定"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:535
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:539
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:664
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:669
 msgid "Stalled"
 msgstr "等待"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:541
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:672
 msgid "No Peers"
 msgstr "没有用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:543
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:674
 msgid "Stopped"
 msgstr "已停用"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:556
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:689
 msgid "View files"
 msgstr "浏览文件"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:558
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:691
 msgid "Open file"
 msgstr "打开文件"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:582
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:794
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:721
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:933
 msgid "Tracker"
 msgstr "Tracker服务器"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:583
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:722
 msgid "Details"
 msgstr "详情"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:617
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:756
 msgid "Stop the torrent"
 msgstr "停止种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:619
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:758
 msgid "Stop"
 msgstr "停止"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:625
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:764
 msgid "Start the torrent"
 msgstr "启动种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:627
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
 msgid "Start"
 msgstr "启动"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:632
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:771
 msgid "Remove the torrent from the active list, deleting the .torrent file"
 msgstr "取消下载任务并删除对应种子文件。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:637
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:776
 #, 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:639
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:778
 msgid "Remove"
 msgstr "移除"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:643
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:782
 msgid "Delete the .torrent file and the associated data file(s)"
 msgstr "删除种子及所下载的文件"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:648
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787
 #, 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:650
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:789
 msgid "Delete"
 msgstr "删除"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:693
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:832
 msgid "Seed"
 msgstr "种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:711
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:850
 msgid "Uninteresting (The peer has no pieces we need)"
 msgstr "无需要部分"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:713
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:852
 msgid "Choked (The peer is not allowing us to request pieces)"
 msgstr "拒绝请求"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:727
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:866
 msgid "Uninterested (We have no pieces the peer needs)"
 msgstr "无需要部分"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:729
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:868
 msgid "Choking (We are not allowing the peer to request pieces)"
 msgstr "拒绝请求"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:756
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:895
 msgid "Add Torrent"
 msgstr "添加种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:758
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:897
 msgid "From URL"
 msgstr "从URL"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:763
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:902
 msgid "Add torrent"
 msgstr "添加种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:766
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:905
 #, java-format
 msgid "Alternately, you can copy .torrent files to the directory {0}."
 msgstr "或者您可以将.torrent文件复制到以下目录{0}."
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:768
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:907
 msgid "Removing a .torrent file will cause the torrent to stop."
 msgstr "删除种子文件将导致中止该下载任务。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:924
 msgid "Create Torrent"
 msgstr "创建种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:788
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:927
 msgid "Data to seed"
 msgstr "做种数据"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:792
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:931
 msgid "File or directory to seed (must be within the specified path)"
 msgstr "做种文件或文件夹(必须下面为Snark指定的文件夹中)"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:796
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:935
 msgid "Select a tracker"
 msgstr "选择一个Tracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:809
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:948
 msgid "or"
 msgstr "或"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:812
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:951
 msgid "Specify custom tracker announce URL"
 msgstr "指定Open Tracker发布链接"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:815
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:954
 msgid "Create torrent"
 msgstr "创建种子"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:833
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:972
 msgid "Configuration"
 msgstr "设置"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:836
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:975
 msgid "Data directory"
 msgstr "数据文件夹"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:839
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:978
 msgid "Directory to store torrents and data"
 msgstr "种子及被做种文件的保存位置。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:841
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:980
 msgid "Edit i2psnark.config and restart to change"
 msgstr "编辑 i2psnark.config 并重启Snark后生效"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:845
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:984
 msgid "Auto start"
 msgstr "自动启动"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:849
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:988
 msgid "If checked, automatically start torrents that are added"
 msgstr "选中后Snark将自动启动已添加的所有种子。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:872
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1011
 msgid "Total uploader limit"
-msgstr ""
+msgstr "限制总上传种子数为"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1014
+msgid "peers"
+msgstr "用户"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:879
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1018
 msgid "Up bandwidth limit"
 msgstr "上传带宽限制"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:882
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1021
 msgid "Half available bandwidth recommended."
 msgstr "推荐设置为可用带宽的一半。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:884
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1023
 msgid "View or change router bandwidth"
 msgstr "浏览或修改路由器带宽"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:888
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1027
 msgid "Use open trackers also"
 msgstr "同时使用OpenTracker"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:892
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1031
 msgid "If checked, announce torrents to open trackers as well as the tracker listed in the torrent file"
 msgstr "选择后在OpenTracker及种子文件中的Tracker上同时发布。"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:896
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1035
 msgid "Open tracker announce URLs"
 msgstr "Open Tracker发布链接"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:907
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1047
+msgid "Inbound Settings"
+msgstr "入站设置"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1053
+msgid "Outbound Settings"
+msgstr "出站设置"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1060
 msgid "I2CP host"
 msgstr "I2CP主机"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:912
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1065
 msgid "I2CP port"
 msgstr "I2CP端口"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:925
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1077
 msgid "I2CP options"
 msgstr "I2CP选项"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:930
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1082
 msgid "Save configuration"
 msgstr "保存设置"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:983
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1092
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] "{0}è·³"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1093
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] "{0}隧道"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1107
+#, java-format
+msgid "1 "
+msgid_plural "{0} "
+msgstr[0] ""
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1237
+msgid "Up to higher level directory"
+msgstr "上一层文件夹"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
+msgid "File"
+msgstr "文件"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1242
+msgid "Size"
+msgstr "大小"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1265
+msgid "Directory"
+msgstr "文件夹"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1270
+msgid "Torrent not found?"
+msgstr "种子未找到"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278
+msgid "File not found in torrent?"
+msgstr "种子中没有发现文件?"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1284
+msgid "complete"
+msgstr "完成"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1285
+msgid "bytes remaining"
+msgstr "剩余字节数"
+
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1408
 #, java-format
 msgid "Torrent fetched from {0}"
 msgstr "从{0}获取种子成功"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1011
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1436
 #, java-format
 msgid "Torrent at {0} was not valid"
 msgstr "{0}的种子中有错误"
 
-#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1016
+#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1441
 #, java-format
 msgid "Torrent was not retrieved from {0}"
 msgstr "从{0}获得种子失败"
 
+#~ msgid "Cannot change the I2CP settings while torrents are active"
+#~ msgstr "正在下载/上传,无法更改I2CP设置"
+#~ msgid "{0} torrents"
+#~ msgstr "{0} 个种子"
 #~ msgid "Non-i2p tracker in \"{0}\", deleting it from our list of trackers!"
 #~ msgstr ""
 #~ "【匿名性警告】\"{0}\" 中含有非I2P Tracker,程序将从Tracker列表中将其删除。"
diff --git a/apps/i2ptunnel/java/bundle-messages.sh b/apps/i2ptunnel/java/bundle-messages.sh
index 8e9375d209f0b1241c65a7c3c425bc4d738ba032..236b0ad0114d1ca9cfcf7903e4f31ed08e8dd4b7 100755
--- a/apps/i2ptunnel/java/bundle-messages.sh
+++ b/apps/i2ptunnel/java/bundle-messages.sh
@@ -51,7 +51,7 @@ do
 		# To start a new translation, copy the header from an old translation to the new .po file,
 		# then ant distclean updater.
 		find $JPATHS -name *.java > $TMPFILE
-		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 \
+		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\
 	                 --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \
 		         -o ${i}t
 		if [ $? -ne 0 ]
diff --git a/apps/i2ptunnel/locale/messages_zh.po b/apps/i2ptunnel/locale/messages_zh.po
index 401c4968216dbec05abef7d80e89483f6a51baa1..833b62fe94d6cf6bf83889e609ac4d14c71818c3 100644
--- a/apps/i2ptunnel/locale/messages_zh.po
+++ b/apps/i2ptunnel/locale/messages_zh.po
@@ -1,698 +1,677 @@
-# I2P
-# Copyright (C) 2009 The I2P Project
-# This file is distributed under the same license as the i2ptunnel package.
-# To contribute translations, see http://www.i2p2.de/newdevelopers
-# foo <foo@bar>, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: I2P i2ptunnel\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-05 12:41+0000\n"
-"PO-Revision-Date: 2010-01-29 15:31+0800\n"
-"Last-Translator: walking <zhazhenzhong@gmail.com>\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: Chinese\n"
-
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:483
-#, fuzzy, 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 ""
-"要访问您本地【地址簿】中规定的主机(相当与IP),请点击<a href=\"{0}\">这里</"
-"a>。要访问【地址助手】返回的主机请点<a href=\"{1}\">这里</a>(主机的域名会被临"
-"时强制替换)。"
-
-#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:886
-msgid ""
-"Click a link below to look for an address helper by using a \"jump\" service:"
-msgstr ""
-"请点击下面的链接通过【跳转(Jump)】服务提供的【地址助手】链接跳转至域名对应的"
-"主机:"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:362
-msgid "New Tunnel"
-msgstr "新建隧道"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:382
-msgid "Standard client"
-msgstr "标准客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:383
-msgid "HTTP client"
-msgstr "HTTP 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:384
-msgid "IRC client"
-msgstr "IRC 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:385
-msgid "Standard server"
-msgstr "标准服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:386
-msgid "HTTP server"
-msgstr "HTTP 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:387
-msgid "SOCKS 4/4a/5 proxy"
-msgstr "SOCKS4/4A/5 代理"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:388
-msgid "CONNECT/SSL/HTTPS proxy"
-msgstr "CONNECT/SSL/HTTPS 代理"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389
-msgid "IRC server"
-msgstr "IRC 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:390
-msgid "Streamr client"
-msgstr "Streamr 客户端"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:391
-msgid "Streamr server"
-msgstr "Streamr 服务器"
-
-#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:392
-msgid "HTTP bidir"
-msgstr "双向http"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
-msgid "I2P Tunnel Manager - Edit Client Tunnel"
-msgstr "I2P 隧道管理器 - 编辑客户端隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
-msgid "Edit proxy settings"
-msgstr "编辑代理设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
-msgid "New proxy settings"
-msgstr "新建代理设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:112
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:112
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:107
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:242
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
-msgid "Name"
-msgstr "名称"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:116
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:116
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:246
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:270
-msgid "Type"
-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:357
-msgid "Description"
-msgstr "描述"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:126
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:136
-msgid "Target"
-msgstr "目标"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:130
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:132
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
-msgid "Access Point"
-msgstr "接入点"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:179
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:172
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:228
-msgid "required"
-msgstr "必要"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:150
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:183
-msgid "Reachable by"
-msgstr "访问地址"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:162
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:195
-msgid "Locally (127.0.0.1)"
-msgstr "本地(127.0.0.1)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:166
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
-msgid "Everyone (0.0.0.0)"
-msgstr "任何人(0.0.0.0)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:170
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
-msgid "LAN Hosts (Please specify your LAN address)"
-msgstr "局域网(请指定LAN地址)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:186
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:205
-msgid "Other"
-msgstr "其他"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195
-msgid "Outproxies"
-msgstr "出口代理"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
-msgid "Tunnel Destination"
-msgstr "隧道目标"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:214
-msgid "name or destination"
-msgstr "名称或描述"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:220
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
-msgid "Profile"
-msgstr "连接类型"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:244
-msgid "interactive connection"
-msgstr "速度连接"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:231
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:248
-msgid "bulk connection (downloads/websites/BT)"
-msgstr "效率连接(下载/WEB/BT)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:233
-msgid "Delay Connect"
-msgstr "连接延迟断开"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:237
-msgid "for request/response connections"
-msgstr "单请求/响应连接"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
-msgid "Shared Client"
-msgstr "共享客户端"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
-msgid ""
-"(Share tunnels with other clients and irc/httpclients? Change requires "
-"restart of client proxy)"
-msgstr "(与其他客户端例如IRC/HTTP共享隧道?修改需要重新启动)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
-msgid "Auto Start"
-msgstr "自动启动"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:251
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:128
-msgid "(Check the Box for 'YES')"
-msgstr "(选中表示\"是\")"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:253
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
-msgid "Advanced networking options"
-msgstr "高级网络设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:255
-msgid ""
-"(NOTE: when this client proxy is configured to share tunnels, then these "
-"options are for all the shared proxy clients!)"
-msgstr ""
-"(注意:此客户代理被设置使用共享隧道时,这些设置将影响所有使用共享隧道的客户"
-"端!)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:257
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:268
-msgid "Tunnel Options"
-msgstr "隧道选项"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:259
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:270
-msgid "Length"
-msgstr "长度"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:266
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:277
-msgid "0 hop tunnel (low anonymity, low latency)"
-msgstr "直连(匿名性无,延迟低)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:270
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
-msgid "1 hop tunnel (medium anonymity, medium latency)"
-msgstr "隧道跳点x1(匿名性中,延迟中)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:274
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:285
-msgid "2 hop tunnel (high anonymity, high latency)"
-msgstr "隧道跳点x2(匿名性高,延迟高)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:278
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:289
-msgid "3 hop tunnel (very high anonymity, poor performance)"
-msgstr "隧道跳点x3(匿名性优,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:287
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:298
-msgid "hop tunnel (very poor performance)"
-msgstr "跳点隧道(严重影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:292
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
-msgid "Variance"
-msgstr "随机变化"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:299
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:310
-msgid "0 hop variance (no randomisation, consistant performance)"
-msgstr "隧道长度恒定(随机性无,性能稳定)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:303
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:314
-msgid ""
-"+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
-msgstr "隧道长度+ 0-1(随机性中,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:307
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:318
-msgid ""
-"+ 0-2 hop variance (high additive randomisation, subtractive performance)"
-msgstr "隧道长度+ 0-2(随机性高,影响性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:311
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:322
-msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
-msgstr "隧道长度+/- 0-1(随机性标准,正常性能)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:315
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:326
-msgid "+/- 0-2 hop variance (not recommended)"
-msgstr "隧道程度+/- 0-2(不推荐)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:327
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:338
-msgid "hop variance"
-msgstr "节点数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:332
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:343
-msgid "Count"
-msgstr "计数"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:339
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:350
-msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
-msgstr "出/入站隧道x1(带宽低,低可靠性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:343
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:354
-msgid ""
-"2 inbound, 2 outbound tunnels (standard bandwidth usage, standard "
-"reliability)"
-msgstr "出/入站隧道x2(带宽标准,标准稳定性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:347
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:358
-msgid ""
-"3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
-msgstr "出/入站隧道x3(带宽高,高稳定性)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:356
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:367
-msgid "tunnels"
-msgstr "隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:361
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:372
-msgid "Backup Count"
-msgstr "备用数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:368
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:379
-msgid "0 backup tunnels (0 redundancy, no added resource usage)"
-msgstr "无备用隧道(无冗余,不增加资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:383
-msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
-msgstr "备用隧道对x1 (低冗余,低资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:387
-msgid ""
-"2 backup tunnels each direction (medium redundancy, medium resource usage)"
-msgstr "备用隧道对x2 (中冗余,中资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:380
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
-msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
-msgstr "备用隧道对x3 (高冗余,高资源占用)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:389
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:400
-msgid "backup tunnels"
-msgstr "备用隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405
-msgid "I2CP Options"
-msgstr "I2CP选项"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:146
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:407
-msgid "Host"
-msgstr "主机"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:400
-#: ../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/index_jsp.java:244
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
-msgid "Port"
-msgstr "端口"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:406
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:445
-msgid "Reduce tunnel quantity when idle"
-msgstr "空闲时缩减隧道数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:408
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:422
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:442
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:452
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:417
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:435
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:447
-msgid "Enable"
-msgstr "启用"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:412
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:451
-msgid "Reduced tunnel count"
-msgstr "削减后的隧道数量"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:436
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:455
-msgid "Idle minutes"
-msgstr "空闲时间(分钟)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
-msgid "Close tunnels when idle"
-msgstr "空闲时关闭隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
-msgid "New Keys on Reopen"
-msgstr "重新打开隧道时使用新密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
-msgid "Disable"
-msgstr "禁用"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
-msgid "Delay tunnel open until required"
-msgstr "仅在请求时打开"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
-msgid "Persistent private key"
-msgstr "永久私有密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
-msgid "File"
-msgstr "文件"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:252
-msgid "Local destination"
-msgstr "本地目标"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
-msgid "(if known)"
-msgstr "(如果已知)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:468
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:491
-msgid "Custom options"
-msgstr "自定义选项"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
-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:474
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:497
-msgid "Save"
-msgstr "保存"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:501
-msgid "Delete"
-msgstr "删除"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:503
-msgid "Cancel"
-msgstr "取消"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
-msgid "I2P Tunnel Manager - Edit Server Tunnel"
-msgstr "I2P隧道管理器 - 编辑服务器隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
-msgid "Edit server settings"
-msgstr "服务器隧道设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
-msgid "New server settings"
-msgstr "新建服务器设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:214
-msgid "Website name"
-msgstr "网站名称"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:218
-msgid "(leave blank for outproxies)"
-msgstr "(出口代理这里请置空)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:223
-msgid "Private key file"
-msgstr "私钥文件"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
-msgid "Add to local addressbook"
-msgstr "添加至本地地址簿"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:415
-msgid "Encrypt Leaseset"
-msgstr "加密赁集"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:421
-msgid "Encryption Key"
-msgstr "加密密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:425
-msgid "Generate New Key"
-msgstr "生成新密钥"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
-msgid "Generate"
-msgstr "生成"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:489
-msgid "(Tunnel must be stopped first)"
-msgstr "(必须先停止隧道)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
-msgid "Restricted Access List"
-msgstr "限制访问列表"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:433
-msgid "Unimplemented"
-msgstr "尚未实现"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:439
-msgid "Access List"
-msgstr "访问列表"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
-msgid "(Restrict to these clients only)"
-msgstr "(仅允许这些客户访问)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
-msgid "New Certificate type"
-msgstr "新建证书类型"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:461
-msgid "None"
-msgstr "æ— "
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:465
-msgid "Hashcash (effort)"
-msgstr "Hashcash (强度)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:471
-msgid "Hashcash Calc Time"
-msgstr "Hashcash 计算时间"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:473
-msgid "Estimate"
-msgstr "ä¼°ç®—"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:475
-msgid "Hidden"
-msgstr "隐藏"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:479
-msgid "Signed (signed by)"
-msgstr "签名(签名者)"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
-msgid "Modify Certificate"
-msgstr "修改证书"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:487
-msgid "Modify"
-msgstr "修改"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:71
-msgid "I2P Tunnel Manager - List"
-msgstr "I2P隧道管理器 - 列表"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
-msgid "Status Messages"
-msgstr "状态信息"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:87
-msgid "Refresh"
-msgstr "刷新"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:91
-msgid "Stop All"
-msgstr "全部停止"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
-msgid "Start All"
-msgstr "全部启动"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
-msgid "Restart All"
-msgstr "全部重启"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103
-msgid "Reload Config"
-msgstr "重新载入设置"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
-msgid "I2P Server Tunnels"
-msgstr "I2P服务端隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:130
-msgid "Points at"
-msgstr "指向"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:111
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:153
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:157
-msgid "Preview"
-msgstr "预览"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:177
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:250
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:278
-msgid "Status"
-msgstr "状态"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
-msgid "Base32 Address"
-msgstr "Base32地址"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
-msgid "No Preview"
-msgstr "无预览"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:184
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:285
-msgid "Starting..."
-msgstr "正在启动..."
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:191
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:205
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:292
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:306
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:320
-msgid "Stop"
-msgstr "停止"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:198
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:313
-msgid "Running"
-msgstr "运行中"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:212
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:327
-msgid "Stopped"
-msgstr "已停止"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:219
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:334
-msgid "Start"
-msgstr "启动"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:234
-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:367
-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:369
-msgid "Create"
-msgstr "创建"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:240
-msgid "I2P Client Tunnels"
-msgstr "I2P客户端隧道"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:248
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:274
-msgid "Interface"
-msgstr "网络接口"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:299
-msgid "Standby"
-msgstr "等待"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:345
-msgid "Outproxy"
-msgstr "出口代理"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:349
-msgid "Destination"
-msgstr "目标"
-
-#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:365
-msgid "New client tunnel"
-msgstr "新建客户隧道"
+# I2P
+# Copyright (C) 2009 The I2P Project
+# This file is distributed under the same license as the i2ptunnel package.
+# To contribute translations, see http://www.i2p2.de/newdevelopers
+# foo <foo@bar>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: I2P i2ptunnel\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-05-29 02:35+0000\n"
+"PO-Revision-Date: 2010-05-29 10:57+0800\n"
+"Last-Translator: walking <walking@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: Chinese\n"
+
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:493
+#, 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 "域名冲突:要访问您本地【地址簿】中设置的目标主机(相当与IP),请点击<a href=\"{0}\">这里</a>。要访问【地址助手】返回的目标主机请点<a href=\"{1}\">这里</a>。"
+
+#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:904
+msgid "Click a link below to look for an address helper by using a \"jump\" service:"
+msgstr "请点击下面的链接通过【跳转(Jump)】服务提供的【地址助手】链接跳转至域名对应的主机:"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:369
+msgid "New Tunnel"
+msgstr "新建隧道"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:389
+msgid "Standard client"
+msgstr "标准客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:390
+msgid "HTTP client"
+msgstr "HTTP 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:391
+msgid "IRC client"
+msgstr "IRC 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:392
+msgid "Standard server"
+msgstr "标准服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:393
+msgid "HTTP server"
+msgstr "HTTP 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:394
+msgid "SOCKS 4/4a/5 proxy"
+msgstr "SOCKS4/4A/5 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:395
+msgid "SOCKS IRC proxy"
+msgstr "SOCKS IRC 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:396
+msgid "CONNECT/SSL/HTTPS proxy"
+msgstr "CONNECT/SSL/HTTPS 代理"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:397
+msgid "IRC server"
+msgstr "IRC 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:398
+msgid "Streamr client"
+msgstr "Streamr 客户端"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:399
+msgid "Streamr server"
+msgstr "Streamr 服务器"
+
+#: ../java/src/net/i2p/i2ptunnel/web/IndexBean.java:400
+msgid "HTTP bidir"
+msgstr "双向http"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Client Tunnel"
+msgstr "I2P 隧道管理器 - 编辑客户端隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:93
+msgid "Edit proxy settings"
+msgstr "编辑代理设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:101
+msgid "New proxy settings"
+msgstr "新建代理设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:112
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:112
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:107
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:121
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:242
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:257
+msgid "Name"
+msgstr "名称"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:116
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:116
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:246
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:270
+msgid "Type"
+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
+msgid "Description"
+msgstr "描述"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:126
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:136
+msgid "Target"
+msgstr "目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:130
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:132
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:167
+msgid "Access Point"
+msgstr "接入点"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:137
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:179
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:207
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:157
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:172
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:228
+msgid "required"
+msgstr "必要"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:150
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:142
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:183
+msgid "Reachable by"
+msgstr "访问地址"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:162
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:195
+msgid "Locally (127.0.0.1)"
+msgstr "本地(127.0.0.1)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:166
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:199
+msgid "Everyone (0.0.0.0)"
+msgstr "任何人(0.0.0.0)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:170
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:203
+msgid "LAN Hosts (Please specify your LAN address)"
+msgstr "局域网(请指定LAN地址)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:186
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:205
+msgid "Other"
+msgstr "其他"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:195
+msgid "Outproxies"
+msgstr "出口代理"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:202
+msgid "Tunnel Destination"
+msgstr "隧道目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:214
+msgid "name or destination"
+msgstr "名称或描述"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:220
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:237
+msgid "Profile"
+msgstr "连接类型"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:227
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:244
+msgid "interactive connection"
+msgstr "速度连接"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:231
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:248
+msgid "bulk connection (downloads/websites/BT)"
+msgstr "效率连接(下载/WEB/BT)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:233
+msgid "Delay Connect"
+msgstr "连接延迟断开"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:237
+msgid "for request/response connections"
+msgstr "单请求/响应连接"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:239
+msgid "Shared Client"
+msgstr "共享客户端"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:243
+msgid "(Share tunnels with other clients and irc/httpclients? Change requires restart of client proxy)"
+msgstr "(与其他客户端例如IRC/HTTP共享隧道?修改需要重新启动)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:247
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:124
+msgid "Auto Start"
+msgstr "自动启动"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:251
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:128
+msgid "(Check the Box for 'YES')"
+msgstr "(选中表示\"是\")"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:253
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:266
+msgid "Advanced networking options"
+msgstr "高级网络设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:255
+msgid "(NOTE: when this client proxy is configured to share tunnels, then these options are for all the shared proxy clients!)"
+msgstr "(注意:此客户代理被设置使用共享隧道时,这些设置将影响所有使用共享隧道的客户端!)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:257
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:268
+msgid "Tunnel Options"
+msgstr "隧道选项"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:259
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:270
+msgid "Length"
+msgstr "长度"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:266
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:277
+msgid "0 hop tunnel (low anonymity, low latency)"
+msgstr "直连(匿名性无,延迟低)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:270
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:281
+msgid "1 hop tunnel (medium anonymity, medium latency)"
+msgstr "隧道跳点x1(匿名性中,延迟中)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:274
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:285
+msgid "2 hop tunnel (high anonymity, high latency)"
+msgstr "隧道跳点x2(匿名性高,延迟高)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:278
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:289
+msgid "3 hop tunnel (very high anonymity, poor performance)"
+msgstr "隧道跳点x3(匿名性优,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:287
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:298
+msgid "hop tunnel (very poor performance)"
+msgstr "跳点隧道(严重影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:303
+msgid "Variance"
+msgstr "随机变化"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:299
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:310
+msgid "0 hop variance (no randomisation, consistant performance)"
+msgstr "隧道长度恒定(随机性无,性能稳定)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:303
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:314
+msgid "+ 0-1 hop variance (medium additive randomisation, subtractive performance)"
+msgstr "隧道长度+ 0-1(随机性中,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:307
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:318
+msgid "+ 0-2 hop variance (high additive randomisation, subtractive performance)"
+msgstr "隧道长度+ 0-2(随机性高,影响性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:311
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:322
+msgid "+/- 0-1 hop variance (standard randomisation, standard performance)"
+msgstr "隧道长度+/- 0-1(随机性标准,正常性能)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:315
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:326
+msgid "+/- 0-2 hop variance (not recommended)"
+msgstr "隧道程度+/- 0-2(不推荐)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:327
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:338
+msgid "hop variance"
+msgstr "节点数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:343
+msgid "Count"
+msgstr "计数"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:339
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:350
+msgid "1 inbound, 1 outbound tunnel  (low bandwidth usage, less reliability)"
+msgstr "出/入站隧道x1(带宽低,低可靠性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:343
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:354
+msgid "2 inbound, 2 outbound tunnels (standard bandwidth usage, standard reliability)"
+msgstr "出/入站隧道x2(带宽标准,标准稳定性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:347
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:358
+msgid "3 inbound, 3 outbound tunnels (higher bandwidth usage, higher reliability)"
+msgstr "出/入站隧道x3(带宽高,高稳定性)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:356
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:367
+msgid "tunnels"
+msgstr "隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:361
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:372
+msgid "Backup Count"
+msgstr "备用数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:368
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:379
+msgid "0 backup tunnels (0 redundancy, no added resource usage)"
+msgstr "无备用隧道(无冗余,不增加资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:372
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:383
+msgid "1 backup tunnel each direction (low redundancy, low resource usage)"
+msgstr "备用隧道对x1 (低冗余,低资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:376
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:387
+msgid "2 backup tunnels each direction (medium redundancy, medium resource usage)"
+msgstr "备用隧道对x2 (中冗余,中资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:380
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:391
+msgid "3 backup tunnels each direction (high redundancy, high resource usage)"
+msgstr "备用隧道对x3 (高冗余,高资源占用)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:389
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:400
+msgid "backup tunnels"
+msgstr "备用隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:394
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:405
+msgid "I2CP Options"
+msgstr "I2CP选项"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:396
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:146
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:407
+msgid "Host"
+msgstr "主机"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:400
+#: ../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/index_jsp.java:244
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:266
+msgid "Port"
+msgstr "端口"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:406
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:443
+msgid "Reduce tunnel quantity when idle"
+msgstr "空闲时缩减隧道数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:408
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:422
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:430
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:442
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:452
+#: ../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
+msgid "Enable"
+msgstr "启用"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:412
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:449
+msgid "Reduced tunnel count"
+msgstr "削减后的隧道数量"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:416
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:436
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:453
+msgid "Idle minutes"
+msgstr "空闲时间(分钟)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:420
+msgid "Close tunnels when idle"
+msgstr "空闲时关闭隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:426
+msgid "New Keys on Reopen"
+msgstr "重新打开隧道时使用新密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:434
+msgid "Disable"
+msgstr "禁用"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:440
+msgid "Delay tunnel open until required"
+msgstr "仅在请求时打开"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:450
+msgid "Persistent private key"
+msgstr "永久私有密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:456
+msgid "File"
+msgstr "文件"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:460
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:252
+msgid "Local destination"
+msgstr "本地目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:464
+msgid "(if known)"
+msgstr "(如果已知)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:468
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:489
+msgid "Custom options"
+msgstr "自定义选项"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:472
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:493
+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:474
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:495
+msgid "Cancel"
+msgstr "取消"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:478
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:499
+msgid "Delete"
+msgstr "删除"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editClient_jsp.java:480
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:501
+msgid "Save"
+msgstr "保存"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:73
+msgid "I2P Tunnel Manager - Edit Server Tunnel"
+msgstr "I2P隧道管理器 - 编辑服务器隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:93
+msgid "Edit server settings"
+msgstr "服务器隧道设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:101
+msgid "New server settings"
+msgstr "新建服务器设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:214
+msgid "Website name"
+msgstr "网站名称"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:218
+msgid "(leave blank for outproxies)"
+msgstr "(出口代理这里请置空)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:223
+msgid "Private key file"
+msgstr "私钥文件"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:262
+msgid "Add to local addressbook"
+msgstr "添加至本地地址簿"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:415
+msgid "Encrypt Leaseset"
+msgstr "加密赁集"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:421
+msgid "Encryption Key"
+msgstr "加密密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:425
+msgid "Generate New Key"
+msgstr "生成新密钥"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:427
+msgid "Generate"
+msgstr "生成"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:487
+msgid "(Tunnel must be stopped first)"
+msgstr "(必须先停止隧道)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:431
+msgid "Restricted Access List"
+msgstr "限制访问列表"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:437
+msgid "Access List"
+msgstr "访问列表"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:441
+msgid "(Restrict to these clients only)"
+msgstr "(仅允许这些客户访问)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:457
+msgid "New Certificate type"
+msgstr "新建证书类型"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:459
+msgid "None"
+msgstr "æ— "
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:463
+msgid "Hashcash (effort)"
+msgstr "Hashcash (强度)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:469
+msgid "Hashcash Calc Time"
+msgstr "Hashcash 计算时间"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:471
+msgid "Estimate"
+msgstr "ä¼°ç®—"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:473
+msgid "Hidden"
+msgstr "隐藏"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:477
+msgid "Signed (signed by)"
+msgstr "签名(签名者)"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:483
+msgid "Modify Certificate"
+msgstr "修改证书"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/editServer_jsp.java:485
+msgid "Modify"
+msgstr "修改"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:71
+msgid "I2P Tunnel Manager - List"
+msgstr "I2P隧道管理器 - 列表"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:83
+msgid "Status Messages"
+msgstr "状态信息"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:87
+msgid "Refresh"
+msgstr "刷新"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:91
+msgid "Stop All"
+msgstr "全部停止"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:95
+msgid "Start All"
+msgstr "全部启动"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:99
+msgid "Restart All"
+msgstr "全部重启"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:103
+msgid "Reload Config"
+msgstr "重新载入设置"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:105
+msgid "I2P Server Tunnels"
+msgstr "I2P服务端隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:109
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:130
+msgid "Points at"
+msgstr "指向"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:111
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:153
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:157
+msgid "Preview"
+msgstr "预览"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:113
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:177
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:250
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:278
+msgid "Status"
+msgstr "状态"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:163
+msgid "Base32 Address"
+msgstr "Base32地址"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:171
+msgid "No Preview"
+msgstr "无预览"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:184
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:285
+msgid "Starting..."
+msgstr "正在启动..."
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:191
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:205
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:292
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:320
+msgid "Stop"
+msgstr "停止"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:198
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:313
+msgid "Running"
+msgstr "运行中"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:212
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:327
+msgid "Stopped"
+msgstr "已停止"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:219
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:334
+msgid "Start"
+msgstr "启动"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:234
+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
+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
+msgid "Create"
+msgstr "创建"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:240
+msgid "I2P Client Tunnels"
+msgstr "I2P客户端隧道"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:248
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:274
+msgid "Interface"
+msgstr "网络接口"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:299
+msgid "Standby"
+msgstr "等待"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:346
+msgid "Outproxy"
+msgstr "出口代理"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:350
+msgid "Destination"
+msgstr "目标"
+
+#: ../jsp/WEB-INF/classes/net/i2p/i2ptunnel/jsp/index_jsp.java:366
+msgid "New client tunnel"
+msgstr "新建客户隧道"
+
+#~ msgid "Unimplemented"
+#~ msgstr "尚未实现"
+
diff --git a/apps/routerconsole/java/bundle-messages.sh b/apps/routerconsole/java/bundle-messages.sh
index c72b33ab738698d720ddea1c4c013491d29d5c08..548f7f768a7b08c5b14fe4e787f5fad36fbeb150 100755
--- a/apps/routerconsole/java/bundle-messages.sh
+++ b/apps/routerconsole/java/bundle-messages.sh
@@ -82,7 +82,7 @@ do
 		# To start a new translation, copy the header from an old translation to the new .po file,
 		# then ant distclean updater.
 		find $JPATHS -name *.java > $TMPFILE
-		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 \
+		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\
 	                 --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \
 	                 --keyword=handler._ --keyword=formhandler._ \
 	                 --keyword=net.i2p.router.web.Messages.getString \
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
index 896b8b200fa73396124872449570e96cef8f52c8..541f6d73cc1e837623a048a0e36dbdf5953b81c5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
@@ -145,7 +145,10 @@ public class ConfigNetHandler extends FormHandler {
                 }
                 _context.router().setConfigSetting(UDPTransport.PROP_SOURCES, _udpAutoIP);
                 // Todo: Catch local IPs right here rather than complaining later
-                _context.router().setConfigSetting(UDPTransport.PROP_EXTERNAL_HOST, uhost);
+                if (uhost.length() > 0)
+                    _context.router().setConfigSetting(UDPTransport.PROP_EXTERNAL_HOST, uhost);
+                else
+                    _context.router().removeConfigSetting(UDPTransport.PROP_EXTERNAL_HOST);
                 if ((!oldUdp.equals(_udpAutoIP)) || (!oldUHost.equals(uhost))) {
                    addFormNotice(_("Updating IP address"));
                    restartRequired = true;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
index cea2a11b2fe851eeddf310d5b96a8e3434d72528..cc8e01bc057b27b41296999d2e5f4fccc232bb6d 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
@@ -42,11 +42,15 @@ public class ConfigUpdateHandler extends FormHandler {
     public static final String PROP_ZIP_URL = "router.updateUnsignedURL";
     
     public static final String PROP_UPDATE_URL = "router.updateURL";
+    /**
+     *  Changed as of release 0.7.14 from .sud to .su2
+     *  Update hosts must maintain both for several releases
+     */
     public static final String DEFAULT_UPDATE_URL =
-    "http://echelon.i2p/i2p/i2pupdate.sud\r\n" +
-    "http://stats.i2p/i2p/i2pupdate.sud\r\n" +
-    "http://www.i2p2.i2p/_static/i2pupdate.sud\r\n" +
-    "http://update.postman.i2p/i2pupdate.sud" ;
+    "http://echelon.i2p/i2p/i2pupdate.su2\r\n" +
+    "http://stats.i2p/i2p/i2pupdate.su2\r\n" +
+    "http://www.i2p2.i2p/_static/i2pupdate.su2\r\n" +
+    "http://update.postman.i2p/i2pupdate.su2" ;
     
     public static final String PROP_TRUSTED_KEYS = "router.trustedUpdateKeys";
     
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index 2d676bdacffc8cda2a6bf3e55aa877f88d674702..94dc08b98aebcedf84b978bcfcec757751dd00a8 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -79,19 +79,21 @@ public class GraphHelper extends HelperBase {
                            + "&amp;width=" + (3 * _width)
                            + "&amp;height=" + (3 * _height)
                            + "\" / target=\"_blank\">");
+                String title = _("Combined bandwidth graph");
                 _out.write("<img class=\"statimage\" width=\""
                            + (_width + 83) + "\" height=\"" + (_height + 92)
                            + "\" src=\"viewstat.jsp?stat=bw.combined"
                            + "&amp;periodCount=" + _periodCount 
                            + "&amp;width=" + _width
                            + "&amp;height=" + (_height - 14)
-                           + "\" alt=\"Combined bandwidth graph\" title=\"Combined bandwidth graph\"></a>\n");
+                           + "\" alt=\"" + title + "\" title=\"" + title + "\"></a>\n");
             }
             
             for (Iterator iter = ordered.iterator(); iter.hasNext(); ) {
                 SummaryListener lsnr = (SummaryListener)iter.next();
                 Rate r = lsnr.getRate();
-                String title = r.getRateStat().getName() + " for " + DataHelper.formatDuration(_periodCount * r.getPeriod());
+                // e.g. "statname for 60m"
+                String title = _("{0} for {1}", r.getRateStat().getName(), DataHelper.formatDuration(_periodCount * r.getPeriod()));
                 _out.write("<a href=\"viewstat.jsp?stat="
                            + r.getRateStat().getName() 
                            + "&amp;showEvents=" + _showEvents
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java
index 1d1d03d59239ef787a52017166f5e48d197d8102..802e059adf280f3daf6e9a7aa5f07ccc5dbd114e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java
@@ -51,6 +51,11 @@ public abstract class HelperBase {
         return Messages.getString(s, o, _context);
     }
 
+    /** two params @since 0.7.14 */
+    public String _(String s, Object o, Object o2) {
+        return Messages.getString(s, o, o2, _context);
+    }
+
     /** translate (ngettext) @since 0.7.14 */
     public String _(int n, String s, String p) {
         return Messages.getString(n, s, p, _context);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
index 427ac9d8aefc78f1022dfa16332a6fc207d7bcb3..b50940fab5e72dabe98978e1b7797c935d2222ba 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/Messages.java
@@ -30,6 +30,11 @@ public class Messages extends Translate {
         return Translate.getString(s, o, ctx, BUNDLE_NAME);
     }
 
+    /** two params @since 0.7.14 */
+    public static String getString(String s, Object o, Object o2, I2PAppContext ctx) {
+        return Translate.getString(s, o, o2, ctx, BUNDLE_NAME);
+    }
+
     /** translate (ngettext) @since 0.7.14 */
     public static String getString(int n, String s, String p, I2PAppContext ctx) {
         return Translate.getString(n, s, p, ctx, BUNDLE_NAME);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
index 0bcaaf315ae62fe59acd4dd23bfc9db62871442b..72c93330e23d2d78d085556990bd8b84fa8504bc 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/StatSummarizer.java
@@ -170,6 +170,7 @@ public class StatSummarizer implements Runnable {
             def.setTimePeriod(start/1000, 0);
             def.setLowerLimit(0d);
             def.setBaseValue(1024);
+            // Note to translators: all runtime zh translation disabled in this file, no font available in RRD
             String title = _("Bandwidth usage");
             if (!hideTitle)
                 def.setTitle(title);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
index 7ee62510bac4dff2dc28c8db28e2163a6f955a56..f26426edca2435b1f62c94280ea6f7a4da96e33c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryRenderer.java
@@ -80,6 +80,7 @@ class SummaryRenderer {
                 String title;
                 String p = DataHelper.formatDuration(_listener.getRate().getPeriod());
                 if (showEvents)
+                    // Note to translators: all runtime zh translation disabled in this file, no font available in RRD
                     title = name + ' ' + _("events in {0}", p);
                 else
                     title = name + ' ' + _("averaged for {0}", p);
@@ -96,7 +97,11 @@ class SummaryRenderer {
             } else {
                 // include the average value
                 plotName = dsNames[0];
-                descr = _listener.getRate().getRateStat().getDescription();
+                // The descriptions are not tagged in the createRateStat calls
+                // (there are over 500 of them)
+                // but the descriptions for the default graphs are tagged in
+                // Strings.java
+                descr = _(_listener.getRate().getRateStat().getDescription());
             }
             def.datasource(plotName, path, plotName, "AVERAGE", "MEMORY");
             def.area(plotName, Color.BLUE, descr + "@r");
diff --git a/apps/routerconsole/java/strings/Strings.java b/apps/routerconsole/java/strings/Strings.java
index 8d37b3b7638be04d7ba8a3317c4197da1c0177d1..b71541c78b0cfeb488b6ef0cfcfa3c72185c6e95 100644
--- a/apps/routerconsole/java/strings/Strings.java
+++ b/apps/routerconsole/java/strings/Strings.java
@@ -96,5 +96,12 @@ class Dummy {
         _("itag1");
         _("itag2");
 
+        // Descriptions for the stats that are graphed by default
+        // There are over 500 stats currently defined, we aren't going to tag them all
+        _("Low-level bandwidth receive rate");             // bw.recvRate
+        _("Low-level bandwidth send rate");                // bw.sendRate
+        _("How many peers we are actively talking with");  // router.activePeers
+        // router.memoryUsed currently has the max size in the description so it can't be tagged
+
     }
 }
diff --git a/apps/routerconsole/locale/messages_ru.po b/apps/routerconsole/locale/messages_ru.po
index 89ef1782baa999eab554f6b0d972669690d9296b..3d2a735ceb828dc8410869ea8d8916b0c92d9a1d 100644
--- a/apps/routerconsole/locale/messages_ru.po
+++ b/apps/routerconsole/locale/messages_ru.po
@@ -8,16 +8,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-25 21:14+0000\n"
-"PO-Revision-Date: 2010-05-26 04:20+0000\n"
+"POT-Creation-Date: 2010-05-27 14:44+0000\n"
+"PO-Revision-Date: 2010-05-27 16:56+0000\n"
 "Last-Translator: 4get <forget@mail.i2p>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "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"
+"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"
 
 #: ../../../router/java/src/net/i2p/router/Blocklist.java:126
@@ -2136,21 +2135,21 @@ msgstr "Настройки зондирующих туннелей сохран
 msgid "Error saving the configuration (applied but not saved) - please see the error logs."
 msgstr "Не удалось сохранить настройки (применены, но не сохранены) — загляните в журнал ошибок"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:11
-msgid "hop"
-msgstr "хоп"
-
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:12
-msgid "tunnel"
-msgstr "туннель"
-
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14
-msgid "hops"
-msgstr "хопа"
+#, java-format
+msgid "1 hop"
+msgid_plural "{0} hops"
+msgstr[0] "{0} хоп"
+msgstr[1] "{0} хопа"
+msgstr[2] "{0} хопов"
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:15
-msgid "tunnels"
-msgstr "туннелей"
+#, java-format
+msgid "1 tunnel"
+msgid_plural "{0} tunnels"
+msgstr[0] "{0} туннель"
+msgstr[1] "{0} туннеля"
+msgstr[2] "{0} туннелей"
 
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41
@@ -4976,6 +4975,10 @@ msgstr "обзор туннелей"
 msgid "I2P Tunnel Summary"
 msgstr "Обзор туннелей I2P"
 
+#~ msgid "hops"
+#~ msgstr "хопа"
+#~ msgid "tunnels"
+#~ msgstr "туннелей"
 #~ msgid "Tunnels in/out"
 #~ msgstr "Туннели (вх./исх.)"
 
diff --git a/apps/routerconsole/locale/messages_zh.po b/apps/routerconsole/locale/messages_zh.po
index f5fd269e66e46f97461b1e61521410026c40c7e7..1927595508b5837a75932222ffa1794884cd56d1 100644
--- a/apps/routerconsole/locale/messages_zh.po
+++ b/apps/routerconsole/locale/messages_zh.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P routerconsole\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-05 13:42+0000\n"
+"POT-Creation-Date: 2010-04-29 14:53+0000\n"
 "PO-Revision-Date: \n"
 "Last-Translator: walking <walking@mail.i2p>\n"
 "Language-Team: \n"
@@ -19,20 +19,20 @@ msgstr ""
 "X-Poedit-Country: CHINA\n"
 "Plural-Forms: nplurals=1; plural=0\n"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:117
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:126
 #, java-format
 msgid "Banned by router hash: {0}"
 msgstr "按路由器 HASH 封杀: {0}"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:119
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:128
 msgid "Banned by router hash"
 msgstr "已按路由 HASH 封杀"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:664
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:673
 msgid "IP banned"
 msgstr "IP封锁"
 
-#: ../../../router/java/src/net/i2p/router/Blocklist.java:734
+#: ../../../router/java/src/net/i2p/router/Blocklist.java:743
 #, java-format
 msgid "IP banned by blocklist.txt entry {0}"
 msgstr "按IP黑名单blocklist.txt封杀的节点{0}"
@@ -73,20 +73,374 @@ msgstr "接收共享隧道"
 msgid "Rejecting tunnels"
 msgstr "拒绝参与共享隧道"
 
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:49
+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 target=\"_top\" 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:81
+msgid "Reseeding"
+msgstr "正在补种(引导网络启动)..."
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:145
+msgid "Reseeding: fetching seed URL."
+msgstr "正在补种:获取补种连接..."
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:151
+msgid "Last reseed failed fully (failed reading seed URL)."
+msgstr "上一次补种尝试失败(读取补种URL失败)。"
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:177
+msgid "Last reseed failed fully (no routerInfo URLs at seed URL)."
+msgstr "上一次补种尝试失败(补种服务器未返回任何路由信息URL)。"
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:190
+#, 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:211
+#, java-format
+msgid "Last reseed failed partly ({0}% of {1})."
+msgstr "上一次补种部分失败({0}%失败,共{1})"
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:216
+#, java-format
+msgid "Last reseed failed ({0}% of {1})."
+msgstr "上一次补种失败({0}%失败,共{1})"
+
+#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:226
+msgid "Last reseed failed fully (exception caught)."
+msgstr "上一次补种失败(exception caught)."
+
+#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:498
+msgid "NetDb entry"
+msgstr "NetDb 项目"
+
 #: ../../../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:456
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:457
 msgid "Unreachable on any transport"
 msgstr "各传输方式均不可达"
 
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:503
+msgid "Router Transport Addresses"
+msgstr "路由传输地址"
+
+#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:509
+#, java-format
+msgid "{0} is used for outbound connections only"
+msgstr "{0} 仅被用作出站连接"
+
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:380
 #: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:594
 #, java-format
 msgid "Excessive clock skew: {0}"
 msgstr "严重时滞:{0}"
 
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:691
+msgid "NTCP connections"
+msgstr "NTCP连接"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:692
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1879
+msgid "Limit"
+msgstr "限制"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:693
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1880
+msgid "Timeout"
+msgstr "超时"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:696
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2146
+#: ../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:235
+msgid "Peer"
+msgstr "节点"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:697
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2147
+msgid "Dir"
+msgstr "类别"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:698
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1888
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2155
+msgid "Idle"
+msgstr "空闲"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:699
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2156
+#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
+msgid "In/Out"
+msgstr "入/出"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:700
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2157
+msgid "Up"
+msgstr "寿命"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:701
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2158
+msgid "Skew"
+msgstr "时滞"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:702
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2168
+msgid "TX"
+msgstr "发包"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:703
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2169
+msgid "RX"
+msgstr "接包"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:704
+msgid "Out Queue"
+msgstr "出队"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:705
+msgid "Backlogged?"
+msgstr "积压?"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1942
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Inbound"
+msgstr "入站"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1944
+#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
+msgid "Outbound"
+msgstr "出站"
+
+#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:768
+msgid "peers"
+msgstr "节点"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1878
+msgid "UDP connections"
+msgstr "UDP连接"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885
+msgid "Sort by peer hash"
+msgstr "按节点Hash"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887
+msgid "Direction/Introduction"
+msgstr "方向"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889
+msgid "Sort by idle inbound"
+msgstr "出站空闲"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891
+msgid "Sort by idle outbound"
+msgstr "入站空闲"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894
+msgid "Sort by inbound rate"
+msgstr "按入站速度"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896
+msgid "Sort by outbound rate"
+msgstr "按出站速度"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1899
+msgid "Sort by connection uptime"
+msgstr "按连接时间"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901
+msgid "Sort by clock skew"
+msgstr "按时滞"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904
+msgid "Sort by congestion window"
+msgstr "按拥塞窗口"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906
+msgid "Sort by slow start threshold"
+msgstr "按启动门槛"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1909
+msgid "Sort by round trip time"
+msgstr "按往返时间"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2165
+msgid "Dev"
+msgstr "偏差"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911
+msgid "Sort by round trip time deviation"
+msgstr "按RTT偏差"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913
+msgid "Sort by retransmission timeout"
+msgstr "按重传输超时时间"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916
+msgid "Sort by outbound maximum transmit unit"
+msgstr "按出站最大传输单元"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918
+msgid "Sort by packets sent"
+msgstr "按已发送数据包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920
+msgid "Sort by packets received"
+msgstr "按已接收数据包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2170
+msgid "Dup TX"
+msgstr "重发包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923
+msgid "Sort by packets retransmitted"
+msgstr "按重传数据包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2171
+msgid "Dup RX"
+msgstr "重接包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925
+msgid "Sort by packets received more than once"
+msgstr "按重复数据包"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946
+msgid "We offered to introduce them"
+msgstr "中继客户"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948
+msgid "They offered to introduce us"
+msgstr "中继"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952
+msgid "Choked"
+msgstr ""
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1957
+msgid "fail(s)"
+msgstr "失败"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1962
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
+msgid "Banned"
+msgstr "已封锁"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2094
+msgid "SUMMARY"
+msgstr "总结"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2145
+#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
+msgid "Definitions"
+msgstr "定义"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2146
+msgid "The remote peer, identified by router hash"
+msgstr "以路由Hash区分的远程节点"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2148
+msgid "Inbound connection"
+msgstr "进站连接"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2150
+msgid "Outbound connection"
+msgstr "出站连接"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2152
+msgid "They offered to introduce us (help other peers traverse our firewall)"
+msgstr "对方节点为中继帮助我方穿越防火墙"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2154
+msgid "We offered to introduce them (help other peers traverse their firewall)"
+msgstr "我方为中继帮助其他节点穿越防火墙"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2155
+msgid "How long since a packet has been received / sent"
+msgstr "最近一次数据传输距现在的时间"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2156
+msgid "The smoothed inbound / outbound transfer rate (KBytes per second)"
+msgstr "进/出站平滑传输率(Kbyte/s)"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2157
+msgid "How long ago this connection was established"
+msgstr "连接建立时间"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2158
+msgid "The difference between the peer's clock and your own"
+msgstr "节点与本地时钟间的时滞"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2159
+msgid "The congestion window, which is how many bytes can be sent without an acknowledgement"
+msgstr "拥塞窗口,即每次确认前可发送的字节量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2160
+msgid "The number of sent messages awaiting acknowledgement"
+msgstr "等待确认的已发送数据包数量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2161
+msgid "The maximum number of concurrent messages to send"
+msgstr "并发消息的最大发送量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2162
+msgid "The number of pending sends which exceed congestion window"
+msgstr "超过拥塞窗口的待发送数量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2163
+msgid "The slow start threshold"
+msgstr "慢启动门槛"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2164
+msgid "The round trip time in milliseconds"
+msgstr "往返时间单位毫秒"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2165
+msgid "The standard deviation of the round trip time in milliseconds"
+msgstr "环行时间的标准差单位毫秒"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2166
+msgid "The retransmit timeout in milliseconds"
+msgstr "重传输超时时间单位毫秒"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2167
+msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)"
+msgstr "当前发送数据包的最大大小/预计接收数据包的最大大小(字节)"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2168
+msgid "The total number of packets sent to the peer"
+msgstr "向节点发送的数据包总量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2169
+msgid "The total number of packets received from the peer"
+msgstr "从节点接收到数据包总量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2170
+msgid "The total number of packets retransmitted to the peer"
+msgstr "向节点发送的重复数据包总量"
+
+#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2171
+msgid "The total number of duplicate packets received from the peer"
+msgstr "从节点接收到的重复数据包总量"
+
 #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:145
 msgid "Dropping tunnel requests: Too slow"
 msgstr "忽略共享请求:速度太慢"
@@ -1058,165 +1412,152 @@ msgstr "设置保存成功"
 msgid "Error saving the configuration (applied but not saved) - please see the error logs"
 msgstr "配置保存出错(已应用但未保存) - 参见错误日志"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:31
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:332
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:34
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:334
 msgid "Save Client Configuration"
 msgstr "保存客户程序设置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:35
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:344
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:38
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:346
 msgid "Save WebApp Configuration"
 msgstr "保存 WebApp 设置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:39
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:354
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:42
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:356
 msgid "Save Plugin Configuration"
 msgstr "保存插件配置"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:43
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:360
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:46
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:362
 msgid "Install Plugin"
 msgstr "安装插件"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:79
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:82
 #, java-format
 msgid "Deleted plugin {0}"
 msgstr "删除插件 {0}"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:81
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:84
 #, java-format
 msgid "Error deleting plugin {0}"
 msgstr "删除插件 {0} 时发生错误"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:93
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:96
 #, java-format
 msgid "Stopped plugin {0}"
 msgstr "插件 {0} 已停用"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:95
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:98
 #, java-format
 msgid "Error stopping plugin {0}"
 msgstr "停用插件 {0} 时发生错误"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:116
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:187
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189
 msgid "Start"
 msgstr "启动"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:135
+#: ../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:150
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:166
-msgid "desc"
-msgstr ""
-
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:161
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:176
-msgid "name"
-msgstr "名称"
-
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:181
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:184
 msgid "New client added"
 msgstr "新客户端添加完毕"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:185
+#: ../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:199
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:210
+#: ../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:204
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:215
+#: ../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:374
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:389
 msgid "Client"
 msgstr "客户"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:204
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:263
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
 msgid "started"
 msgstr "已启动"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:215
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218
 msgid "deleted"
 msgstr "已删除"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:232
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:235
 msgid "WebApp configuration saved."
 msgstr "WebApp 设置已保存"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:248
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:251
 msgid "Plugin configuration saved."
 msgstr "插件配置已保存"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:263
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:266
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:58
 msgid "WebApp"
 msgstr "Web程序"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:265
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:268
 msgid "Failed to start"
 msgstr "启动失败"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:270
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:273
 msgid "Failed to find server."
 msgstr "服务器或服务程序查找失败。"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:274
-msgid "pluginURL"
-msgstr ""
-
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:276
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:279
 msgid "No plugin URL specified."
 msgstr "未指定插件链接"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:286
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:289
 #, java-format
 msgid "No update URL specified for {0}"
 msgstr "{0} 未指定更新链接"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:294
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:299
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:312
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:317
+#: ../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:303
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:100
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:306
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:117
 #, java-format
 msgid "Downloading plugin from {0}"
 msgstr "正在从 {0} 下载插件"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:321
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:324
 #, java-format
 msgid "Checking plugin {0} for updates"
 msgstr "正在检查插件 {0} 是否存在更新"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:331
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:334
 #, java-format
 msgid "Started plugin {0}"
 msgstr "插件 {0} 已运行"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:333
+#: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:336
 #, java-format
 msgid "Error starting plugin {0}"
 msgstr "插件启动错误 {0}"
 
 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:21
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:190
+#: ../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:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:330
 msgid "Add Client"
 msgstr "添加客户端"
 
@@ -1276,34 +1617,34 @@ msgstr "网站"
 msgid "Update link"
 msgstr "更新链接"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:192
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194
 msgid "Stop"
 msgstr "停止"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:194
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196
 #: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:58
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:310
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:312
 msgid "Check for updates"
 msgstr "检查更新"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:195
+#: ../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:213
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:220
 msgid "Update"
 msgstr "æ›´æ–°"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:200
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
 #, java-format
 msgid "Are you sure you want to delete {0}?"
 msgstr "您确定要删除 {0} ?"
 
-#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:202
+#: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:204
 msgid "Delete"
 msgstr "删除"
 
 #: ../java/src/net/i2p/router/web/ConfigKeyringHandler.java:18
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:320
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:324
 msgid "Add key"
 msgstr "添加密钥"
 
@@ -1417,7 +1758,7 @@ msgid "Peers"
 msgstr "节点"
 
 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:294
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:298
 #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:132
 msgid "Stats"
 msgstr "统计"
@@ -1429,11 +1770,12 @@ msgstr "高级"
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48
 #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:261
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:35
-#: ../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:502
-#: ../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/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
 msgid "Save changes"
 msgstr "保存修改"
 
@@ -1509,11 +1851,11 @@ msgstr "正在获取SSU中介"
 msgid "Gracefully restarting I2P to change published router address"
 msgstr "正在平滑重启路由重新发布路由地址"
 
-#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:308
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:311
 msgid "Updating bandwidth share percentage"
 msgstr "正在更新共享带宽比例"
 
-#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:378
+#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:394
 msgid "Updated bandwidth limits"
 msgstr "带宽限制更新完毕"
 
@@ -1539,15 +1881,6 @@ msgstr "封杀节点直到重启"
 msgid "Manually banned via {0}"
 msgstr "通过{0}手动封锁"
 
-#: ../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:235
-msgid "Peer"
-msgstr "节点"
-
 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24
 msgid "banned until restart"
 msgstr "已封锁直到重启"
@@ -1828,14 +2161,6 @@ msgstr "性能警告 - 设置中包括长隧道"
 msgid "PERFORMANCE WARNING - Settings include high tunnel quantities."
 msgstr "性能警告 - 设置中包括大量隧道"
 
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
-msgid "Inbound"
-msgstr "入站"
-
-#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82
-msgid "Outbound"
-msgstr "出站"
-
 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87
 msgid "Length"
 msgstr "长度"
@@ -1961,6 +2286,10 @@ msgstr "仅下载并验证"
 msgid "Download, verify, and restart"
 msgstr "仅下载、验证并重启"
 
+#: ../java/src/net/i2p/router/web/FormHandler.java:163
+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:128
 msgid "Configure Graph Display"
 msgstr "图表显示设置"
@@ -1978,7 +2307,7 @@ msgid "Plot averages"
 msgstr "事件均值"
 
 #: ../java/src/net/i2p/router/web/GraphHelper.java:132
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
+#: ../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
 msgid "or"
 msgstr "或"
@@ -2147,7 +2476,7 @@ msgstr "完整项"
 
 #: ../java/src/net/i2p/router/web/NetDbRenderer.java:267
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:110
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:589
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:600
 msgid "Hidden"
 msgstr "隐身"
 
@@ -2170,27 +2499,31 @@ msgstr "发布"
 msgid "Address(es)"
 msgstr "地址"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:309
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:289
+msgid "cost"
+msgstr ""
+
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313
 msgid "Hidden or starting up"
 msgstr "隐身或正在启动"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:309
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313
 msgid "SSU"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:309
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313
 msgid "SSU with introducers"
 msgstr "使用中介的SSU连接"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:310
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314
 msgid "NTCP"
 msgstr ""
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:310
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314
 msgid "NTCP and SSU"
 msgstr "NTCP 与 SSU"
 
-#: ../java/src/net/i2p/router/web/NetDbRenderer.java:310
+#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314
 msgid "NTCP and SSU with introducers"
 msgstr "使用中介的NTCP与SSU连接"
 
@@ -2204,161 +2537,161 @@ msgstr "新闻更新于{0}前"
 msgid "News last checked {0} ago."
 msgstr "最近一次查收新闻在{0}前"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:65
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:77
 #, java-format
 msgid "Cannot check, plugin {0} is not installed"
 msgstr "无法确定版本,插件 {0} 安装失败"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:102
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:129
 #, java-format
 msgid "Checking for update of plugin {0}"
 msgstr "正在为插件 {0} 检查更新"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:125
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:153
 #, java-format
 msgid "New plugin version {0} is available"
 msgstr "新插件版本为 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:127
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:155
 #, java-format
 msgid "No new version is available for plugin {0}"
 msgstr "插件 {0} 有更新"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:134
+#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:164
 #, java-format
 msgid "Update check failed for plugin {0}"
 msgstr "插件 {0} 更新检测失败"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:121
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:138
 msgid "Downloading plugin"
 msgstr "正在下载插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:128
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:145
 #: ../java/src/net/i2p/router/web/UpdateHandler.java:179
 #, java-format
 msgid "{0}B transferred"
 msgstr "已传输 {0}B"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:134
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:151
 msgid "Plugin downloaded"
 msgstr "插件下载完成"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:139
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:326
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:156
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:343
 #, java-format
 msgid "Cannot create plugin directory {0}"
 msgstr "无法创建插件目录 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:148
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:219
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:165
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:220
 #, java-format
 msgid "from {0}"
 msgstr "自 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:158
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:175
 #, java-format
 msgid "Plugin from {0} is corrupt"
 msgstr "由 {0} 获取的插件已损坏。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:169
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:186
 #, java-format
 msgid "Plugin from {0} does not contain the required configuration file"
 msgstr "由 {0} 获取的插件缺少必要的配置文件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:182
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:199
 #, java-format
 msgid "Plugin from {0} contains an invalid key"
 msgstr "由 {0} 获取的插件签名密钥无效"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:201
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:210
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:219
+#: ../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-format
 msgid "Plugin signature verification of {0} failed"
 msgstr "插件 {0} 的签名验证失败。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:234
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:251
 #, java-format
 msgid "Plugin from {0} has invalid name or version"
 msgstr "从 {0} 获取的插件缺少有效的名称或版本"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:239
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:256
 #, java-format
 msgid "Plugin {0} has mismatched versions"
 msgstr "插件 {0} 的内部版本不符。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:247
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:264
 #, java-format
 msgid "This plugin requires I2P version {0} or higher"
 msgstr "插件需要I2P版本 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:255
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:272
 #, java-format
 msgid "This plugin requires Java version {0} or higher"
 msgstr "插件需要 Java 版本 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:263
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:280
 msgid "Downloaded plugin is for new installs only, but the plugin is already installed"
 msgstr "所下插件包仅用于全新安装,但您已经安装过该插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:275
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:292
 msgid "Installed plugin does not contain the required configuration file"
 msgstr "已安装插件缺少所需的配置文件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:283
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:300
 msgid "Signature of downloaded plugin does not match installed plugin"
 msgstr "所下插件的签名(人)与所安装插件的签名不符"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:290
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:307
 #, java-format
 msgid "Downloaded plugin version {0} is not newer than installed plugin"
 msgstr "所下插件版本 {0} 没有已安装插件的版本新"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:297
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:314
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or higher"
 msgstr "插件更新包需要安装插件的版本为 {0} 或更高"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:304
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:321
 #, java-format
 msgid "Plugin update requires installed plugin version {0} or lower"
 msgstr "插件更新包需要安装插件的版本不高于 {0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:321
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:338
 msgid "Plugin is for upgrades only, but the plugin is not installed"
 msgstr "插件更新包包找不到对应的原版插件"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:334
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:351
 #, java-format
 msgid "Failed to install plugin in {0}"
 msgstr "无法将插件安装至目录{0}"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:341
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:358
 #, java-format
 msgid "Plugin {0} installed, router restart required"
 msgstr "插件 {0} 已安装,重启I2P后生效"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:343
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:360
 #, java-format
 msgid "Plugin {0} installed"
 msgstr "插件 {0} 已安装"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:352
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:369
 #, java-format
 msgid "Plugin {0} installed and started"
 msgstr "插件 {0} 已安装并启动"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:354
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:371
 #, java-format
 msgid "Plugin {0} installed but failed to start, check logs"
 msgstr "插件 {0} 已安装但启动失败,请检查日志。"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:356
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:373
 #, java-format
 msgid "Plugin {0} installed but failed to start"
 msgstr "插件 {0} 已安装但启动失败"
 
-#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:366
+#: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:383
 #, java-format
 msgid "Failed to download plugin from {0}"
 msgstr "重 {0} 下载插件失败"
@@ -2429,10 +2762,6 @@ msgstr "失败"
 msgid "Integrated"
 msgstr "已整合节点"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162
-msgid "Banned"
-msgstr "已封锁"
-
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:164
 msgid "Unreachable"
 msgstr "不可达"
@@ -2525,10 +2854,6 @@ msgstr "高容节点"
 msgid " well integrated peers"
 msgstr "整合节点"
 
-#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257
-msgid "Definitions"
-msgstr "定义"
-
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:258
 msgid "as determined by the profile organizer"
 msgstr "由节点描述信息管理器决定"
@@ -2542,6 +2867,7 @@ msgid "capabilities in the netDb, not used to determine profiles"
 msgstr "netDb中的容量,与描述信息无关。"
 
 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259
+#: ../java/strings/Strings.java:81
 msgid "caps"
 msgstr "容量"
 
@@ -2882,7 +3208,7 @@ msgstr "错误-系统时滞 {0}"
 
 # 暂不翻译,确定/良好 可能影响按钮的翻译
 #: ../java/src/net/i2p/router/web/SummaryHelper.java:117
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:565
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:576
 msgid "OK"
 msgstr "正常"
 
@@ -2907,7 +3233,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:569
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:580
 msgid "Firewalled"
 msgstr "防火墙限制"
 
@@ -2928,7 +3254,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:585
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:596
 msgid "Testing"
 msgstr "测试中"
 
@@ -2980,7 +3306,7 @@ 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:273
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:275
 msgid "configure"
 msgstr "设置"
 
@@ -3055,10 +3381,6 @@ msgstr "运行期间带宽使用情况"
 msgid "Expiry"
 msgstr "到期"
 
-#: ../java/src/net/i2p/router/web/TunnelRenderer.java:156
-msgid "In/Out"
-msgstr "入/出"
-
 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:159
 msgid "Participants"
 msgstr "参与节点"
@@ -3162,7 +3484,7 @@ msgstr "无法复制到{0}"
 msgid "Update verified"
 msgstr "更新已验证"
 
-#: ../java/src/net/i2p/router/web/UpdateHandler.java:227
+#: ../java/src/net/i2p/router/web/UpdateHandler.java:228
 msgid "Transfer failed"
 msgstr "数据传输失败"
 
@@ -3322,6 +3644,66 @@ msgstr "传输"
 msgid "udp"
 msgstr "UDP"
 
+#: ../java/strings/Strings.java:77
+msgid "host"
+msgstr "主机"
+
+#: ../java/strings/Strings.java:78
+msgid "key"
+msgstr "密钥"
+
+#: ../java/strings/Strings.java:79
+msgid "port"
+msgstr "端口"
+
+#: ../java/strings/Strings.java:83
+msgid "ihost0"
+msgstr ""
+
+#: ../java/strings/Strings.java:84
+msgid "ihost1"
+msgstr ""
+
+#: ../java/strings/Strings.java:85
+msgid "ihost2"
+msgstr ""
+
+#: ../java/strings/Strings.java:87
+msgid "iport0"
+msgstr ""
+
+#: ../java/strings/Strings.java:88
+msgid "iport1"
+msgstr ""
+
+#: ../java/strings/Strings.java:89
+msgid "iport2"
+msgstr ""
+
+#: ../java/strings/Strings.java:91
+msgid "ikey0"
+msgstr ""
+
+#: ../java/strings/Strings.java:92
+msgid "ikey1"
+msgstr ""
+
+#: ../java/strings/Strings.java:93
+msgid "ikey2"
+msgstr ""
+
+#: ../java/strings/Strings.java:95
+msgid "itag0"
+msgstr ""
+
+#: ../java/strings/Strings.java:96
+msgid "itag1"
+msgstr ""
+
+#: ../java/strings/Strings.java:97
+msgid "itag2"
+msgstr ""
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106
 msgid "config networking"
 msgstr "连网设置"
@@ -3442,442 +3824,442 @@ msgstr "您设置I2P共享 {0} KBps"
 msgid "The higher the share bandwidth the more you improve your anonymity and help the network."
 msgstr "共享的带宽越多,您的匿名性越强同时能帮助网络成长。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:305
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:324
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configkeyring_jsp.java:324
-#: ../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
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:323
+#: ../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
 msgid "Cancel"
 msgstr "取消"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:363
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:374
 msgid "IP and Transport Configuration"
 msgstr "IP 与传输设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:365
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:376
 msgid "The default settings will work for most people."
 msgstr "默认设置适于大多数人。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:367
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:378
 msgid "There is help below."
 msgstr "页面下方有帮助信息"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:369
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:380
 msgid "UPnP Configuration"
 msgstr "UPnP 设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:373
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:384
 msgid "Enable UPnP to open firewall ports"
 msgstr "启用UPnP以打开防火墙端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:375
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:386
 msgid "UPnP status"
 msgstr "UPnP 统计"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:377
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:388
 msgid "IP Configuration"
 msgstr "IP 设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:379
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:449
+#: ../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
 msgid "Externally reachable hostname or IP address"
 msgstr "公网可访问的本机域名或IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:383
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:394
 msgid "Use all auto-detect methods"
 msgstr "使用全部自动探测方法"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:387
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:398
 msgid "Disable UPnP IP address detection"
 msgstr "禁用UPnP 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:402
 msgid "Ignore local interface IP address"
 msgstr "忽略本地接口的 IP 地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:395
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:406
 msgid "Use SSU IP address detection only"
 msgstr "仅使用SSU IP 地址探测"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:399
-#: ../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:410
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:478
 msgid "Specify hostname or IP"
 msgstr "指定主机名或IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:405
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416
 msgid "Select Interface"
 msgstr "选择网络接口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:419
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:430
 msgid "Hidden mode - do not publish IP"
 msgstr "隐身模式 - 不发布IP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:421
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:432
 msgid "(prevents participating traffic)"
 msgstr "(阻止共享流量)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:423
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:434
 msgid "Action when IP changes"
 msgstr "IP改变后应"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:427
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:438
 msgid "Laptop mode - Change router identity and UDP port when IP changes for enhanced anonymity"
 msgstr "笔记本模式 - IP变化后改变路由身份及UDP端口(拨号用户慎用)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:429
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:440
 msgid "Experimental"
 msgstr "试验性"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:431
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:442
 msgid "UDP Configuration:"
 msgstr "UPnP 设置:"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:433
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:444
 msgid "UDP port:"
 msgstr "UDP端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:447
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:458
 msgid "TCP Configuration"
 msgstr "TCP 连接设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:453
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:464
 msgid "Use auto-detected IP address"
 msgstr "使用自动检测得到的 IP 地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:455
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:487
+#: ../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
 msgid "currently"
 msgstr "目前"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:459
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:470
 msgid "if we are not firewalled"
 msgstr "如果没有受到防火墙阻挡"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:463
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:474
 msgid "Always use auto-detected IP address (Not firewalled)"
 msgstr "总是使用自动探测到的IP地址(没有防火墙限制)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:473
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:484
 msgid "Disable inbound (Firewalled)"
 msgstr "禁止入站连接(受防火墙限制)"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:477
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:488
 msgid "Completely disable"
 msgstr "完全禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:479
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:490
 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:481
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:492
 msgid "Externally reachable TCP port"
 msgstr "公网可访问的TCP端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:485
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:496
 msgid "Use the same port configured for UDP"
 msgstr "使用与UDP相同的端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:493
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:504
 msgid "Specify Port"
 msgstr "指定端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:497
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/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
 msgid "Note"
 msgstr "注意"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:500
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:511
 msgid "Changing these settings will restart your router."
 msgstr "修改这些设置将必须重启路由器。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:506
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:517
 msgid "Configuration Help"
 msgstr "设置帮助"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:508
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:557
+#: ../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
 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:510
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:521
 msgid "If you can, please poke a hole in your firewall to allow unsolicited UDP and TCP packets to reach you."
 msgstr "如果可能,请在防火墙中添加端口并允许入站UDP/TCP数据包通过。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:512
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:523
 msgid "If you can't, I2P supports UPnP (Universal Plug and Play) and UDP hole punching with \"SSU introductions\" to relay traffic."
 msgstr "如果不能,I2P支持UPnP(Universal Plug and Play)或借助“SSU中介”进行UDP端口穿透,通过它们也可以中继数据。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:514
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:525
 msgid "Most of the options above are for special situations, for example where UPnP does not work correctly, or a firewall not under your control is doing harm."
 msgstr "上述大部分设置仅为特殊情况准备,例如UPnP不能正常工作,或外部防火墙封锁网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:516
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
 msgid "Certain firewalls such as symmetric NATs may not work well with I2P."
 msgstr "在某些防火墙下例如Symmetric,I2P可能无法有效利用NAT工作。"
 
-#: ../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:536
 msgid "UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address and forward ports."
 msgstr "UPnP与公网网关设备(IGD)通讯可以检测外部IP和映射端口。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:527
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:538
 msgid "UPnP support is beta, and may not work for any number of reasons"
 msgstr "UPnP支持仍在测试阶段,可能由于一些原因无法正常工作。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:529
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:540
 msgid "No UPnP-compatible device present"
 msgstr "没有发现UPnP兼容设备"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:531
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:542
 msgid "UPnP disabled on the device"
 msgstr "设备上的UPnP支持已禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:533
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:544
 msgid "Software firewall interference with UPnP"
 msgstr "软件防火墙阻止UPnP"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:535
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:546
 msgid "Bugs in the device's UPnP implementation"
 msgstr "设备的UPnP支持有Bug"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:537
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:548
 msgid "Multiple firewall/routers in the internet connection path"
 msgstr "公网连接中存在多个防火墙/路由器"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:539
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:550
 msgid "UPnP device change, reset, or address change"
 msgstr "UPnP设备改变、重置或地址迁移"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:541
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:552
 msgid "Review the UPnP status here."
 msgstr "在这里检查UPnP状态。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:543
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:554
 msgid "UPnP may be enabled or disabled above, but a change requires a router restart to take effect."
 msgstr "UPnP 的关闭或开启均需要程序重启后生效。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:545
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:556
 msgid "Hostnames entered above will be published in the network database."
 msgstr "上面输入的主机名称将在网络数据库(NetDB)中发布。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:547
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:558
 msgid "They are <b>not private</b>."
 msgstr "他们并<b>非私有地址</b>。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:549
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:560
 msgid "Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1."
 msgstr "此外,<b>请勿输入如127.0.0.1或192.168.1.1等私有地址</b>"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:551
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:562
 msgid "If you specify the wrong IP address or hostname, or do not properly configure your NAT or firewall, your network performance will degrade substantially."
 msgstr "如果您设置了错误的IP地址或主机名称,或NAT/防火墙配置不当,您的网络性能将受到明显影响。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:553
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:564
 msgid "When in doubt, leave the settings at the defaults."
 msgstr "如果对设置有疑问,请保留默认设置。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:555
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:566
 msgid "Reachability Help"
 msgstr "连通性帮助"
 
-#: ../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:571
 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:563
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:574
 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:567
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:578
 msgid "Your UDP port does not appear to be firewalled."
 msgstr "您的UDP端口似乎一切正常。"
 
-#: ../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:582
 msgid "Your UDP port appears to be firewalled."
 msgstr "您的UDP端口似乎因防火墙而连接受限。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:573
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:584
 msgid "As the firewall detection methods are not 100% reliable, this may occasionally be displayed in error."
 msgstr "由于防火墙检测方法并非100%可靠,有时也可能错误地显示此此提示。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:575
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:586
 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:577
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:588
 msgid "I2P will work fine when firewalled, there is no reason for concern. When firewalled, the router uses \"introducers\" to relay inbound connections."
 msgstr "即使受到防火墙阻拦,I2P也能够正常工作,无需担心。受到防火墙阻隔时,路由器将通过“中介(Introducers)”中继入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:579
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:590
 msgid "However, you will get more participating traffic and help the network more if you can open your firewall(s)."
 msgstr "然而,如果您能打开防火墙端口,您才能得到的共享流量,更好的帮助I2P网络。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:581
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:592
 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:583
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:594
 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:587
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:598
 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:591
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:602
 msgid "The router is not configured to publish its address, therefore it does not expect incoming connections."
 msgstr "路由器被设置为禁止发布IP地址,因此并不需要入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:593
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:604
 msgid "WARN - Firewalled and Fast"
 msgstr "警告 - 快速节点,因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:595
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:606
 msgid "You have configured I2P to share more than 128KBps of bandwidth, but you are firewalled."
 msgstr "您设置I2P共享超过128KBps的带宽,但您的连接因防火墙受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:597
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:608
 msgid "While I2P will work fine in this configuration, if you really have over 128KBps of bandwidth to share, it will be much more helpful to the network if you open your firewall."
 msgstr "尽管在此种配置情况下I2P可以正常工作,但如果您的确能够分享超过128kps的带宽,打开防火墙端口它能工作的更好帮助网络中其他的人。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:599
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:610
 msgid "WARN - Firewalled and Floodfill"
 msgstr "警告 - 种子节点,因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:601
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:612
 msgid "You have configured I2P to be a floodfill router, but you are firewalled."
 msgstr "您已将I2P设置为种子路由,但您的连接已因防火墙受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:603
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:614
 msgid "For best participation as a floodfill router, you should open your firewall."
 msgstr "为了种子路由能够更好的参与到I2P网络中,请您的防火墙中打开端口。"
 
 # 暂不翻译方便反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:605
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:616
 msgid "WARN - Firewalled with Inbound TCP Enabled"
 msgstr "警告 - 入站TCP开启,但因防火墙受限"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:607
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:618
 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:609
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:620
 msgid "If your TCP port is firewalled with inbound TCP enabled, routers will not be able to contact you via TCP, which will hurt the network."
 msgstr "如果您在TCP端口因防火墙受阻的情况下启用入站TCP连接,其他路由器节点将无法与您建立连接,造成网络受阻。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:611
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:622
 msgid "Please open your firewall or disable inbound TCP above."
 msgstr "请打开您的防火墙端口或禁用上面的入站TCP连接。"
 
 # 暂不翻译
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:613
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:624
 msgid "WARN - Firewalled with UDP Disabled"
 msgstr "警告 - 因防火墙受限,且UDP被禁用"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:615
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:626
 msgid "You have configured inbound TCP, however you have disabled UDP."
 msgstr "您设置了使用TCP连接,然而禁用了UDP连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:617
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:628
 msgid "You appear to be firewalled on TCP, therefore your router cannot accept inbound connections."
 msgstr "您的TCP连接似乎因防火墙受阻,导致您的路由器无法接收入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:619
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:630
 msgid "Please open your firewall or enable UDP."
 msgstr "请打开防火墙端口或启用UDP。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:621
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:632
 msgid "ERR - Clock Skew"
 msgstr "错误 - 系统时滞"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:623
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:634
 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:625
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:636
 msgid "Correct your clock setting if this error persists."
 msgstr "如果错误持续,请校对您的系统时间。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:627
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:638
 msgid "ERR - Private TCP Address"
 msgstr "错误 - 私有TCP地址"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:629
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:640
 msgid "You must never advertise an unroutable IP address such as 127.0.0.1 or 192.168.1.1 as your external address."
 msgstr "您不能发布一个公网无法访问的 IP 地址,例如127.0.0.1或192.168.1.1一类的内网地址。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:631
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:642
 msgid "Correct the address or disable inbound TCP above."
 msgstr "正确设置IP地址或禁用上面的入站TCP连接。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:633
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:644
 msgid "ERR - SymmetricNAT"
 msgstr "错误 - SymmetricNAT"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:635
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:646
 msgid "I2P detected that you are firewalled by a Symmetric NAT."
 msgstr "I2P检测到您受到Symmetic NAT的阻挡。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:637
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:648
 msgid "I2P does not work well behind this type of firewall. You will probably not be able to accept inbound connections, which will limit your participation in the network."
 msgstr "I2P无法与此类防火墙很好的并存。您可能无法接收入站连接,这会障碍您连入I2P网络。"
 
 # 暂不翻译,方便问题反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:639
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:650
 msgid "ERR - UDP Port In Use - Set i2np.udp.internalPort=xxxx in advanced config and restart"
 msgstr "错误 - UDP端口已占用 - 在高级设置中设置 i2np.udp.internalPort=新端口 并重启程序"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:641
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:652
 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:643
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:654
 msgid "Check to see if another program is using the configured port. If so, stop that program or configure I2P to use a different port."
 msgstr "检查是否有其他程序正在使用了I2P的端口,如果是,关闭此程序或设置I2P使用不同的端口。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:645
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:656
 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:647
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:658
 msgid "However, a restart is always required after this error."
 msgstr "然而,发生此错误后一般需要重启程序才能解决。"
 
 # 暂不翻译,方便错误反馈
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:649
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:660
 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:651
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:662
 msgid "You have not configured inbound TCP with a hostname and port above, however you have disabled UDP."
 msgstr "您没有设置入站TCP的主机名称和端口,同时又关闭了UDP。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:653
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:664
 msgid "Therefore your router cannot accept inbound connections."
 msgstr "因此您的路由器无法接收入站连接。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:655
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:666
 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:657
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:668
 msgid "ERR - Client Manager I2CP Error - check logs"
 msgstr "错误 - 客户程序管理器 I2CP 错误 - 请看日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:659
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:670
 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:661
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:672
 msgid "Do you have another I2P instance running? Stop the conflicting program and restart I2P."
 msgstr "您是否已经运行了另一个I2P实例?请关掉冲突的程序并重启I2P。"
 
@@ -3893,11 +4275,6 @@ msgstr "I2P 高级设置"
 msgid "Advanced I2P Configuration"
 msgstr "I2P 高级设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:303
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configui_jsp.java:321
-msgid "Apply"
-msgstr "应用"
-
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:309
 msgid "Some changes may require a restart to take effect."
 msgstr "某些设置需要程序重启后生效。"
@@ -3910,48 +4287,48 @@ msgstr "客户程序设置"
 msgid "I2P Client Configuration"
 msgstr "I2P 客户程序设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:309
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:311
 msgid "Client Configuration"
 msgstr "客户程序设置"
 
-#: ../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:313
 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:315
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:317
 msgid "To change other client options, edit the file"
 msgstr "修改其他客户端设置请编辑文件"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:322
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:342
+#: ../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
 msgid "All changes require restart to take effect."
 msgstr "所有更改均需要程序重启才能生效。"
 
-#: ../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:336
 msgid "WebApp Configuration"
 msgstr "WebApp 设置"
 
-#: ../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:338
 msgid "The Java web applications listed below are started by the webConsole client and run in the same JVM as the router. They are usually web applications accessible through the router console. They may be complete applications (e.g. i2psnark),front-ends to another client or application which must be separately enabled (e.g. susidns, i2ptunnel), or have no web interface at all (e.g. addressbook)."
 msgstr "下面列出的Java Web 程序随客户端“web控制台”一同启动,并与路由运行于同一JVM中。这些Web程序通常可以通过路由器界面直接访问。他们可能是完整的程序 (例如  i2psnark/BT客户端),其他客户端程序的前端或必须单独启动的程序(例如. susidns, i2ptunnel),甚至根本没有Web界面(例如 addressbook)。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:338
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:340
 msgid "A web app may also be disabled by removing the .war file from the webapps directory; however the .war file and web app will reappear when you update your router to a newer version, so disabling the web app here is the preferred method."
 msgstr "从webapps目录中删除相应的.war文件同样可以禁用Web程序;然而这些 .war 文件和Web程序在更新I2P后还会再次出现,所以推荐在这里通过设置的方法禁用不用的Web程序。"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:350
 msgid "Plugin Configuration"
 msgstr "插件设置"
 
-#: ../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:352
 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:356
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:358
 msgid "Plugin Installation"
 msgstr "插件安装"
 
-#: ../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:360
 msgid "To install a plugin, enter the download URL:"
 msgstr "安装插件前,请输入插件的下载链接:"
 
@@ -4301,6 +4678,10 @@ msgstr "路由控制台语言"
 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
+msgid "Apply"
+msgstr "应用"
+
 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:106
 msgid "config update"
 msgstr "更新设置"
@@ -4309,63 +4690,63 @@ msgstr "更新设置"
 msgid "I2P Update Configuration"
 msgstr "I2P 更新设置"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:300
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:302
 msgid "Check for I2P and news updates"
 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:304
 msgid "News &amp; I2P Updates"
 msgstr "软件及新闻更新"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:306
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:308
 msgid "Update In Progress"
 msgstr "更新中"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:314
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:316
 msgid "News URL"
 msgstr "新闻链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:318
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:320
 msgid "Refresh frequency"
 msgstr "更新频率"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:324
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:326
 msgid "Update policy"
 msgstr "升级策略"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:328
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:330
 msgid "Update through the eepProxy?"
 msgstr "通过I2P代理更新?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:332
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:334
 msgid "eepProxy host"
 msgstr "I2P代理主机"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:336
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:338
 msgid "eepProxy port"
 msgstr "I2P代理端口"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:340
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:342
 msgid "Update URLs"
 msgstr "更新链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:344
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:346
 msgid "Trusted keys"
 msgstr "可信公钥"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:348
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:350
 msgid "Update with unsigned development builds?"
 msgstr "更新包括未签名的开发版?"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:352
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:354
 msgid "Unsigned Build URL"
 msgstr "未签名软件链接"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:358
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:360
 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:362
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:366
 msgid "Save"
 msgstr "保存"
 
@@ -4418,18 +4799,22 @@ 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 "如果您发现错误请报告至<a href=\"http://trac.i2p2.i2p/newticket\">trac.i2p2.i2p</a>。"
+
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:233
 msgid "Please include this information in bug reports"
 msgstr "报告问题时请包括以下信息"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:267
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:269
 msgid "Critical Logs"
 msgstr "关键日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:271
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:273
 msgid "Router Logs"
 msgstr "路由器日志"
 
-#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:277
+#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:279
 msgid "Service (Wrapper) Logs"
 msgstr "服务(封装)日志"
 
@@ -4494,6 +4879,8 @@ msgstr "隧道概况"
 msgid "I2P Tunnel Summary"
 msgstr "I2P 隧道概况"
 
+#~ msgid "name"
+#~ msgstr "名称"
 #~ msgid ""
 #~ "WebApp configuration saved successfully - restart required to take effect."
 #~ msgstr "WebApp设置保存成功 - 程序重启后生效"
@@ -4507,8 +4894,6 @@ msgstr "I2P 隧道概况"
 #~ msgstr "重启在某些情况下有用"
 #~ msgid "I2P will install (or remove) a service accordingly."
 #~ msgstr "I2P将相应的将自身安装为服务(或卸载服务)。"
-#~ msgid "skew"
-#~ msgstr "时滞"
 #~ msgid "Expl. + Client"
 #~ msgstr "探测+客户"
 #~ msgid "Part. from + to"
diff --git a/apps/susidns/locale/messages_zh.po b/apps/susidns/locale/messages_zh.po
index f52e96bd5c37d8f5c6274a3354fea82e5fbe82d5..ace16bf4b86971b824e8e90d8addeb32b9d11adf 100644
--- a/apps/susidns/locale/messages_zh.po
+++ b/apps/susidns/locale/messages_zh.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: I2P susidns\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-05 12:44+0000\n"
-"PO-Revision-Date: 2010-03-05 21:37+0800\n"
+"POT-Creation-Date: 2010-05-29 02:35+0000\n"
+"PO-Revision-Date: 2010-05-29 12:51+0800\n"
 "Last-Translator: walking <walking@mail.i2p>\n"
 "Language-Team: foo <foo@bar>\n"
 "MIME-Version: 1.0\n"
@@ -17,79 +17,109 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Language: Chinese\n"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:197
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:199
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:193
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:197
 msgid "Search"
 msgstr "搜索"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:201
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:203
 msgid "Search within filtered list"
 msgstr "在过滤结果中搜索"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:203
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:205
 msgid "Filtered list"
 msgstr "过滤结果列表"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:207
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:209
 msgid "no matches"
 msgstr "无匹配项目"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:210
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:212
 msgid "Addressbook"
 msgstr "地址簿"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:212
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:214
 msgid "contains no entries"
 msgstr "包含 0 个项目"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:214
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:216
 msgid "contains 1 entry"
 msgstr "包含 1 个项目"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:216
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:218
 #, java-format
 msgid "contains {0} entries"
 msgstr "包含 {0} 个项目"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:226
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:228
 #, java-format
 msgid "Showing {0} of {1}"
 msgstr "显示 {0} 个项目共 {1}"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:257
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:364
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:259
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:368
 msgid "Add"
 msgstr "添加"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:261
-msgid "Destination added."
-msgstr "目标已添加"
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:259
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:264
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:366
+msgid "Replace"
+msgstr "替换"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:263
+#, java-format
+msgid "Host name {0} is already in addressbook, unchanged."
+msgstr "主机名称{0}已存在于地址簿中,本次操作未更新。"
 
 #: ../src/java/src/i2p/susi/dns/AddressbookBean.java:265
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
-msgid "Delete"
-msgstr "删除"
+#, java-format
+msgid "Host name {0} is already in addressbook with a different destination. Click \"Replace\" to overwrite."
+msgstr "域名{0}已以不同目标密钥的存在于地址簿中,点击“替换”进行覆盖"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:277
+#, java-format
+msgid "Destination added for {0}."
+msgstr "目标密钥已添加为{0}。"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:279
+#, java-format
+msgid "Destination changed for {0}."
+msgstr "目标已更新为{0}。"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:275
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:284
+msgid "Invalid Base 64 destination."
+msgstr "无效的Base64目标密钥"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:288
+msgid "Please enter a host name and destination"
+msgstr "请输入主机名称与目标"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:292
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:314
+msgid "Delete Selected"
+msgstr "删除选中项"
+
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:302
 #, java-format
 msgid "Destination {0} deleted."
 msgstr "目标 {0} 已删除"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:277
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:304
 #, java-format
 msgid "{0} destinations deleted."
 msgstr "{0} 个目标已删除"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:283
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:310
 msgid "Addressbook saved."
 msgstr "地址簿已保存"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:286
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:313
 msgid "ERROR: Could not write addressbook file."
 msgstr "错误:无法写入地址簿文件"
 
-#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:291
+#: ../src/java/src/i2p/susi/dns/AddressbookBean.java:318
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:148
 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:150
 msgid "Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit."
@@ -97,8 +127,8 @@ msgstr "提交数据无效,可能的原因是您使用了浏览器中的“前
 
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:139
 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:129
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
 msgid "Save"
 msgstr "保存"
 
@@ -108,8 +138,8 @@ msgstr "配置已保存"
 
 #: ../src/java/src/i2p/susi/dns/ConfigBean.java:142
 #: ../src/java/src/i2p/susi/dns/SubscriptionsBean.java:144
-#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:130
-#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:130
+#: ../src/tmp/i2p/susi/dns/jsp/config_jsp.java:128
+#: ../src/tmp/i2p/susi/dns/jsp/subscriptions_jsp.java:128
 msgid "Reload"
 msgstr "刷新"
 
@@ -213,7 +243,7 @@ msgid "Name"
 msgstr "名称"
 
 #: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:226
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:360
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:362
 msgid "Destination"
 msgstr "目标"
 
@@ -225,15 +255,19 @@ msgstr "标记为删除"
 msgid "address helper link"
 msgstr "地址簿助手链接"
 
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:343
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:312
+msgid "Cancel"
+msgstr "取消"
+
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:345
 msgid "This addressbook is empty."
 msgstr "此地址簿为空"
 
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:354
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:356
 msgid "Add new destination"
 msgstr "添加新目标"
 
-#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:356
+#: ../src/tmp/i2p/susi/dns/jsp/addressbook_jsp.java:358
 msgid "Hostname"
 msgstr "主机名称"
 
@@ -393,3 +427,6 @@ msgstr "所以订阅一些网站的最新地址簿是个不错的主意。"
 msgid "See the FAQ for a list of subscription URLs."
 msgstr "其他来源的订阅链接参见I2P站点的 <a href=\"http://www.i2p2.i2p/faq_zh.html\">FAQ</a>"
 
+#~ msgid "Delete"
+#~ msgstr "删除"
+
diff --git a/apps/susidns/src/bundle-messages.sh b/apps/susidns/src/bundle-messages.sh
index e46eccd73f6816d61c1293aea9223a9df9cd4c32..b1cd377b3ff9511229b49b14cd43370047f48973 100755
--- a/apps/susidns/src/bundle-messages.sh
+++ b/apps/susidns/src/bundle-messages.sh
@@ -51,7 +51,7 @@ do
 		# To start a new translation, copy the header from an old translation to the new .po file,
 		# then ant distclean updater.
 		find $JPATHS -name *.java > $TMPFILE
-		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 \
+		xgettext -f $TMPFILE -F -L java --from-code=UTF-8 --add-comments\
 	                 --keyword=_ --keyword=_x --keyword=intl._ --keyword=intl.title \
 		         -o ${i}t
 		if [ $? -ne 0 ]
diff --git a/build.xml b/build.xml
index 5cfe3aa03416d8e34a1f0a12425a05a6989bd157..9cb1ba22360a2a61a0720c619b6c2c5643b5d648 100644
--- a/build.xml
+++ b/build.xml
@@ -255,8 +255,7 @@
 	<defaultexcludes default="true"/>
     </target>
 
-    <!-- A few reeleases only, then back to updater. Jetty fix for snark in 0.7.14 -->
-    <target name="pkg" depends="distclean, updaterWithJettyFixes, preppkg, installer" />
+    <target name="pkg" depends="distclean, updater, preppkg, installer" />
 
     <target name="pkgclean" depends="deletepkg-temp">
         <delete>
@@ -582,6 +581,15 @@
         <jar destfile="./pkg-temp/installer/exec.jar" basedir="./core/java/build/obj" includes="net/i2p/util/Exec.class">
             <manifest><attribute name="Main-Class" value="net.i2p.util.Exec" /></manifest>
         </jar>
+        <!--
+          Force 1.5 pack200 output
+          Doesnt work!
+          http://jira.codehaus.org/browse/IZPACK-404
+          http://forums.sun.com/thread.jspa?threadID=773439
+          http://bfo.co.uk/blog/2010/05/13/combining_ant_jar_signatures_and_pack200.html
+        <property name="com.sun.java.util.jar.pack.package.majver" value="150" />
+        <property name="com.sun.java.util.jar.pack.package.minver" value="7" />
+        -->
         <izpack input="${basedir}/installer/install.xml" output="${basedir}/install.jar" installerType="standard" basedir="${basedir}" />
 
         <ant target="installerexe" />
diff --git a/history.txt b/history.txt
index b5de3e81cab42bce73822b73f41fc15c92885339..e3515e597267ef657a6e1f07ea6db34e16c4625f 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,21 @@
+2010-06-02 zzz
+    * graphs.jsp: Tag some more
+    * Translation: Set xgettext add-comments option
+    * UDP: Fix a bug from a blank i2np.udp.host config
+      causing frequent RouterInfo updates and incorrect
+      addition of introducers, caused by config.jsp handling
+    * Update: Change default update URLs to .su2 for pack200
+
+2010-06-01 zzz
+    * i2psnark:
+      - More listing fixes
+      - Revert choker change
+      - Start end game a little sooner
+    * Installer: Disable pack200 in updater again, doesn't work
+      on Java 1.5
+    * Remove jetty from updater - it's been in for a few
+      releases, and i2psnark now has its own listHTML method
+
 2010-05-27 zzz
     * Translate: Add GNU ngettext (plurals) support
 
@@ -30,7 +48,7 @@
 
 2010-05-19 zzz
     * Data: Remove lots of unnecessary initializers
-    * susidns: More validataion when adding entry
+    * susidns: More validatation when adding entry
 
 2010-05-15 zzz
     * Console:
diff --git a/installer/install.xml b/installer/install.xml
index ea523483840b49a9f8c218dd27edf8924ba8295b..37fe5fce19a45b50eb955cd8af77c14ac3e100a0 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -9,11 +9,14 @@
             <author name="I2P" email="http://forum.i2p2.de/"/>
         </authors>
         <url>http://www.i2p2.de/</url>
+        <javaversion>1.5</javaversion>
 
         <!-- use pack200 compression, saves about 33%
              see http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html
-         -->
+             Unpack fails on java 1.5
+             see http://jira.codehaus.org/browse/IZPACK-404
              <pack200 />
+         -->
 
         <!-- adding this element will make the installer attempt to launch itself with administrator permissions,
              but see http://www.nabble.com/Classpath-security-issues-on-Vista-td22456230.html
diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css
index 4c673c1426788311404ca60ebe036f6ee89b9184..8d0c39bcc852ef3a328e4f1a59a4da4a7885e065 100644
--- a/installer/resources/themes/console/snark.css
+++ b/installer/resources/themes/console/snark.css
@@ -234,7 +234,7 @@ textarea {
 
 img {
      border: none;
-     margin: 4px 8px 4px 4px;
+     margin: 3px 8px 5px 4px;
      vertical-align: middle;
      opacity: 1.0;
      line-height: 100%;
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 7f4edb97520b081fa27255ad38c4da1068327822..421ff4f630110e645f24b485d06a7151f306e1cd 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 = 13;
+    public final static long BUILD = 16;
 
     /** for example "-test" */
-    public final static String EXTRA = "";
+    public final static String EXTRA = "-rc";
     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/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
index 773f8b46ed32c40326e34e868ca4595d4d33345a..88d57877b1fdb80ff0a99b0964cf297be8674d92 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -1181,7 +1181,9 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
     }
     
     private boolean explicitAddressSpecified() {
-        return (_context.getProperty(PROP_EXTERNAL_HOST) != null);
+        String h = _context.getProperty(PROP_EXTERNAL_HOST);
+        // Bug in config.jsp prior to 0.7.14, sets an empty host config
+        return h != null && h.length() > 0;
     }
     
     /**
@@ -2146,6 +2148,10 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
         }
     }
     
+    /**
+     *  Todo: Move since some of these apply to NTCP also, and the whole thing
+     *  is hidden if i2np.udp.enable=false
+     */
     private final String getKey() {
         StringBuilder buf = new StringBuilder(1024);
         buf.append("<h3>").append(_("Definitions")).append("</h3><div class=\"configure\">" +